> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Customer.io

> Connect Customer.io to your Atako agents — 15 read and 2 write actions.

Let your agents query segments, customers, campaigns, broadcasts, newsletters and activities, send transactional emails, and trigger broadcast campaigns via the Customer.io App API.

## Connection

* **Authentication**: API key (App API key).
* **Required settings**:
  * **Region** — Use "api" for US-hosted workspaces, or "api-eu" for EU Data Center workspaces (verified 2026-09-22: api-eu.customer.io).

<Note>
  Log in at customer.io → Settings → Account Settings → API Credentials → App API Keys → Create App API Key. Name it, copy the key (displayed only once). The Track API (site id + api key, Basic auth) is NOT used by this connector — only the App API key is needed.

  See [Customer.io's documentation](https://fly.customer.io/account/settings/api-keys).
</Note>

## Read actions (15)

| Action | Description |
| - | - |
| `get_broadcast` | Retrieve a single broadcast by ID. |
| `get_campaign` | Retrieve a single automation (campaign) by ID, including its workflow state. |
| `get_campaign_metrics` | Get performance metrics for an automation (campaign). Optionally filter by period (e.g. "day", "week", "month"), steps, or type. |
| `get_customer_activities` | Look up activities (events and message events) for a customer. Filter by type (e.g. "event", "message") and limit results. |
| `get_customer_attributes` | Look up a customer's attributes (email, name, custom attributes, device info). The customer\_id is the Customer.io person ID. |
| `get_segment` | Retrieve a single segment by ID, including its criteria and metadata. |
| `get_segment_customer_count` | Get the number of customers currently in a segment. |
| `list_activities` | List workspace-level activities. Optionally filter by type (e.g. "event", "message"), name, or customer\_id. |
| `list_broadcasts` | List API-triggered broadcasts in the workspace. |
| `list_campaigns` | List automations (campaigns) in the workspace. Returns id, name, state, and metrics. |
| `list_newsletters` | List one-time sends (newsletters) in the workspace. |
| `list_segment_membership` | List customers who belong to a segment. Supports pagination via limit (default 100, max 1000) and start (cursor offset). |
| `list_segments` | List segments in the workspace. Returns an array of segment objects with id, name, type, and criteria. |
| `list_transactional_messages` | List transactional message templates in the workspace. |
| `search_customers` | Search for customers using a filter object. The filter body supports operators like \{and:\[...]}, \{attribute:\{field, operator, value}}. Returns paginated results. |

## Write actions (2)

| Action | Description |
| - | - |
| `send_transactional_email` | Send a transactional email. Two modes: (1) by transactional\_message\_id — use a pre-configured template, or (2) by body/subject — send a free-form email (requires from, to, subject, body). The to field accepts an email string or an object \{id, email}. message\_data is an object of Liquid template variables. |
| `trigger_broadcast` | Trigger an API-triggered broadcast campaign. The data object contains template variables. The recipients array lists people to send to; each entry is an object with an id (Customer.io person ID) and optional email. Rate limit: 1 request per 10 seconds. |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.