Variables
Variables are placeholders that let your agent work with dynamic data. Use them in prompts, Custom Actions, call transfers, SIP headers, and webhook payloads by wrapping the variable name in curly braces, for example {call_id}.
Synthflow supports three types of variables:
Flow Designer agents also support collecting variables during conversations and managing them through the variable drawer. See Variables in Flow Designer for details.
System variables
System variables are built-in values that Synthflow populates automatically for every call. You do not need to define them.
Usage example
Pass system variables in a Custom Action request body to identify the call in an external system:
You can also reference system variables in prompts:
Custom variables
Custom variables are key-value pairs passed through the API when you start a call. They inject external data into your agent’s prompt without requiring the agent to collect it during the conversation.
How to use custom variables
- Identify the data you want to inject (for example, a company name or user role).
- Include the data in the
custom_variablesfield of your API request. - Reference the values in your agent’s prompt.
For more details, see Custom variables and Dynamic prompt injection.
Action result variables
Action result variables store data returned by Custom Action API calls. When a Custom Action executes, the response is parsed and stored in variables you can reference later.

How they work
- A Custom Action sends an API request (GET, POST, PUT, etc.).
- The external API returns a response.
- The response data is stored in action result variables.
- Reference the results in prompts or pass them to other actions.
For example, if a Custom Action calls an order-status API and returns {"status": "shipped"}, you can reference {status} in your prompt or in subsequent actions.
For more details on configuring Custom Actions and using their responses, see Custom Actions.
Reference action results in your prompt
In the agent Prompt editor, type < and Synthflow will list the available data of the response of your initialized custom action. You can also use the Action results control in the prompt toolbar.

In-call messaging replies
In-Call Messaging actions populate a dedicated reply variable when the customer responds by text:
The variable is set as soon as the reply arrives — whether the action was configured to block the agent until then, or to let the call continue in the background. If no reply arrives before the call ends, the variable remains empty.
Action placeholders and mapping
Several actions let you embed placeholders with angle-bracket names—for example <customer_name> or <queue_ref>—in specific configuration fields (such as the SMS message body, call transfer targets or SIP headers, or the lead_email input on real-time booking). Each distinct name becomes an input variable on that action.
After you attach the action to an agent, you map each input to its source: values collected during the call, system fields, custom data from the API, pre-call payloads, action results from another step, or a fixed value you enter—the same families summarized in the overview table at the top of this page.
Field-by-field setup lives in each action guide:
Where to use variables
Angle-bracket placeholders on supported actions are covered in Action placeholders and mapping. Variables can also be referenced in several other places across your agent configuration:
- Prompts: Personalize your agent’s behavior, for example
"Hi {lead_name}, thanks for calling {company_name}.". - Custom Actions: Pass variables in API parameters or body fields on Custom Actions, shape JSON with placeholders, and reuse response fields in later steps.
- Real-Time Booking: When you attach real-time booking, define variables so details the caller gives you—like
<user_name>or<user_email>—flow into the booking request. - Call Transfers: On call transfers, define variables to capture context like
<caller_name>or<issue_type>for whispers, summaries, or SIP headers. - Send SMS: On Send SMS, define variables to personalize templates, for example
"Hi <customer_name>, your appointment is confirmed for <appointment_date>.". - Webhooks: Reference variables when configuring webhook payloads.
- Flow Designer nodes: Use variables in Conversation, Message, Branch, and Custom Action nodes in the Flow Designer.
- SIP headers: Pass system variables in SIP X-headers for telephony integrations, as described in Use SIP X-Headers in Prompts, Actions & Transfers.