Skip to main content

Documentation Index

Fetch the complete documentation index at: https://help.privy.com/llms.txt

Use this file to discover all available pages before exploring further.

The Privy Zapier integration lets you automate contact management in Privy from any app connected to Zapier. Send a Typeform submission, a new Shopify customer, a Google Sheets row, or any other Zapier-supported event into Privy as a new or updated contact — no code required.

Features of the integration

The Privy Zapier integration allows you to:
  • Create new contacts in Privy from external apps (e.g., a Typeform submission becomes a Privy contact)
  • Find existing Privy contacts by email or phone number (Optionally create them if they don’t exist)
  • Update existing contacts — name, tags, custom fields, and email/SMS consent
All actions use Privy’s Public API and are subject to your account’s API rate limits (60 requests per minute, 10,000 requests per day by default).

Setting up the integration

Privy uses OAuth 2.0 to securely connect to Zapier. You won’t need to copy or paste any API keys — just log in to Privy from Zapier’s connection prompt and approve access. To connect your Privy account in Zapier:
  1. In your Zap, add a new step and choose Privy as the app.
  2. Click Sign in under Account in the right sidebar to connect your Privy account.
  3. A new window will open. Click on “Yes, Continue to Privy
  4. If your Privy login is associated with multiple businesses, select the business you want Zapier to connect to.
  5. You will be redirected to Privy. Log in with your Privy credentials if you aren’t already signed in.
Once you’re connected, the Privy account name will appear under your authorized accounts in Zapier and can be reused across any number of Zaps.

Available actions

Create Contact

Adds a new contact to your Privy account. Required Attributes: at least one of Email or Phone Number in the E.164 format (e.g. +14155551234). Optional Attributes: First Name, Last Name, Tags, Email Consent, SMS Consent, Custom Fields.
Set Email Consent to Subscribed only when the contact has opted in. Marking contacts as subscribed without consent violates anti-spam laws (GDPR, CAN-SPAM, CCPA). When in doubt, leave the consent fields blank — Privy defaults new contacts to “never subscribed.”

Find Contact

Searches Privy for an existing contact by email or phone number so you can look up their ID or attributes. Returns the contact if found. Required Attributes: Email or Phone Number. Use this when you need to chain into an Update Contact step.

Find or Create Contact

A combo action that searches first and creates only if no match is found. Use this when you want one step that always produces a contact, regardless of whether they already exist. Required Attributes: at least one of Email or Phone Number. Optional Attributes: the same fields as Create Contact — these are only applied when no existing contact is found.

Update Contact

Updates an existing Privy contact by ID. Only the fields you provide are changed; blank fields are left untouched. Required Attributes: Contact ID (cus_...). Map this from the output of a prior Find Contact or Create Contact step, or paste an ID directly. Optional Attributes: First Name, Last Name, Tags, Custom Fields, Email, Phone Number, Email Consent, SMS Consent. Email Consent and SMS Consent each accept Subscribed, Unsubscribed, or Never subscribed (no consent recorded). Leave them blank to keep the contact’s current consent state untouched. Subscribing to SMS requires the contact to have a phone number on file from a Privy-supported country.
Set Email Consent or SMS Consent to Subscribed only when the contact has opted in. Marking contacts as subscribed without consent violates anti-spam laws (GDPR, CAN-SPAM, CCPA). When in doubt, leave the consent fields blank.
Email and phone number are immutable once set. You can set an email or phone on a contact that doesn’t have one yet, but once a value exists it cannot be changed — Privy will reject the request as 422 is immutable. Leave those fields blank when updating contacts that already have them.
Tags and Custom Fields replace the existing values. Providing Tags overwrites the entire tag list. Providing Custom Fields replaces the entire custom-fields object — any existing keys you don’t include will be removed. Leave these fields blank to keep the existing values.

Common patterns

Add new form submissions to Privy

Trigger: New Submission in Typeform / Google Forms / Jotform → Action: Find or Create Contact in Privy. This is the most common Zap pattern. “Find or Create” prevents duplicate contacts when the same person submits multiple forms.

Sync subscribers across tools

Trigger: New Subscriber in another platform → Action: Find or Create Contact in Privy → Action: Update Contact in Privy (to apply tags or consent). Use the two-step Find-or-Create + Update pattern when you need to apply consent or tags to both new and existing contacts.

Honor unsubscribes from external suppression lists

Trigger: New Row in a Google Sheet (or webhook from a compliance tool) → Action: Find Contact in Privy → Action: Update Contact in Privy with Email Consent set to Unsubscribed.

Removing the integration

To disconnect Privy from Zapier:
  1. In Zapier, from the left sidebar click on App Connections.
  2. Find Privy in the list of authorized accounts.
  3. Click on the vertical three dots to the right of the connection, then click on Delete.
Disconnecting from Zapier revokes the access token. Any Zaps that use this connection will pause until you reconnect or pick a different connection.

Troubleshooting

“Authorization required” or 401 errors mid-Zap. Reconnect your Privy account in Zapier. Tokens occasionally need to be refreshed if your Privy password changes or the connection is revoked. 422 is immutable when updating email or phone. The contact already has that field set. Email and phone numbers cannot be changed once set — leave the field blank in your Update Contact step. 422 phone_number is required to subscribe to sms. The contact has no phone number on file. Either set Phone Number in the same step (only works for contacts that don’t have one yet) or chain a step that captures a phone number before subscribing to SMS. 422 sms_consent requires a phone number from a supported country. The contact’s phone number is not from a country Privy supports for SMS. Leave SMS Consent blank for international numbers, or filter them out of your SMS-subscribe Zap. 429 Too Many Requests. You’ve hit the API rate limit (60 requests/minute or 10,000/day). Zapier will automatically retry rate-limited requests. If you need a higher limit, contact support. Sudden duplicate contacts. You’re likely using Create Contact instead of Find or Create Contact. Switch to the combo action to avoid creating duplicates when the contact already exists. For any other issues, contact Privy Support with the Zap name and a screenshot of the error.