Event

trigger.pipedrive_event
TriggerCRM & salesconnection requiredruns in-engine

Registers one Pipedrive webhook per watched object at publish and starts one run per delivery, authenticated with the HTTP Basic credentials Pipedrive was told to send.

Start a run when a Pipedrive record is created, changed or deleted — a deal, person, organization, activity, lead and more.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
Pipedrive
Secret shape
the Pipedrive API token, or {"api_token": "…"}
Config it needs
company_domain
Resolved by
config.connection_id, else node.connection_id
Note
The token's user must be an admin: creating a webhook is an admin action in Pipedrive, and a regular user's token can read deals and still fail to publish. Publishing also needs MANTLE_APP_PUBLIC_BASE_URL set to a URL Pipedrive can reach.

Configuration

2 fields, none required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
objects
Which records to watch. One Pipedrive webhook is registered per object and deleted again when the workflow is unpublished or disabled; "*" watches every object (noisy — each event starts a run).
arrayNo["deal"]1–11 characters; array of string—
action
Which change to watch for. '*' is Pipedrive's own wildcard and covers create, change and delete in a single subscription.
stringNo*one of "*", "create", "change", "delete"—

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "action": "*",
  "objects": [
    "deal"
  ]
}

Output

One shape.

pipedrive event

The flattened Pipedrive 2.0 envelope. `data` and `previous` carry the record's own keys, which depend on entity, so the shape is open below the declared fields.

Extra keys beyond the ones listed can appear.

FieldTypeExample
event_id
Pipedrive's own id for the event (meta.id), and the idempotency key: Pipedrive retries a failed delivery after 3, 30 and 150 seconds and reuses this id every time, so a retry joins the run it already started. Empty on a legacy 1.0 payload, which carries no event id.
string6f1c4f0e-2c9a-4c1b-9c0e-2f1a3b4c5d6e
action
What happened: create, change or delete. Branch on this when the trigger subscribes to '*'.
stringchange
entity
Which kind of record it happened to — deal, person, organization, activity, lead, note, product, pipeline, stage or user.
stringdeal
entity_id
Id of the record, as a string so a large id survives a JSON number.
string1234
timestamp
When Pipedrive raised the event, as an ISO-8601 timestamp.
string2026-01-01T00:00:00.000Z
company_id
The Pipedrive company the record belongs to.
string—
user_id
The user whose action caused the event, where Pipedrive attributes one.
string—
attempt
Which delivery attempt this is, 1 on the first. Anything above 1 means an earlier attempt failed — the run is the same one either way.
number1
version
The payload version the subscription was registered at. Mantle registers 2.0; 1.0 only appears on a subscription adopted from elsewhere.
string2.0
data
The record as it is *after* the change. Its keys depend on entity, which is why this shape is open. Empty on a delete.
object—
previous
Only the fields that moved, with their OLD values. Empty on a create.
object—
meta
Pipedrive's meta block verbatim, for anything the fields above do not lift out (correlation_id, host, permitted_user_ids…).
object—
{
  "action": "change",
  "attempt": 1,
  "company_id": "77777",
  "data": {
    "currency": "USD",
    "id": 1234,
    "stage_id": 3,
    "status": "open",
    "title": "Acme — annual licence",
    "value": 42000
  },
  "entity": "deal",
  "entity_id": "1234",
  "event_id": "6f1c4f0e-2c9a-4c1b-9c0e-2f1a3b4c5d6e",
  "meta": {
    "action": "change",
    "entity": "deal",
    "entity_id": "1234",
    "id": "6f1c4f0e-2c9a-4c1b-9c0e-2f1a3b4c5d6e",
    "version": "2.0"
  },
  "previous": {
    "stage_id": 2
  },
  "timestamp": "2026-01-01T00:00:00.000Z",
  "user_id": "12345",
  "version": "2.0"
}

Notes

  • Publishing creates the webhooks in Pipedrive; unpublishing, disabling or archiving deletes them. A workflow that is off is off at Pipedrive too.
  • Pipedrive signs nothing. The only authentication it offers is the HTTP Basic credentials it is told to send, so that is what every delivery is checked against — a shared secret on a header, not a signature over the body.
  • One run per delivery, idempotent on Pipedrive's meta.id — it retries a failed delivery after 3, 30 and 150 seconds and a retry cannot start a second run.
  • Subscriptions are registered at payload version 2.0, whose envelope is {meta, data, previous}.

See Event run in a workflow.

In a technical demo we add the Pipedrive connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.