> ## Documentation Index
> Fetch the complete documentation index at: https://botpress-pb-update-api.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Pass variables between Workflows

You can pass variables between Workflows. This is useful if you want to use a previously created variable within the scope of a single Workflow. For example:

* You want to collect user information in one Workflow, then validate it in a sub-Workflow.
* You have a Workflow that stores items in a virtual shopping cart, and you want to process payment for those items in a sub-Workflow.
* You have some condition in one Workflow, and you want a sub-Workflow to behave differently based on that condition.

## From a parent Workflow to a sub-Workflow

<Steps titleSize="h3">
  <Step title="Setup your input variable">
    1. In your sub-Workflow (the one you want to pass the variable to), [create a new Workflow variable](/studio/concepts/variables/overview/#create-a-variable).

    <Note>
      You can pass any kind of variable from your parent Workflow, but your sub-Workflow needs to treat it as a Workflow variable.
    </Note>

    2. Select your sub-Workflow's [Entry Node](/studio/concepts/nodes/introduction#entry-node).
    3. Under **Toggle Variables**, select the variable you just created:

    <Frame>
      <img alt="Toggle input variable" className="block dark:hidden" src="https://mintcdn.com/botpress-pb-update-api/dB6fsns919bYYGbE/studio/concepts/variables/assets/toggle-input-variable.png?fit=max&auto=format&n=dB6fsns919bYYGbE&q=85&s=bd6497f7a1562bc13c164b645554f5d3" width="1426" height="578" data-path="studio/concepts/variables/assets/toggle-input-variable.png" />

      <img alt="Toggle input variable" className="hidden dark:block" src="https://mintcdn.com/botpress-pb-update-api/dB6fsns919bYYGbE/studio/concepts/variables/assets/toggle-input-variable-dark.png?fit=max&auto=format&n=dB6fsns919bYYGbE&q=85&s=8f2b9e1ad6e41d83c0ac9819b17cd15d" width="1426" height="578" data-path="studio/concepts/variables/assets/toggle-input-variable-dark.png" />
    </Frame>

    This tells the parent Workflow that your sub-Workflow is expecting some input.
  </Step>

  <Step title="Pass the variable to the sub-Workflow">
    In your parent Workflow, select the Card that transitions to the sub-Workflow. It should display the input variable you just created:

    <Frame>
      <img alt="Input variable field" className="block dark:hidden" src="https://mintcdn.com/botpress-pb-update-api/dB6fsns919bYYGbE/studio/concepts/variables/assets/input-var-field.png?fit=max&auto=format&n=dB6fsns919bYYGbE&q=85&s=1464b198dbd36f00365ce7e007fa59c9" width="1346" height="660" data-path="studio/concepts/variables/assets/input-var-field.png" />

      <img alt="Input variable field" className="hidden dark:block" src="https://mintcdn.com/botpress-pb-update-api/dB6fsns919bYYGbE/studio/concepts/variables/assets/input-var-field-dark.png?fit=max&auto=format&n=dB6fsns919bYYGbE&q=85&s=34f2507b39bb7fab080eeeb53111555d" width="1346" height="660" data-path="studio/concepts/variables/assets/input-var-field-dark.png" />
    </Frame>

    You can manually enter a value to pass to the sub-Workflow, or use a previously created variable from your parent Workflow.

    <Check>
      Now, whatever value you pass from your parent Workflow will be available in your sub-Workflow as a Workflow variable.
    </Check>
  </Step>
</Steps>

## From a sub-Workflow to a parent Workflow

<Steps titleSize="h3">
  <Step title="Pass your output variable">
    1. Select your sub-Workflow's [Exit Node](/studio/concepts/nodes/introduction/#exit-node).
    2. Under **Toggle Variables**, select the variable you want to pass:

    <Frame>
      <img alt="Toggle output variable" className="block dark:hidden" src="https://mintcdn.com/botpress-pb-update-api/dB6fsns919bYYGbE/studio/concepts/variables/assets/toggle-output-variable.png?fit=max&auto=format&n=dB6fsns919bYYGbE&q=85&s=2dc11f2128774f41b12dbde901d4f10e" width="1312" height="262" data-path="studio/concepts/variables/assets/toggle-output-variable.png" />

      <img alt="Toggle output variable" className="hidden dark:block" src="https://mintcdn.com/botpress-pb-update-api/dB6fsns919bYYGbE/studio/concepts/variables/assets/toggle-output-variable-dark.png?fit=max&auto=format&n=dB6fsns919bYYGbE&q=85&s=f177547e859ce1b09ba978affe7159b6" width="1312" height="262" data-path="studio/concepts/variables/assets/toggle-output-variable-dark.png" />
    </Frame>

    This tells the parent Workflow to expect some output from the sub-Workflow.

    <Note>
      You can only pass Workflow variables from a sub-Workflow to a parent Workflow.
    </Note>
  </Step>

  <Step title="Configure the sub-Workflow Card">
    1. In the parent Workflow, select the Card that transitions to the sub-Workflow:

    <Frame>
      <img alt="Workflow Card" className="block dark:hidden" src="https://mintcdn.com/botpress-pb-update-api/dB6fsns919bYYGbE/studio/concepts/variables/assets/workflow-card.png?fit=max&auto=format&n=dB6fsns919bYYGbE&q=85&s=352e229909e0e30bb16e5ce1772d95c6" width="1312" height="586" data-path="studio/concepts/variables/assets/workflow-card.png" />

      <img alt="Workflow Card" className="hidden dark:block" src="https://mintcdn.com/botpress-pb-update-api/dB6fsns919bYYGbE/studio/concepts/variables/assets/workflow-card-dark.png?fit=max&auto=format&n=dB6fsns919bYYGbE&q=85&s=293ffb417db9fc602a0f345f7b911d13" width="1312" height="586" data-path="studio/concepts/variables/assets/workflow-card-dark.png" />
    </Frame>

    2. Make sure the **Exit Nodes** option is selected.
  </Step>

  <Step title="Read the output variable in the parent Workflow">
    To access the sub-Workflow's output variable from within the parent Workflow, read:

    `workflow.<cardName>.<variableName>`

    <Frame>
      <img alt="Read output variable" className="block dark:hidden" src="https://mintcdn.com/botpress-pb-update-api/dB6fsns919bYYGbE/studio/concepts/variables/assets/read-variable.png?fit=max&auto=format&n=dB6fsns919bYYGbE&q=85&s=7572603fd42ba174064f665c8aa52696" width="1288" height="520" data-path="studio/concepts/variables/assets/read-variable.png" />

      <img alt="Read output variable" className="hidden dark:block" src="https://mintcdn.com/botpress-pb-update-api/dB6fsns919bYYGbE/studio/concepts/variables/assets/read-variable-dark.png?fit=max&auto=format&n=dB6fsns919bYYGbE&q=85&s=d0f916e42da6885e35cb1c973eaa8f6c" width="1288" height="520" data-path="studio/concepts/variables/assets/read-variable-dark.png" />
    </Frame>

    <Check>
      Your parent Workflow now has access to its sub-Workflow's variable.
    </Check>
  </Step>
</Steps>
