Integrate Kisi with Mindbody
Mindbody is an all-in-one software solution for businesses in the fitness and wellness industry. With the Kisi integration, members with active memberships automatically receive door access, and are checked into Mindbody when they unlock a door. Bookings can also be used to grant time-limited access for classes and appointments.
This is a Kisi-built integration, maintained and supported by Kisi.
Prerequisites
- Kisi Organization Administrator rights
- Mindbody Site ID owner credentials
- A valid email address on each Mindbody client who should get access. Mindbody clients without a valid email address are not synced to Kisi
The Mindbody integration in Kisi has four tabs: Configurations, Check-In Locations, Users and Sites.
Set up the Mindbody integration
Part 1: API activation
- Sign in to Kisi
- Click the integrations icon (3x3 grid of dots) > Add Integration
- In the Type dropdown, select Mindbody and click Add
- Click the Sites tab
- In the Get Activation Code section, enter your Mindbody Site ID in the Site ID field and click Generate
- Click Activate Site to open Mindbody's API Integrations screen in a new window
- Log in to your Mindbody account with owner credentials
- On the API Integrations screen, the activation code should be automatically filled in the "Have an activation code?" section
- If the code is not auto-filled, manually enter the activation code from step 5
- Click Submit
- Wait for the "Activation successful" message and confirm Kisi is listed under "Who has access to your API?"
For more information about API activation, see Mindbody's API integration setup guide.
Part 2: Site credentials and configuration
- Return to Kisi and, on the Sites tab in the Add Site Credentials section, enter your Mindbody Site ID again
- Click Add Site. You will be redirected to Mindbody to complete the authentication flow
- Sign in to your Mindbody account, click Next, and you will be redirected back to Kisi
- Go to the Configurations tab and click Add Configuration
- In the dropdown, select the Mindbody site you want to sync and click Next
- Choose the Kisi group where members will be added to share access
- In Select Membership, choose one or more Mindbody memberships that will be synced to this group
- To include discontinued memberships, click the trash bin icon (Show discontinued Memberships). These entries are labeled Discontinued
- Memberships are optional if you turn on Bookings Enabled, so you can create a bookings-only configuration
- (Optional) Toggle Bookings Enabled to grant access based on bookings when users do not have active memberships. This covers all bookings (classes and appointments) at the site
- Access starts 60 minutes before the booking and ends when the booking ends. To change these times, open the configuration after saving it. See Manage configurations
- If appointment bookings are enabled for your organization, see Appointment bookings to grant access based on the specific appointment booked, instead of all bookings
- Save the configuration
Each Mindbody site and Kisi group pair can have only one configuration.
When you add or reauthenticate a site, Kisi also connects it automatically for in-app unlock.
Part 3: Check-in locations
To check members into Mindbody when they unlock a door, map the door or access point to a Mindbody location:
- Go to the Check-In Locations tab and click Add Location
- Under Select Site, select the Mindbody site
- Under Select Location, select the Mindbody location
- Select the Kisi place and the door or access point
- Click Add Location
To use a standalone reader for check-ins without a door and controller, you need to first set up an access point in Kisi. Access points allow a Kisi reader to record check-ins independently, without being connected to a door or controller.
A check-in is posted to Mindbody only for a successful unlock of a mapped door or access point, by a user who is a synced member of that site. Each door or access point can be mapped only once. If you delete a mapped door or access point in Kisi, its mapping is removed.
After completing both the Mindbody API activation and Kisi integration setup, members with the selected memberships will automatically receive access through Kisi and be checked into the Mindbody location when they unlock a mapped door or access point. All members with the selected membership types will also receive an email with Kisi access instructions.
If bookings are enabled, users with any booking (classes or appointments) at the site will receive time-limited access to the selected group based on the configured time windows.
How syncing works
Kisi imports Mindbody clients who have a valid email address and are not inactive, and matches them to Kisi users by email address. Clients who share an email address are treated as one Kisi user.
- Full sync: all users are synced once a day
- Membership and client changes: Mindbody sends these to Kisi in near real time. A membership cancellation is processed after a delay of about 10 minutes
- Bookings: bookings are processed every 15 minutes. If a booking's access window starts within the next hour, the member gets access right away
- Configuration changes: saving a new configuration, changing its memberships or deleting it starts a sync right away
Access granted by a booking is time-limited and is not removed by the membership sync.
Manage configurations
The Configurations tab lists each configuration with its Last Synced time and whether it is Enabled and Connected for in-app unlock.
Click a configuration to open it. There you can:
- Change the memberships
- Turn bookings on or off
- Change Booking access starts in (minutes) and Booking access ends in (minutes)
- Change the selected staff for appointment bookings
- Turn the configuration on or off with the status switch. When it is on, users from the site are imported into Kisi
The group can't be changed after the configuration is created. To use a different group, delete the configuration and create a new one.
Turning a configuration off or deleting it removes membership-based access on the next sync. If you delete the Kisi group used by a configuration, the configuration is deleted too.
Appointment bookings
By default, any valid booking at a site grants the same access. With appointment bookings, you can instead link specific appointments to specific access, so members only receive access to the appointment they actually booked.
This feature works with Mindbody appointments. It can also support facility bookings, as long as those facilities are set up as appointments in Mindbody.
Appointment bookings are not enabled by default. To request this feature, contact Kisi Support.
Once appointment bookings are enabled for your organization:
- Sign in to Kisi
- Click the integrations icon (3x3 grid of dots), click Mindbody, then click Configure Integration
- Click the Settings button in the top-right corner
- Toggle Enable bookings for facilities only
- On the Configurations tab, click Add Configuration, then choose a site, an access group, and toggle Bookings Enabled
- In the Select Staff search bar, search for and select each Mindbody Staff (facility) you want to grant access to
With Enable bookings for facilities only turned on, configurations with no staff selected keep granting access for class bookings. A configuration grants access for an appointment only if it lists the booked staff (facility).
Reauthenticate the integration
If a site's Mindbody authorization becomes invalid, Kisi marks the site Not Authenticated and emails your organization administrators with the subject "Action Required: Reauthenticate Your Site". An error banner in the integration lists the affected sites, and syncing for those sites stops until you reauthenticate.
To reauthenticate:
- Sign in to Kisi
- Click the integrations icon (3x3 grid of dots), click Mindbody, then click Configure Integration
- Click the Sites tab
- Under Existing Sites, click Reauthenticate next to the affected site, then complete the Mindbody sign-in
Syncing restarts automatically after you reauthenticate.
Day Pass configuration
The Kisi integration can only sync memberships, not pricing options. To grant access to users with a Day Pass, you must link the Day Pass pricing option to a membership in Mindbody:
- In Mindbody, navigate to Settings > Services & Pricing > Pricing Options
- Select your Day Pass pricing option
- Under Additional options, locate the Membership setting
- Choose the membership to which access should be linked
- Ensure the selected membership has access configured in your Kisi integration
Once linked, a circle icon will appear next to the Day Pass in Mindbody, indicating its association with the selected membership. Members with this Day Pass will then automatically receive access through Kisi once you add the corresponding membership to your Kisi integration configuration.
When configuring the membership linked to your Day Pass, we recommend setting the duration to 2 days for better access management.
In-app unlock for Mindbody
Mindbody offers an in-app unlock that lets members unlock Kisi doors directly from within the Mindbody Branded Mobile App, without needing to install or use the Kisi app. Members can view the doors available to them in the Door Access tab, select a door, and slide to unlock without using a separate app or physical key card. The tab also uses your app's brand colors.
To enable the Door Access tab in Mindbody, complete the Mindbody integration setup in Kisi and then contact Mindbody support or Mindbody Account Manager to request to enable the feature in your Branded Mobile App.
Do not enable the Reader proximity restriction or Reader tap to access restriction settings for doors used with the Mindbody in-app unlock. Mindbody performs its own geolocation check, and enabling these restrictions in Kisi will cause unlock attempts to fail.
Connect sites for in-app unlock
Kisi connects each site automatically when you add it. Use Connect Sites to retry a site that shows Not connected:
- Sign in to Kisi
- Click the integrations icon (3x3 grid of dots), click Mindbody, then click Configure Integration
- Click the Sites tab
- Next to Existing Sites, click Connect Sites
Troubleshooting
Check a member's access
Use the Users tab to see why a member does or doesn't have access:
- Click the Users tab
- Select a site and search for the member's email address
For each configuration, the member's access status is one of:
- GRANTED - the member has access
- SHOULD HAVE - access will be granted on the next sync
- SHOULDN'T HAVE - access will be revoked on the next sync
- NO ACCESS - the member doesn't have access
The status also shows a reason, such as a membership that is not in the configuration's allowed list.
A member isn't synced
Mindbody clients without a valid email address, and inactive clients, are not synced to Kisi. This also applies to bookings. Add a valid email address to the client in Mindbody.
User limit reached
When your organization reaches its Kisi user limit, no new users are created and a banner shows "You have reached the maximum quota for the total number of users…". After raising the limit, click Reset in the banner to re-check your subscription.
Mindbody site deactivated
If the Mindbody site is deactivated, Kisi disables every configuration for that site. No email is sent, because reauthenticating doesn't fix this. Reactivate the site in Mindbody, then turn the configurations back on.
Error messages
| Message | What to do |
|---|---|
| Error fetching activation code. Please verify your site id and try again. | Check the Mindbody Site ID and generate the code again |
| Credentials already exist for this site. | The site is already added. Find it under Existing Sites on the Sites tab |
| The site requested does not exist | Check the Mindbody Site ID |
| Authenticate the site before connecting it | Reauthenticate the site on the Sites tab, then click Connect Sites again |
| finish Kisi activation in Mindbody to continue | Complete Part 1: API activation for the site |
| Configuration already exists | The site and group already have a configuration. Open it from the Configurations tab |
| This door or access point is already mapped | Each door or access point can be mapped to only one check-in location |