Pipedrive

Pipedrive is a sales CRM. This integration lets Datafly Signal create a Person record in Pipedrive whenever a visitor identifies or converts on your site — so inbound web leads land in your CRM server-side, without a browser-side Pipedrive snippet and without losing leads to ad-blockers or consent gates.

Signal delivers to the Pipedrive Persons API (v2): one server-to-server POST per qualifying event.

Prerequisites

  • A Pipedrive account with permission to create contacts.
  • A Pipedrive API token. In Pipedrive, go to Settings > Personal preferences > API and copy the token. The token inherits the permissions of the user it belongs to, so use a user that is allowed to create Persons.
  • A Datafly Signal pipeline already collecting events from your site via Datafly.js.

Configuration

FieldRequiredDescription
API TokenYesYour personal Pipedrive API token from Settings > Personal preferences > API. Stored encrypted; sent as the api_token query parameter on every request.

Configure in Signal

  1. In the Management UI, open your pipeline and choose Add integration > Pipedrive.
  2. Paste your API Token.
  3. Select the Lead Capture preset. It maps Lead Generated, Signed Up, and Identified events to a Pipedrive Person; all other events are dropped.
  4. Save. Signal validates the credential by attempting a contact write; a success: true response confirms the integration is live.

API Endpoint

POST https://api.pipedrive.com/api/v2/persons?api_token=YOUR_TOKEN
Content-Type: application/json

A successful create returns 200/201 with:

{ "success": true, "data": { "id": 1234, "name": "Jane Doe" } }

Identity Signals

Pipedrive is a first-party CRM that you own, so contact details are stored as plaintext (unlike advertising integrations, which hash PII). Signal sends:

Signal sourcePipedrive fieldNotes
traits.namenameThe contact’s full name.
traits.emailemails[].valueTrimmed and lower-cased. Marked primary: true, label work.
traits.phonephones[].valueNormalised to E.164. Marked primary: true, label work.

Consent is honoured: when the visitor’s canonical marketing consent is granted, Signal sets marketing_status to subscribed; otherwise it sends no_consent. (Pipedrive only acts on marketing_status when the Campaigns add-on is enabled; on other accounts the field is safely ignored.)

Event Mapping

Datafly.js eventPipedrive action
Lead GeneratedCreate Person
Signed UpCreate Person
IdentifiedCreate Person
(everything else)Dropped

Example

When a visitor submits a contact form, fire a Lead Generated event with identity traits:

datafly.track("Lead Generated", {
  name: "Jane Doe"
}, {
  traits: {
    name:  "Jane Doe",
    email: "Jane.Doe@Example.com ",
    phone: "07700 900123"
  }
});

Signal transforms and delivers this to Pipedrive as:

{
  "name": "Jane Doe",
  "emails": [
    { "value": "jane.doe@example.com", "primary": true, "label": "work" }
  ],
  "phones": [
    { "value": "+447700900123", "primary": true, "label": "work" }
  ],
  "marketing_status": "subscribed"
}

Note the email was trimmed and lower-cased and the phone normalised to E.164 before delivery.

Testing

  1. Submit a test form on your site (or fire datafly.track("Lead Generated", ...) from the browser console) with a real name and email.
  2. In Pipedrive, open Contacts > People and confirm the new Person appears with the correct email and phone.
  3. In the Signal Event Debugger, confirm the event delivered with a 200/201 and a success: true response body.

Troubleshooting

SymptomLikely causeFix
401 UnauthorizedInvalid or revoked API tokenRe-copy the token from Settings > Personal preferences > API and update the integration.
403 ForbiddenThe token’s user can’t create contactsUse an API token from a user with contact-creation permission.
400 Bad RequestMissing name, or malformed email/phoneEnsure your event carries traits.name; check the email/phone values are present and valid.
Person created but no email/phoneTraits not passed on the eventPass traits.email / traits.phone in the event’s identity context, not just as event properties.
marketing_status ignoredCampaigns add-on not enabledExpected — Pipedrive only stores marketing_status on accounts with the Campaigns product.