Zapier Integration
Link wallet passes to the rest of your stack — CRMs, email tools, spreadsheets, forms — without writing code.
What it does
The Pass Studio app for Zapier connects your passes to thousands of other tools. When something happens in Pass Studio — a customer saves a pass, redeems a coupon, earns points — a Zap can react in Mailchimp, HubSpot, Google Sheets, Slack, or anywhere else. And it works the other way too: events in your other tools can issue passes, award points, update pass fields, or revoke passes.
How to connect
- In Pass Studio, go to Settings → API Keys, click Create key, give it a label (e.g. "Zapier"), and copy the key — it's shown once.
- In Zapier, create a new Zap and search for Pass Studio.
- When prompted to connect your account, paste the API key. The connection is labeled with your account email.
Triggers
Triggers fire in real time via webhooks — Pass Studio registers the endpoint automatically when you turn the Zap on and removes it when you turn the Zap off. Each trigger can watch all passes or be filtered to a single pass.
- Pass Issued — a pass is issued (share link, form, order, or API), before the holder adds it to a wallet, with holder identity (name, email, phone when known), the add-to-wallet link, pass details, and the wallet platform.
- Pass Updated — pass fields change and the update is pushed to holders.
- Pass Redeemed — a pass is redeemed at the counter or through an order.
- Pass Removed — a holder deletes the pass from their wallet.
- Holder Merged — two holder records are identified as the same person and consolidated.
- Holder Tier Changed (since app 1.0.18) — a holder moves to another tier of a loyalty program, up or down. Carries the new and previous tier, the direction, and the evaluation block; filter on Direction to act on promotions only.
- Holder Points Changed (since app 1.0.19) — a holder's points balance changes: points earned on an order, an award or deduction from the API, Zapier, Shopify Flow, the Studio or the staff app, or a reward redeemed on a membership card. Carries the delta (negative on a deduction), the new balance, the reason (order, adjustment, the reason the call gave, or on a membership card the staff note or source) and the order; Program ID is set on a loyalty program's card and empty on a membership card that keeps points on the card itself. One event per award.
- Holder Reward Unlocked (since app 1.0.19) — a loyalty program member's balance reaches the reward threshold and a reward code is minted. Carries the reward code, the balance and the order.
- Pass Journey Advanced (since app 1.0.19) — a holder's card moves to the next pass of its journey: after a scan or an order, on a timer, by the self-heal sweep, or by the API (Move to Next Journey Step). Carries both passes by id and name and the source (scan, order, time, heal, api). The pass filter matches the pass the holder arrived on.
- Holder Visited (since app 1.0.19) — a staff-app scan of a membership card is counted as a visit, at most one per card per 60 minutes. Carries the register and the holder's visit count including this one.
- Holder Updated (since app 1.0.19) — every staff ledger entry for a member's card: a points award or deduction, a tier move or a field correction from the staff app, the Studio Holders panel or the API. Carries each changed field as a line item with its before and after values, the note, the source (studio, api, register) and the register. Engine Handled is true when the points came through a loyalty program's order and Holder Points Changed already reported them.
Every trigger of a holder's card carries the holder identity block — holder ID, email, phone, Shopify customer ID, barcode, share token, the add-to-wallet link and the first-touch UTM — each empty when unknown.
Actions
- Issue Pass (named Issue Pass by Email before app 1.0.15) — issue a pass to a customer by email or phone; with an email, Pass Studio sends the "Add to Wallet" link unless Send Wallet Email or the pass's invite email is off. Idempotent: re-running for the same person returns the existing pass instead of duplicating it. Optional Photo URL: a direct https link to the holder's photo, shown on the card (iPhone thumbnail, Android image), included in the issue credit. Email is optional when a phone is given, and the action also takes your own Customer ID, the email language, and UTM source, medium, and campaign for attribution. Holder Language (since Zapier app 1.0.13): the holder's language, any language of the pass — their email, their sign-up form, and their wallet page read in it; empty, or a language the pass does not carry, means the pass's holders' language. Delivery Channel (since app 1.0.16): email, SMS or WhatsApp for this customer; empty follows the pass's "Deliver the link by" switches. Since app 1.0.20 the Text input picks the text: SMS, WhatsApp, WhatsApp with SMS fallback (WhatsApp when your Twilio card has a sender and an approved template, SMS otherwise and when the number is not on WhatsApp, same credit) or both texts (two credits); the email is Send Wallet Email's business, so a customer can get both. A text goes through your Twilio connection for 1 credit per holder and needs the phone in international format; the older Delivery Channel input stays as legacy. Create Pass and Update Pass carry Deliver by Text and Text for the pass default.
- Award or Adjust Points — add or subtract points by pass, barcode, or email, on a Loyalty Loop card or a membership card. On a Loop card, crossing a reward threshold unlocks the reward exactly as an in-store scan would; on a membership card the balance moves, with no automatic reward. The card shows it only while the Points row is on in the pass design (Studio → Fields → Card rows); the balance is stored either way.
- Process Order — feed an order from any platform into the loyalty engine: accrues points, redeems codes, and issues passes by the same rules as native Shopify orders.
- Move to Next Journey Step (since app 1.0.18) — moves one holder's card to the next pass of its journey, the follow-up pass set in the Studio, regardless of the journey's rules, once per run; a Zap that runs again hops again. Identify the card by barcode or instance ID. Barcode on the Next Pass optionally sets the code the next pass renders, such as a membership number from your system; a code another card already holds is not applied, and the output says so. A pass with no journey fails with no_journey.
- Update Pass for One Holder — set field values on a single holder's pass and push the change to their phone. Optional Photo URL sets or replaces the holder's photo on its own. Also a new barcode value, a notification message shown with the update, and an external reference so a retried Zap never pushes twice. Since app 1.0.18: Holder Language sets the holder's language, one of the pass's languages, and picking a Pass shows the pass's own fields as labeled inputs, as on Issue Pass; the Pass is not sent, the card is still found by the identifier.
- Update Pass for ALL Holders — change field values across every holder of a pass (announcements, offer changes, seasonal updates).
- Notify All Holders — a campaign: a message to everyone holding a pass, now or at a date and time, with one input per added language of the pass and an optional end, when the message leaves the back of the pass. 2 credits per device, charged at the start. A reference makes a replayed Zap send nothing. Since app 1.0.18 an Audience: the Studio's campaign segments — highly engaged, going cold, new this week, Apple, Google; not yet, already or recently redeemed on one-time passes; the loop states on a loyalty program's pass. Empty means all holders; a segment that does not fit the pass fails with the ones that do.
- Revoke Pass — void one pass instance by instance ID or barcode.
- Revoke ALL Passes by Barcode — void every instance carrying a barcode (leaked code cleanup). Defaults to a dry run that reports what would be revoked.
- Redeem Reward — redeem a reward on a membership card in one step: deducts the points, clears or rewrites the Reward lines on the back of the card, notifies the holder, and fires Pass Redeemed. For merchants whose own software decides when a reward is earned. Idempotent by external reference. Since app 1.0.18: Line Items — code, description, quantity, unit price, the same shape as Process Order, up to 50 — carried on the webhook and the redemption record.
- Redeem Pass Code — the staff-app scan as a Zap step: validates the code, decrements uses, pushes the pass, fires Pass Redeemed. Add an order id, amount, and currency to record an online order instead. An invalid code comes back as valid: false with a reason, so a Filter or Paths step can branch on it.
- Create Pass and Update Pass — create or change a pass design headlessly: type, distribution, colors, texts, expiry, images by URL, the Points Row and Tier Row switches and Points Come From Your Rewards App (Loyalty / Membership), an advanced Design (JSON) box for every other key, publish or archive, and push to holders like a Studio save.
- Create Loyalty Program and Update Loyalty Program — the Studio wizard as Zap steps: earning rules, offers, codes, notifications, single-card back lines, tiers; launch or pause with a status change.
Searches
- Find Holder — look up a holder by email, phone, or barcode; returns identity, passes, and points. Pairs with Zapier's search-or-skip paths.
- Get Pass — one pass with its design, status, share URL, field keys and labels, and active-holder count.
- List Holders of a Pass — the holders of one pass as line items (newest activity first, filter by status, paginated by cursor) — feed them to Looping by Zapier.
- List Holder Profiles — one row per person with every email, phone, and member id seen on their passes (personal API keys only).
- List Loyalty Programs, Get Loyalty Program, List Loyalty Program Members — programs with their rules and passes; members with points balance, state, active code, and tier.
Example Zaps
- Pass Issued → add a contact to Mailchimp/Klaviyo/HubSpot — sync every new pass holder into your CRM the moment a pass is issued.
- Typeform/Jotform submission → Issue Pass — turn any form into a pass-issuance channel.
- Eventbrite New Attendee Registered → Issue Pass — an event ticket in the attendee's wallet the moment they register, ready for check-in at the door. A published Zap template sets the two steps up; pick your event pass and map the attendee's name and email.
- Stripe New Payment → Issue Pass — a pass for every paying customer, with their name, email, and phone pre-mapped by a published Zap template; pick your pass.
- Google Sheets New Spreadsheet Row → Issue Pass — issue from a spreadsheet: a published Zap template reads the email from column A, the name from B, and the phone from C; remap if your sheet differs.
- Pass Issued → Twilio Send SMS — text the Add to Wallet link to the holder's phone; a published Zap template sets it up. See the SMS and WhatsApp guide.
- WooCommerce New Order → Issue Pass — a wallet coupon or loyalty card for every paying customer; pair it with the WooCommerce recipe to redeem passes used as coupon codes at checkout.
- Pass Redeemed → Google Sheets row — a live redemption log for reporting.
- Order paid in WooCommerce, Lightspeed, or your POS → Process Order — run loyalty for platforms Pass Studio doesn't natively integrate with.
- Pass Removed → tag the contact in your email tool — trigger a win-back sequence when someone deletes their pass.
Billing
Zapier actions use the same credits as the equivalent in-app operations — issuing a pass or pushing a field update costs what it costs everywhere else; triggers, searches, and point accruals that don't push are free. Billing details →
Availability
The Pass Studio app for Zapier is live — view the listing in the Zapier app directory to get started. It works with any Zapier plan. Prefer to integrate directly? Everything the Zapier app does is available in the REST API.