Short answer: Drop the "Braze → Update User Attributes" action anywhere in your workflow, map the inputs from upstream nodes, and publish.
Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.
| Field | Type | Required | Description |
|---|---|---|---|
External User ID external_id | string | Required | — |
Email email | string | Optional | The email address. Used as the recipient or identifier depending on context. |
Phone phone | string | Optional | Phone number in E.164 format (with country code, no spaces). |
First Name first_name | string | Optional | Contact's first (given) name. |
Last Name last_name | string | Optional | Contact's last (family) name. |
Custom Attributes (JSON) custom_attributes | string | Optional | {"plan":"premium","mrr":99} |
{"external_id": "{{trigger.external_id}}","email": "e.g. user@example.com","phone": "e.g. +14155551234","first_name": "e.g. Jane","last_name": "e.g. Doe"}
{"message": "success","attributes_processed": 1}
Use these fields in downstream nodes for routing, logging, or error handling.
Any of these apps can fire this action as part of a workflow.
Triggered by anything in the catalog. Free tier available. No credit card.