Skip to content

Playbook & Feedback

Read and regenerate the workspace’s campaign playbook, and submit product feedback.

Full name: campaignstack_get_playbook

workspace:read Read-only Idempotent

Get the workspace’s playbook as playbookSections, one field per section: identity (sent on every message), voice (sent on every message), angles (sent on messages we send first), objections (sent on replies, after they have written back), boundaries (sent on every message). Call this when the user asks what the workspace’s tone or talking points are set to. Also returns offerContext, the factual company/offer grounding injected into every AI craft regardless of playbook resolution, and capabilities, the description of what the system behind the workspace can detect and do that is injected into reply crafts only. All three are editable via campaignstack_update_workspace (the sections argument is named sections there). sectionMeta gives each section’s current character count, its hard cap and the target to write to, plus which crafts it is injected on; offerContextMeta and capabilitiesMeta do the same for those two. Read those before editing: a write over the cap is REJECTED, not truncated. editableBy gives the minimum role for each field: workspace-wide grounding is admin, anything scoped to one campaign or agent is member, and a locked field is owner. Returns null if the workspace does not exist; an unwritten playbook comes back as an empty object. History is campaignstack_list_playbook_versions. Use campaignstack_regenerate_playbook to create or refresh it.

NameTypeRequiredDefaultDescription
workspaceIdstringNoWorkspace ID. REQUIRED for a user key (csu_), which spans every workspace you belong to; omitted for a workspace key (cs_), which is bound to one and ignores this argument. campaignstack_whoami reports which kind of key you are holding and, for a user key, the workspaces it can reach.

Full name: campaignstack_regenerate_playbook

workspace:write

Trigger AI regeneration of the workspace playbook based on current campaigns, ICPs, personas, and company context. Call this when the user asks to refresh a stale playbook. An existing playbook is UPDATED, not discarded: user-authored passages are preserved verbatim and the previous version is snapshotted to history (campaignstack_list_playbook_versions / campaignstack_revert_playbook). An existing hand-edited offerContext is never overwritten. NOT idempotent, may take several seconds. It does not take new instructions: for a specific rewording, use campaignstack_update_workspace instead.

NameTypeRequiredDefaultDescription
workspaceIdstringNoWorkspace ID. REQUIRED for a user key (csu_), which spans every workspace you belong to; omitted for a workspace key (cs_), which is bound to one and ignores this argument. campaignstack_whoami reports which kind of key you are holding and, for a user key, the workspaces it can reach.

Full name: campaignstack_submit_feedback

workspace:write

Submit a feedback report or bug report to the CampaignStack team. Call this when the user asks to report a bug, request a feature, or send feedback from this conversation. Mirrors the in-app feedback widget: same store, same email notification. Categories: ‘bug’, ‘feature’, ‘question’, ‘other’. It does not open a support ticket or get a reply back through this connection.

NameTypeRequiredDefaultDescription
workspaceIdstringNoWorkspace ID. REQUIRED for a user key (csu_), which spans every workspace you belong to; omitted for a workspace key (cs_), which is bound to one and ignores this argument. campaignstack_whoami reports which kind of key you are holding and, for a user key, the workspaces it can reach.
categorybug | feature | question | otherYesFeedback category: bug (something broken), feature (new capability request), question (how-to), other
messagestringYesThe feedback body text (min length: 1)
routestringYesThe app route or context where the feedback originates (e.g. ‘/dashboard/campaigns’ or ‘mcp-agent’) (min length: 1)