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
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
| Scope | Why it is requested |
|---|---|
signature | Create, send and read signature requests in your DocuSign account |
extended | Stay 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
| Input | Type | Description | |
|---|---|---|---|
account_id | string | Required | DocuSign 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_id | string | Required | Template ID from list_templates |
role_name | string | Required | The template role to fill, for example Signer |
recipient_name | string | Required | Full name of the recipient |
recipient_email | string | Required | Email address of the recipient |
email_subject | string | Optional | Email subject; defaults to the template's subject |
status | string | Optional | 'sent' to send now, 'created' for a draft (default created) |
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
| Input | Type | Description | |
|---|---|---|---|
account_id | string | Required | DocuSign 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. |
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
| Input | Type | Description | |
|---|---|---|---|
account_id | string | Required | DocuSign 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_id | string | Required | Envelope ID (a GUID) |
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
| Input | Type | Description | |
|---|---|---|---|
account_id | string | Required | DocuSign 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_date | string | Required | Start of the window as an ISO 8601 date-time, for example 2026-01-01T00:00:00Z |
to_date | string | Optional | End of the window (ISO 8601); defaults to now |
status | string | Optional | Comma-separated statuses: completed, created, declined, delivered, sent, signed, voided, any |
search_text | string | Optional | Free text to match against envelopes |
count | integer | Optional | Maximum envelopes to return |
order | string | Optional | Sort order by the chosen field |
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
| Input | Type | Description | |
|---|---|---|---|
account_id | string | Required | DocuSign 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_id | string | Required | Envelope ID (a GUID) |
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
| Input | Type | Description | |
|---|---|---|---|
account_id | string | Required | DocuSign 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_text | string | Optional | Text to match in template names (up to 48 characters) |
count | integer | Optional | Maximum templates to return |
include | string | Optional | Extra detail, for example recipients |
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
| Input | Type | Description | |
|---|---|---|---|
account_id | string | Required | DocuSign 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_id | string | Required | Envelope ID (a GUID) |
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
| Input | Type | Description | |
|---|---|---|---|
account_id | string | Required | DocuSign 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_id | string | Required | Envelope ID (a GUID) |
reason | string | Required | Why the envelope is being voided (up to 200 characters) |
await setu.execute({
userId: "user_1",
action: "docusign.void_envelope",
input: {
"account_id": "<account_id>",
"envelope_id": "<envelope_id>",
"reason": "<reason>"
},
confirm: true,
});