Connect Klaviyo
Last updated: March 6, 2026
This guide walks you through connecting your Klaviyo account to Engaige using an HTTP integration, so you can create actions that interact with profiles, lists, events, campaigns, and more.
Prerequisites
A Klaviyo account with admin or developer access
Access to your Engaige dashboard with permission to manage integrations
Step 1 — Create a Klaviyo Private API Key
Log in to your Klaviyo account
Click your account name in the bottom-left corner and go to Settings
Select API Keys from the left menu
Under Private API Keys, click Create Private API Key
Give it a descriptive name, e.g.
Engaige IntegrationSelect the appropriate scope:
Read-Only Key — if Engaige only needs to fetch data (profiles, lists, metrics, etc.)
Full Access Key — if Engaige needs to create or update data (e.g. add profiles, trigger events)
Custom Key — if you want fine-grained control over which resources are accessible
Click Create
Copy the key immediately — Klaviyo only shows it once. Store it securely.
The key will have the format: pk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Step 2 — Create the HTTP Integration in Engaige
Log in to your Engaige dashboard
Navigate to Integrations → HTTP
Click Add new integration
Fill in the following fields:
FieldValue | |
Integration name |
|
Domain |
|
Authentication method |
|
Authorization header |
|
API key |
|
Important: Klaviyo uses a non-standard auth format. In the API key field, enter the full value including the prefix: Klaviyo-API-Key pk_yourkey... — the entire string becomes the value of the Authorization header.
Click Save
Step 3 — Create an HTTP Action linked to Klaviyo
In Engaige, go to Actions and click Add new action
Select HTTP as the action type
Link it to the Klaviyo integration you just created
Configure the request depending on what you need:
Fetch a profile by email:
Method:
GETPath template:
/api/profiles/?filter=equals(email,"#{email}")
Create/update a profile:
Method:
POSTPath template:
/api/profiles/Body template:
{ "data": { "type": "profile", "attributes": { "email": "#{email}", "first_name": "#{first_name}" } }}
Add a profile to a list:
Method:
POSTPath template:
/api/lists/<list-id>/relationships/profiles/
Track a custom event:
Method:
POSTPath template:
/api/events/
Add the required revision header to your action's Headers field:
HeaderValue | |
|
|
The revision header is required by Klaviyo on all API calls. Use the most recent stable version (currently 2024-10-15). This should be set per-action in the custom headers field.
Save the action
Step 4 — Test the Integration
In the Engaige dashboard, find your Klaviyo integration
Use the Ping / Test option to verify the connection succeeds
Trigger your action in a test conversation to confirm it returns the expected Klaviyo data
Quick Reference
ItemValue | |
Klaviyo API base URL |
|
Auth header name |
|
Auth header value |
|
Required revision header |
|
Profiles endpoint |
|
Events endpoint |
|
Lists endpoint |
|
API key management | Klaviyo → Settings → API Keys |
Security note: Use a dedicated Private API Key for Engaige. Only grant the minimum scope needed — use Read-Only for read-only use cases. Never share or expose your private key in public repositories or client-side code.