# Sequences

> The emails of a campaign: what each one says, when it is sent and in what order.

Every section below does the same job: in the dashboard (Guide), from your code (API) or through an AI assistant (MCP).

## Guide — In the dashboard

Source: /docs/engage/sequences

Each step of a sequence is one email, sent a number of days after the previous one, with merge fields like `{{ first_name | there }}`.

<DemoFrame guide="engage-sequences" to="/engage/{workspace}" />

1. **Open a campaign → Sequences.**
2. **Edit a step** (pencil) or **Add Step** for a follow-up.
3. **Set the delay** in days; reorder steps with the arrows.

### Every control on this screen [#every-control-on-this-screen]

Every button, field and switch, with what it does.

<ScreenControls screens={["campaign-sequences", "sequence-editor"]} />


---

## API — From your code

Source: /docs/engage/sequences/api

Authenticated with `?privateKey=YOUR_KEY` (see [Authentication](/docs/authentication)).

<Endpoints ops={["GET /admin/email-templates", "POST /admin/email-templates", "PUT /admin/email-templates/{id}", "DELETE /admin/email-templates/{id}", "PUT /admin/email-templates-reorder", "GET /admin/email-templates/{id}", "POST /v3/email/spam-check", "POST /v3/campaigns/{campaignId}/ai-emails"]} />

<ApiPlayground
  ops={["GET /admin/email-templates", "POST /admin/email-templates", "PUT /admin/email-templates/{id}", "DELETE /admin/email-templates/{id}", "PUT /admin/email-templates-reorder", "GET /admin/email-templates/{id}", "POST /v3/email/spam-check", "POST /v3/campaigns/{campaignId}/ai-emails"]}
  method="get"
  path="/admin/email-campaigns/{campaignId}"
  tool="get_campaign"
  args={`{
  "campaignId": ""
}`}
/>

### Use case: Add a follow-up [#use-case-add-a-follow-up]

`POST /admin/email-templates` with the campaign, subject, body and `sendingPeriod` (days after the previous step).


---

## MCP — AI agents

Source: /docs/engage/sequences/mcp

Connect the [MCP server](/docs/mcp#quickstart), then just ask.

<Tools names={["get_campaign", "add_campaign_step", "update_campaign_step", "delete_campaign_step", "reorder_campaign_steps", "get_email_template", "spam_check_email", "generate_campaign_emails_ai"]} />

### Use case [#use-case]

> Add a third email to “Pricing page visitors”, 4 days after the second.

<McpToolCall name="add_campaign_step">

```json
{
  "websiteId": "64b7f0a1c2d3e4f5a6b7c8d9",
  "campaignId": "6530c1d2e3f4a5b6c7d8e9f5",
  "subject": "One last idea",
  "body": "Hi {{ first_name | there }},\n\u2026\n{{sender_signature}}\n{{unsubscribe_text}}",
  "delayDays": 4
}
```

</McpToolCall>

