Skip to main content

Integrate Swift with Kisi

Swift is a facility management and booking platform that helps operators generate revenue around the clock. With the Swift and Kisi integration, every booking made in Swift automatically creates a Kisi access credential that's valid only during the booked time window, plus any buffer the operator configures. Customers book online and walk straight in, and operators never have to coordinate keys, codes, or on-site staff. Together, Swift and Kisi turn off-peak and after-hours time into bookable, revenue-generating hours while keeping the facility secure.

info

This integration is built on top of Kisi's Zapier integration.

Prerequisites​

  • Kisi organization administrator rights
  • An active Swift account with admin permissions
  • A Zapier account on the Professional tier

Generate a Kisi API key​

You need to have organization administrator or organization owner rights to create an API key. We recommend creating API keys from the organization owner's account, to avoid the API key becoming invalid when an organization admin loses their admin rights.

  1. Sign in to Kisi
  2. On the top right corner, click on your name and click on My Account
  3. Next, select the API tab and click on Add API Key
  4. Enter the name for the API key and your Kisi password and click Add
  5. Copy the API key shown on the screen and click Close

Set up the integration in Swift​

  1. Sign in to your Swift admin account
  2. Go to Settings > Integrations. You need to be the account owner or have admin permissions to view this page
  3. Find the Zapier card and click Configure to create or view your Application ID and Integration Key

See the Swift Zapier guide for more details.

Set up the Zap​

  1. Sign in to Zapier, or create a free account
  2. The Swift integration is currently private on Zapier and won't appear if you search for it. Click this invite link and click Accept Invite & Build a Zap to gain access to it
  3. Click Create > Automations > Zaps
  4. Click on the trigger step and search for Swift
  5. Select the booking.created trigger event, and authenticate your Swift account using the Application ID and Integration Key you generated earlier
note

When testing the trigger step, skip the test. Swift's booking.created event doesn't return sample participant data at this stage, which can cause the test to show an error even though the Zap will work correctly once live.

Filter for the bookings you want​

  1. Click + to add a new step, and select Filter by Zapier
  2. Add a rule to only continue for bookings that should grant access, for example rentals with a known guest email:
    • Service Type from the Swift trigger > (Text) Exactly matches > RENTAL
    • Participants User Email from the Swift trigger > Exists
  3. Add more rules depending on your use case
  1. Add a Kisi action step and choose the Create Access Link action event
  2. Authenticate using your Kisi API key, prefixed with KISI-LOGIN, e.g. KISI-LOGIN <your-api-key>. See Set up Zapier automation for more details on authenticating Kisi in Zapier
  3. Configure the action:
    • User's email address: Participants User Email from the Swift booking event
    • Group ID: the Kisi group ID you want to grant access to
    • Name: Participants User Name from the Swift booking event
    • Generate an Access Link?: True
    • Generate a QR Code?: online
    • Valid From: Start Time from the Swift booking event
    • Valid Until: End Time from the Swift booking event
  4. Click Continue to test the step. If everything is set up correctly, the email tied to the booking receives an automatic email from Kisi with access instructions
  5. Click Publish to make the Zap live

Configuration details​

Expand access beyond rentals​

To run the integration for more Swift services than just rentals, update the filter step to match on the services you need.

Add a buffer around access​

To grant access slightly before or after the booking window (e.g. 15 minutes before a booking starts), add a Formatter action before the Kisi access link action:

  1. Add a Date / Time Formatter action before the Kisi action step
  2. Set Transform to Add/Subtract Time
  3. Set Input to Start Time from the Swift booking event
  4. Set Expression to the amount of time to add or subtract, e.g. -15 minutes
  5. Set To Format to YYYY-MM-DDTHH:mm:ssZ
  6. In the Kisi action step, use the output of this Formatter step as Valid From (and set up a similar step for Valid Until if needed)

Grant and revoke 24/7 access based on membership status​

To grant ongoing access when a membership is assigned, and remove it when the membership is canceled, create two separate Zaps, one per trigger:

  1. Create a Zap with the Swift membership.assigned trigger and a Create Invite Kisi action, to invite the member to the group that has 24/7 access. See New CRM contact creates Kisi invite for a similar worked example
  2. Create a Zap with the Swift membership.canceled trigger and a Delete Role Assignment Kisi action, to remove the member's access when their membership ends. Since this action requires a role assignment ID, you'll first need to look it up using Fetch Users and Fetch Role Assignment, as shown in Adding multiple Kisi actions
note

The membership.assigned and membership.canceled triggers are only available for facilities on the Swift Billing platform. If your facility uses Stripe billing, use the corresponding Stripe triggers instead.

Other important information​

The Kisi integration with Swift works through Zapier, so you can customize it and set up Zaps for multiple use cases. For events with multiple participants, such as lessons, classes, or camps, you'll need to parse out the individual participant's email from the Swift event before passing it to the Kisi action.