> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # Set Variables > Call Flow Builder node to set variables in the call flow. Use this node to set variables that can be accessed from other nodes in the Call Flow. The value can be a static value set as a string (`"value"`), a variable from another node such as a request response ( `%{request_response.}` ), or a call parameter ( `%{call.from} `). Access these variables in other blocks with `%{}` and unset variables with the [Unset Variables](/docs/call-flow-builder/reference/unset-variables) node. ## **Node Settings** **`Key`** `string` The name of the variable to set. --- **`Value`** `string` The value to set the variable to. This can be a static value, a variable from another node, or a call parameter. --- ## **Example** Use Set Variables if you plan to use multiple [Request](/docs/call-flow-builder/reference/request) nodes in the same Flow and you need the variables to carry across the entire Flow. This example makes a request to an API for temperature and location. The request’s response is saved in variables called `my_temperature` and `my_location`. In order to make a new request to a new webhook, the Set Variables node is essential because the second Request node will overwrite the `request_response`. Your first variables will remain accessible using `%{vars.my_temperature}` and `%{vars.my_location}`. Flow topology: the first **Request** node's **Condition**, **Else**, and **Failure** outputs converge on **Set Variables**. It saves `my_temperature = %{request_response.temperature}` and `my_location = %{request_response.location}` before a second **Request** overwrites the response; **Play Audio or TTS** later reads both saved variables. > Call Flow Builder node to set variables in the call flow.