SEND_MESSAGE node sends an approved WhatsApp template. Templates have
positional placeholders ({{1}}, {{2}}, …). You fill each one by setting
templateBindings on the node — a map from a placeholder to the path of
the value it should carry:
Where the values come from
A binding path starts with one of three roots — the data available when the message is sent:
A custom attribute you set on a person (for example
bank) is referenced as
person.bank — not attributes.bank.
Discover the valid variables
Rather than guess, ask the API (or MCP) for the exact set a given journey can bind — the same list the visual builder shows:path.
Copy a path straight into templateBindings.
Validation
When you save or validate a journey, a binding whose path can’t resolve (for exampleattributes.bank or customer.attributes.bank) is reported as an
error and blocks publishing, so a broken binding never ships silently. Fix it by
switching to a path from the catalog above (custom attributes → person.<key>).