Get Person

customer_io.get_customer_attributes
ActionCRM & salesconnection required

Calls the Customer.io API with the connection's credentials.

Read one person's attributes, identifiers, devices and subscription state from the App API.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
Customer.io
Secret shape
{"site_id": "…", "api_key": "…", "app_api_key": "…"} — the Site ID and Track API key for the Track nodes, the App API key for the rest
Config it needs
region, workspace_id
Resolved by
config.connection_id, else node.connection_id

Configuration

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

FieldTypeRequiredDefaultConstraintsExample
customer_id
The value that identifies the person, of the kind named by 'id_type'.
stringYes——ada@example.com
id_type
Which identifier 'customer_id' holds. Customer.io assumes 'id' when this is blank; 'email' and 'phone' work only where the workspace enables them as identifiers.
stringNo—one of "id", "email", "cio_id", "phone"—

Example configuration

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

{
  "customer_id": "ada@example.com"
}

Output

One shape.

result

FieldTypeExample
id
The person's own id.
string—
identifiers
Every identifier Customer.io holds for them.
object—
attributes
The person's attributes, custom ones included.
object—
unsubscribed
True when the person is unsubscribed.
boolean—
devices
The push devices registered on the profile.
array—
{
  "attributes": {},
  "devices": [],
  "id": "",
  "identifiers": {},
  "unsubscribed": false
}

See Get Person run in a workflow.

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