MCP server
add_campaign_step
Adds one email at the end of a campaign's sequence, sent delayDays after the previous one (the first step of an empty campaign becomes the opening email).
Add a campaign step · Changes data
Adds one email at the end of a campaign's sequence, sent delayDays after the previous one (the first step of an empty campaign becomes the opening email). Returns the new step. Follow the same writing rules as create_campaign.
| Connection | Account URL, team member URL or OAuth |
|---|
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
websiteId | string | Yes | Website ID from list_websites (the campaign's website). |
campaignId | string | Yes | campaignId from list_campaigns. |
subject | string | Yes | Subject line; merge fields like {{ first_name | there }} allowed. |
body | string | Yes | Email body as plain text, one paragraph per line, ending with {{sender_signature}} and {{unsubscribe_text}}. |
delayDays | number | No | Days after the previous step. Default 0. |
Tool definition
What your assistant receives from tools/list:
{
"name": "add_campaign_step",
"title": "Add a campaign step",
"annotations": {
"title": "Add a campaign step",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
},
"inputSchema": {
"type": "object",
"properties": {
"websiteId": {
"type": "string",
"description": "Website ID from list_websites (the campaign's website)."
},
"campaignId": {
"type": "string",
"description": "campaignId from list_campaigns."
},
"subject": {
"type": "string",
"description": "Subject line; merge fields like {{ first_name | there }} allowed."
},
"body": {
"type": "string",
"description": "Email body as plain text, one paragraph per line, ending with {{sender_signature}} and {{unsubscribe_text}}."
},
"delayDays": {
"type": "number",
"minimum": 0,
"description": "Days after the previous step. Default 0."
}
},
"required": [
"websiteId",
"campaignId",
"subject",
"body"
]
}
}