> ## Documentation Index
> Fetch the complete documentation index at: https://botpress-update-integrations.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-update-integrations/3RVCqhUeh85dbpTj/studio/concepts/variables/assets/toggle-input-variable.png?fit=max&auto=format&n=3RVCqhUeh85dbpTj&q=85&s=2070603e1ac8a09cd65f4321159f147e" 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-update-integrations/3RVCqhUeh85dbpTj/studio/concepts/variables/assets/toggle-input-variable-dark.png?fit=max&auto=format&n=3RVCqhUeh85dbpTj&q=85&s=19e5c6988cf5ac8f6e4a27d955e2c487" 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-update-integrations/uZYU0BWgnZln2Mc3/studio/concepts/variables/assets/input-var-field.png?fit=max&auto=format&n=uZYU0BWgnZln2Mc3&q=85&s=eca88b87655f0d9dadd59767399c8358" 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-update-integrations/uZYU0BWgnZln2Mc3/studio/concepts/variables/assets/input-var-field-dark.png?fit=max&auto=format&n=uZYU0BWgnZln2Mc3&q=85&s=984697a0f18232cfe23f03591b6cead6" 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-update-integrations/3RVCqhUeh85dbpTj/studio/concepts/variables/assets/toggle-output-variable.png?fit=max&auto=format&n=3RVCqhUeh85dbpTj&q=85&s=a87abccd385f60b1ececfc7add75d355" 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-update-integrations/3RVCqhUeh85dbpTj/studio/concepts/variables/assets/toggle-output-variable-dark.png?fit=max&auto=format&n=3RVCqhUeh85dbpTj&q=85&s=4bd2be30575ed5c348257a8451466d6c" 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-update-integrations/3RVCqhUeh85dbpTj/studio/concepts/variables/assets/workflow-card.png?fit=max&auto=format&n=3RVCqhUeh85dbpTj&q=85&s=590868de245b9d819e0b520b0a62f1f4" 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-update-integrations/3RVCqhUeh85dbpTj/studio/concepts/variables/assets/workflow-card-dark.png?fit=max&auto=format&n=3RVCqhUeh85dbpTj&q=85&s=0d77a1f05d815278195e68aaae03cdbf" 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-update-integrations/3RVCqhUeh85dbpTj/studio/concepts/variables/assets/read-variable.png?fit=max&auto=format&n=3RVCqhUeh85dbpTj&q=85&s=ca3a2b4d9e41df825ca41c7b299e93f3" 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-update-integrations/3RVCqhUeh85dbpTj/studio/concepts/variables/assets/read-variable-dark.png?fit=max&auto=format&n=3RVCqhUeh85dbpTj&q=85&s=221f355467f35f10b3f1c329efb066b9" 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>
