Skip to main content

Klaviyo integration

Sync profiles, track events, manage lists, and run lifecycle messaging across your clients' Klaviyo accounts.

What it does

The Klaviyo integration lets your agency run a client's email and SMS marketing without leaving TaskJuice. Connect a client's Klaviyo account once and you can list and filter profiles, look up a single profile, create or update profiles with custom properties, track custom events that feed Klaviyo flows and segments, manage lists, and subscribe profiles to lists. Three webhook triggers turn Klaviyo activity into workflow runs: a new profile, an updated profile, and a changed list.

Connect a Klaviyo account

  1. Open your workspace in TaskJuice and navigate to Connections.
  2. Choose Klaviyo and click Connect.
  3. Sign in with the Klaviyo account whose data you want to manage on behalf of your client.
  4. Authorize the connection. TaskJuice requests scopes covering profiles, events, lists, and campaigns; you can narrow these in your Klaviyo OAuth app configuration before connecting.
  5. TaskJuice returns you to the workspace with the connection ready to use in any workflow.

To revoke access at any time, sign in to Klaviyo, open Account, choose API keys, and remove the TaskJuice OAuth grant.

Triggers

  • klaviyo/profile-created fires when a new profile is created in the connected Klaviyo account, with the new profile attributes attached to the activation payload.
  • klaviyo/profile-updated fires when an existing profile is updated, including the changed attributes Klaviyo reports.
  • klaviyo/list-updated fires when a list changes (membership add or remove, or a metadata change), with the list ID and the kind of change attached.

Actions

  • klaviyo/list-profiles lists profiles in the account with optional JSON:API filter and sort, paginated via Klaviyo's cursor.
  • klaviyo/get-profile fetches a single profile by ID.
  • klaviyo/create-profile creates a new profile, with optional email, phone, external ID, name fields, and a free-form custom properties object.
  • klaviyo/update-profile updates an existing profile's attributes and custom properties.
  • klaviyo/track-event records a custom event against a profile and metric. Klaviyo creates the profile if it does not yet exist, which makes this action safe to use as a one-shot upsert plus track call.
  • klaviyo/list-lists lists Klaviyo lists in the account, paginated via Klaviyo's cursor.
  • klaviyo/subscribe-profile-to-list adds an existing profile to a list.

Known limitations

  • Klaviyo pins API behavior to a date-stamped revision. The integration sends revision: 2024-10-15 on every request. Klaviyo deprecates older revisions on a published schedule, so the integration is upgraded ahead of each deprecation window.
  • Klaviyo enforces a published rate-limit budget per endpoint and surfaces it as a 429 with a Retry-After header. The action engine retries 429 responses with backoff; very high-volume cycles should pace work with a downstream throttle.
  • The OAuth scopes you request determine what each action can do. Read-only scopes block create, update, and event-track actions. If an action returns a 403, widen scopes in your Klaviyo OAuth app and reconnect.
  • Klaviyo webhooks sign the raw request body with HMAC-SHA256 and send the base64 digest in X-Klaviyo-Signature. Use the same secret you configured in the Klaviyo webhook to register the trigger, and the platform verifies every inbound POST before activating the workflow.
Was this helpful?
Klaviyo integration | TaskJuice Docs