OperatorGet started
← All integrations
Klaviyo logo

Connect Klaviyo to OpenClaw on Operator.io

Klaviyo is a data-driven email and SMS marketing platform for e-commerce brands. It helps deliver targeted messages, track conversions, and build scalable customer relationships.

Automate Klaviyo with AI

Your OpenClaw agent lives on Operator and treats Klaviyo as one more service it can drive. Send it an outcome in a Telegram or Discord message and it works out which of the 225 Klaviyo actions to run, then runs them.

Your agent reaches Klaviyo directly or through connectors like Composio MCP and Pipedream MCP, which handle the sign in and token refresh for you, so there is nothing to wire up and no API keys to paste.

What your agent can do with Klaviyo

Your agent can call any of these Klaviyo actions by name as part of a larger task. Ask for the outcome you want and it picks the right ones.

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

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`

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.

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

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

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:wr...

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`

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`

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

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`

Create catalog category

Create a new catalog category.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

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`

Create catalog item

Create a new catalog item.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

Create catalog item relationships categories

Create a new catalog category relationship for the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

Create catalog variant

Create a new variant for a related catalog item.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

Create client back in stock subscription

Use the endpoint for client-side back in stock notifications with a public API key. For server-side, use POST /api/back-in-stock-subscriptions. Limits are 350 requests per second and 3500 per minute. Requires 'catalogs:write' and 'profil...

Create Client Event V2

Create a client-side event in Klaviyo to track user interactions. This action uses the company_id in the request body instead of as a query parameter. Use when tracking events from publicly-browseable, client-side environments with a pub...

Create client subscription

Endpoint manages email/SMS opt-ins using consent and requires public API key for client use. Allows single-channel with details. Rate limit: 100/s burst, 700/m steady, under 'subscriptions:write'.

Create coupon

Creates a new coupon.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `coupons:write`

Create coupon code

Synchronously creates a coupon code for the given coupon.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m` **Scopes:** `coupon-codes:write`

Create event

Create or update a profile event with minimum identifiers and metric name. Success means validation, not completion. Burst limit: 350/s, Steady: 3500/m. Scope required: `events:write`.

Create list

Create a new list.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`<br>Daily: `100/d` **Scopes:** `lists:write`

Create or update client profile

Update user profiles without tracking using a public client-side API; use a private server-side API for identifier changes. Burst rate is 350 requests/sec and 3500 requests/min with 'profiles:write' access.

Create or update client push token

This endpoint for mobile SDKs (iOS & Android) creates/updates push tokens using a public API key. Push notifications must be enabled. For migrating tokens use the server-side POST endpoint. Rate limits are 3/s burst, 150/m steady.

Create or Update Profile

Create or update a profile in Klaviyo with the given attributes. This action allows you to create a new profile or update an existing one if it already exists (based on email or other identifiers). Returns 201 for creation, 200 for updat...

Create or update push token

Create or update a push token for mobile push notifications. This server-side endpoint is used for migrating push tokens from other platforms to Klaviyo. For creating tokens from mobile devices, use Klaviyo's mobile SDKs instead. Prerequ...

Create profile

Create a new profile.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:write`

Create segment

Create a segment.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`<br>Daily: `100/d` **Scopes:** `segments:write`

Create tag

Summary: Instructions on creating a tag within an account's designated tag group with a maximum of 500 tags, with optional tag group specification. Rate limits are 3/s burst and 60/min steady. Tag: #TagCreationLimitAndRate

Create tag group

Create tag groups up to 50 per account, defaulting to non-exclusive unless specified. Related resources can have multiple non-exclusive tags but only one if exclusive. Rate limits: 3/s burst, 60/m steady. Scopes needed: tags:read, tags:w...

Create Tag Relationships

Associate a tag with other resources (flows, lists, segments, or campaigns) in Klaviyo. Use when you need to link a tag to one or more resources for organizational purposes. Note: A resource can have up to 100 tags associated with it. Ra...

Create template

Summary: Custom HTML templates can be created unless an account reaches 1,000 template limit. Use sparse fieldsets to request specific fields. Rate limits are 10 per second and 150 per minute. Requires 'templates:write' scope.

Create template clone

Clone a template by its ID, but cloning fails if account has 1,000+ templates. API limit: 1,000 templates. Rate limits are 10 per second and 150 per minute. Requires `templates:write` scope.

Create template render

Render an email template with specific context and sparse fieldsets, then get HTML/plain text. Rate limit: 3/s burst, 60/m steady. Scope: templates:read.

Create webhook

Create a new Webhook to receive real-time notifications when specific events occur in Klaviyo (e.g., email clicks, SMS sent). Rate limits: Burst: 1/s, Steady: 15/m Required scopes: webhooks:write, events:read (for event-based topics) Not...

Delete campaign

Delete a campaign with the given campaign ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`

Delete catalog category

Delete a catalog category using the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

Delete catalog category relationships items

Delete item relationships for the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

Delete catalog item

Delete a catalog item with the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

Delete catalog item relationships categories

Delete catalog category relationships for the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

Delete catalog variant

Delete a catalog item variant with the given variant ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

Delete coupon

Delete the coupon with the given coupon ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `coupons:write`

Delete coupon code

Deletes a coupon code specified by the given identifier synchronously. If a profile has been assigned to the coupon code, an exception will be raised<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m` **Scopes:** `coupon-codes:w...

Delete flow

Delete a flow with the given flow ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `flows:write`

Delete list

Delete a list with the given list ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `lists:write`

Delete segment

Delete a segment with the given segment ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `segments:write`

Delete tag

Delete the tag with the given tag ID. Any associations between the tag and other resources will also be removed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `tags:read` `tags:write`

Delete tag group

Delete a specified tag group and its contents; associated resource links will be removed. The default group is undeletable. Rate limits: 3/s burst, 60/m steady. Requires tags:read and tags:write permissions.

Plus 177 more Klaviyo actions your agent can call.

How to connect Klaviyo

You authorize Klaviyo once from your dashboard. Operator holds the connection and refreshes the access tokens on its own, so your agent keeps working with Klaviyo without you signing in again. The same setup unlocks every other app your agent can reach, so you only do it once.

When you are ready, the get started guide walks through standing up your OpenClaw agent.

Common questions about Klaviyo

How do I connect Klaviyo to Operator?
You authorize Klaviyo once from your Operator dashboard. Operator holds the connection and refreshes the access token for you, so your agent keeps working with Klaviyo without you signing in again.
Can my agent publish and schedule content in Klaviyo?
Yes. It can draft posts, schedule them, and read back how they did once they are live. A common loop is draft, review, schedule, and publish, where you approve the copy and the agent handles the timing and the posting in Klaviyo.
Do I need to write code or manage Klaviyo API keys?
No code and no API keys. You authorize Klaviyo through a normal sign in and Operator handles the connection, so there is nothing to wire up or host.
Can my agent use Klaviyo together with my other apps?
Yes. The same agent reaches every app you connect, so it can move between Klaviyo and tools like Sendgrid, Active campaign, Benchmark email in one job, reading from one and acting in another without you wiring anything between them.

Klaviyo integrations

Pick an app to see what your agent does across Klaviyo and it, or browse all integrations.

Put your agent on Klaviyo

Sign in, connect Klaviyo, and hand your agent the work. Your first week is free.

Get started