Klaviyo
Connect & Ingest data from Klaviyo
Klaviyo is an email marketing and automation platform designed for e-commerce businesses. It provides tools for managing customer profiles, email campaigns, automated flows, audience segmentation, and analytics. The Sling Klaviyo connector extracts data from the Klaviyo API (v2025-07-15), supporting profiles, lists, segments, campaigns, flows, events, metrics, templates, tags, catalog items, and membership data.
CLI Pro Required: APIs require a CLI Pro token or Platform Plan.
Setup
The following credentials are accepted:
Secrets:
api_key(required) -> Your Klaviyo Private API Key
Getting Your API Key
Log in to your Klaviyo account
Click Settings (gear icon) in the bottom-left corner
Go to Account > Settings > API Keys
Click Create Private API Key
Give it a name (e.g., "Sling Integration")
Select Read-Only Key for the access level (Sling only needs read access)
Click Create and copy the key (it starts with
pk_)
Important: Use a Private API Key (starts with pk_), not a Public API Key (6-character alphanumeric string). Public keys do not have access to the server-side API endpoints that Sling uses.
Using sling conns
Environment Variable
See here to learn more about the .env.sling file.
Sling Env File YAML
See here to learn more about the sling env.yaml file.
Replication
Here's an example replication configuration to sync Klaviyo data to a PostgreSQL database:
Incremental sync example:
Full refresh example:
Endpoints
Audience Management
profiles
Customer profiles (contacts/subscribers)
Yes
lists
Email lists/audiences
No
segments
Audience segments
No
list_profiles
Profile memberships per list (child of lists)
No
segment_profiles
Profile memberships per segment (child of segments)
No
Campaign & Automation
campaigns
Email campaigns
No
flows
Automation workflows (flows)
No
templates
Email templates
Yes
Analytics & Events
events
Email activity events (opens, clicks, bounces, etc.)
Yes
metrics
Metric/event type definitions
No
Catalog & Metadata
tags
Tags for organizing resources
No
catalog_items
Product catalog items
No
To discover available endpoints:
Parent-Child Endpoints
Some endpoints are children of parent endpoints and require the parent to run first:
list_profiles -> Requires
liststo run first (iterates through each list to fetch member profiles)segment_profiles -> Requires
segmentsto run first (iterates through each segment to fetch member profiles)
When using these endpoints in a replication, Sling automatically handles the ordering via internal queues. The parent endpoint collects IDs, and the child endpoint iterates through them.
Incremental Sync
The Klaviyo connector supports time-based incremental sync for the following endpoints:
profiles - Syncs profiles modified after the last sync using the
updatedfieldevents - Syncs events created after the last sync using the
datetimefieldtemplates - Syncs templates modified after the last sync using the
updatedfield
How it works
First run: Fetches records from the last 30 days (profiles and events) or last 365 days (templates)
Subsequent runs: Only fetches records created or modified after the last sync timestamp
Profiles use
greater-thanfilter on theupdatedfieldEvents and templates use
greater-or-equalfilter on their respective date fields
Rate Limiting
The Klaviyo API enforces rate limits based on your account plan:
Free: 3 requests/second for most endpoints
Paid plans: Higher limits available
The connector automatically:
Uses conservative rate limiting (3 requests/second)
Limits concurrency to 3 parallel requests
Retries with exponential backoff on 429 (rate limit) responses (up to 5 attempts)
Common Use Cases
Sync Customer Profiles and Activity
Sync Campaign and Automation Data
Sync Audience Membership Data
Sync All Klaviyo Data
If you are facing issues connecting, please reach out to us at support@slingdata.io, on discord or open a Github Issue here.
Last updated
Was this helpful?