InTouch Hub · Blue Isle Software

DocuSign

Send, sign, and track sales contracts and envelopes via the DocuSign eSignature REST API.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

crm-salessignaturestatus

DocuSign

Send, sign, and track sales contracts and envelopes via the DocuSign eSignature REST API (v2.1).

This InTouch tool wraps the core envelope operations so a job or the AI assistant can dispatch a contract for signature, poll an envelope's status, and see who still needs to sign — all deterministically, with credentials kept out of the AI context.

What it does

Calls the DocuSign eSignature REST API against your account's base path:

{baseUri}/restapi/v2.1/accounts/{accountId}

Authentication is an OAuth 2.0 bearer token sent as Authorization: Bearer <apiKey>. The tool returns the raw JSON response body (result) and the HTTP status code (status).

Operations

Branch on the operation input:

operation Method Endpoint Purpose
list_envelopes GET /envelopes?from_date=<iso> List envelopes and their statuses changed since fromDate (listStatusChanges). Defaults to the last 30 days.
get_envelope GET /envelopes/{envelopeId} Get a single envelope's status and metadata.
list_recipients GET /envelopes/{envelopeId}/recipients List the envelope's recipients and their signing status (who still needs to sign).
create_envelope POST /envelopes Create and send an envelope (the contract) from a JSON envelope definition.

Inputs

Input Required Default Notes
apiKey yes — DocuSign OAuth 2.0 access token (bearer).
operation yes — One of the four operations above.
accountId for all "" Your DocuSign API account ID (GUID).
baseUri no https://demo.docusign.net Account base URI host from /oauth/userinfo. Use your production region host (e.g. https://na3.docusign.net) for live accounts.
envelopeId for get/recipients "" Envelope GUID.
fromDate no 30 days ago ISO 8601, e.g. 2026-06-01T00:00:00Z.
envelope for create "" JSON envelope definition.

API key setup

DocuSign does not issue a static API key. You authenticate with OAuth 2.0 and pass the resulting access token as apiKey:

  1. Create an integration (app) in the DocuSign Apps & Keys console. Note the Integration Key (client ID).
  2. Obtain an access token via one of:
  3. Authorization Code Grant — interactive user consent, returns a short-lived access token (~8 hours) + refresh token.
  4. JWT Grant — server-to-server (no UI); sign a JWT with your RSA private key and exchange it at /oauth/token.
  5. Call GET {authServer}/oauth/userinfo with the token to discover your account ID (accounts[].account_id) and base URI (accounts[].base_uri). Use these as accountId and baseUri.

Auth servers: account-d.docusign.com (demo) / account.docusign.com (production).

Note: access tokens expire. This tool consumes an already-minted token; refresh it (or re-run JWT Grant) before it expires. The OAuth/JWT exchange and /oauth/userinfo lookup are out of scope for this single-key tool.

Examples

List envelopes changed in the last 30 days

operation = list_envelopes
apiKey    = <access_token>
accountId = 1a2b3c4d-...-...
baseUri   = https://demo.docusign.net

Get one envelope's status

operation  = get_envelope
envelopeId = 9f8e7d6c-...-...

See who still needs to sign

operation  = list_recipients
envelopeId = 9f8e7d6c-...-...

Send a contract for signature (remote signing with a base64 document)

operation = create_envelope
envelope  = {
  "emailSubject": "Please sign: Master Services Agreement",
  "status": "sent",
  "documents": [
    { "documentBase64": "<base64-pdf>", "name": "MSA.pdf",
      "fileExtension": "pdf", "documentId": "1" }
  ],
  "recipients": {
    "signers": [
      { "email": "[email protected]", "name": "Jordan Buyer",
        "recipientId": "1", "routingOrder": "1",
        "tabs": { "signHereTabs": [
          { "anchorString": "/sig1/", "anchorUnits": "pixels" } ] } }
    ]
  }
}

Set "status": "sent" to dispatch immediately, or "created" to save as a draft.

Output

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.

Input Properties

Every property this tool accepts, from its own tool.iml.

Property Type Required Default Description
apiKey string yes — DocuSign OAuth 2.0 access token (bearer token). Obtain via Authorization Code Grant or JWT Grant; sent as 'Authorization: Bearer '.
operation string yes — One of: list_envelopes, get_envelope, list_recipients, create_envelope
accountId string no — Your DocuSign API account ID (GUID from /oauth/userinfo or the Apps & Keys page). Required.
baseUri string no https://demo.docusign.net Account base URI host returned by /oauth/userinfo, e.g. https://demo.docusign.net (demo) or https://na3.docusign.net (production region).
envelopeId string no — Envelope ID (GUID) for get_envelope and list_recipients.
fromDate string no — ISO 8601 date for list_envelopes (from_date filter), e.g. 2026-06-01T00:00:00Z. Defaults to 30 days ago when empty.
envelope string no — JSON envelope definition for create_envelope, e.g. {"emailSubject":"Please sign","status":"sent","documents":[...],"recipients":{"signers":[...]}}.