---
title: "Klaviyo Connector | Tajo"
description: "Tajo's Klaviyo connector is in progress: it reads profiles with their consent, lists, segments and events, and writes profiles. Not yet verified on a live account."
url: https://tajo.io/docs/connectors/marketing/klaviyo/
markdown: https://tajo.io/docs/connectors/marketing/klaviyo.md
lang: en-US
author: "Set Noa"
author_url: https://tajo.io/set-noa/
robots: noindex
---

# Klaviyo Connector

[Set Noa](https://tajo.io/set-noa/)

Connector status: In progress Being built. Not verified yet.

| Source field | Destination field | Sample value |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Tajo’s Klaviyo connector is in progress. The code exists, but it has not yet passed a run against a live Klaviyo account.

## What the code does

- Reads profiles with their email and SMS consent and suppressions, plus lists, segments, events, metrics and catalog items.
- Reads email campaigns and a campaign performance report.
- Creates or updates a profile by email, and subscribes a profile to email marketing only with that person’s explicit consent.

## Not available today

- Two-way profile sync between Klaviyo and Brevo
- Migration of lists, flows or campaigns into Brevo
- Flow data and coupons
- Real-time updates. There are no Klaviyo webhooks; data arrives when a sync reads it.

## Open-Source Implementation Map

This section is derived from official or public repository material discovered for the Klaviyo connector. Use it as the engineering companion to the setup guide above: it shows where the API surface lives, what implementation assets exist, and how Tajo should translate them into reliable Brevo sync behavior.

### Repository Snapshot

| Repository | Commit | Languages / formats | Files |
| --- | --- | --- | --- |
| [klaviyo/openapi](https://github.com/klaviyo/openapi) | ebc88dd | JSON (434), Markdown (2), license (1) | 437 |

### Integration Shape

```mermaid
graph LR
  Source["Klaviyo API / repository"] --> Auth["Auth and scopes"]
  Source --> Objects["Objects, events, and schemas"]
  Auth --> Tajo["Tajo connector runtime"]
  Objects --> Tajo
  Tajo --> Brevo["Brevo contacts, attributes, lists, campaigns"]
  Tajo --> Ops["Backfill, cursor, retries, logs"]
```

### What To Reuse

- Klaviyo’s OpenAPI Specification
- Versioned OpenAPI specs for the Klaviyo API. Same source we use for API docs and our SDKs.
- Layout
- | Path | Contents | Use it when |
- |---|---|---|

### Tajo Revamp Checklist

- Keep authentication setup aligned with the vendor docs and the public repository’s current API shape.
- Map primary resources into explicit Tajo sync objects with stable external IDs.
- Prefer cursor-based or updated-at incremental sync where the API exposes it; otherwise document the fallback.
- Treat webhook handlers as idempotent and replay-safe, especially for order, contact, ticket, and campaign events.
- Capture pagination, rate limits, retry headers, and partial-failure behavior in connector smoke tests.
- Keep examples small and runnable against sandbox or test-mode accounts.

### Sources

- [klaviyo/openapi](https://github.com/klaviyo/openapi)
- [Vendor documentation](https://developers.klaviyo.com/en/docs/klaviyo_mcp_server)
