---
title: "Adds a new step to an envelope's workflow."
method: POST
path: "/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow/steps"
tags: ["EnvelopeWorkflowDefinition"]
---

# Adds a new step to an envelope's workflow.

`POST /v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow/steps`

## Request

- Base URL: `https://www.docusign.net/restapi`
- URL: `https://www.docusign.net/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/workflow/steps`
- Auth: none declared

Adds a new step to an envelope's workflow.

## Path parameters

- `accountId` string, required
- `envelopeId` string, required

## Request body

- WorkflowStep: Describes a single step in a workflow.
  - `action` string: Indicates the action to perform. Valid values: - `pause_before`: The workflow should pause before the trigger described by `triggerOnItem` is reached.
  - `completedDate` string: The timestamp of when the workflow step transitioned to `completed` status. This property is read-only.
  - `delayedRouting` DelayedRouting: A complex element that specifies the delayed routing settings for the workflow step.
    - `resumeDate` string: The ISO 8601 timestamp of when the envelope is scheduled to be sent to the recipients associated with the workflow step. This property is `null` if the workflow step has not been initiated. This property is read-only.
    - `rules` EnvelopeDelayRule[]: User-specified rules indicating how and when the envelope should sent for the workflow step and its associated recipients. Only one rule may be specified.
      - `delay` string: A string timespan representing the duration of the sending delay. The timespan is in the format `d.hh:mm:ss` where `d` is the number of days, `hh` is the number of hours (measured on a 24-hour clock), `mm` is minutes, and `ss` is seconds. The maximum delay is 30 days.
      - `resumeDate` string: An ISO 8601 formatted datetime string indicating the date and time that the envelope will be sent. The specified datetime must occur in the future. It must not exceed 30 days from the time that the request is made.
    - `status` string: Status of the delayed routing step. Valid values: * `pending`: The workflow step has not been reached and the delay has not been initiated. * `started`: The workflow step has begun and the delay is in progress. The envelope has not yet been sent to the workflow step's recipients. * `completed`: The delay has elapsed and the envelope has been sent to the workflow step's recipients. This property is read-only.
  - `itemId` string: The unique ID of the item being triggered.
  - `recipientRouting` RecipientRouting: Describes the recipient routing rules.
    - `rules` RecipientRules
      - `conditionalRecipients` ConditionalRecipientRule[]
        - `conditions` ConditionalRecipientRuleCondition[]: An array of conditions that define when the recipients will be used.
          - `filters` ConditionalRecipientRuleFilter[]
            - `operator` string: How the tab value is compared to the `value` property. Valid values: * `equals` * `greaterThan` * `greaterThanEquals` * `lessThan` * `lessThanEquals` * `filled` * `selected`
            - `recipientId` string: A local reference used to map recipients to other objects, such as specific document tabs. A `recipientId` must be either an integer or a GUID, and the `recipientId` must be unique within an envelope. For example, many envelopes assign the first recipient a `recipientId` of `1`.
            - `scope` string: The scope under which the condition is evaluated. Valid values: * `tabs`
            - `tabId` string: The unique identifier for the tab.
            - `tabLabel` string: The label associated with the tab. This value may be an empty string. If no value is provided, the tab type is used as the value. Maximum Length: 500 characters.
            - `tabType` string: Indicates the type of tab (for example, `signHere` or `initialHere`).
            - `value` string: A set value to which the tab's actual value is compared.
          - `order` string: An integer that specifies the order in which rules are processed. Lower values are processed before higher values.
          - `recipientLabel` string: An identifier for the recipient. After assigning this value in a `recipient` object, you can reference it in the `conditions` object to set the recipient as a conditional recipient. For an example, see [How to use conditional recipients](/docs/esign-rest-api/how-to/use-conditional-recipients/).
        - `order` string: An integer that specifies the order in which rules are processed. Lower values are processed before higher values.
        - `recipientGroup` RecipientGroup: Describes a group of recipients.
          - `groupMessage` string: The group message, typically a description of the group.
          - `groupName` string: The name of the group.
          - `recipients` RecipientOption[]: An array of recipient objects that provides details about the recipients of the envelope.
            - `email` string: The email ID of the agent. This property is required. Maximum length: 100 characters.
            - `name` string: The full legal name of the recipient. Maximum length: 100 characters.
            - `recipientLabel` string: An identifier for the recipient. After assigning this value in a `recipient` object, you can reference it in the `conditions` object to set the recipient as a conditional recipient. For an example, see [How to use conditional recipients](/docs/esign-rest-api/how-to/use-conditional-recipients/).
            - `roleName` string: Specifies the signing group role of the recipient. This property is required.
            - `signingGroupId` string: The ID of the [signing group](https://support.docusign.com/s/document-item?bundleId=gav1643676262430&topicId=zgn1578456447934.html).
        - `recipientId` string: The ID of the recipient to whom the condition will be applied. This value should match the `recipientId` defined in the recipient object.
  - `status` string: The status of the step. Valid values: - `inactive` - `in_progress` - `paused` - `pending` - `completed` This property is read-only.
  - `triggeredDate` string: The timestamp of when the workflow step transitioned to `in_progress` status. This property is read-only.
  - `triggerOnItem` string: The type of item that triggers this workflow step. Valid values: * `routing_order`
  - `workflowStepId` string: A unique identifier for this workflow step. This property is read-only.

## Response `201`

Successful response.

## Other responses

- `400`: Error encountered.

## Changes

- **2022-09-15** (v2) `df4506977b42`: 1 info
  - endpoint added
- **2019-07-18** (v2) `8ad1b5a40f1b`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/docusign/apis/docusign-esignature-rest-api/changes/v2.1/accounts/:accountId/envelopes/:envelopeId/workflow/steps/post.md)

---

[API](https://skmtc.dev/docusign/apis/docusign-esignature-rest-api.md) - [All operations](https://skmtc.dev/docusign/apis/docusign-esignature-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/docusign/apis/docusign-esignature-rest-api/revisions/77f1998c313d?raw)
