Update Deal
pipedrive.update_deal
ActionCRM & salesconnection required
Calls the Pipedrive API with the connection's credentials.
Change one deal with PATCH /api/v2/deals/{id}. Only the fields you send change; everything else keeps its stored value.
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
Configuration
15 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
deal_id Pipedrive id of the deal to update. | string | Yes | — | — | — |
title New title for the deal. | string | No | — | — | — |
value Monetary value of the deal, in `currency`. | number | No | — | ≥ 0 | — |
currency ISO 4217 currency code, e.g. USD. | string | No | — | — | — |
status Lifecycle of the deal. | string | No | — | one of "open", "won", "lost", "deleted" | — |
stage_id Id of the stage to move the deal to. | string | No | — | — | — |
pipeline_id Id of the pipeline the stage belongs to. | string | No | — | — | — |
person_id Id of the person to link the deal to. | string | No | — | — | — |
org_id Id of the organization to link the deal to. | string | No | — | — | — |
owner_id Id of the user who owns the record. | string | No | — | — | — |
expected_close_date When the deal is expected to close, as YYYY-MM-DD. | string | No | — | matches \d{4}-\d{2}-\d{2} | 2026-01-31 |
probability Chance of winning the deal, as a percentage. | number | No | — | 0–100 | — |
lost_reason Why the deal was lost. Pipedrive only stores it when status is lost. | string | No | — | — | — |
fields Any other Pipedrive body field, as a JSON object. Use this for anything the named fields above do not cover; the named fields win on a clash. | object | No | — | — | {"visible_to":3} |
custom_fields Custom fields to write, as a JSON object keyed by the field's 40-character hash. Read the hashes with the matching Pipedrive: List * Fields node. | object | No | — | — | {"1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d":"Enterprise"} |
- At least one of title, value, currency, status, stage_id, pipeline_id, person_id, org_id, owner_id, expected_close_date, probability, lost_reason, fields, custom_fields must be set.
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"custom_fields": {
"1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d": "Enterprise"
},
"expected_close_date": "2026-01-31",
"fields": {
"visible_to": 3
}
}Output
One shape.
result
The provider's response object, as returned.
Extra keys beyond the ones listed can appear.
{}Notes
- A custom field is addressed by its 40-character hash, never by its display name. Read the hashes with the matching Pipedrive: List * Fields node.
See Update Deal 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.