Setu Recipes: reusable digital workers across every app.Browse templates

Integrations / DocuSign

DocuSign

Send, track and void documents for electronic signature in DocuSign: list envelopes, recipients and templates, and create envelopes from templates.

8 actions OAuth 2 5 read2 write1 destructive Calls na1.docusign.net

Connect

TypeScript
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "docusign" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();

Permissions requested

ScopeWhy it is requested
signatureCreate, send and read signature requests in your DocuSign account
extendedStay connected without signing in again (refresh access)

Actions

Create envelope from templatewritedocusign.create_envelope_from_templateCreate an envelope from a template and fill its roles with recipients. status 'sent' emails the recipients immediately; 'created' saves a draft.

Needs scope: signature

InputTypeDescription
account_idstringRequiredDocuSign API account ID (a GUID). The user finds it in DocuSign under Settings > Apps and Keys ('API Account ID'), and it is also the connection's account id in Setu.
template_idstringRequiredTemplate ID from list_templates
role_namestringRequiredThe template role to fill, for example Signer
recipient_namestringRequiredFull name of the recipient
recipient_emailstringRequiredEmail address of the recipient
email_subjectstringOptionalEmail subject; defaults to the template's subject
statusstringOptional'sent' to send now, 'created' for a draft (default created)
TypeScript
await setu.execute({
  userId: "user_1",
  action: "docusign.create_envelope_from_template",
  input: {
    "account_id": "<account_id>",
    "template_id": "<template_id>",
    "role_name": "<role_name>",
    "recipient_name": "<recipient_name>",
    "recipient_email": "<recipient_email>"
  },
});
Get accountreaddocusign.get_accountGet the DocuSign account's name, plan and envelope usage. Also a quick way to check that an account ID is correct.

Needs scope: signature

InputTypeDescription
account_idstringRequiredDocuSign API account ID (a GUID). The user finds it in DocuSign under Settings > Apps and Keys ('API Account ID'), and it is also the connection's account id in Setu.
TypeScript
await setu.execute({
  userId: "user_1",
  action: "docusign.get_account",
  input: {
    "account_id": "<account_id>"
  },
});
Get envelopereaddocusign.get_envelopeGet an envelope's status, subject, sender and key dates by envelope ID.

Needs scope: signature

InputTypeDescription
account_idstringRequiredDocuSign API account ID (a GUID). The user finds it in DocuSign under Settings > Apps and Keys ('API Account ID'), and it is also the connection's account id in Setu.
envelope_idstringRequiredEnvelope ID (a GUID)
TypeScript
await setu.execute({
  userId: "user_1",
  action: "docusign.get_envelope",
  input: {
    "account_id": "<account_id>",
    "envelope_id": "<envelope_id>"
  },
});
List envelopesreaddocusign.list_envelopesList envelopes whose status changed since a date, optionally filtered by status or search text. Returns envelope IDs, subjects and statuses.

Needs scope: signature

InputTypeDescription
account_idstringRequiredDocuSign API account ID (a GUID). The user finds it in DocuSign under Settings > Apps and Keys ('API Account ID'), and it is also the connection's account id in Setu.
from_datestringRequiredStart of the window as an ISO 8601 date-time, for example 2026-01-01T00:00:00Z
to_datestringOptionalEnd of the window (ISO 8601); defaults to now
statusstringOptionalComma-separated statuses: completed, created, declined, delivered, sent, signed, voided, any
search_textstringOptionalFree text to match against envelopes
countintegerOptionalMaximum envelopes to return
orderstringOptionalSort order by the chosen field
TypeScript
await setu.execute({
  userId: "user_1",
  action: "docusign.list_envelopes",
  input: {
    "account_id": "<account_id>",
    "from_date": "<from_date>"
  },
});
List recipientsreaddocusign.list_recipientsList the signers and other recipients of an envelope with each one's status and routing order.

Needs scope: signature

InputTypeDescription
account_idstringRequiredDocuSign API account ID (a GUID). The user finds it in DocuSign under Settings > Apps and Keys ('API Account ID'), and it is also the connection's account id in Setu.
envelope_idstringRequiredEnvelope ID (a GUID)
TypeScript
await setu.execute({
  userId: "user_1",
  action: "docusign.list_recipients",
  input: {
    "account_id": "<account_id>",
    "envelope_id": "<envelope_id>"
  },
});
List templatesreaddocusign.list_templatesList the account's templates (IDs, names and role names are needed to create an envelope), optionally filtered by name text.

Needs scope: signature

InputTypeDescription
account_idstringRequiredDocuSign API account ID (a GUID). The user finds it in DocuSign under Settings > Apps and Keys ('API Account ID'), and it is also the connection's account id in Setu.
search_textstringOptionalText to match in template names (up to 48 characters)
countintegerOptionalMaximum templates to return
includestringOptionalExtra detail, for example recipients
TypeScript
await setu.execute({
  userId: "user_1",
  action: "docusign.list_templates",
  input: {
    "account_id": "<account_id>"
  },
});
Send envelopewritedocusign.send_envelopeSend a draft (status 'created') envelope to its recipients by setting its status to sent. The recipients are emailed.

Needs scope: signature

InputTypeDescription
account_idstringRequiredDocuSign API account ID (a GUID). The user finds it in DocuSign under Settings > Apps and Keys ('API Account ID'), and it is also the connection's account id in Setu.
envelope_idstringRequiredEnvelope ID (a GUID)
TypeScript
await setu.execute({
  userId: "user_1",
  action: "docusign.send_envelope",
  input: {
    "account_id": "<account_id>",
    "envelope_id": "<envelope_id>"
  },
});
Void envelopedestructivedocusign.void_envelopeVoid an envelope that is in progress so recipients can no longer sign it. A reason is required and is shown to recipients. This cannot be undone.

Needs scope: signature

InputTypeDescription
account_idstringRequiredDocuSign API account ID (a GUID). The user finds it in DocuSign under Settings > Apps and Keys ('API Account ID'), and it is also the connection's account id in Setu.
envelope_idstringRequiredEnvelope ID (a GUID)
reasonstringRequiredWhy the envelope is being voided (up to 200 characters)
TypeScript
await setu.execute({
  userId: "user_1",
  action: "docusign.void_envelope",
  input: {
    "account_id": "<account_id>",
    "envelope_id": "<envelope_id>",
    "reason": "<reason>"
  },
  confirm: true,
});