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.

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.

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.

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