# Campaign contacts

> Add people to a campaign, see where each one is, and stop it for anyone who replied elsewhere.

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/campaign-contacts

Contacts enter a campaign from your leads (or automations) and move through its emails; the Contacts tab shows where each one is.

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

1. **Add leads** from the Leads table or a lead → **Add to campaign**.
2. **Open the campaign → Contacts** to see scheduled, contacted, bounced and warm.
3. **Overview** shows opens, clicks, replies and warm leads.

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

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

<ScreenControls screens={["campaign-contacts"]} />


---

## API — From your code

Source: /docs/engage/campaign-contacts/api

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

<Endpoints ops={["POST /admin/email-campaign/schedule-contact", "POST /admin/email-campaigns/stop", "GET /admin/email-campaigns-stats/{id}", "POST /v3/prospects/resume", "POST /v3/prospects/send-now", "POST /v3/prospects/change-mailbox", "POST /v3/prospects/reschedule"]} />

<ApiPlayground
  ops={["POST /admin/email-campaign/schedule-contact", "POST /admin/email-campaigns/stop", "GET /admin/email-campaigns-stats/{id}", "POST /v3/prospects/resume", "POST /v3/prospects/send-now", "POST /v3/prospects/change-mailbox", "POST /v3/prospects/reschedule"]}
  method="get"
  path="/admin/email-campaigns-stats/{campaignId}"
  tool="get_campaign_stats"
  args={`{
  "websiteId": "64b7f0a1c2d3e4f5a6b7c8d9",
  "campaignId": ""
}`}
/>

### Use case: Add someone from your app [#use-case-add-someone-from-your-app]

`POST /admin/email-campaign/schedule-contact` with `{ "email": …, "emailCampaignId": … }` and any merge fields (first name, company…).


---

## MCP — AI agents

Source: /docs/engage/campaign-contacts/mcp

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

<Tools names={["get_prospects", "add_prospect_to_campaign", "remove_prospect_from_campaign", "stop_prospect", "get_campaign_stats", "resume_prospects", "send_prospects_now", "change_prospects_mailbox", "reschedule_prospects"]} />

### Use case [#use-case]

> Add ava@northwind-analytics.example to “Pricing page visitors”.

<McpToolCall name="add_prospect_to_campaign">

```json
{
  "campaignId": "6530c1d2e3f4a5b6c7d8e9f5",
  "email": "ava@northwind-analytics.example",
  "firstName": "Ava"
}
```

</McpToolCall>

