Works with Klaviyo profiles, events and flows

AI Chatbot for Klaviyo: what shoppers ask, turned into flows and segments

Klaviyo already sees what shoppers browse, add and buy. It cannot see what they asked. Asyntai answers those questions using your own content, then hands the interesting ones on as profile properties and custom events — so "do you ship to Canada?" becomes a metric, the metric starts a flow, and the segment builds itself while you sleep.

Get Started Free See the setup

See what the chatbot would answer

Enter your store and watch the AI answer product questions using your own content — the same conversations your flows would react to.

The pre-purchase signal Klaviyo cannot see

Ecommerce marketing runs on behaviour. Viewed a product, started a checkout, bought twice in ninety days — every serious Klaviyo account is built on signals like these, and your store platform feeds them in automatically.

Chat is the gap. A shopper who types "will this fit a 12 month old?" has told you more about their intent in eight words than a browse event ever will. They have named the objection, the use case and the hesitation. Then the tab closes, and Klaviyo knows only that someone looked at a product page.

Browse data tells you what a shopper looked at. Chat tells you what stopped them.

Closing that gap does not need a special integration. It needs the chat activity to arrive as the same two things Klaviyo is built on: a profile, and an event attached to it.

Profiles and events: what a chatbot can add to Klaviyo

Klaviyo's data model is refreshingly small. A profile holds a person and their attributes. An event, also called a metric, records something that person did, with whatever properties you attach to it. Custom events are first-class: once a metric exists in your account it can start a flow and it can be used in segment conditions, exactly like the ones your store sends.

So the question is only which chat moments deserve to become metrics. These four earn their place in most stores.

Asked a Product Question
Properties can carry the question text and the page the shopper was on. The single most useful metric to start with, because it is also the best product feedback you will get all quarter.
Asked About Shipping
Delivery worry is a distinct objection with a distinct answer. A flow that opens with your real delivery times converts better than a generic reminder.
Asked About Sizing or Fit
Apparel and footwear live and die on this. Trigger the size guide, and use the metric to build a segment worth a returns-reduction campaign.
Requested a Human
Fired by the escalation.requested chat event. Usually a signal to pause promotional sends to that profile until someone has actually replied.

Keep the list short. Four metrics you use beat twenty that clutter the flow trigger dropdown.

How a chatbot event actually reaches Klaviyo

Here is the part most integration pages skip. Asyntai's webhook is deliberately plain: it POSTs signed JSON and sends exactly three headers.

What Asyntai sends
// Content-Type: application/json // X-Webhook-Event: message.received // X-Webhook-Signature: <HMAC-SHA256 of the body, using your secret> { "event": "message.received", "payload": { "session_id": "session_8f31c0a4", "message": "Does the merino jumper run small?", "response": "It fits true to size, though...", "page_url": "https://example.com/products/merino-jumper" } }

No Authorization header, and no option to add one. The Klaviyo API expects a private key on every call, so the webhook cannot write to Klaviyo by itself. A connector holds that key and makes the call — Make, Zapier, Pabbly, n8n, or a small endpoint you host. That is the honest shape of it, and it is a twenty-minute build rather than a project.

1. Chat
Shopper asks, chatbot answers
2. Webhook
Signed JSON to a generated URL
3. Connector
Holds the Klaviyo private key
4. Klaviyo
Profile updated, event recorded

The build, step by step

Create the catching URL. A Custom webhook module in Make, or a Catch Hook trigger in Zapier. Copy the address it generates.
Register it in Asyntai. Under Settings → API, add the webhook, paste the URL, tick your events and set a signing secret. Paid plans only.
Resolve the shopper. This is the step that matters, and the next section covers it: a Klaviyo event needs a profile to attach to.
Filter, then write. Add a condition so only the conversations you care about continue — a keyword match, a page path, or the event type. Then add the Klaviyo step: Create an Event or Create a Profile in Make, Create Event or Create or Update Profile in Zapier.
Point a flow at the metric. Back in Klaviyo, create a flow triggered by the new metric, and add a segment that uses it. Send yourself one test conversation before you switch it live.

Where the shopper's identity comes from

An anonymous chat session has no email, so there is nothing for Klaviyo to attach an event to. Two routes solve it, and most stores end up using both.

  • Smart Lead Capture. Switch it on and the AI asks for contact details inside the conversation, in the shopper's own language, instead of blocking the chat behind a form. Captured addresses collect on the session and come back from GET /api/v1/leads/ with the page the visitor started on. Run that on a schedule in the same connector.
  • Identity you already hold. If the shopper is logged in to your store, pass a stable value as the chat session id. Your connector can then map session to customer without asking anybody anything.
Pulling captured shoppers on a schedule
curl -H "X-API-Key: YOUR_API_KEY" \ "https://asyntai.com/api/v1/leads/?limit=50" { "success": true, "leads": [ { "session_id": "session_abc123", "email": "[email protected]", "phone": null, "page_url": "https://example.com/products/merino-jumper", "started_at": "2026-01-15T10:30:00Z" } ] }
Mapping the chat payload onto a Klaviyo event
Metric name Asked a Product Question Profile email from the lead lookup Property question = {{1.payload.message}} Property page = {{1.payload.page_url}} Property answered = {{1.payload.response}}

Two Klaviyo flows worth building first

Start with one metric and one flow. Add the second once the first has sent for a fortnight.

The objection nobody answered

A shopper asks about fit on a product page, gets a good answer from the chatbot, and leaves without buying. Record it as a sizing metric with the product URL as a property, then trigger a flow that waits a day and sends the size guide for that specific product plus two reviews mentioning fit. It is an abandonment email that knows why the shopper hesitated, which is the whole difference between it working and it being ignored.

message.receivedFilter: sizingCreate EventKlaviyo flow

Stop emailing people who are waiting on you

Nothing sours a customer faster than a 20% off campaign landing while their question is still open. Take escalation.requested, record it against the profile, and build a Klaviyo segment of anyone with that metric in the last seven days. Exclude the segment from promotional sends. It costs one connector step, it never shows up in a revenue report, and it quietly protects the list you spent years building.

escalation.requestedCreate EventSegmentSuppress from campaigns

The other direction: let a workflow ask the chatbot

Data does not only travel toward Klaviyo. Asyntai publishes a native connector app with four modules — Send Message to AI, List Websites, Get Conversation History and a universal Make an API Call. Add the module, paste an API key, and any workflow can ask your own content a question.

The everyday use is copy that is actually correct. Before a flow email goes out, have the workflow ask the chatbot for your current delivery times or your returns window, and write the answer into the send. When the policy page changes, the email changes with it, because the answer comes from your published content rather than from a paragraph somebody pasted in eighteen months ago.

Endpoint reference lives in the API documentation.

The call the module makes for you
POST https://asyntai.com/api/v1/chat/ X-API-Key: YOUR_API_KEY { "message": "What is the current returns window?", "session_id": "flow_winback_q1", "website_id": "YOUR_WEBSITE_ID" }

What the Klaviyo connection adds to your chatbot

Answers from your own content

The chatbot answers using your own product pages, policies and uploaded documents, so the metric you record reflects a real answer, not a guess.

Custom metrics behave like native ones

Once the event exists, it appears in the Klaviyo flow trigger list and in segment conditions alongside browse and purchase data.

Conversational capture

Smart Lead Capture asks for an email inside the conversation instead of blocking it with a form, so more shoppers become profiles you can reach.

30+ languages, one payload

Shoppers get answers in their own language automatically. The event body arrives in the same shape whatever language they wrote in.

Signed deliveries

Each POST carries an HMAC-SHA256 signature of the body derived from your secret, so your connector can reject anything it did not expect.

Filter before you write

Connector conditions keep the noise out of Klaviyo. Only the questions that mean something ever become a metric on a profile.

What the Klaviyo chatbot integration costs

Three subscriptions, and only one belongs to us.

  • Asyntai. Webhooks and the REST API are on the paid plans — Starter, Standard or Pro. The free plan's 100 monthly messages let you try the chatbot but do not include API or webhook access. See pricing.
  • Klaviyo. Billed separately on its own plan, and its pricing moves with your profile count. Writing chat-only profiles who never buy will grow that count, which is a real argument for filtering before you create anything.
  • The connector. Make, Zapier, Pabbly and n8n charge per task or operation. Firing on message.received for every exchange on a busy store adds up fast, so start with one filtered metric.

Klaviyo chatbot questions

How do I connect an Asyntai chatbot to Klaviyo?

With a connector between the two. Create a Custom webhook in Make or a Catch Hook in Zapier, paste that URL into Asyntai under Settings → API, and pick your events. Send one real chat so the platform learns the fields, then add the Klaviyo step — Create an Event, Create a Profile or Create and Add a Profile to a List in Make; Create Event, Create or Update Profile or Subscribe Profile in Zapier.

Can a chat event trigger a Klaviyo flow?

Yes. Flows can start from a metric, and a custom metric pushed in through the API behaves like any other. Once your connector has recorded something like Asked About Shipping against a profile, that metric shows up in the flow trigger list and in the segment builder.

What does Klaviyo need before it can record a chat event?

An identified profile — events attach to people, so an anonymous session is not enough. Either turn on Smart Lead Capture, so the chatbot asks for an email in conversation and GET /api/v1/leads/ returns it, or pass the identity you already hold for a logged-in shopper as the chat session id.

Can I build a Klaviyo segment from chatbot behaviour?

Yes, and it is often worth more than the flow. Chat activity arrives as ordinary custom events and profile properties, so segment conditions treat it like any other behaviour: shoppers who asked about sizing in the last 30 days, or who asked for a human and never ordered.

What does the Klaviyo chatbot integration cost?

Asyntai webhooks and API access need a paid plan (Starter, Standard, Pro); the free plan's 100 monthly messages do not include them. Klaviyo bills separately, and its pricing tracks your profile count. The connector adds its own task-based bill on top.

Other ways to wire the chatbot in

The same events and the same REST API work through any tool that can receive a JSON POST.

Turn a shopper's question into the next email

Answer store visitors automatically, then let what they asked decide which Klaviyo flow they belong in.

Get Started Free