vMira
Klaviyo logo

Connect Klaviyo to vMira

Chat with Klaviyo and automate it — add Profile to List in Klaviyo, on demand or on a schedule. Connect with your own credentials, then use it across web, WhatsApp, Telegram, Instagram, Messenger and LINE.

Use it anywhere you chat

Run Klaviyo from the chat you already use.

Connect Klaviyo once and use it from WhatsApp, Instagram, Telegram, Messenger, LINE — or the web. One account, same history and connected apps across every surface.

Marketing Automation

What Klaviyo does — and what Mira does with it.

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.

225 chat actionsConnect with your credentialsLeast-privilege & revocableMarketing AutomationEmail Newsletters

From any chat

What Mira can do with Klaviyo.

100+ Klaviyo actions, run in plain language from the web or any messaging app — WhatsApp, Instagram, Telegram, Messenger or LINE. Just ask; Mira maps it to the right action and runs it on your account.

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

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

Bulk create events

This api endpoint creates or updates profiles by batching up to 1,000 events, with a 5mb payload limit. minimum required: a profile id and metric name. it has rate limits of 10...

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

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:** `campai...

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

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

Create client event

Create client-side events to track profiles using a public api key, not for updating identifiers (server-side only). rate limits: 350/s, 3500/m. use `events:write` scope.

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

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

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

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

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

Create or update push token

Migrate or create push tokens with klaviyo's endpoint, utilizing their mobile sdks for ios & android. rate limits: 75/s burst, 700/m steady. requires profiles:write and push-tok...

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

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

Create tag relationships campaigns

Summary: link a tag to campaigns, ensuring a limit of 100 tags per campaign. campaign ids should be sent via request body. rate limit: 3/s, 60/m. required scopes: campaigns:writ...

Create tag relationships flows

Assign tags to flows using their ids in the request body, ensuring a flow is not linked to over 100 tags. rate limits are 3/s burst and 60/m steady. required scopes: `flows:writ...

Create tag relationships lists

Summary: a tag can be added to one or more lists, with a max of 100 tags per list. use the request body to link tag and list ids. tag: #apiusagelimits scopes: lists:write, tags:...

Create tag relationships segments

Summary: set tag associations with segments using the request body, limited to one tag per segment and up to 100 tags per segment. rate limits are three requests per second and...

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

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

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<br><br>*rate limits*:<br>burst: `1/s`<br>steady: `15/m` **scopes:** `webhooks:write`

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

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

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

Delete tag relationships campaigns

Disconnect a tag from campaigns using the campaign id(s) in the request body. rate limits: 3 requests/second, 60 requests/minute. required scopes: campaigns:write, tags:write.

Delete tag relationships flows

Remove a tag's association with one or more flows. use the request body to pass in the id(s) of the flows(s) whose association with the tag will be removed.<br><br>*rate limits*...

Delete tag relationships lists

Remove a tag's association with one or more lists. use the request body to pass in the id(s) of the list(s) whose association with the tag will be removed.<br><br>*rate limits*:...

Delete tag relationships segments

Use the request body to de-associate a tag from specified segment ids. rate limits are 3 requests/sec and 60 requests/min. required scopes are 'segments:write' and 'tags:write'.

Delete template

Delete a template with the given template id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `templates:write`

Delete webhook

Delete a webhook with the given id.<br><br>*rate limits*:<br>burst: `1/s`<br>steady: `15/m` **scopes:** `webhooks:write`

Get account

Retrieve a single account object by its account id. you can only request the account by which the private api key was generated.<br><br>*rate limits*:<br>burst: `1/s`<br>steady:...

Get accounts

Use a private api key to fetch an associated account's details like contact info, timezone, and currency, as well as validate the key. rate limit: 1 request/second, 15 requests/...

Get bulk profile import job

Get a bulk profile import job with the given job id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `lists:read` `profiles:read`

Get bulk profile import job errors

Get import errors for the bulk profile import job with the given id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `profiles:read`

Get bulk profile import job lists

Get list for the bulk profile import job with the given id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `lists:read`

Get bulk profile import job profiles

Get profiles for the bulk profile import job with the given id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `profiles:read`

Get bulk profile import job relationships lists

Get list relationship for the bulk profile import job with the given id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `lists:read`

Get bulk profile import job relationships profiles

Get profile relationships for the bulk profile import job with the given id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `profiles:read`

Get bulk profile import jobs

Get all bulk profile import jobs. returns a maximum of 100 jobs per request.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `lists:read` `profiles:read`

Get Campaign

Retrieve a specific campaign by its id from klaviyo. this action fetches detailed information about a single campaign including its name, status, audience settings, send strateg...

Get campaign campaign messages

Return all messages that belong to the given campaign.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read`

Get campaign message

Returns a specific message based on a required id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read`

Get campaign message campaign

Return the related campaign<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read`

Get campaign message relationships campaign

Returns the id of the related campaign<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read`

Get campaign message relationships template

Returns the id of the related template<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read` `templates:read`

Get campaign message template

Return the related template<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read` `templates:read`

Get campaign recipient estimation

Get estimated recipients for a given campaign id using `create campaign recipient estimation job`. rate limits are 10/s burst and 150/m steady. required scope: `campaigns:read`.

Get campaign recipient estimation job

Retrieve the status of a recipient estimation job triggered with the `create campaign recipient estimation job` endpoint.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/...

Get campaign relationships campaign messages

Returns the ids of all messages associated with the given campaign.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read`

Get campaign relationships tags

Returns the ids of all tags associated with the given campaign.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `campaigns:read` `tags:read`

Get Campaigns

Retrieve campaigns from your klaviyo account. this action allows you to fetch campaigns with optional filtering and sorting. klaviyo requires specifying a channel (email or sms)...

Get campaign send job

Get a campaign send job<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read`

Get campaign tags

Return all tags that belong to the given campaign.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `campaigns:read` `tags:read`

Get catalog categories

Retrieve up to 100 account catalog categories, sortable by creation date. only `$custom` integration and `$default` catalog types supported. rate limits are 350/s and 3500/m. re...

Get catalog category

Get a catalog category with the given category id.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`

Get catalog category items

Retrieve up to 100 sorted items per request from a category using the category id. sort by 'created' field. rate limits are 350/s burst and 3500/m steady. requires 'catalogs:rea...

Get catalog category relationships items

Get all items in the given category id. returns a maximum of 100 items per request.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`

Get catalog item

Get a specific catalog item with the given item id.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`

Get catalog item categories

Retrieve the catalog categories for an item by id, sorted by 'created' date, with a 100-category maximum per request. rate limits: 350/s burst, 3500/m steady. requires 'catalogs...

Get catalog item relationships categories

Get all catalog categories that a particular item is in. returns a maximum of 100 categories per request.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:**...

Get catalog items

Retrieve up to 100 sorted catalog items per account, with `$custom` integration and `$default` type. rate limits: 350/s burst, 3500/m steady. scope required: `catalogs:read`.

Get catalog item variants

Retrieve up to 100 variants per request for a specific item id, sortable by creation date. rate limits are 350/s burst and 3500/m steady. requires 'catalogs:read' scope.

Get catalog variant

Get a catalog item variant with the given variant id.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`

Get catalog variants

Retrieve up to 100 account variants per request, sortable by creation date. supports only `$custom` integration and `$default` catalog types. rate limits are 350/s burst and 350...

Get coupon

Get a specific coupon with the given coupon id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `coupons:read`

Get coupon code

Returns a coupon code specified by the given identifier.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `coupon-codes:read`

Get coupon code bulk create job

Get a coupon code bulk create job with the given job id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `coupon-codes:read`

Get coupon code bulk create jobs

Get all coupon code bulk create jobs. returns a maximum of 100 jobs per request.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `coupon-codes:read`

Get coupon code relationships coupon

Gets a list of coupon code relationships associated with the given coupon id<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `coupon-codes:read`

Get coupon codes

Obtains coupon codes using necessary coupon or profile filters. rate limits: 350/s, 3500/m. requires 'coupon-codes:read' scope.

Get coupon codes for coupon

Gets a list of coupon codes associated with the given coupon id<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `coupon-codes:read`

Get coupon for coupon code

Get the coupon associated with a given coupon code id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `coupons:read`

Get coupon relationships coupon codes

Gets the coupon relationship associated with the given coupon code id<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `coupons:read`

Get coupons

Get all coupons in an account. to learn more, see our [coupons api guide](https://developers.klaviyo.com/en/docs/use klaviyos coupons api).<br><br>*rate limits*:<br>burst: `75/s...

Showing the first 100Klaviyo has even more actions. Connect it in chat to browse and run the full set.

Chat or automate

Put Klaviyo on autopilot.

Ask once, or set it and forget it. Turn Klaviyo actions into recurring vMira workflows — scheduled runs that run on their own and deliver straight to your chat on any platform.

Every morning

Mira add Profile to List and sends the result to your chat.

Every week

Mira assign campaign message template and posts a digest to Slack or WhatsApp.

On any schedule

Mira chains several Klaviyo actions into one recurring workflow, delivered wherever you chat.

Try asking

Things to ask Mira about Klaviyo.

Add Profile to List in Klaviyo

Assign campaign message template in Klaviyo

Bulk create client events in Klaviyo

Bulk create events in Klaviyo

Create back in stock subscription in Klaviyo

Connect in a few steps

How to connect Klaviyo to vMira.

01

Open a chat

On the web app or in WhatsApp, Telegram, Instagram or Messenger.

02

Ask for Klaviyo

Tell Mira what you want done — e.g. “Add Profile to List in Klaviyo.”

03

Add your credentials

Connect Klaviyo with your own API key or OAuth app — Mira stores it securely and acts on your behalf, revocable anytime.

FAQ

Klaviyo + vMira, in brief.

Can I connect Klaviyo to AI?

Yes. Connect Klaviyo to vMira and run it from any chat with your own credentials. Mira turns your plain-language request into the right Klaviyo action and runs it on your account.

What can Mira do with Klaviyo?

100+ Klaviyo actions — including Add Profile to List, Assign campaign message template, Bulk create client events. Just ask in plain language once it is connected.

Can I automate Klaviyo or run it on a schedule?

Yes. Beyond one-off asks, build recurring vMira workflows — scheduled runs that chain Klaviyo actions and deliver the result to your chat automatically.

Which apps can I use Klaviyo from?

The web at vmira.ai and inside WhatsApp, Instagram, Telegram, Messenger and LINE — one account, with your history and connected apps following you across every surface.

Is Klaviyo on vMira free?

You can start free. Paid plans (from $4/mo) raise the limits and unlock heavier use, the top models, and more workflow runs. The same account works on the web and every messaging app.

Half the price

Every AI. Up to 200× the usage. From $4 a month.

See plans