> 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

# EnvelopeWorkflowDefinition Resource

Describes the workflow for an envelope or template. These methods enable you to use the [scheduled sending](/docs/esign-rest-api/esign101/concepts/recipients/scheduled-sending) and [delayed routing](/docs/esign-rest-api/esign101/concepts/recipients/delayed-routing) features.

### Related topics

* [How to schedule an envelope](/docs/esign-rest-api/how-to/schedule-an-envelope)
* [How to send an envelope with delayed routing](/docs/esign-rest-api/how-to/send-envelope-with-delayed-routing)

## Methods supported

| Method                                                                                                                                                   | Description                                                                                                                                                                                  |
| -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [createEnvelopeWorkflowStepDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/createenvelopeworkflowstepdefinition)         | POST `/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow/steps` Adds a new step to an envelope's workflow.                                                                   |
| [createTemplateWorkflowStepDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/createtemplateworkflowstepdefinition)         | POST `/restapi/v2.1/accounts/{accountId}/templates/{templateId}/workflow/steps` Adds a new step to a template's workflow.                                                                    |
| [deleteEnvelopeDelayedRoutingDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/deleteenvelopedelayedroutingdefinition)     | DEL `/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow/steps/{workflowStepId}/delayedRouting` Deletes the delayed routing rules for the specified envelope workflow step.   |
| [deleteEnvelopeScheduledSendingDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/deleteenvelopescheduledsendingdefinition) | DEL `/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow/scheduledSending` Deletes the scheduled sending rules for the envelope's workflow.                                   |
| [deleteEnvelopeWorkflowDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/deleteenvelopeworkflowdefinition)                 | DEL `/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow` Delete the workflow definition for an envelope.                                                                     |
| [deleteEnvelopeWorkflowStepDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/deleteenvelopeworkflowstepdefinition)         | DEL `/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow/steps/{workflowStepId}` Deletes a workflow step from an envelope's workflow definition.                              |
| [deleteTemplateDelayedRoutingDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/deletetemplatedelayedroutingdefinition)     | DEL `/restapi/v2.1/accounts/{accountId}/templates/{templateId}/workflow/steps/{workflowStepId}/delayedRouting` Deletes the delayed routing rules for the specified template workflow step.   |
| [deleteTemplateScheduledSendingDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/deletetemplatescheduledsendingdefinition) | DEL `/restapi/v2.1/accounts/{accountId}/templates/{templateId}/workflow/scheduledSending` Deletes the scheduled sending rules for the template's workflow.                                   |
| [deleteTemplateWorkflowDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/deletetemplateworkflowdefinition)                 | DEL `/restapi/v2.1/accounts/{accountId}/templates/{templateId}/workflow` Delete the workflow definition for a template.                                                                      |
| [deleteTemplateWorkflowStepDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/deletetemplateworkflowstepdefinition)         | DEL `/restapi/v2.1/accounts/{accountId}/templates/{templateId}/workflow/steps/{workflowStepId}` Deletes a workflow step from an template's workflow definition.                              |
| [getEnvelopeDelayedRoutingDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/getenvelopedelayedroutingdefinition)           | GET `/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow/steps/{workflowStepId}/delayedRouting` Returns the delayed routing rules for an envelope's workflow step definition. |
| [getEnvelopeScheduledSendingDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/getenvelopescheduledsendingdefinition)       | GET `/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow/scheduledSending` Returns the scheduled sending rules for an envelope's workflow definition.                         |
| [getEnvelopeWorkflowDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/getenvelopeworkflowdefinition)                       | GET `/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow` Returns the workflow definition for an envelope.                                                                    |
| [getEnvelopeWorkflowStepDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/getenvelopeworkflowstepdefinition)               | GET `/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow/steps/{workflowStepId}` Returns a specified workflow step for a specified template.                                  |
| [getTemplateDelayedRoutingDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/gettemplatedelayedroutingdefinition)           | GET `/restapi/v2.1/accounts/{accountId}/templates/{templateId}/workflow/steps/{workflowStepId}/delayedRouting` Returns the delayed routing rules for a template's workflow step definition.  |
| [getTemplateScheduledSendingDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/gettemplatescheduledsendingdefinition)       | GET `/restapi/v2.1/accounts/{accountId}/templates/{templateId}/workflow/scheduledSending` Returns the scheduled sending rules for a template's workflow definition.                          |
| [getTemplateWorkflowDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/gettemplateworkflowdefinition)                       | GET `/restapi/v2.1/accounts/{accountId}/templates/{templateId}/workflow` Returns the workflow definition for a template.                                                                     |
| [getTemplateWorkflowStepDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/gettemplateworkflowstepdefinition)               | GET `/restapi/v2.1/accounts/{accountId}/templates/{templateId}/workflow/steps/{workflowStepId}` Returns a specified workflow step for a specified envelope.                                  |
| [updateEnvelopeDelayedRoutingDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/updateenvelopedelayedroutingdefinition)     | PUT `/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow/steps/{workflowStepId}/delayedRouting` Updates the delayed routing rules for an envelope's workflow step definition. |
| [updateEnvelopeScheduledSendingDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/updateenvelopescheduledsendingdefinition) | PUT `/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow/scheduledSending` Updates the scheduled sending rules for an envelope's workflow.                                    |
| [updateEnvelopeWorkflowDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/updateenvelopeworkflowdefinition)                 | PUT `/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow` Updates the workflow definition for an envelope.                                                                    |
| [updateEnvelopeWorkflowStepDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/updateenvelopeworkflowstepdefinition)         | PUT `/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow/steps/{workflowStepId}` Updates the specified workflow step for an envelope.                                         |
| [updateTemplateDelayedRoutingDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/updatetemplatedelayedroutingdefinition)     | PUT `/restapi/v2.1/accounts/{accountId}/templates/{templateId}/workflow/steps/{workflowStepId}/delayedRouting` Updates the delayed routing rules for a template's workflow step.             |
| [updateTemplateScheduledSendingDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/updatetemplatescheduledsendingdefinition) | PUT `/restapi/v2.1/accounts/{accountId}/templates/{templateId}/workflow/scheduledSending` Updates the scheduled sending rules for a template's workflow definition.                          |
| [updateTemplateWorkflowDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/updatetemplateworkflowdefinition)                 | PUT `/restapi/v2.1/accounts/{accountId}/templates/{templateId}/workflow` Updates the workflow definition for a template.                                                                     |
| [updateTemplateWorkflowStepDefinition](/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/updatetemplateworkflowstepdefinition)         | PUT `/restapi/v2.1/accounts/{accountId}/templates/{templateId}/workflow/steps/{workflowStepId}` Updates a specified workflow step for a template.                                            |

## EnvelopeWorkflowDefinition properties

| Property                | Type             | Description                                                  |
| ----------------------- | ---------------- | ------------------------------------------------------------ |
| `currentWorkflowStepId` | string           |                                                              |
| `resumeDate`            | string           |                                                              |
| `scheduledSending`      | scheduledSending | An object that describes the settings for scheduled sending. |
| `workflowStatus`        | string           |                                                              |
| `workflowSteps`         | array            |                                                              |