Reviews
Read the review queue, approve or reject drafts, edit scheduled messages and recover parked reviews.
Tools (4)
Section titled “Tools (4)”get_reviews
Section titled “get_reviews”Full name: campaignstack_get_reviews
Read pending review drafts and optional pending count in one stable envelope. Each item carries what a decision needs: the draft text and the key it sits under, the lead’s name, headline, company and profile URL, the channel, the workflow or campaign, the sending account and any flag with its reason. Use include only for extra details the user asked for. Large, computed, historical, or external includes must use their documented caps and must report when data is truncated or paginated. Includes add the lead’s full profile, the thread, what the draft answers, the stored draft with its reasoning, and the critic history. Items include kind: workflow for drafted workflow touches and kind: job_application for job watcher cover letters; pass that kind back to campaignstack_decide_review or campaignstack_edit_draft. Use before deciding a review; a page is not the whole queue.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID. Omit it when this connection reaches one workspace: a workspace key (cs_) is bound to its own, and a user key (csu_) or connected app whose person belongs to exactly one workspace defaults to that one. Required only when the person belongs to several; the error then lists them, and campaignstack_whoami reports them too. |
limit | integer | No | 10 | (min: 1, max: 100) |
cursor | string | No | — | |
accountId | string | No | — | |
includeCount | boolean | No | true | |
include | object | No | — | Opt-in heavy detail per item. Each item already carries the draft, the lead’s name, headline, company and profile URL, and any flag. |
include.leadProfile | object | No | — | The lead’s full profile: about, experiences, education, skills, company facts, LinkedIn profile stats and photo URL. |
include.conversation | object | No | — | The thread so far, oldest first, the newest messages kept. |
include.context | object | No | — | What the draft answers: the post or comment it reacts to, the shared link and whether it was read, the scheduling-link flag. |
include.draftDetails | object | No | — | The full stored draft output with the model’s reasoning and sources. |
include.criticHistory | object | No | — | The critic’s rank and verdict, and the draft a Retry replaced. |
include.applicationDetails | object | No | — | Job applications only: every screening answer, the resume file, the apply and posting URLs. |
edit_draft
Section titled “edit_draft”Full name: campaignstack_edit_draft
Save new words on one draft without changing its approval state. Call this when the user asks to revise a draft for someone to sign off later, or to reword a message that is already approved and scheduled. A draft waiting for review stays waiting (a person still approves it, and the approval is recorded as an edit of the model’s draft); a scheduled message keeps its slot; a job application keeps its status and is not approved. It never approves, rejects or sends (campaignstack_decide_review does that).
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID. Omit it when this connection reaches one workspace: a workspace key (cs_) is bound to its own, and a user key (csu_) or connected app whose person belongs to exactly one workspace defaults to that one. Required only when the person belongs to several; the error then lists them, and campaignstack_whoami reports them too. |
entryId | string | Yes | — | (min length: 1) |
kind | workflow | job_application | No | — | The item kind from campaignstack_get_reviews. “workflow” (default) is a drafted workflow touch; “job_application” is a job watcher application, where entryId is the application id. |
updatedContent | object | Yes | — | The fields to change. For a workflow draft, write the text under the draft.field key campaignstack_get_reviews returned (e.g. { messageText }). For a job application, { letter?, answers?: [{ question, answer }] }. |
confirmed | boolean | Yes | — | Confirms saving new words on this draft. A scheduled message goes out with them at its slot without another review. |
recover_review
Section titled “recover_review”Full name: campaignstack_recover_review
Recover one review with mode retry, restore_superseded_draft, or reopen. Retry may spend a fresh model generation; reopen validates downstream safety.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID. Omit it when this connection reaches one workspace: a workspace key (cs_) is bound to its own, and a user key (csu_) or connected app whose person belongs to exactly one workspace defaults to that one. Required only when the person belongs to several; the error then lists them, and campaignstack_whoami reports them too. |
entryId | string | Yes | — | (min length: 1) |
mode | retry | restore_superseded_draft | reopen | Yes | — | |
confirmed | boolean | Yes | — | This can spend credits, paid provider quota, or model-backed work. Tell the user the cost or budget meaning first when the tool reports one. |
decide_review
Section titled “decide_review”Full name: campaignstack_decide_review
Approve, reject, or edit-and-approve one pending review. To save a revised draft for a person to sign off instead of deciding it, use campaignstack_edit_draft. For kind workflow, an approved message goes out later, on the account’s pacing (business hours, daily budget, spacing between sends), which can take hours; with priority:true it is sent within seconds instead. Use priority only when the user asked for this message to go out now, and tell them it is sending immediately. For kind job_application, approval sends or schedules the application within limits; edit_and_approve accepts updatedContent { letter?, answers?: [{ question, answer }] }, and reject may include reason. confirmed:true is required.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID. Omit it when this connection reaches one workspace: a workspace key (cs_) is bound to its own, and a user key (csu_) or connected app whose person belongs to exactly one workspace defaults to that one. Required only when the person belongs to several; the error then lists them, and campaignstack_whoami reports them too. |
entryId | string | Yes | — | (min length: 1) |
kind | workflow | job_application | No | — | The item kind from campaignstack_get_reviews. “workflow” (default) is a drafted workflow touch; “job_application” is a job watcher application, where entryId is the application id. |
decision | approve | reject | edit_and_approve | Yes | — | |
reason | string | No | — | Job applications only: why the user rejected the application. Stored on the application. (max length: 500) |
updatedContent | object | No | — | |
priority | boolean | No | — | Send in priority: approve AND send this one message within seconds, instead of waiting its turn in the queue. It skips the queue’s own limits for this message (business hours, the daily budget, pacing, the weekly connection cap) but never what the account itself says (a paused, expired or risk-paused account refuses it with an error). Set it only when the user asked for this specific message to go out now. Workflow drafts on LinkedIn only; not with reject or job applications. |
confirmed | boolean | Yes | — | Confirms the review decision; approve/edit_and_approve can send a real message on the workflow’s pacing or submit a job application. |