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.

circle-check

Setup

The following credentials are accepted:

Secrets:

  • api_key (required) -> Your Klaviyo Private API Key

Getting Your API Key

  1. Click Settings (gear icon) in the bottom-left corner

  2. Go to Account > Settings > API Keys

  3. Click Create Private API Key

  4. Give it a name (e.g., "Sling Integration")

  5. Select Read-Only Key for the access level (Sling only needs read access)

  6. Click Create and copy the key (it starts with pk_)

circle-exclamation

Using sling conns

Environment Variable

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

Endpoint
Description
Incremental

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

Endpoint
Description
Incremental

campaigns

Email campaigns

No

flows

Automation workflows (flows)

No

templates

Email templates

Yes

Analytics & Events

Endpoint
Description
Incremental

events

Email activity events (opens, clicks, bounces, etc.)

Yes

metrics

Metric/event type definitions

No

Catalog & Metadata

Endpoint
Description
Incremental

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 lists to run first (iterates through each list to fetch member profiles)

  • segment_profiles -> Requires segments to 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 updated field

  • events - Syncs events created after the last sync using the datetime field

  • templates - Syncs templates modified after the last sync using the updated field

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-than filter on the updated field

  • Events and templates use greater-or-equal filter 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 [email protected]envelope, on discordarrow-up-right or open a Github Issue herearrow-up-right.

Last updated

Was this helpful?