Pipedrive
The Pipedrive integration creates one person per submission, with the fields you choose. You connect a Pipedrive account once per team with an API token; after that, any form can write to it.
Connect your Pipedrive account
Connecting is a one-time step per team, and requires a team admin:
- In Pipedrive, go to Settings → Personal preferences → API and copy your personal API token.
- In Formiary, go to Settings → Integrations, click Connect Pipedrive account, and paste the token.
Formiary verifies the token with Pipedrive before saving it (stored encrypted; it's never shown again). Pasting a new token for the same Pipedrive company later — for example after rotating it — updates the existing connection.
Add the integration to a form
- Open the form and go to its Integrations tab.
- Click Add integration and choose Pipedrive.
- Pick the account (pre-selected if your team has exactly one).
- Map your form's fields onto Pipedrive's person fields. Name is required — Pipedrive won't create a person without it.
- Use Send test event to create a sample person and confirm the setup.
How fields map
Unlike Airtable, the mapping is explicit: you choose which form field fills each Pipedrive field. Both Pipedrive's built-in fields (name, email, phone, …) and your custom person fields are available.
- Form fields you don't map are not sent.
- A mapped field left blank on a submission is omitted rather than sent as an empty value.
- Email and phone are sent as Pipedrive's primary value for that person.
Only field types that hold a single value are offered. Files, relations, and address fields aren't mappable.
What happens on failure
Every submission creates a person — Pipedrive has no "update if it already exists" endpoint that Formiary can use in a single request, so repeat submissions from the same person create duplicates. Pipedrive's own merge tools are the way to handle those.
Deliveries that fail are retried with exponential backoff. A rejected token (401), a missing target (404), or a request Pipedrive will always refuse (400 — usually a required field that isn't mapped) stops retrying immediately and is marked dead-lettered in the delivery log, since no retry would help.