Klaviyo Integration

Last reviewed: 2026-03-31

Available on:Ultimate
On this page

The Klaviyo integration pushes booking events from Easy Appointment Booking into your Klaviyo account in real time. You can use those events to trigger automated email flows, build customer segments, and run targeted campaigns — all without any custom code.

This integration is available on Pro plans and higher. You'll need a Klaviyo account and a private API key to connect.

What data is sent to Klaviyo

The app sends three booking events to Klaviyo:

Event nameWhen it fires
Booking ConfirmedA new booking is confirmed by the customer
Booking CancelledA booking is cancelled by the customer or by you
Booking RescheduledA booking is moved to a new date or time

Each event includes the following properties:

PropertyDescription
booking_idUnique booking ID from the app
service_nameName of the service or event booked
booking_dateDate of the appointment
booking_timeStart time of the appointment
order_idAssociated Shopify order ID
customer_nameFull name of the customer
customer_emailCustomer's email address
number_of_attendeesTotal attendees for the booking

Customer properties (name, email) are also updated on the Klaviyo profile each time an event fires, so your contact list stays current automatically.

This is a one-way push from Easy Appointment Booking to Klaviyo. You can use booking data inside Klaviyo flows and segments, but changes in Klaviyo do not affect bookings in the app.

Connecting Klaviyo

  1. In Klaviyo, go to Account > Settings > API Keys and create a new Private API Key with Full Access or at minimum Events: Write and Profiles: Write permissions.
  2. Copy the private API key.
  3. In the app, go to Settings > Integrations > Klaviyo.
  4. Paste your API key into the Private API Key field.
  5. Click Save.

Once saved, the app immediately starts sending events to Klaviyo for all future bookings.

Use a private API key, not the public API key. The public key only works for identifying users from the browser — it cannot receive server-side events.

Finding your events in Klaviyo

After your first booking is confirmed, you can verify the integration is working:

  1. In Klaviyo, go to Analytics > Activity Feed.
  2. Look for a Booking Confirmed event.
  3. Click the event to inspect all the properties the app is sending.

You can also find the events under Data Management > Events where they'll appear as custom metrics you can use in flows and segments.

Example use cases

Post-booking thank-you flow

Trigger a flow on the Booking Confirmed event. Send a warm confirmation message 1 minute after booking, then a detailed preparation email 24 hours before the appointment. Use the service_name and booking_date properties to personalize the copy.

Pre-appointment reminder (in addition to app reminders)

The app already sends reminder emails, but you may want a more branded sequence in Klaviyo. Trigger a flow on Booking Confirmed and use time delays to send reminders at 48 hours and 2 hours before booking_date. This is supplementary — both sets of reminders will fire unless you disable app reminders in Settings > Notifications.

Re-engagement campaign after 30 days

Build a segment of customers who have a Booking Confirmed event but no activity in the last 30 days. Send them a campaign with a gentle reminder and a direct link to book again. This works particularly well for recurring services like haircuts, coaching sessions, or monthly treatments.

Win-back after cancellation

Trigger a flow on Booking Cancelled. Wait 24 hours, then send an email with an easy re-booking link and a small incentive. Customers who cancel often just need a nudge to reschedule.

Using booking properties in Klaviyo emails

Once the integration is active, the event properties are available as dynamic variables in Klaviyo email templates. For example:

  • {{ event.service_name }} — inserts the name of the booked service
  • {{ event.booking_date }} — inserts the appointment date
  • {{ event.booking_time }} — inserts the appointment time
  • {{ event.booking_id }} — inserts the booking ID (useful for support references)

You can use these in subject lines, preview text, and body copy to make every email feel specific to the booking rather than generic.

Disconnecting Klaviyo

  1. Go to Settings > Integrations > Klaviyo.
  2. Click Remove or clear the API key field and save.

No new events will be sent after disconnecting. Existing events and profiles in Klaviyo are not affected.

FAQ

Events aren't showing up in Klaviyo. What should I check?

First confirm your private API key is correct and hasn't been revoked — regenerating a key in Klaviyo invalidates the old one. Check the key's permissions include Events: Write and Profiles: Write. If the key looks right, make a test booking and check Analytics > Activity Feed in Klaviyo within a few minutes.

Can I send booking data to Klaviyo lists or segments directly?

You don't need to — Klaviyo automatically creates or updates a profile for each customer based on their email address when an event fires. You can then build segments based on those events (for example, "has done event Booking Confirmed at least once in the last 90 days").

Can I use Klaviyo's booking events to trigger SMS flows?

Yes. If your Klaviyo account includes SMS, you can use the same Booking Confirmed, Booking Cancelled, and Booking Rescheduled events to trigger SMS flows, just as you would for email flows.

Will Klaviyo and the app's built-in email notifications both fire for the same booking?

Yes. The app's own confirmation and reminder emails are separate from Klaviyo. Both will fire unless you disable the app's notifications in Settings > Notifications. Decide which system you want handling each touchpoint to avoid sending duplicate emails to customers.

Next steps

Was this article helpful?

Still need help?

Our support team is available to answer any questions you have.