> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.meetgail.com/platform/workflows/core-concepts/variables-data-flow/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetgail.com/_mcp/server. # Variables & Data Flow > How data moves from one step to the next as a workflow runs. A workflow is a series of steps that pass data to each other. Variables are how that data travels: each step can read values produced by earlier steps and add its own for later steps to use. Understanding variables is the key to building workflows that react to real data instead of fixed values. ## Where values come from Every value in a workflow falls into one of four groups: * **Node** - values produced by a step when it runs, such as the phone number from an outbound call or the outcome of a Check node. These become available only after that step has run. * **Config** - fixed settings your organization shares across workflows, like a timezone or a default sender name. See [Configuration](/platform/workflows/core-concepts/configuration). * **Secret** - sensitive settings such as API keys, kept separate so they can be handled carefully. See [Secrets](/platform/workflows/core-concepts/secrets). * **System** - details the workflow fills in automatically at the start of a run, like the organization it belongs to and the time it started. ## Referencing a value You point at a value by naming its group, the step it came from, and the value itself: ``` node.outbound_call.caller_phone_number config.timezone secret.crm_api_key ``` In practice you rarely type these out. The builder offers a picker so you can choose a value from a list rather than remembering its exact name. ## Values become available in order A step can only read values that already exist when it runs. Because the connections in a workflow define the order of steps, the builder knows which values are ready at each point and will only offer those. In this example, steps B and C can both read the value that A produced, but A cannot read anything from C, because C has not run yet: ``` A (produces x) | B (can read A's x) | C (can read A's x) ``` > **Note** > > If a value looks missing in the picker, check the order of your steps. The > value only appears once its step is guaranteed to have run first. ## Related #### [Expressions](/platform/workflows/core-concepts/expressions/using-expressions-in-nodes) Combine and transform variables to compute new values. #### [Configuration](/platform/workflows/core-concepts/configuration) Define shared settings once and read them from any step. #### [Secrets](/platform/workflows/core-concepts/secrets) Store API keys and other sensitive values safely. > Documentation for Gail, the AI platform for financial services. Learn how to set up GailGPT and Gail Agent to automate customer communications for insurance, banking, and finance.