MCP
Campaigns tools
MCP tools for campaigns: what each does, the key level it needs, the operation it runs and its input schema. Part of the MISSIN public API: call it with an…
An operation tool runs one API operation and takes its variables, so the operation's page says what each accepts. Two differences: the server fills in workspaceId and updatedBy, and campaignId, partnerId, formId, discountCodeId, socialNetworkId, waitlistId, incentiveId, channelId also take the record's name. A task tool chains several operations and is described here in full. Every tool's input schema, keyed by tool name: campaigns.schema.json.
Task tools
save_campaign
Access: Write · Kind: task · Toolset: core · Hints: idempotent
Create a campaign, or update the one with this name or id. Creating needs start_date — ask the merchant. Makes one write, so it is all-or-nothing. Returns { campaign, created, updated? }.
Try: “Make a spring campaign starting 1 March.”
Input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"description": "Update this campaign. Omit to update the campaign with exactly this name, or create one.",
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"name": {
"type": "string",
"minLength": 1,
"description": "The campaign's name (matched case-insensitively; the default campaign is never matched)."
},
"start_date": {
"description": "YYYY-MM-DD. Required to create: ask the merchant, never assume today.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"end_date": {
"description": "YYYY-MM-DD, or null for open-ended.",
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
},
"status": {
"description": "Campaign status, for example DRAFT or ACTIVE.",
"type": "string"
},
"campaign_type": {
"description": "Campaign type name or slug (get_campaign_type_options). Defaults to the workspace's first type.",
"type": "string"
},
"allocated_budget": {
"type": "number",
"minimum": 0
},
"utm_campaign": {
"type": "string"
}
},
"required": [
"name"
]
}Operation tools
| Tool | Operation | Access | Toolset | Hints | What it does |
|---|---|---|---|---|---|
get_campaign | CampaignPane | Read | core | read-only, idempotent | Get one campaign by id (rowId) with its type, dates, budget, UTM values, partners, signals and incentives. |
get_campaign_signals | CampaignSignals | Read | campaigns | read-only, idempotent | List a campaign's hashtag, mention and keyword signals that file captured posts into it. |
list_campaigns | CampaignsList | Read | core | read-only, idempotent | List campaigns with a name filter and cursor paging: dates, status, default flag and partner, post and discount counts. |
get_campaign_type_options | CampaignTypeOptions | Read | campaigns | read-only, idempotent | List campaign types; creating a campaign needs a campaign_type_id from here. |
create_campaign | CreateCampaign | Write | campaigns | Create a campaign; body needs name, campaign_type_id and start_date. Invalid input returns userErrors. | |
link_campaign_discount | LinkCampaignDiscount | Write | campaigns | Link a discount code to a campaign. | |
merge_campaigns | MergeCampaigns | Write | campaigns | destructive | Merge one campaign into another; the loser's posts, partners and spend move and it is deleted. Irreversible. |
preview_campaign_merge | PreviewCampaignMerge | Write | campaigns | Preview merging two campaigns: counts of what would move. Writes nothing. | |
save_campaign_signals | SaveCampaignSignals | Write | campaigns | Replace a campaign's hashtag, mention and keyword signals. | |
update_campaign_details | UpdateCampaignDetails | Write | campaigns | Update a campaign's name, type, dates, budget or UTM values. | |
update_campaign_icon | UpdateCampaignIcon | Write | campaigns | Update a campaign's icon and icon colour. | |
update_campaign_status | UpdateCampaignStatus | Write | campaigns | Update a campaign's status. | |
get_workspace_signals | WorkspaceSignals | Read | campaigns | read-only, idempotent | List every campaign signal in the workspace. |