create_campaign
Create a campaign with its full step sequence, send window and daily cap.
›Create a 3-step campaign called "Agency Q3" — problem-led first touch, case study on day 3, one-line breakup on day 7. Weekdays only, 9am-5pm Europe/London, 40 sends a day, leave it as draft.
What it does
Creates the campaign and all of its email steps in a single call. Each step carries a subject, a body and a delay in days from the preceding step, so a complete multi-touch sequence is one tool call rather than a wizard.
The send window is set here: an IANA timezone, a comma list of weekdays where 1 is Monday, and start and end hours. Combined with the campaign-wide `daily_limit`, this is where you decide how aggressive the campaign is allowed to be before a single lead is enrolled.
Every campaign starts as a draft. Nothing sends until you have read the real emails with `review_campaign_emails` and approved them with `approve_campaign`.
Parameters
| Name | Type | Notes |
|---|---|---|
| name * | string | |
| steps | array | |
| mode | template | autopilot | Default template |
| kind | outreach | followup | followup: a sequence a pipeline stage runs on deals, never enrolled from lists |
| goal | reply | meeting | Default reply |
| booking_url | string | https link used as the ask when goal is meeting |
| require_approval | boolean | Autopilot: hold every draft until approved |
| timezone | string | IANA tz for the send window (default UTC) |
| send_days | string | Comma list, 1=Mon..7=Sun (default '1,2,3,4,5') |
| send_start_hour | number | |
| send_end_hour | number | |
| daily_limit | number | Campaign-wide sends per day |
| brief | string | The brief the copy was written from; kept for later edits |
| hide_unsubscribe_link | boolean | true (the default for a new campaign) leaves out the Unsubscribe link at the foot of every email and the List-Unsubscribe header mail apps use for their own Unsubscribe button; false adds both, when the user asks for them. More people may report spam, and a reply asking to stop still unsubscribes the person |
* required · Maps to POST /api/campaigns
What comes back
The created campaign with its steps.
The thing people get wrong
A `send_start_hour` of 0 is coerced to 9. If you want the window to open at midnight, that is not currently expressible — pass 1.
Use it with
More campaigns tools
See all 147 tools and the connection string on the MCP server page.