InTouch Hub · Blue Isle Software

DocuSign

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

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: - Authorization Code Grant — interactive user consent, returns a short-lived access token (~8 hours) + refresh token. - JWT Grant — server-to-server (no UI); sign a JWT with your RSA private key and exchange it at /oauth/token.
  3. 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