Integrations
Klaviyo
Connect Klaviyo to Cadence — OAuth or API key setup, flow configuration, profile properties, and LiveBlock.
Klaviyo is Cadence’s primary email integration. Cadence sends prediction events and syncs profile properties to Klaviyo; your Klaviyo flows send the actual emails.
What Klaviyo receives from Cadence
- Events —
cadence_predictionevents with prediction type, product info, and ConvertCart links - Profile properties —
cadence_*custom properties on each customer profile for segmentation and personalization - LiveBlock — Universal Content block deployed by the Cadence team (optional)
Connecting Klaviyo
Go to Integrations → Klaviyo in the Cadence app.
Option A: OAuth (recommended)
- Click Connect
- You’ll be redirected to Klaviyo to authorize Cadence
- Approve the requested permissions
- You’ll return to the Cadence app with the connection confirmed
OAuth tokens are refreshed automatically by Cadence. No manual key management needed.
Permissions Cadence requests:
- Accounts (read)
- Profiles (write)
- Events (write)
- Lists (write)
Option B: Private API key
- Click Connect with private API key
- In Klaviyo: Settings → API keys → Create private API key
- Grant permissions: Accounts (read), Profiles (write), Events (write), Lists (write)
- Copy the key (starts with
pk_) and paste it in the Cadence connect modal - Click Connect
API keys are encrypted at rest and never shown again after saving.
Required setup in Klaviyo
Connecting Cadence to Klaviyo is not enough on its own. You must create flows in Klaviyo that listen for Cadence events.
Create flows
Create one flow per prediction type:
- Flows → Create flow → Create from scratch
- Set trigger: Metric →
cadence_prediction - Add trigger filter:
prediction_typeequals the target value:due_to_replenishfor replenishmentabout_to_lapsefor lapse preventionprimed_for_cross_sellfor cross-sellprimed_for_subscriptionfor subscription upsell
- Design the email using event properties (
product_name,cart_url,customer_first_name) - Set the flow to Live
See Sequences and flows for detailed flow building guidance.
Use event properties in emails
| Property | Use in email |
|---|---|
customer_first_name |
Personalize greeting |
product_name |
Reference the product |
cart_url |
Primary CTA button link |
product_url |
Secondary product page link |
The CTA button should link to cart_url — this opens ConvertCart with the pre-filled cart.
Profile properties for segmentation
Cadence syncs profile properties prefixed with cadence_ to each Klaviyo profile. Use these for segmentation and dynamic content:
| Property | Description |
|---|---|
cadence_due_to_replenish |
Customer has an active replenishment prediction |
cadence_about_to_lapse |
Customer has an active lapse prediction |
cadence_replenishment_cart_url |
ConvertCart link for replenishment |
cadence_replenishment_product_name |
Product name for replenishment |
cadence_lapse_cart_url |
ConvertCart link for lapse prevention |
cadence_cross_sell_cart_url |
ConvertCart link for cross-sell |
Example segment: “Cadence Replenishment Ready” — where cadence_due_to_replenish is true.
Profile sync begins when your store is enabled and updates daily.
LiveBlock setup
LiveBlock is a personalized email block for campaigns and newsletters. Setup is handled by the Cadence team:
- Request LiveBlock during your enablement call or via support
- Cadence team builds and deploys the block to Klaviyo Universal Content
- In your email templates, drag “Cadence LiveBlock” from Universal Content
- The block auto-personalizes per recipient based on their active prediction
See LiveBlock for details.
Testing the connection
After connecting:
- Click Test connection on the Klaviyo integration detail page
- Cadence verifies it can reach the Klaviyo API with your credentials
A successful test doesn’t mean events are flowing — that requires your store to be enabled and flows to be live.
Troubleshooting
| Issue | Solution |
|---|---|
| OAuth redirect fails | Ensure you’re logged into the correct Klaviyo account |
| API key rejected | Verify permissions include Accounts, Profiles, Events, and Lists |
| Events not appearing in Klaviyo | Confirm store is enabled and flows are Live |
| Flows not triggering | Check trigger metric is exactly cadence_prediction |
| Profile properties missing | Profile sync starts after store enablement; allow 24 hours |
Where to go next
- Sequences and flows — build your Klaviyo flows
- LiveBlock — personalized campaign blocks
- Events and flows — the event model