Klaviyo: Workflow Actions & Triggers

Overview

Klaviyo is a marketing automation platform built around profiles unified customer records with subscription status across email and SMS that flow through lists, segments (dynamic groups built from profile conditions), and metrics (event streams like ‘Placed Order’, ‘Viewed Product’). Campaigns and flows in Klaviyo target these primitives. The Klaviyo integration brings them directly into the Workflow Builder so customer-facing automations can react to Klaviyo activity and write back to Klaviyo in real time as workflow data changes elsewhere.

This means a new Klaviyo signup can immediately become a CRM contact, a high-value segment match can fire an internal alert, a CRM contact can be created or updated as a Klaviyo profile, and a milestone-triggered workflow can send a pre-staged Klaviyo campaign — all inside one automation.

About the Integration

The integration ships with two halves:

  • Triggers (Klaviyo → Workflows): Four polling triggers — New event, New profile, Profile added to list, Profile added to segment — each running every 5 minutes and surfacing matching records since the last poll.
  • Actions (Workflows → Klaviyo): Seventeen actions covering the full profile lifecycle (create / update / find / subscribe / unsubscribe), list management (create / find / add / remove), segment lookup, tag management across lists and segments, campaign discovery, and one-click sending of a draft campaign.

All triggers and actions are flagged as premium workflow components — premium action credits apply at the standard automation rate. Klaviyo plan usage (active profiles, SMS credits) is billed by Klaviyo directly on your Klaviyo account.

Key Benefits of Klaviyo in Workflows

  • Polling triggers every 5 minutes — close-to-real-time without webhook plumbing; matching records are batched and processed in order.
  • Full profile lifecycle in one place — create, update, find, subscribe, and unsubscribe all available as discrete actions, so workflows can match the exact step needed.
  • Consent-aware subscriptions — Subscribe profile takes channel-specific flags so email and SMS consent are honored independently, matching how Klaviyo (and TCPA / GDPR / CASL) actually track consent.
  • List and segment lookups — Find list, Find segment, and Find campaigns let workflows look up identifiers at run time so the rest of the workflow doesn’t hardcode IDs.
  • Tag taxonomy across lists and segments — manage Klaviyo tags as workflow-driven metadata across both lists and segments using one consistent set of actions.
  • Workflow-driven campaign sending — Send campaign lets a workflow milestone, schedule, or condition trigger a draft Klaviyo campaign immediately.

How to Set Up Klaviyo

Before any Klaviyo trigger or action can run, the integration has to be connected via OAuth.

Connect via the Workflow Builder (recommended)

  • Open Automation → Workflows and pick (or create) a workflow.
  • Add a Klaviyo trigger or action — search for Klaviyo in the Apps tab.
  • Select any Klaviyo trigger or action.
  • On the action card, click Connect your account.
  • You will be redirected to Klaviyo’s authorization screen. Review the requested scopes — Accounts, Campaigns, Events, List, Metrics, Profiles, Segments, Subscriptions, Tags — and click Allow.
  • You will be returned to the Workflow Builder; the panel will update to show Connected.

Connect via Settings (alternative path)

  • Go to Settings → Integrations.
  • Locate Klaviyo and click Connect.
  • Complete the OAuth flow on Klaviyo’s authorization screen and return to the platform.

image

image

List of Triggers

All triggers poll Klaviyo every 5 minutes and surface matching records since the last poll, in order.

  • New event – Fires when a new event of any tracked metric is recorded against a profile. Filterable by Metric (e.g. Placed Order, Viewed Product, custom event).
  • New profile – Fires when a new profile is created in Klaviyo. Returns the full profile payload including subscription status across email and SMS.
  • Profile added to list – Fires when a profile is added to a Klaviyo list. Filterable by List.
  • Profile added to segment – Fires when a profile matches a Klaviyo segment’s conditions for the first time. Filterable by Segment.

image

List of Actions

  • Create profile – Creates a new Klaviyo profile from workflow data. Does not subscribe — use Subscribe profile separately if explicit consent was captured.
  • Update profile – Updates an existing profile by ID or email. Does not change consent status.
  • Find profile – Looks up a profile by email or phone — returns the profile payload if found.
  • Subscribe profile – Subscribes a profile to email and/or SMS with explicit consent. Channels are handled independently.
  • Unsubscribe profile – Unsubscribes a profile from email and/or SMS.
  • Create list – Creates a new Klaviyo list with the given name and returns the list ID.
  • Find list – Looks up a Klaviyo list by name.
  • Add profile to list – Adds an existing profile to a list (membership only — does not change consent).
  • Remove profile from list – Removes a profile from a list (membership only).
  • Find segment – Looks up a Klaviyo segment by name and returns the segment ID.
  • Find tags – Lists tags from the Klaviyo account, optionally filtered by name.
  • Add tag to list – Attaches one or more tags to a Klaviyo list.
  • Remove tag from list – Detaches one or more tags from a Klaviyo list.
  • Add tag to segment – Attaches one or more tags to a Klaviyo segment.
  • Remove tag from segment – Detaches one or more tags from a Klaviyo segment.
  • Find campaigns – Lists campaigns from the Klaviyo account — useful for discovering a draft to send.
  • Send campaign – Send a draft Klaviyo campaign immediately. The campaign’s recipients, subject, and content are configured inside Klaviyo.

image

Example: Setting Up a Trigger (Profile added to list)

This walkthrough wires up a workflow that fires every time a profile is added to a specific Klaviyo list — and uses the profile payload as the source of all downstream actions.

Step 1: Add the trigger

  • Open the workflow and click Add Trigger.
  • Switch to the Apps tab and search for Klaviyo.
  • Select Profile added to list from the trigger list.

Step 2: Configure the trigger

  • Connected Account — pick the Klaviyo account this trigger should watch. Defaults automatically when only one account is connected.
  • Workflow Trigger Name — give it a meaningful label, e.g. ‘New VIP List Member’.
  • Filters → List — pick the Klaviyo list to watch. The helper text underneath reads ‘Select the Klaviyo list to watch for new profile memberships.’
  • Add filters (optional) — layer on additional conditions if the workflow should only fire under specific circumstances.

Step 3: Test the trigger

  • Click Find New Records inside the Test Your Trigger panel.
  • The system fetches the most recent matching list-membership records from Klaviyo.
  • In the Records — Select Mapping Reference dropdown, pick one of the returned records. This locks the profile-payload schema for downstream steps.
  • Click Save Trigger to finish.

image

Example: Setting Up an Action (Send campaign)

This walkthrough uses Send campaign to fire a pre-staged Klaviyo campaign the moment a workflow condition is met.

Step 1: Stage the draft campaign in Klaviyo

  • Send campaign is the trigger, not the composer — the campaign’s recipients, subject, and content must already be configured in Klaviyo and left in draft status. Build the campaign in Klaviyo as you normally would and stop before clicking Send.

Step 2: Add the action

  • Inside the workflow, click Add to insert a new step.
  • Open the Apps tab and select Klaviyo.
  • Choose Send campaign from the action list.

Step 3: Configure the action

  • Connected Account — pick the Klaviyo account where the draft lives.
  • Action Name — a meaningful label, e.g. ‘Send Launch Day Broadcast’.
  • Campaign — pick the draft from the dropdown. The helper text reads ‘Select the draft campaign to send now.’ Only campaigns currently in draft status appear in the list.

Step 4: Test the action

  • Click Test Action.
  • Confirm — the campaign will send to its configured audience in Klaviyo. Treat test sends with care: use a small test list inside the draft’s audience before running this in a production workflow.
  • Save the action and run a full Test Workflow before publishing.

image

How to Test the Trigger and Action

Always test before publishing. Testing locks the payload schema and gives downstream steps a real record to map against.

Test the trigger

  • Inside the trigger panel, click Find New Records.
  • If no matching records appear, perform the action in Klaviyo manually (add a profile to the list, fire a test event) and re-fetch.
  • Select the returned record as the mapping reference. Confirm the profile-payload fields appear in the preview.

Test the action

  • Inside the action panel, click Test Action.
  • The action runs against the live Klaviyo account using the configured inputs.
  • Open Klaviyo and confirm the result — a new profile under Profiles, a list membership under Lists, a tag attachment under Tags, a campaign send under Campaigns.
  • If something looks wrong, double-check the field mappings and re-test. Once satisfied, click Save action, then run a full Test Workflow before publishing.

Frequently Asked Questions

Q: What is Klaviyo?

Klaviyo is a marketing automation platform for email and SMS, built around unified customer profiles. Profiles flow through lists, segments (dynamic groups defined by profile conditions), and metrics (tracked events like ‘Placed Order’ or ‘Viewed Product’). Campaigns and flows in Klaviyo target these primitives.

Q: Are Klaviyo triggers and actions premium workflow components?

Yes. All triggers and all actions are flagged as premium and consume premium action credits at the standard automation rate. Klaviyo plan usage (active profiles, SMS credits) is billed by Klaviyo directly on your Klaviyo account.

Q: Are the triggers instant or polled?

Polled. All triggers poll Klaviyo every 5 minutes and return matching records since the last poll, in order. Plan for this cadence — the trigger is near-real-time, not instant.

Q: How do I authenticate Klaviyo?

OAuth. Click Connect your account on any Klaviyo step; you’ll be redirected to Klaviyo’s authorization screen. Review the requested scopes — Accounts, Campaigns, Events, List, Metrics, Profiles, Segments, Subscriptions, Tags — and click Allow. You’ll be returned to the Workflow Builder with the panel showing ‘Connected’.

Q: Are email and SMS subscribed together?

No. Klaviyo tracks email consent and SMS consent separately. Subscribe profile takes channel flags — you can subscribe to email only, SMS only, or both. Always reflect what the customer explicitly consented to.

Q: Can I update a profile’s properties and subscribe them in one step?

Not in a single action. Klaviyo requires the subscribe call and the property update to be separate operations. Use Subscribe profile first; follow with Update profile for any custom property changes.

Q: What does the New event trigger return?

The event payload — metric name, event timestamp, event properties — plus the associated profile (email, phone, profile ID, custom properties). Use the Metric filter to scope to the event type you actually care about (e.g. only ‘Placed Order’ events).

Q: How does Send campaign know which campaign to send?

The action’s Campaign field is a dropdown populated with the Klaviyo account’s draft campaigns. Recipients, subject, and content are configured inside Klaviyo when the draft is built — Send campaign triggers the send; it does not compose the campaign.

Q: How do tags differ from lists and segments?

Tags are organizational metadata attached to lists and segments — they don’t hold profiles themselves. Use tags to categorize lists and segments (e.g. ‘onboarding’, ‘win-back’, ‘black-friday-2026’) so reporting and filtering remain clean as the account grows.

🔄 Enhanced Calendly Reschedule Handling in HighLevel Calendars

🧭 Overview

We’ve enhanced how Calendly appointment reschedules are handled inside HighLevel to create a more consistent scheduling and automation experience.

With this update, Calendly reschedules now behave the same way as native AIOTB appointment reschedules, ensuring reschedule-based workflows, tags, and tracking work seamlessly across the platform.

✅ What’s New

  • Calendly reschedules are now treated as true appointment reschedules in AIOTB.
  • Existing appointments are updated instead of recreated.
  • Rescheduled appointments are correctly marked as Rescheduled.
  • Reschedule-based automations and conditions now work consistently for Calendly appointments.

🔐 How It Works

When an appointment is rescheduled in Calendly:

  • The existing AIOTB appointment is updated with the new date/time
  • The appointment is marked as Rescheduled
  • Previous appointment date/time is preserved for tracking
  • Rescheduled tags and workflow conditions are applied correctly

Workflows using the Rescheduled = True filter will now also work for Calendly reschedules.

🎯 Why This Matters

  • Creates a more consistent scheduling experience across Calendly and AIOTB.
  • Improves reliability for reschedule-based workflows and automations.
  • Enhances appointment tracking and accuracy.

Calendly Reschedule

One-click email setup fixes with Fix with AI

👀 What’s New

We’ve introduced AI-powered one-click fixes for common email issues such as invalid custom value syntax or missing subject lines. The AI automatically applies the fix, creates the required variant when needed, and logs all updates directly in the Email AI chat window.

🚀 Impact

Reduces manual debugging for email configuration errors

Speeds up time to value for the users.

Improves send reliability by proactively fixing invalid setups

Provides full visibility into AI-generated changes through chat history

👷 How to test It?

  1. Enable Email AI in Beta Labs
  2. Create a campaign with:

Incorrect custom field syntax, or

Missing subject line / preview text

  1. Click Send, Schedule, or open the Checklist
  2. On validation errors, click the new “Fix with AI” action

image

  1. The Email AI chat window will explain the fixes applied and log the changes automatically

image

⭐ Coming Soon

We’re also launching Beautify with AI, which will automatically improve mobile responsiveness, alignment, spacing, and overall email layout consistency to help create cleaner, production-ready emails with a single click.:rocket:

Company Smart lists

Managing companies just got more flexible.

You can now create Company Smart Lists to save a customized company view with your preferred filters, sorting, and visible fields – and reuse that list anytime without setting it up again.

What's New?

  • Added Company Smart Lists inside Companies
  • Save your preferred: advanced filters, sort order, and visible fields
  • Duplicate an existing Smart List to quickly create another version
  • Export Smart List results to CSV
  • Share Smart Lists with: all users or selected users
  • Give shared users either view access or edit access
  • Copy and share a direct link to a Smart List
  • Save updates back to the same Smart List or save them as a new one
  • Manage Smart lists page to review all Smart Lists in one place

How It Works

  1. Turn on Company Smart Lists from Sub-account Labs
  2. Go to Contacts → Companies
  3. Click on + List
  4. Apply the filters, sorting, and fields you want
  5. Name the Smart List and save it
  6. Reopen it anytime to continue editing, sharing, exporting, or duplicating it
  7. Open Customize list to manage: Duplicate, Export, Sharing & Permissions, and Delete List

cK1A3UVXf8nBtQKn4F0iE1VefGuPePeE3A

dRSL7De2EeyevFAhmA7eMb8ea81JI8y0-w

vg93w9vLwYSA6LHMj7irgYhDa2719X7LOw

JWlYyGmrBjlqZOLOBVQj4uPvtHVcCFjaXg

-IeTFHBd10h7KCWp5kSmN1L-S6GrpZoZNg

<img src="https://canny-assets.io/images/1a19d4cdbd647bf3987267dc4960276a.png" alt="NTE3UOHRt0giF7fs0Kc5rYo2dIlb-Y2Q” loading=”lazy”>

<img src="https://canny-assets.io/images/2a62effe798cde9685420c02d63a4153.png" alt="Wpf0vswA5y0-WBnnRNe-E6W-RVwOdibg” loading=”lazy”>

<img src="https://canny-assets.io/images/16813f9a3ac6e3c9cfa4af548ad65017.png" alt="1-0VyoFajIayGidxloMDHu7h33urgiYZw” loading=”lazy”>

AsFabPMfrkCxNd8nVWBQg3po8UFZN0TLPg

<img src="https://canny-assets.io/images/2c3742b433c5887a085514ce8f0d27cc.jpeg" alt="sLZ3YU647bIlgnWZ5kDw03p7NN_8xJ8EQ” loading=”lazy”>

Why It Matters

  • Reduces repetitive setup for teams working with Companies
  • Makes it easier to return to the exact lists you use most
  • Helps standardize account lists across users
  • Makes sharing important filtered lists much easier

Notes

  • This feature is currently available in Sub-account Labs
  • Users with edit access can also change sharing permissions

Improved Handling for Inactive/Unverified Domains

Email delivery is now better protected when a domain mapped to a Campaign or any other Domain configuration becomes inactive or unverified.

Previously, emails could continue attempting to send even after the mapped domain became inactive. With this update, the system now automatically prevents email delivery for those cases and surfaces a clear failure message within Conversations.

✨ What's New

• Emails will now be stopped automatically if the mapped Campaign Domain becomes inactive or unverified.

• Failed email attempts will display a clear error message within Conversations.

• Improved visibility into email delivery issues caused by domain verification status changes.

💡 Why It Matters

📩 Prevents failed or unauthorized email delivery attempts from inactive domains.

🔍 Gives users immediate visibility into why an email failed.

⚡ Improves troubleshooting by surfacing domain verification issues directly within Conversations.

🛡 Enhances email reliability and domain compliance handling.

🛠 How It Works

  1. If a Campaign Domain status changes from Active to Inactive/Unverified, email sending will automatically stop for emails using that domain.
  2. The email activity will be marked as failed.
  3. Users will see a message within Conversations indicating that the email failed because the domain is not verified.

Screenshot 2026-05-22 at 10