Pipedrive

Pipedrive is a sales CRM. Datafly Signal creates Person records server-side (API v2 POST /api/v2/persons) when a visitor submits a lead form or signs up, with name, email and phone.

Why route Pipedrive through Datafly Signal

  • Records come from your server, not the browser. They reach Pipedrive even when a tracker blocker or a failed page unload would have dropped a client-side call, and no form integration or browser tag is needed.
  • Delivery is queued and retried. Signal buffers to Kafka and retries on 429 or a transient failure rather than dropping the event; a permanent rejection goes to the dead-letter queue with the vendor’s reason.
  • One consent decision governs every destination. Pipedrive is gated by the same consent state as the rest of your stack, so a withdrawal applies everywhere at once.

Get your Pipedrive credentials

Copy your API token

In Pipedrive open Settings > Personal preferences > API and copy your personal API token. The token acts as its user, so use a user that can add contacts.

Configuration

FieldRequiredDescription
api_tokenYesYour personal Pipedrive API token (Settings > Personal preferences > API). Sent in the x-api-token header. The token acts as the user it belongs to, so use a user that can add contacts.

Management UI setup

  1. Go to Integrations in the sidebar and open the Integration Library tab.
  2. Find Pipedrive under CRM and click Install.
  3. Choose a preset, enter the fields above and click Install Integration.

Management API setup

curl -X POST http://localhost:8084/v1/admin/integration-catalog/pipedrive/install \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pipedrive",
  "variant": "default",
  "config": {
    "api_token": "your_api_token"
  },
  "delivery_mode": "server_side"
}'

What Signal sends

An example request, rendered from the default preset for generate_lead:

POST https://api.pipedrive.com/api/v2/persons
 
{
  "emails": [
    {
      "label": "work",
      "primary": true,
      "value": "neill@example.com"
    }
  ],
  "name": "Neill Mcfixture",
  "phones": [
    {
      "label": "work",
      "primary": true,
      "value": "+447700900123"
    }
  ]
}
FieldSource
nameThe name trait, else first and last name. Required by Pipedrive: an event without a name is not sent.
emails[{value, primary: true, label: "work"}], the email trimmed and lower-cased.
phones[{value, primary: true, label: "work"}], the phone in E.164.

Pipedrive is your own CRM and has no hashed identifier, so name, email and phone are sent in plain text. An event with neither an email nor a phone is not sent. The API token travels in the x-api-token header, never in the URL.

Presets

PresetSignal events
Lead Capture (default)generate_lead, sign_up
B2B / SaaS (saas)generate_lead, demo_requested, sign_up
Insurance (insurance)quote_requested, generate_lead
Automotive (automotive)test_drive_booked, dealer_contacted, generate_lead

Events not listed are not sent. Each preset is a starting point: add, rename or remove mappings on the installed integration.

Notes and limits

  • Pipedrive’s API creates a new person on every call; there is no upsert. The presets map one-off lead events, not identify (which fires on every login). Use Pipedrive’s Merge duplicates if a visitor converts twice.
  • Custom fields use per-account keys; add them on the installed integration under custom_fields.<key>.

Assign the consent category you use for this processing when you install Pipedrive, so an event is delivered only when the visitor has granted it. Signal never writes a cookie-banner choice into Pipedrive’s contact permissions (marketing_status): consent to cookies is not consent to be emailed, called or messaged. Record communication opt-in and opt-out in Pipedrive.

Verify it’s working

  1. Open the integration in the Signal Management UI and watch Live Events while you trigger a mapped event.
  2. Confirm a 2xx response from Pipedrive.
  3. Find the record in Pipedrive and check it arrived.

Troubleshooting

SymptomResolution
401The API token is wrong or revoked.
403The token’s user cannot add contacts.
Nothing sent for an eventThe visitor had no name, or neither an email nor a phone, in identify() traits.