Passmint
TemplatesDocsPricingBlog
Log inGet started
Passmint

Apple and Google Wallet passes from one API. Built for people who ship.

Product
  • Pass Designer
  • Developers
  • Distribution
  • Analytics
  • Templates
  • Pricing
Developers
  • Documentation
  • API reference
  • Node SDK
  • Webhooks
Company
  • Changelog
  • About
  • Contact
  • Support
  • Security
  • Terms
  • Privacy
Social
  • GitHub
  • X

© 2026 Passmint. Built for indie makers.

Apple Wallet & Google Wallet, one API.

CRM & marketing

Issue wallet passes from your Salesforce records

Let a new Contact, a new Lead, or a record reaching the right stage hand someone a live Apple Wallet or Google Wallet membership card — straight out of the CRM your team already runs on.

Start freeRead the docs →
Apple & Google WalletNo-code via ZapierFree to start
Salesforce
New/Updated Record
via Zapier
Passmint
Create Pass
Membership card

What you can do

A few ways teams put Salesforce and Passmint to work together.

Trigger on an updated record, add a Find Pass step (by holder email), then Update Pass. When a Contact's tier picklist or stage changes in Salesforce, the new value is pushed straight to the card already in their wallet — no re-issue.
Point the trigger at a custom object (a Program Enrollment, say) instead of Contact or Lead. Every new record becomes a wallet pass with the fields that matter to that program, mapped from the object's own fields.

Set it up

One Zap links the two — live in a few minutes, no code involved.

  • A Passmint account and an API key (pmk_live… or pmk_test…), from Developers → API Keys.
  • A Passmint template for the pass you're issuing — a membership or loyalty card. Note its field names (e.g. member_tier, account_name): they must match the Salesforce fields you map.
  • A Zapier account (the free plan is enough to build and test this).
  • A Salesforce account with the object you want to issue from (Contact, Lead, or a custom object) and permission to read its fields.

In Zapier, add Passmint as a connected app and paste your API key when prompted. Zapier verifies it against your account immediately. Use a pmk_test… key while you set things up.

Create a Zap with Salesforce as the trigger app and choose the event that fits your flow — a new Contact, a new Lead, or a record that's updated to a particular stage. Pick the object, then send a test so Zapier reads a sample record and learns your field names.

TODO(verify): Confirm the exact Salesforce trigger label and that it lets you choose the object (Contact/Lead/custom). If you're firing on a stage change, confirm the trigger exposes the stage/status picklist field you want to filter on.

Add an action step, choose Passmint, and select Create Pass. Pick the template from the dropdown — Zapier loads your templates automatically. Then map Holder Email and Holder Name from the Salesforce record's email and name fields.

In Field Values, map each Salesforce field you want on the card to a template field — a tier picklist to member_tier, the Account name to account_name, and so on. Each key on the left must exactly match a field name in your Passmint template. Send a test, open the resulting pass on a phone, then switch to a pmk_live… key and turn the Zap on.

TODO(verify): On a real template, confirm the Field Values keys exist as field names there. Confirm the Salesforce API names of the fields you mapped (picklists and custom fields often differ from their UI labels).

Questions

The details teams check before switching the Zap on.

Yes. Build one Zap per object you want to issue from — choose the Salesforce trigger for new/updated records on that object, then point the same Passmint Create Pass action at it. They can all issue from the same template or different ones.
Add a Zapier filter after the trigger that requires the stage or status picklist to equal your target value. Only records that match continue to the Create Pass step, so a pass is issued exactly when a record reaches that stage.
In Zapier you pick the field from the record's test data, so the label is what you see — but the Field Values key on the Passmint side must match your template's field name exactly. Picklists and custom fields often have an API name that differs from the UI label, so verify against the template.
Zapier is perfect for getting this live today. When you're issuing passes for a large book of business, need them created the instant a record changes without per-task costs, or want field values driven straight from Salesforce data in your own pipeline, call the Passmint API directly — POST /v1/passes, or the @passmint/node SDK. Same passes, same live updates, full control.

Related integrations

Pipedrive

Issue a wallet pass when a deal reaches a stage in your pipeline.

HubSpot

Issue a membership card when a contact is created and keep the tier in sync as they move through your funnel.

Intercom

Issue a membership or loyalty pass to every new contact.

Issue your first pass from Salesforce today

Free for your first passes. No Apple or Google certificates to manage, no code to write.

Start freeExplore the API →