Docusign · Arazzo Workflow

DocuSign Resend Envelope to Pending Recipients

Version 1.0.0

List an envelope's recipients and, if any are still pending, resend the envelope notification.

1 workflow 1 source API 1 provider
View Spec View on GitHub AgreementsContractsDigital Transaction ManagementDocumentsElectronic SignatureseSignatureArazzoWorkflows

Provider

docusign

Workflows

resend-envelope-to-pending-recipients
Resend an envelope only when recipients are still pending.
Lists envelope recipients, checks for any signer not yet completed, and conditionally resends the envelope notification.
2 steps inputs: accountId, envelopeId outputs: envelopeId, resentEnvelopeId
1
listRecipients
Recipients_ListRecipients
Retrieve the recipient list and their statuses so the workflow can detect whether anyone still needs to act.
2
resendEnvelope
Envelopes_UpdateEnvelope
Resend the envelope by updating it with the resend_envelope flag, which re-notifies recipients who have not yet completed their actions.

Source API Descriptions

Arazzo Workflow Specification

docusign-resend-envelope-to-pending-recipients-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: DocuSign Resend Envelope to Pending Recipients
  summary: List an envelope's recipients and, if any are still pending, resend the envelope notification.
  description: >-
    A nudge flow for stalled agreements. The workflow lists the recipients of
    an envelope, inspects whether any recipient is still in a non-completed
    state, and branches: when at least one recipient is still pending it resends
    the envelope by updating it with the resend_envelope flag so a fresh
    notification email goes out, and when everyone is finished it ends without
    sending a redundant reminder. Every step spells out its request inline so
    the flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: esignatureApi
  url: ../openapi/docusign-esignature-openapi.yml
  type: openapi
workflows:
- workflowId: resend-envelope-to-pending-recipients
  summary: Resend an envelope only when recipients are still pending.
  description: >-
    Lists envelope recipients, checks for any signer not yet completed, and
    conditionally resends the envelope notification.
  inputs:
    type: object
    required:
    - accountId
    - envelopeId
    properties:
      accountId:
        type: string
        description: The DocuSign account ID (GUID or short account number).
      envelopeId:
        type: string
        description: The ID of the envelope whose recipients are evaluated.
  steps:
  - stepId: listRecipients
    description: >-
      Retrieve the recipient list and their statuses so the workflow can detect
      whether anyone still needs to act.
    operationId: Recipients_ListRecipients
    parameters:
    - name: accountId
      in: path
      value: $inputs.accountId
    - name: envelopeId
      in: path
      value: $inputs.envelopeId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      signers: $response.body#/signers
      recipientCount: $response.body#/recipientCount
    onSuccess:
    - name: hasPending
      type: goto
      stepId: resendEnvelope
      criteria:
      - context: $response.body
        condition: $.signers[?(@.status != 'completed')]
        type: jsonpath
  - stepId: resendEnvelope
    description: >-
      Resend the envelope by updating it with the resend_envelope flag, which
      re-notifies recipients who have not yet completed their actions.
    operationId: Envelopes_UpdateEnvelope
    parameters:
    - name: accountId
      in: path
      value: $inputs.accountId
    - name: envelopeId
      in: path
      value: $inputs.envelopeId
    - name: resend_envelope
      in: query
      value: 'true'
    requestBody:
      contentType: application/json
      payload:
        status: sent
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      envelopeId: $response.body#/envelopeId
  outputs:
    envelopeId: $inputs.envelopeId
    resentEnvelopeId: $steps.resendEnvelope.outputs.envelopeId