Does Mindbody connect to Klaviyo?
Not as a built-in ecommerce connection, at the time of writing. Klaviyo’s help center lists its built-in ecommerce integrations (Shopify, WooCommerce, BigCommerce and others), and Mindbody is not on that list. Klaviyo’s app marketplace has third-party and Klaviyo-built apps, so check there for current options. If nothing fits, you can import a CSV or use a connector such as Pandaflow.
The requirement that matters is this: Klaviyo is an event-based tool. It can only send a message after something happens, such as a visit, a purchase or a membership freeze. A contact list alone gives it names and emails but no behavior. Your Mindbody integrations page covers the wider picture. This guide focuses on the Klaviyo side.
Mindbody stays your system of record for bookings, payments and memberships. You are only sending copies of what happens there into Klaviyo.
What does Klaviyo need from Mindbody?
Think of Klaviyo data in three layers:
- Profile: one person, identified by email (or phone).
- Properties: facts about that person, such as home studio, client type, join date or preferred class type.
- Events: things that happened, each with a timestamp. Visits, purchases and membership changes live here.
A client export fills the first two layers. Flows need the third.
| Mindbody data | Klaviyo result | What it enables |
|---|---|---|
| Client record (name, email, home location) | Profile with properties | Segments by studio, client type, join date |
| Class visit completed | Attended Class event with class, instructor, location and first-visit flag | Welcome, thank-you and lapsed flows |
| Class booked | Booked Class event, kept separate from attended | Reminders and booking-gap segments |
| Late cancel or no-show | Event or status property | Gentle nudge, policy reminder |
| Pass or pack sale | Purchased Pass event with item and amount | Intro-offer follow-up, pack running out |
| Membership started, frozen, cancelled or failed payment | Separate membership events | Save, win-back and payment-recovery flows |
| Promotional email opt-in | Klaviyo subscribed status | Marketing consent respected |
| Account and schedule email preferences | Property, not marketing consent | Keeps transactional and marketing mail apart |
Booked, attended and missed are different events
In Mindbody, a booking can end as attended, late-cancelled or a no-show. If you send everything as one Booked Class event, a post-class thank-you flow will email people who never came. Send separate events, or one event with a status property, and trigger each flow on the right one.
For the same reason, use distinct names for membership events. A frozen membership and a cancelled one need different follow-ups.
Timestamps must be the real time
Each event needs the time the visit or sale actually happened. Klaviyo’s account time zone is set under Settings > General > Account. Per Klaviyo’s help docs, it controls dates, times and reporting date ranges, and changing it does not change when an event occurred. A metric’s activity feed uses your browser’s time zone instead. If your studio and your reporting setup sit in different time zones, counts for a given day will look wrong. That is usually the cause.
How do you do it manually, and where does it break?
The manual route is a client list export from Mindbody, imported as a CSV into a Klaviyo list. Booker also exports client lists. Find the client export in your reporting area (the exact report name depends on your Mindbody setup and version, so look for the client list rather than a fixed path). Import it into Klaviyo and repeat on a schedule.
What you get is profiles and static properties. You do not get visit, purchase or membership events. That means:
- Event-triggered flows, such as a first-visit welcome, have nothing to run on.
- A “no visit in 30 days” segment cannot be built from a flat list.
The manual route also breaks in five predictable places:
- It goes stale the next day. New clients, changed memberships and cancellations do not arrive until someone exports and imports again.
- Shared emails collapse. Families, couples and corporate accounts often share one address. Klaviyo keys on email, so they become one profile. Klaviyo’s docs say profile merges are permanent.
- Multi-location accounts duplicate. Client IDs can differ by site, so the same person can appear more than once across studios.
- Consent flags get flattened. A plain export loses the split between promotional and account or schedule preferences. You risk marketing to people who never opted in, or leaving out people who did.
- Retail and class history split. If you sell retail through Shopify, its purchases and your Mindbody visits land on different profiles unless email is the shared key.
How do you set up the Mindbody to Klaviyo sync with Pandaflow?
Pandaflow connects your apps, takes a plain-English description of the outcome, sets up the sync and keeps it running. There are no workflows, templates or settings to configure.
The steps:
- Start free. Pandaflow is free to start.
- Connect your apps. Connect Mindbody (or Booker) and Klaviyo.
- Describe what you want. For example: when a client attends a class, send an Attended Class event to Klaviyo with class name, instructor, location and whether it was their first visit. Send membership freezes and cancellations as their own events. Only subscribe clients who opted into promotions.
- Review a few records. Open one real client in Klaviyo and compare the profile and event timeline with Mindbody. Include one shared-email family and one client who has two locations.
- Go live.
What you see afterwards: a profile for each client with Mindbody properties, an event timeline per client in Klaviyo, and segments that update on their own as new events arrive.
If you want lapsed-member segments, ask for a backfill of past visits. Keep your flows in draft until the backfill finishes. Klaviyo’s docs say that when profiles are merged, events are replayed with a logged date later than the event timestamp, so an unfinished backfill can fire flows you did not intend. Pandaflow plans start at Lite $79, Silver $299 and Gold $499 a month, and you can deploy in Pandaflow’s cloud or your own. See pricing for details.
This is an illustrative setup, not a customer story. A two-location pilates studio sends Attended Class and Membership Frozen events, then builds a lapsed-client flow on top of them.
Which Klaviyo flows should you build first?
Start with flows that react to a single, specific event:
- First-visit welcome. Trigger on the first Attended Class event, using the first-visit property. Do not trigger on list join.
- Intro-offer follow-up. Clients who attended one or two classes but have not bought a pass after a set number of days.
- Lapsed client. No Attended Class event for a set number of days, using a segment. Exit the flow when a new booking arrives.
- Pass or membership expiring, freeze or cancel save. Triggered by the membership events.
- No-show or late-cancel nudge. Triggered by that status, not by Booked.
- Retail cross-sell. Uses Shopify purchase events if Shopify is connected. Keep it separate from class flows.
Event triggers are safer than list triggers. Klaviyo’s docs note that a person removed from a list and added back does not re-enter flows triggered by that list.
How should you handle consent and duplicates?
Consent. Map Mindbody’s promotional opt-in to Klaviyo’s subscribed status. Treat account and schedule messages, such as a class reminder, as transactional and keep them separate from marketing. Do not subscribe everyone by default. Tell Pandaflow the rule in plain English, then spot-check a client who has opted out.
Duplicates. Choose email as the identity, then decide what happens to shared addresses before you import history. Check multi-site clients before going live.
Merge rules from Klaviyo’s docs. A merge is permanent. The kept profile’s properties win. Properties from the removed profile are added only where the kept profile has none. Event data from the removed profile is copied across. A suspended profile merged into an active one produces a suspended profile by default.
What can go wrong?
- Backfill firing flows. Keep flows in draft until history finishes loading.
- Wrong-day counts. Check the account time zone under Settings > General > Account against your studio’s time zone.
- Changed fields in Mindbody. A role or membership change can alter a field Klaviyo relies on, so spot-check after changes.
- Clients who change their email. They may appear as a new profile. Decide how you will merge them.
- List-triggered flows not re-firing. This is why event triggers are the safer default.
For more connection how-tos, see all guides.