Docusign · Arazzo Workflow

DocuSign Embedded Signing View

Version 1.0.0

Create and send an envelope to an embedded signer, then generate a recipient view URL for in-app signing.

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

Provider

docusign

Workflows

embedded-signing-view
Send an envelope to an embedded signer and generate the signing URL.
Creates a sent envelope with one embedded signer identified by a clientUserId, then generates a time-limited recipient view URL for in-app signing.
2 steps inputs: accountId, clientUserId, documentBase64, documentName, emailSubject, fileExtension, returnUrl, signerEmail, signerName outputs: envelopeId, signingUrl
1
createEmbeddedEnvelope
Envelopes_CreateEnvelope
Create and send an envelope whose single signer carries a clientUserId so the recipient is treated as an embedded signer.
2
createRecipientView
EnvelopeViews_CreateRecipientView
Generate the embedded recipient view URL, matching the recipient email, name, and clientUserId used when the envelope was created.

Source API Descriptions

Arazzo Workflow Specification

docusign-embedded-signing-view-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: DocuSign Embedded Signing View
  summary: Create and send an envelope to an embedded signer, then generate a recipient view URL for in-app signing.
  description: >-
    Powers embedded signing inside your own application. The workflow creates
    and sends an envelope whose signer carries a clientUserId, which marks the
    recipient as an embedded (captive) signer, and then requests a recipient
    view URL that your application loads in an iframe or redirect so the signer
    completes the document without leaving your product. 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: embedded-signing-view
  summary: Send an envelope to an embedded signer and generate the signing URL.
  description: >-
    Creates a sent envelope with one embedded signer identified by a
    clientUserId, then generates a time-limited recipient view URL for in-app
    signing.
  inputs:
    type: object
    required:
    - accountId
    - emailSubject
    - signerName
    - signerEmail
    - clientUserId
    - documentBase64
    - returnUrl
    properties:
      accountId:
        type: string
        description: The DocuSign account ID (GUID or short account number).
      emailSubject:
        type: string
        description: The subject line of the envelope email.
      signerName:
        type: string
        description: The full legal name of the signer.
      signerEmail:
        type: string
        description: The email address of the signer.
      clientUserId:
        type: string
        description: The client user ID that marks the signer as an embedded signer.
      documentBase64:
        type: string
        description: The base64-encoded content of the document.
      returnUrl:
        type: string
        description: The URL DocuSign redirects to after the signing session ends.
      documentName:
        type: string
        description: The display name of the document.
        default: Agreement.pdf
      fileExtension:
        type: string
        description: The file extension of the document.
        default: pdf
  steps:
  - stepId: createEmbeddedEnvelope
    description: >-
      Create and send an envelope whose single signer carries a clientUserId so
      the recipient is treated as an embedded signer.
    operationId: Envelopes_CreateEnvelope
    parameters:
    - name: accountId
      in: path
      value: $inputs.accountId
    requestBody:
      contentType: application/json
      payload:
        emailSubject: $inputs.emailSubject
        status: sent
        documents:
        - documentId: '1'
          name: $inputs.documentName
          fileExtension: $inputs.fileExtension
          documentBase64: $inputs.documentBase64
        recipients:
          signers:
          - recipientId: '1'
            routingOrder: '1'
            name: $inputs.signerName
            email: $inputs.signerEmail
            clientUserId: $inputs.clientUserId
            tabs:
              signHereTabs:
              - documentId: '1'
                pageNumber: '1'
                anchorString: '/sign/'
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      envelopeId: $response.body#/envelopeId
  - stepId: createRecipientView
    description: >-
      Generate the embedded recipient view URL, matching the recipient email,
      name, and clientUserId used when the envelope was created.
    operationId: EnvelopeViews_CreateRecipientView
    parameters:
    - name: accountId
      in: path
      value: $inputs.accountId
    - name: envelopeId
      in: path
      value: $steps.createEmbeddedEnvelope.outputs.envelopeId
    requestBody:
      contentType: application/json
      payload:
        authenticationMethod: None
        email: $inputs.signerEmail
        userName: $inputs.signerName
        clientUserId: $inputs.clientUserId
        recipientId: '1'
        returnUrl: $inputs.returnUrl
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      signingUrl: $response.body#/url
  outputs:
    envelopeId: $steps.createEmbeddedEnvelope.outputs.envelopeId
    signingUrl: $steps.createRecipientView.outputs.signingUrl