---
name: "outreach_get_campaign"
area: "outreach"
title: "Get an outreach campaign"
price: "free"
method: "POST"
url: "https://api.conecto.chat/v1/tools/outreach_get_campaign"
mcp_server: "https://api.conecto.chat/mcp/outreach"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/outreach/outreach_get_campaign"
---

# Get an outreach campaign (`outreach_get_campaign`)

An outreach campaign with its numbers, each step's emails and replies, and its people page by page with their status.

One campaign: its settings, its numbers (people queued, messaged, replied, interested, not interested, bounced, unsubscribed, stopped; emails sent, the reply rate, what it cost, and each step's emails and the replies after it) and its people page by page, each with their status (queued, messaged, replied, interested, not_interested, bounced, unsubscribed, stopped, unconfirmed or failed), the emails sent to them, when the next one goes and their CRM contact_id. waiting says why a running campaign sends nothing right now, when the account is paused or its balance can't pay.

Price: Free up to 1,000,000 reads a month for the whole account, then $0.50 per 10,000 reads. A call that fails costs nothing.

## Use it when

To see how a campaign is doing, or who is still waiting for an email.

## Say this to your agent

> How is the hotel campaign going? Who answered and who is still waiting?

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `campaign_id` | string | yes | The campaign_id outreach_save_campaign answered with. Exactly 36 characters. |  |  |
| `status` | string | no | Only the people in this state. | `"queued"`, `"messaged"`, `"replied"`, `"interested"`, `"not_interested"`, `"bounced"`, `"unsubscribed"`, `"stopped"`, `"unconfirmed"`, `"failed"`, `"erased"` |  |
| `offset` | integer | no | At least 0. |  | `0` |
| `limit` | integer | no | 1 to 200. |  | `50` |

## Example

Written for Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon.

MCP: call `outreach_get_campaign` on the MCP server `https://api.conecto.chat/mcp/outreach` with these arguments:

```json
{
  "campaign_id": "6f1c1b7e-4a1e-4d55-9a0b-0f7c3e9a2b11",
  "limit": 50
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/outreach_get_campaign \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"campaign_id": "6f1c1b7e-4a1e-4d55-9a0b-0f7c3e9a2b11", "limit": 50}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "outreach_get_campaign",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.00",
  "balance_usd": "$19.75",
  "result": {
    "campaign": {
      "campaign_id": "6f1c1b7e-4a1e-4d55-9a0b-0f7c3e9a2b11",
      "name": "Guest bikes for Portland hotels",
      "status": "running",
      "paused_reason": null,
      "mailboxes": [
        {
          "mailbox_id": 4101,
          "email": "dana@halversoncycle.example"
        }
      ],
      "steps": [
        {
          "subject": "Guest bikes for {company}",
          "text": "Hi {first_name},\n\n{first_line}\n\nWe rent city bikes to hotels in Portland and service them every week, so your front desk never deals with a flat tire. Guests ride to the waterfront in ten minutes.\n\nCould I bring two bikes by on Thursday so your staff can try them?\n\n{sender_name}\nHalverson Cycle & Repair"
        },
        {
          "subject": "",
          "text": "Hi {first_name}, the two trial bikes for {company} are still yours this month. Should I hold a pair for you?\n\n{sender_first_name}",
          "delay_days": 3
        }
      ],
      "audience": {
        "tag": "hotel"
      },
      "schedule": {
        "days": [
          "mon",
          "tue"
        ],
        "start_hour": 0,
        "end_hour": 24,
        "time_zone": "UTC"
      },
      "daily_limit": 30,
      "people": 2,
      "by": "Pip",
      "created_at": "2026-10-14T08:00:00+00:00",
      "started_at": "2026-10-14T08:00:00Z"
    },
    "stats": {
      "people": 2,
      "queued": 1,
      "messaged": 1,
      "replied": 1,
      "reply_rate": 100.0,
      "interested": 0,
      "not_interested": 0,
      "bounced": 0,
      "unsubscribed": 0,
      "stopped": 0,
      "emails_sent": 1,
      "charged_usd": "$0.01",
      "steps": [
        {
          "step": 1,
          "subject": "Guest bikes for {company}",
          "sent": 1,
          "replies": 1
        },
        {
          "step": 2,
          "subject": null,
          "sent": 0,
          "replies": 0
        }
      ]
    },
    "people": [
      {
        "email": "owen@hawthornehotel.example",
        "name": "Owen Price",
        "company": "Hawthorne Hotel",
        "contact_id": 4102,
        "status": "replied",
        "emails_sent": 1,
        "next_email_at": null,
        "replied_at": "2026-10-14T08:00:00Z",
        "mailbox_id": 4101,
        "problem": null
      },
      {
        "email": "maya@alderstreethotel.example",
        "name": "Maya Brooks",
        "company": "The Alder Street Hotel",
        "contact_id": 4101,
        "status": "queued",
        "emails_sent": 0,
        "next_email_at": "2026-10-14T08:00:00Z",
        "replied_at": null,
        "mailbox_id": null,
        "problem": null
      }
    ],
    "total": 2,
    "next_offset": null
  }
}
```

`result`: campaign (as outreach_save_campaign shows it); stats (people, queued, messaged, replied, reply_rate, interested, not_interested, bounced, unsubscribed, stopped, emails_sent, charged_usd, and steps: each step's subject, emails sent and the replies after it); people (email, name, company, contact_id, status, emails_sent, next_email_at, replied_at, mailbox_id, problem); total, next_offset; and waiting, when the account keeps a running campaign from sending.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `not_found` | 404 | No campaign on this account has that id. | Use a campaign_id from outreach_campaigns. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [outreach_connect_mailbox](https://conecto.chat/tools/outreach/outreach_connect_mailbox.md): A one-hour link for the owner to connect their own mailbox for outreach, typing its password on a Conecto page. Free.
- [outreach_mailboxes](https://conecto.chat/tools/outreach/outreach_mailboxes.md): The business's mailboxes connected for outreach, each with its state, daily limit, what it sent today and its bounce rate; never a password. Free up to 1,000,000 reads a month.
- [outreach_update_mailbox](https://conecto.chat/tools/outreach/outreach_update_mailbox.md): Rename an outreach mailbox, change its daily limit, pause or resume its sending, or disconnect it. Free.
- [outreach_save_campaign](https://conecto.chat/tools/outreach/outreach_save_campaign.md): Create or change an outreach campaign: its mailboxes, the emails you write, the audience, a first line per person and when it sends. Free.
- [outreach_preview](https://conecto.chat/tools/outreach/outreach_preview.md): One step of an outreach campaign as it will go, for real people: to, from, the subject and the text with the unsubscribe line. Free up to 1,000,000 reads a month.
- [outreach_start](https://conecto.chat/tools/outreach/outreach_start.md): Start an outreach campaign the person approved; $0.01 per person when their first email leaves. Free.
- [outreach_campaigns](https://conecto.chat/tools/outreach/outreach_campaigns.md): The business's outreach campaigns, newest first, each with its status and numbers. Free up to 1,000,000 reads a month.
- [outreach_replies](https://conecto.chat/tools/outreach/outreach_replies.md): The replies to the business's outreach campaigns, newest first, with who wrote, the text and their status now. Free up to 1,000,000 reads a month.
- [outreach_set_status](https://conecto.chat/tools/outreach/outreach_set_status.md): Keep in the CRM whether someone outreach reached is interested or not; their pending emails stop. Free.
- [outreach_pause](https://conecto.chat/tools/outreach/outreach_pause.md): Pause a running outreach campaign; replies are still read and resuming carries on. Free.
- [outreach_resume](https://conecto.chat/tools/outreach/outreach_resume.md): Resume a paused outreach campaign once what paused it is fixed. Free.
- [outreach_stop](https://conecto.chat/tools/outreach/outreach_stop.md): End an outreach campaign for good; nobody it hasn't emailed is emailed or charged. Free.
