> You are reading the Docusign Developer Documentation. For clean Markdown of any page, append .md to the page URL.
>
> Documentation indexes by section:
> - APIs and SDKs: https://docusign.docs.buildwithfern.com/docs/llms.txt
> - Platform 101: https://docusign.docs.buildwithfern.com/platform/llms.txt
> - Extension Apps: https://docusign.docs.buildwithfern.com/extension-apps/llms.txt
> - Docusign CLI: https://docusign.docs.buildwithfern.com/docusign-cli/llms.txt
>
> Authentication (OAuth, JWT Grant, M2M): https://docusign.docs.buildwithfern.com/platform/auth
> Webhooks and Connect: https://docusign.docs.buildwithfern.com/platform/webhooks
>
> OpenAPI specifications: https://docusign.docs.buildwithfern.com/openapi.json
> MCP server: https://docusign.docs.buildwithfern.com/_mcp/server

# Variables

> Learn about how you can use variables to set and display persistent values in your workflow steps.

A workflow variable holds a piece of data used by the [workflow](/docs/workflow-builder-api/workflow-builder101/workflows) [steps](/docs/workflow-builder-api/workflow-builder101/steps). Variables can be either:

* **Starting variables**, defined in your workflow settings and assigned values before an instance of that workflow is created in a special form called a trigger form. You can create starting variables when you select the start method for a workflow. See [Workflow start methods](https://support.docusign.com/s/document-item?language=en_US\&bundleId=yff1696971835267\&topicId=ztb1727892686033.html)﻿ for details.

  In addition to assigning values to starting variables through a trigger form, you can pass in values through the trigger URL when you start your workflow.

  This is typically used when workflows are initiated in an external system, such as a bank website. For example, when the workflow is triggered, you can provide a set of account info with the trigger URL to populate starting variables such as name and email in the webform automatically for the participant. In this case, you would create starting variables for each of the expected values coming from the external system so that, when triggering the workflow, you can map them to fields used in a step, such as a web form.

  **Example syntax (method, endpoint and JSON):**

  ```text
  POST <trigger-url>

  {
    participants: {},
    instanceName: 'Name your instance', // Optional
    payload: {
      startingVariableName1: 'Value',
      startingVariableName2: 'Value2'
    },
    metadata: {}
  }
  ```
* **Step variables**, which are defined and populated by the steps in your workflow.

See [Workflows](/docs/workflow-builder-api/workflow-builder101/workflows) for a full workflow definition example, including variable data.

## Next steps

* [Steps](/docs/workflow-builder-api/workflow-builder101/steps)
* [Branching rules](/docs/workflow-builder-api/workflow-builder101/branching-rules)
* [Workflows](/docs/workflow-builder-api/workflow-builder101/workflows)
* [Participants](/docs/workflow-builder-api/workflow-builder101/participants)