Update Contact
drift.update_contact
ActionCRM & salesconnection required
Calls the Drift API with the connection's credentials.
Patch a contact's attributes. Drift reports success only when something actually changed, so at least one attribute must be given.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- OAuth 2.0
- Providers
- Drift
- Secret shape
- {"client_id": "…", "client_secret": "…", "refresh_token": "…"}, or {"access_token": "…"} for an Install-to-Drift token
- Config it needs
- base_url
- Resolved by
- config.connection_id, else node.connection_id
Configuration
7 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 |
|---|---|---|---|---|---|
contact_id Drift's numeric id for the contact, as returned by a create or a search. | string | Yes | — | — | 15811408544 |
email The contact's email address. | string | No | — | email format | ada@example.com |
name The contact's full name. | string | No | — | — | — |
phone The phone number to record on the contact. | string | No | — | — | — |
external_id Your own identifier for this person; Drift de-duplicates on it instead of the email address when it is set. | string | No | — | — | USER-143 |
tags Tags to store on the contact, as a JSON array or a comma-separated list. | array | No | — | array of string | ["trial","enterprise"] |
attributes Any further Drift attributes as a JSON object, including custom properties, for example {"plan": "pro"}. | object | No | — | — | {"plan":"pro"} |
- At least one of email, name, phone, external_id, tags, attributes must be set.
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"attributes": {
"plan": "pro"
},
"contact_id": "15811408544",
"email": "ada@example.com",
"external_id": "USER-143",
"tags": [
"trial",
"enterprise"
]
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
id Drift's numeric id for the contact. | number | — |
createdAt Unix timestamp in milliseconds of when Drift first saw them. | number | — |
attributes.email The contact's email address. | string | — |
attributes.name The contact's name. | string | — |
attributes.phone The phone number stored on the contact. | string | — |
attributes.externalId Your own identifier for the contact, when set. | string | — |
attributes.tags The tags stored on the contact. | array | — |
{
"attributes": {
"email": "",
"externalId": "",
"name": "",
"phone": "",
"tags": []
},
"createdAt": 0,
"id": 0
}See Update Contact run in a workflow.
In a technical demo we add the Drift connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.