> ## 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.

# Klaviyo

> Connect Klaviyo to your Atako agents — 14 read and 6 write actions.

Let your agents manage profiles, lists, segments, campaigns, flows, metrics and events in your Klaviyo account.

## Connection

* **Authentication**: API key (Private API key).

<Note>
  Klaviyo → Settings → Account → API keys → Create Private API Key. Name it, select at least "Profiles" read/write, "List" read/write, "Segments" read, "Accounts" read, "Campaigns" read, "Flows" read, "Metrics" read, and "Events" write. Copy the key.

  See [Klaviyo's documentation](https://www.klaviyo.com/settings/account/api-keys).
</Note>

## Read actions (14)

| Action                  | Description                                                                                                                                                                           |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_campaign`          | Retrieve a single campaign by ID.                                                                                                                                                     |
| `get_flow`              | Retrieve a single flow by ID.                                                                                                                                                         |
| `get_list`              | Retrieve a single list by ID.                                                                                                                                                         |
| `get_profile`           | Retrieve a single profile by ID.                                                                                                                                                      |
| `get_segment`           | Retrieve a single segment by ID.                                                                                                                                                      |
| `list_accounts`         | List accounts associated with the API key (probe — returns exactly one account).                                                                                                      |
| `list_campaigns`        | List campaigns. A channel filter is required — e.g. equals(messages.channel,'email'), equals(messages.channel,'sms'), or equals(messages.channel,'mobile\_push').                     |
| `list_flows`            | List flows in the account.                                                                                                                                                            |
| `list_list_profiles`    | List profiles in a specific list. Optionally filter by email, phone\_number or joined\_group\_at using Klaviyo filter syntax.                                                         |
| `list_lists`            | List all lists in the account.                                                                                                                                                        |
| `list_metrics`          | List metrics in the account.                                                                                                                                                          |
| `list_profiles`         | List profiles. Optionally filter by email, phone\_number, external\_id or date fields using Klaviyo filter syntax (e.g. equals(email,'[user@example.com](mailto:user@example.com)')). |
| `list_segment_profiles` | List profiles in a specific segment. Optionally filter by email, phone\_number or joined\_group\_at using Klaviyo filter syntax.                                                      |
| `list_segments`         | List all segments in the account.                                                                                                                                                     |

## Write actions (6)

| Action                      | Description                                                                                                                                                                                                                                                           |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `add_profiles_to_list`      | Add up to 1000 profiles to a list by profile IDs. profile\_ids is an array of Klaviyo profile IDs.                                                                                                                                                                    |
| `create_event`              | Track a new event. metric\_name is the event name (e.g. "Placed Order"). profile must include at least one identifier (email, phone\_number, or external\_id). properties is a free-form object for event-specific data. Returns 202 (accepted for async processing). |
| `create_list`               | Create a new list. opt\_in\_process is either "double\_opt\_in" (default) or "single\_opt\_in".                                                                                                                                                                       |
| `create_profile`            | Create or upsert a profile. At least one of email, phone\_number or external\_id is required. Properties is a free-form object for custom attributes.                                                                                                                 |
| `remove_profiles_from_list` | Remove up to 1000 profiles from a list by profile IDs. profile\_ids is an array of Klaviyo profile IDs.                                                                                                                                                               |
| `update_profile`            | Update an existing profile by ID. Provide only the fields to change. Properties is a free-form object for custom attributes.                                                                                                                                          |

## 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.
