Skip to main content
Klaviyo integration·User Guide · KlaviyoAbout 5 minutes

Klaviyo Integration User Guide

Install the app, translate flows into any language, and understand exactly which Klaviyo data the integration uses. Built for merchants listing and using i18n Agent from the Klaviyo App Marketplace.

What this integration does

i18n Agent connects to your Klaviyo account with OAuth and translates marketing content (email templates, SMS messages inside flows, and signup forms) into 40+ languages. For each target language it creates translated templates and a language-filtered flow clone so the right profile gets the right language. It can also set a profile property for language routing.

Scope

This integration does not send custom events or metrics into Klaviyo, and it does not replace Klaviyo Smart Translations. It is a full multilingual content workflow for flows, templates, and forms.

Installation guide

You need an i18n Agent account and a Klaviyo account with permission to authorize apps. Installation takes a few minutes and does not require a private API key.

Before you start

  • An i18n Agent workspace (sign up at i18nagent.ai if you do not have one).
  • A Klaviyo account where you can approve OAuth apps (Owner or Admin).
  • At least one flow with email or SMS actions you want to translate.

Connect Klaviyo

  1. 1

    Open Integrations

    Sign in to the i18n Agent app, then go to Dashboard → Integrations. You will see platform cards including Klaviyo.

  2. i18n Agent Integrations page showing the Klaviyo card among other platforms
    i18n Agent Integrations page showing the Klaviyo card among other platforms
  3. 2

    Start Connect

    On the Klaviyo card, click Connect. You are redirected to Klaviyo’s authorization screen through a secure one-time connect ticket (your team is bound to the session, not a guessable URL parameter).

  4. 3

    Approve scopes

    On Klaviyo, review and allow the requested permissions. i18n Agent requests only what it needs to translate content and route language:

OAuth scopes requested

templates:read, templates:write, flows:read, flows:write, forms:read, forms:write, profiles:read, lists:read, webhooks:read, webhooks:write, accounts:read
  1. 4

    Confirm the connection

    After you allow access, Klaviyo redirects you back to i18n Agent. You should land on Integrations → Klaviyo with a connection named “Klaviyo OAuth”, auth type OAuth, and status Active. Use Re-authorize anytime to re-accept scopes without creating a duplicate connection.

  2. Connected Klaviyo OAuth account with Translate flows section listing a Welcome Series flow
    Connected Klaviyo OAuth account with Translate flows section listing a Welcome Series flow
  3. 5

    Disconnect (optional)

    Click Disconnect on the connection card. You have a short undo window before the connection is removed. You can also revoke the app from Klaviyo → Account → Integrations / API apps.

Need help installing?

Email [email protected] or use in-app chat from the dashboard. Include your team name and whether the OAuth screen failed or succeeded.

How to use the app

After installation, translation is driven from the Klaviyo integration page in i18n Agent. The primary use case is translating an existing flow into one or more languages.

Translate a flow into multiple languages

Create language-specific flow copies with translated email HTML, subject lines, preview text, and SMS bodies.

  1. 1

    Open the connection

    Open Dashboard → Integrations → Klaviyo and expand your OAuth connection.

  2. 2

    Select a flow

    Under Translate flows, select the source flow (for example a Welcome Series). Draft and live flows both appear when Klaviyo returns them.

  3. 3

    Choose languages

    Choose one or more target languages in the language picker.

  4. Translate flows panel: select a flow and target languages, then click Translate
    Translate flows panel: select a flow and target languages, then click Translate
  5. 4

    Start translation

    Click Translate. i18n Agent starts a job: it pulls email/SMS content from the flow, runs AI translation with character-limit awareness, creates new templates in Klaviyo, and clones the flow per language.

  6. 5

    Review clones in Klaviyo

    In Klaviyo, open Flows. You should see new flows named like “{original name} ({lang})” in draft (unless activation is enabled for your job). Each clone includes a profile filter: properties['language'] equals that language code.

  7. 6

    Filter the original flow

    Manually add a filter on the original flow so profiles with those languages do not also receive the English (or source) version. Klaviyo’s public API cannot rewrite an existing flow’s profile filter, so this step is intentional and required to avoid double sends.

Avoid duplicate sends

Recommended original-flow filter after translating to fr and de: properties['language'] is not fr and is not de (or “does not equal” each language). Exact UI labels vary by Klaviyo version.

Set profile language for routing

Cloned flows only fire for profiles whose custom property language matches the clone (properties['language']). Set this property from your storefront, CDP, or Shopify sync. i18n Agent can also enrich profiles by reading Klaviyo’s profile locale and writing properties.language when it is empty.

Re-authorize or reconnect

If tokens expire or scopes change, click Re-authorize on the Klaviyo page. Complete Klaviyo’s consent screen again. Existing connections are updated in place.

What happens after Translate

  • Pull: flow email actions → template HTML; message subject_line and preview_text; SMS body when present.
  • Translate: multi-model pipeline with SMS (160), subject (~150), and preview (~250) limits.
  • Push: create templates named “{name} - {lang}”; create flows “{name} ({lang})” with the same triggers and a language profile filter.
  • Track progress in your team namespaces / activity in the i18n Agent dashboard.

Data reference

This section lists data the integration reads from Klaviyo, writes to Klaviyo, and stores in i18n Agent. Use it for security review, segmentation design, and App Marketplace compliance.

ResourceRead from KlaviyoWrite to Klaviyo
AccountOrganization / account display name used to label the connection.
FlowsFlow id, name, status, trigger type, archived flag, full definition (actions, entry action, links, triggers, profile_filter) when available.Creates new flow clones per target language with translated message content and a profile filter on properties['language']. Does not delete source flows. Cannot PATCH definition on existing flows (API limitation).
Email templatesTemplate id, name, HTML body, optional text body, editor type.Creates new CODE templates with translated HTML (and text when provided). Naming pattern default: “{name} - {lang}”.
Flow messages (email & SMS)Email: subject, preview_text, from_email, from_label, linked template_id. SMS: body text.Cloned flow messages receive translated subject_line, preview_text, template_id, or SMS body. Message ids are not reused; Klaviyo creates new message objects on the clone.
FormsForm definition blocks: html_text content, button labels, input labels/placeholders/error messages, dropdown/checkbox/radio option labels, SMS consent and disclosure text.Creates translated form variants with localized field values. Server-only reference fields (internal ids, asset ids) are stripped when creating the new form.
ProfilesProfile id, email, locale, properties (only as needed for language enrichment).May set properties.language derived from attributes.locale when language is not already set. Does not overwrite an existing language property.
ListsList metadata via lists:read (for account context). Not used as a primary translation target.
WebhooksWebhook configuration for change detection.Can register webhooks so template/flow changes on tracked sources trigger re-translation jobs.

Key profile property

properties.language

String language or locale code (examples: en, fr, de, pt-BR, zh-Hans). Used as the profile filter on every translated flow clone so only matching profiles enter that flow.

What we do not sync

  • No custom metrics or events are pushed into Klaviyo for opens, clicks, or purchases.
  • Catalog, order, and checkout data are out of scope (use Shopify or other ecommerce integrations for those).
  • We do not modify subscriber email addresses, consent flags, or suppressions.

Content limits applied during translation

  • SMS body: 160 characters (GSM-7); UCS-2 content is handled with tighter segment awareness.
  • Email subject line: recommended max 150 characters.
  • Preview text: recommended max 250 characters.
  • Form fields: button labels 50, field labels/placeholders 100, error messages 200, html_text 2000, SMS consent 500.

Credentials & security

OAuth access tokens are encrypted at rest (AES-GCM) in i18n Agent. Connect flows use signed short-lived tickets and browser binding to prevent CSRF and team spoofing. API keys are never required for the standard install path.

Ready to connect Klaviyo?

Authorize once, translate flows without manual clone-and-paste, and keep language routing on a single profile property.

面向邮件营销人员和 Shopify 商家 · i18n Agent is not affiliated with or endorsed by Klaviyo as a preferred partner.

Klaviyo Integration User Guide: Install, Translate Flows, Data Reference | i18n Agent