# Passing Variables

Before going into each workflow component/node, it's important to understand how variables are passed between nodes.

Each node will output a JSON object. To reference specific output from a previous node, you can use dot notation.&#x20;

Take the following example where we define an email subject in a code node and want to reference it in the built-in Gmail: Send Email Integration.

<figure><img src="https://2302384909-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOUJInHjoAOfzq3bL12Af%2Fuploads%2FWwqesn2RsOrkU2HRUVuE%2FVariable%20Pass%20Example.png?alt=media&#x26;token=9f95dd73-d6c2-4310-9056-16d184728733" alt=""><figcaption></figcaption></figure>

The code node outputs:

```
"email_subject": {
    "successfull": true,
    "data": {
      "results": "Email from Orchestra",
      "stdout": "",
      "stderr": "",
      "error": "",
      "sandbox_id": "sandbox-5a47"
    },
    "error": null
  }
```

In the Gmail integration node, we can set the Subject variable to be

`{{email_subject.data.results}}`&#x20;

This sets "Email from Orchestra" to be the Subject of the email.

For examples of how to pass variables between nodes, see the workflow examples in the [workflow library](https://docs.arcee.ai/arcee-orchestra/workflow-library).
