- Documentation
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
- Open your workspace in TaskJuice and navigate to Connections.
- Choose Klaviyo and click Connect.
- Sign in with the Klaviyo account whose data you want to manage on behalf of your client.
- Authorize the connection. TaskJuice requests scopes covering profiles, events, lists, and campaigns; you can narrow these in your Klaviyo OAuth app configuration before connecting.
- 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-createdfires when a new profile is created in the connected Klaviyo account, with the new profile attributes attached to the activation payload.klaviyo/profile-updatedfires when an existing profile is updated, including the changed attributes Klaviyo reports.klaviyo/list-updatedfires 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-profileslists profiles in the account with optional JSON:API filter and sort, paginated via Klaviyo's cursor.klaviyo/get-profilefetches a single profile by ID.klaviyo/create-profilecreates a new profile, with optional email, phone, external ID, name fields, and a free-form custom properties object.klaviyo/update-profileupdates an existing profile's attributes and custom properties.klaviyo/track-eventrecords 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-listslists Klaviyo lists in the account, paginated via Klaviyo's cursor.klaviyo/subscribe-profile-to-listadds an existing profile to a list.
Known limitations
- Klaviyo pins API behavior to a date-stamped revision. The integration sends
revision: 2024-10-15on 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
429with aRetry-Afterheader. 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?