Data structure
vars namespace - User-defined variables
- Read/write access
- Store custom data, user responses, API results
- Persists throughout workflow execution
system namespace - System-managed data
- Read-only access
- Workflow metadata, timing, execution details
- Automatically maintained by the platform
context namespace - Contextual information
- Mostly read-only (set at workflow start)
- Channel info, user details, trigger context
- Provides execution environment details
metadata namespace - Request metadata
- Read-only access
- API request details, timestamps, caller info
- Available for API-triggered workflows
Initial data
WhatsApp trigger workflow starts with:phone_number_id is provided in the API request:
- Automatically stored in
{{system.trigger_whatsapp_config_id}} - Phone number normalized and stored in
{{context.phone_number}} - Guarantees all messages use the same WhatsApp configuration
Accessing variables
Use{{variable_name}} syntax in messages, templates, and AI fields to access variables.
Direct access (looks in vars namespace):
Data flow between nodes
Send nodes (SendTextNode, SendTemplateNode, SendInteractiveNode)- Read: All variables for message content and parameters
- Write: Nothing
- Read: Nothing (just waits)
- Write: Sets
{{last_user_input}}when user responds
- Read: All variables to evaluate conditions
- Write: Nothing (just routes workflow)
- Read: Sends entire execution context to function
- Write: Can set variables via
save_response_toor function return
- Read: Full access to all variables via
get_variabletool - Write: Can set any variable via
save_variabletool
- Read: Nothing
- Write: Nothing (just stops execution)
Variable naming
- Use lowercase with underscores:
user_name,order_total - Be descriptive:
last_user_inputnotinput - Avoid system reserved names:
flow_id,started_at
Environment variables
Store sensitive values like API keys at the project level. Available across all workflows in the project. Syntax:${ENV:VARIABLE_NAME}
Access from workflow canvas: Click the key icon in the header toolbar.
Development vs production values
Each variable has two values:- Development: Used during test runs
- Production: Baked into published workflows
Example usage
In webhook URLs:Key differences from workflow variables
| Workflow variables | Environment variables | |
|---|---|---|
| Syntax | {{var_name}} | ${ENV:VAR_NAME} |
| Scope | Single execution | Entire project |
| Set by | Workflow runtime | Project settings |
| Values | Dynamic | Static (per environment) |

