Skip to main content
Passform works with n8n via the built-in HTTP Request node. No custom node required.

Set up credentials

Store your API key as an n8n credential so you don’t repeat it across nodes.
1

Create a Header Auth credential

In n8n, go to Credentials → Add credential and select Header Auth.
2

Use it in HTTP Request nodes

In each HTTP Request node, set Authentication to Predefined Credential Type → Header Auth and select the credential you created.

Common operations

Upsert a pass

Creates or updates a pass for a given template and pass ID. An upsert replaces the whole pass, so the body must be the complete pass every time. HTTP Request node settings: Example body — creating a pass:
The response includes appleUrl, googleUrl, and webUrl — use these to send the pass to your user.
When you update an existing pass, anything you leave out of the body is cleared. If your workflow doesn’t already hold all of the pass’s values, add a Get a pass node first and build the body from its output, changing only what you need. See updating passes for a full example.

Get a pass


Send a notification

Pushes an update notification to a pass already in a user’s wallet. Example body:

List passes for a template

Supports limit (1-100, default 10), pageToken, sortBy, and sortOrder query parameters.

Example workflows

  1. Webhook node — receives customer data (name, email, ID)
  2. HTTP Request node — POST /v1/pass/{templateId}/{customerId} to upsert the pass
  3. Send Email / Slack node — deliver the appleUrl or googleUrl from the response
  1. CRM trigger (HubSpot, Salesforce, etc.) — contact updated
  2. HTTP Request node — GET the pass to read its current values
  3. HTTP Request node — upsert the complete pass with the updated points/fields
  4. HTTP Request node — POST /notify to alert the user their pass has changed
  1. Schedule trigger — runs daily
  2. HTTP Request node — GET /v1/pass/{templateId}/passes to fetch active passes
  3. IF node — filter passes past their expiry date
  4. HTTP Request node — upsert each pass with its existing data plus "voided": true
Use n8n’s Split In Batches node when processing large numbers of passes to avoid rate limits.