Early bird discounts live! Claim your offer
MemberPass Logo

Zapier

Automate MemberPass workflows with Zapier. 71 event triggers, 24 write actions, 35 searches — every REST route on api.memberpass.net and every event in the webhook catalog. Currently available as an invite-only integration.

The MemberPass Zapier app exposes 71 instant triggers, 24 write actions, and 35 searches — full parity with the live api.memberpass.net/v1 surface plus the complete WebhookEvent catalog.

Install

The MemberPass Zapier integration is currently invite-only and is not yet publicly listed in the Zapier App Directory. To request access, contact the MemberPass team. Once you receive an invite link, click it to connect your account. During the OAuth-less connection step Zapier asks for an API token — mint one at app.memberpass.net/settings/tokens with the abilities listed per trigger / action below.

The MemberPass Zapier app is undergoing testing and validation before its public Zapier listing. Access is invite-only during this period.

Production tokens start with mpt_live_; non-production (staging, local) tokens start with mpt_test_. Both work — MemberPass rejects tokens from the wrong environment automatically.

Triggers — 71 webhook events

Grouped by family. Every trigger uses the REST Hook pattern: on Zap activation Zapier calls POST /v1/webhook-subscriptions, on deactivation it calls the matching DELETE. All triggers additionally implement a polling fallback (performList) against /v1/webhook-events so the Zap editor can show a sample even before any live event has fired.

Every trigger additionally requires webhook-endpoint:manage on the token so Zapier can create and delete the underlying webhook endpoints.

How triggers work

You pick a trigger in Zapier

Example: New Subscription. Zapier's performSubscribe calls:

POST https://api.memberpass.net/v1/webhook-subscriptions
Authorization: Bearer mpt_live_<id>_<secret>
Idempotency-Key: <zap-scoped-uuid>
Content-Type: application/json

{
  "name": "Zapier — New Subscription",
  "url": "<zapier-inbound-url>",
  "events": ["subscription.created"]
}

MemberPass registers the endpoint

The response includes { data: { id }, secret }. Zapier stores both — the secret powers MP-Signature verification on every inbound event.

Event fires inside MemberPass

Any matching event enqueues a delivery to the Zapier inbound URL. Zapier verifies the signature, decodes the envelope, and hands data.* to your Zap.

You turn the Zap off

Zapier calls DELETE /v1/webhook-subscriptions/{id} with a matching idempotency key. The endpoint is removed server-side.

Actions — 24

All writes auto-inject a fresh Idempotency-Key header per call — retries are safe.

Project (5)

  • create_projectPOST /v1/projects
  • update_projectPATCH /v1/projects/{project}
  • archive_projectPOST /v1/projects/{project}/archive
  • restore_projectPOST /v1/projects/{project}/restore
  • delete_projectDELETE /v1/projects/{project}

Plan (5)

  • create_planPOST /v1/projects/{project}/plans
  • update_planPATCH /v1/projects/{project}/plans/{plan}
  • publish_planPOST /v1/projects/{project}/plans/{plan}/publish
  • unpublish_planPOST /v1/projects/{project}/plans/{plan}/unpublish
  • delete_planDELETE /v1/projects/{project}/plans/{plan}

Subscription + Member (4)

  • cancel_subscriptionPOST /v1/subscriptions/{subscription}/cancel
  • ban_memberPOST /v1/projects/{project}/members/{member}/ban
  • unban_memberPOST /v1/projects/{project}/members/{member}/unban
  • kick_memberPOST /v1/projects/{project}/members/{member}/kick

Resource + Access code (5)

  • create_resourcePOST /v1/projects/{project}/resources
  • unlink_resourcePOST /v1/projects/{project}/resources/{resource}/unlink
  • delete_resourceDELETE /v1/projects/{project}/resources/{resource}
  • bulk_generate_access_codesPOST /v1/projects/{project}/plans/{plan}/access-codes/bulk-generate
  • delete_access_codeDELETE /v1/projects/{project}/plans/{plan}/access-codes/{access_code}

Webhook endpoint + Token (5)

  • create_webhook_endpointPOST /v1/webhook-endpoints (the response surfaces the one-time plaintext secret)
  • delete_webhook_endpointDELETE /v1/webhook-endpoints/{endpoint}
  • rotate_webhook_secretPOST /v1/webhook-endpoints/{endpoint}/rotate-secret
  • test_webhook_endpointPOST /v1/webhook-endpoints/{endpoint}/test
  • revoke_tokenDELETE /v1/tokens/{token}

Searches — 35

Return a single object (wrapped in [x]) or an array. Use them in dynamic dropdowns, cross-Zap lookups, or as standalone fetch steps.

Core resources

  • list_projects, get_project, find_project_by_handle
  • list_plans, find_plan_by_name, find_plan_by_id
  • list_subscriptions, find_subscription_by_id
  • list_members, find_member_by_id, find_subscriber_by_telegram_id
  • list_resources, get_resource
  • list_access_codes, preview_access_code_cost

Infrastructure

  • list_payment_methods, get_payment_method
  • list_webhook_endpoints, list_webhook_deliveries
  • list_tokens, get_token

Teams + RBAC

  • list_teams, get_team, get_current_team
  • list_team_members, get_team_member
  • list_roles, get_role
  • list_groups, get_group

Ops + distribution

  • list_activity (by subject_type + subject_id)
  • get_bot_status, get_bot_link, get_portal_url, get_deep_link

Analytics

All require dashboard:read except list_transactions which uses project-subscription:view-any.

  • get_dashboard_metrics — MRR, active subscribers, churn, revenue trend
  • get_earnings_report — gross / fees / net, timeseries by day / week / month
  • get_subscriber_analytics — signups, cancellations, churn rate, trial conversion
  • get_transaction_breakdown — USD totals grouped by plan, payment_provider, currency, or project
  • get_plan_performance — per-plan active subs, revenue, average ticket
  • list_transactions — keyset-paginated transaction list

Recipes

Prebuilt Zap ideas combining MemberPass triggers with common downstream apps. Swap the destination for whatever CRM, spreadsheet, or messaging tool fits your stack.

Revenue ops

New subscriber → welcome email

  • Trigger: subscription.created on project X.
  • Action: Mailjet / Resend / Postmark → send a "Welcome" email using the subscriber's email field.

New subscriber → CRM upsert

  • Trigger: subscription.created.
  • Action: HubSpot / Pipedrive / Attio → create-or-update contact; tag with plan name + initial MRR.

Churn → Slack alert

  • Trigger: subscription.cancelled or subscription.expired.
  • Action: Slack → post in #churn-watch with subscriber handle, plan, and days-subscribed.

Failed payment → Slack + follow-up email

  • Trigger: payment.failed.
  • Action 1: Slack → post in #revenue-ops.
  • Action 2: Delay 12 hours, then run the find_subscription_by_id search. If the next retry hasn't cleared the state, fire a Mailjet reminder with a one-tap link to update the payment method.

Past due → automated drip

  • Trigger: subscription.past_due.
  • Action: Mailjet sequence — day 1 "payment failed", day 3 "reminder", day 7 "last chance".

Trial converting → personal nudge

  • Trigger: subscription.trial_converting.
  • Action: Slack DM to the creator with a link to the subscriber's profile so they can intervene before the trial flips to paid.

Access codes

Access-code batch generated → Airtable export

  • Trigger: access_code.generated.
  • Action: Airtable → append a row with batch metadata (plan, count, expiry).

Access-code redeemed → Google Sheet log

  • Trigger: access_code.redeemed.
  • Action: Google Sheets → append a row with subscriber id, plan id, masked code, timestamp.

Gift campaign → generate + DM

  • Trigger: New row in an Airtable "Influencer List".
  • Action 1: bulk_generate_access_codes (1 code, export_type=file).
  • Action 2: get_deep_link with access_code=<code> to build a one-tap bot link.
  • Action 3: Slack DM / email the influencer with the link.

Team + audit

Member banned → Telegram ops chat

  • Trigger: member.banned.
  • Action: Telegram → send to an ops chat with reason + the ban-issuing admin's name.

Team role changed → audit trail

  • Trigger: team.member.role_changed.
  • Action: Notion database → append an entry with old/new role, actor, timestamp.

Suspicious activity → auto-revoke token

  • Trigger: list_activity search on an hourly schedule, filter for actor_kind = 'mcp' entries touching high-value resources.
  • Action: If count exceeds your threshold, call revoke_token on the flagged token id and post the incident to Slack.

Billing

Grace-period warning → creator heads-up

  • Trigger: billing.grace_period_warning.
  • Action: Email the account owner with a link to /settings/billing before the grace window elapses.

Account locked → ops escalation

  • Trigger: billing.account_locked.
  • Action 1: PagerDuty → incident.
  • Action 2: Slack → post in #oncall with the tier cycle and last successful payment date.

Tier upgraded → CRM annotation + welcome pack

  • Trigger: billing.tier_upgraded.
  • Action 1: HubSpot → update lifecycle stage to "paid".
  • Action 2: Loom or Notion → send the creator the tier-specific onboarding playbook.

Analytics & reporting

Weekly revenue digest

  • Trigger: Schedule — every Monday 09:00.
  • Action 1: get_dashboard_metrics with period=7d.
  • Action 2: get_transaction_breakdown with dimension=payment_provider, period=7d.
  • Action 3: Email / Slack a digest combining both.

Plan performance → Google Sheet

  • Trigger: Schedule — daily.
  • Action 1: get_plan_performance for each active project.
  • Action 2: Google Sheets → append rows (one per plan) for the dashboard you hand to finance.

Month-end close → earnings statement

  • Trigger: Schedule — 1st of each month 06:00.
  • Action 1: get_earnings_report with granularity=day for the previous month.
  • Action 2: Generate a PDF via DocRaptor and email it to accounting@yourco.

Integrations hygiene

Onboarding checklist

  • Trigger: member.trial_joined.
  • Action 1: HubSpot → start "Trial onboarding" sequence.
  • Action 2: Delay 3 days.
  • Action 3: find_member_by_id to check status; if still trialing, send a reminder.

Test webhook endpoint on deploy

  • Trigger: GitHub Actions → new release published.
  • Action: test_webhook_endpoint against every active endpoint in your team. Post a summary in Slack.

Rotate webhook secret → secret manager

  • Trigger: Schedule — every 90 days.
  • Action 1: rotate_webhook_secret on the endpoint.
  • Action 2: Write the fresh secret into HashiCorp Vault / AWS Secrets Manager / 1Password.
  • Action 3: Slack → notify #platform that the rotation landed.

Troubleshooting

SymptomLikely causeFix
Test-auth returns 401 AUTHENTICATION_REQUIREDToken expired or revokedMint a new token
Test-auth returns 403 TOKEN_MISSING_ABILITYToken lacks team:viewMint with team:view plus the specific abilities each trigger / action / search needs
Test-auth returns 404 TENANT_MISMATCHToken has no scope:team:<uuid> entryMint from the dashboard — the UI always appends the scope automatically
performSubscribe returns 422 VALIDATION_FAILED on events.*.inEvent name typo / outdatedRebuild the Zap; the Zapier app is kept in lockstep with the webhook catalog
Zap receives no eventsEndpoint auto-disabled after consecutive failuresRe-enable from /settings/webhooks or use the test_webhook_endpoint action for a diagnostic ping
Analytics search returns 400 VALIDATION_FAILED on dimensionget_transaction_breakdown requires plan / payment_provider / currency / projectPick one of the four

Source

The Zapier app is maintained at github.com/envigo-innovations/memberpass-zapier. PRs welcome. See the CHANGELOG for per-version event / action / search deltas.

How is this guide?

On this page

MemberPass is a product designed by you — for you.

No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request