Create Contact

drift.create_contact
ActionCRM & salesconnection required

Calls the Drift API with the connection's credentials.

Create a contact. Email is the only attribute Drift requires; sending an external_id makes that the de-duplication key instead of the email.

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

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

FieldTypeRequiredDefaultConstraintsExample
email
The contact's email address; Drift refuses a duplicate unless an external_id is sent as well.
stringYes—email formatada@example.com
name
The contact's full name.
stringNo———
phone
The phone number to record on the contact.
stringNo———
external_id
Your own identifier for this person; Drift de-duplicates on it instead of the email address when it is set.
stringNo——USER-143
tags
Tags to store on the contact, as a JSON array or a comma-separated list.
arrayNo—array of string["trial","enterprise"]
attributes
Any further Drift attributes as a JSON object, including custom properties, for example {"plan": "pro"}.
objectNo——{"plan":"pro"}

Example configuration

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

{
  "attributes": {
    "plan": "pro"
  },
  "email": "ada@example.com",
  "external_id": "USER-143",
  "tags": [
    "trial",
    "enterprise"
  ]
}

Output

One shape.

result

FieldTypeExample
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 Create 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.