# Klaviyo AI integration on Definable

> Klaviyo is a data-driven email and SMS marketing platform that allows e-commerce brands to deliver targeted messages, track conversions, and scale customer relationships

## What this connects

Klaviyo is a data-driven email and SMS marketing platform that allows e-commerce brands to deliver targeted messages, track conversions, and scale customer relationships

Vendor: https://www.klaviyo.com/

## Tools available

**225** tools available. First 12:

- `KLAVIYO_ADD_PROFILE_TO_LIST` — Add Profile to List — Add profiles to a Klaviyo list by profile IDs or email addresses. This action subscribes profiles to a marketing list, which is ideal for giving marketing consent. You can add up to 1000 profiles per call using either their Klaviyo profile IDs or email addresses. Rate limits: 10/s burst, 150/m steady. Required scopes: `lists:write` and `profiles:write`. Preconditions: - Either profile_ids or emails must be provided (not both) - Maximum 1000 profiles per call - Email addresses must be valid format - The list must exist and be accessible
- `KLAVIYO_ASSIGN_CAMPAIGN_MESSAGE_TEMPLATE` — Assign campaign message template — Creates a non-reusable version of the template and assigns it to the message.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
- `KLAVIYO_BULK_CREATE_CLIENT_EVENTS` — Bulk create client events — Use the client-side endpoint with a public API key to track profile activity. It accepts up to 1000 events/request with rates of 10/s burst and 150/m steady. For server-side, use the bulk create event endpoint.
- `KLAVIYO_BULK_CREATE_EVENTS` — Bulk create events — Bulk create events for multiple profiles in a single request. Accepts up to 1,000 events with a 5MB max payload. Each event requires a profile identifier (email, phone_number, or external_id) and a metric name. Events are processed asynchronously; a 202 response indicates acceptance, not completion. Rate limits: 10/s burst, 150/min steady.
- `KLAVIYO_CANCEL_CAMPAIGN_SEND` — Cancel Campaign Send — Cancel or revert a campaign send job. Use 'cancel' to permanently stop a campaign (status becomes CANCELED), or 'revert' to return it to DRAFT for editing. This action modifies a campaign send job that is currently queued or sending. The cancel action is irreversible and sets the status to CANCELED. The revert action returns the campaign to DRAFT status, allowing further modifications. Rate limits: 10/s burst, 150/m steady. Required scope: `campaigns:write`. Preconditions: - Valid API key with campaigns:write scope - Campaign send job ID must exist and be accessible - Campaign must be in a state that allows cancellation (queued or sending)
- `KLAVIYO_CREATE_BACK_IN_STOCK_SUBSCRIPTION` — Create back in stock subscription — Use the server-side endpoint to subscribe to restock alerts, following the Back in Stock API guide. For client-side, use the POST endpoint provided. Rate limits: 350/s burst and 3500/m steady. Required scopes: catalogs:write, profiles:write.
- `KLAVIYO_CREATE_CAMPAIGN` — Create campaign — Creates a campaign given a set of parameters, then returns it.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
- `KLAVIYO_CREATE_CAMPAIGN_CLONE` — Create campaign clone — Clones an existing campaign, returning a new campaign based on the original with a new ID and name.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
- `KLAVIYO_CREATE_CAMPAIGN_RECIPIENT_ESTIMATION_JOB` — Create Campaign Recipient Estimation Job — Start an asynchronous task to estimate the number of recipients for a campaign. This action creates a background job that calculates how many profiles would receive the campaign based on its current audience settings. Use the job ID returned to track progress with the 'Get Campaign Recipient Estimation Job' action, and get the final count via 'Get Campaign Recipient Estimation' action. Rate limits: 10/s burst, 150/m steady. Required scope: `campaigns:write`. Preconditions: - Valid API key with campaigns:write scope - Campaign ID must exist and be accessible - Campaign must have audience settings configured
- `KLAVIYO_CREATE_CAMPAIGN_SEND_JOB` — Create campaign send job — Trigger a campaign to send asynchronously<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
- `KLAVIYO_CREATE_CATALOG_CATEGORY` — Create catalog category — Create a new catalog category.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`
- `KLAVIYO_CREATE_CATALOG_CATEGORY_RELATIONSHIPS_ITEMS` — Create catalog category relationships items — Create a new item relationship for the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

## Auth

Auth schemes: `API_KEY`, `OAUTH2`.

## How agents use Klaviyo

Inside a Definable workflow, Klaviyo is one of the tools the **Distributor specialist** can call. Example coordination patterns:

- **Researcher → Klaviyo** — the Researcher (GPT-5.5) pulls context from Klaviyo (records, threads, documents), synthesises findings, and briefs the rest of the team.
- **Writer → Distributor → Klaviyo** — the Writer (Claude Opus 4.7) drafts copy in brand voice, the Verifier passes it, then the Distributor writes the result into Klaviyo (create record, post message, draft email).
- **Designer / Engineer → Distributor → Klaviyo** — the Designer ships an asset or the Engineer ships a code change, the Distributor delivers it via Klaviyo (attach file, open PR comment, post status).

The Verifier checks every Klaviyo call. On rate limit, schema drift, or auth refresh it self-heals and retries — the workflow completes without manual intervention.

## Categories

- marketing automation — https://definable.ai/apps/category/marketing-automation/
- email newsletters — https://definable.ai/apps/category/email-newsletters/

## Related

- HTML page: https://definable.ai/apps/klaviyo/
- Same category (marketing automation): https://definable.ai/apps/category/marketing-automation/
- All integrations: https://definable.ai/apps/
- Workflow (multi-agent loop): https://definable.ai/workflow/
- Apps llms.txt index: https://definable.ai/llms-apps.txt
