Skip to main content
The Klaviyo integration creates or updates a Profile from ChatbotX contact data directly within a Flow. The action uses the email address to identify the Profile, can add it to a List, and can sync Title, Organization, and Custom Properties. For example, after a customer provides an email address for product advice, ChatbotX sends their contact details and interests to Klaviyo for Profile segmentation and content personalization.

Prepare your Private API Key

Create a Klaviyo Private API Key before connecting the integration. Do not use the Public API Key / site ID, because it does not grant permission to create or update Profiles.
1

Sign in to Klaviyo

Sign in to the Klaviyo account that you want to connect to ChatbotX.
2

Open API keys

Open Settings, select the General tab, then select API keys from the left menu.
3

Create a Private API Key

In Private API Keys, select Create Private API Key and enter a name that identifies the key.
4

Grant the required permissions

Grant read and write access to Profiles and Lists. You can use Full Access, but you should grant only the permissions ChatbotX needs.
5

Copy the Private API Key

Finish creating the key, copy its value, and store it securely. Klaviyo does not display the complete Private API Key again after you close the creation window.See the official Obtain API credentials guide.
Create a Klaviyo Private API Key
A Private API Key can read or change data according to its assigned permissions. Do not share it in emails, messages, public screenshots, or customer-facing documents.

Connect Klaviyo to ChatbotX

1

Open Settings

In your ChatbotX workspace, select Settings from the left menu.
2

Select Integrations

Select the Integrations tab, then open Klaviyo.
3

Open the connection window

Select Connect to open the Connect Klaviyo window.
4

Enter the API Key

Paste the Private API Key into the API Key field, then select Confirm.
Connect Klaviyo in ChatbotX Integrations
After the key is verified and has the required permissions, ChatbotX saves the connection and loads Klaviyo Lists for use in Flows.

Add Klaviyo to a Flow

Place the Klaviyo action after collecting the email address and other data that you want to sync. The email address must be valid so Klaviyo can create or identify the Profile.
1

Open the Flow

Select Flows, then open the Flow that you want to use to collect contacts.
2

Add Actions

In the Send Message node, select + Create, then select Actions.
3

Select Email Actions

Open Email Actions and select Add Contact to Klaviyo.
Select Add Contact to Klaviyo Action
4

Open the configuration

Select Edit on the action to choose a List and sync Profile data.

Configure Add Contact to Klaviyo

Configure the fields in the Add Contact to Klaviyo window, then select Save.
Configure Add Contact to Klaviyo
The action provides two outcomes that you can connect to the next nodes in the Flow:
  • Success: Klaviyo processed the request to create or update the Profile and add it to a List if you selected one.
  • Error: The request failed because the email address, API Key, permissions, List, or synced data is invalid.
Connect each outcome to a different node to send a confirmation or handle the error.
Add Contact to Klaviyo does not subscribe the Profile to email marketing or change its consent status. Add a Profile to a List only after the customer agrees to receive the relevant content.

Sync Custom Properties

Custom Properties store data specific to each Profile for segmentation, Template personalization, or Flow conditions in Klaviyo. Each sync row has two parts:
  • Left: the ChatbotX contact field that contains the data to send.
  • Right: the property key that Klaviyo uses to store the data on the Profile.
Use short, recognizable, and consistent property keys. If you change the spelling of a property key, Klaviyo might save the value to a new property instead of updating the existing one.

Example: Collect customers who need product advice

A fashion retailer wants to save customers who are interested in its products and segment them by their needs.
1

Collect customer information

Use Get User Data to ask for the customer’s email address, job title, company, and product interest.
2

Add the Profile to Klaviyo

Run Add Contact to Klaviyo, then select the Email field and a relevant List if the customer has agreed to receive messages.
3

Sync additional data

Select the Title Field and Organization Field, then sync the product interest to a Custom Property.
4

Handle the result

Connect Success to a confirmation message. Connect Error to a branch that asks the customer to check their information or transfers the conversation to a team member.

Test the integration

Before you Publish the Flow, test it with an email address that you can access.
  • Open Audience > Profiles in Klaviyo and confirm that the Profile appears.
  • Confirm that the email address, Title, Organization, and Custom Properties contain the correct data.
  • If you selected a List, confirm that the Profile appears in the correct List.
  • Confirm that the Flow follows the Success branch for a valid email address.
  • Enter an invalid email address to test the Error branch.
  • If Lists do not appear, review the Private API Key’s Profiles and Lists permissions and reconnect the integration.
Deleting or revoking the Private API Key stops the current connection from working. Create a new key and update the connection in ChatbotX before running the Flow again.