Cloud Storage
DocuSign
API integration
Ship Cloud Storage features without building the integration. Full DocuSign API access via Proxy, normalized data through Unified APIs, and 60+ MCP-ready tools for AI agents — all extensible to your exact use case.
Talk to usUse Cases
Why integrate with DocuSign
Common scenarios for SaaS companies building DocuSign integrations for their customers.
Automate contract generation from your app's workflow stages
SaaS platforms can trigger DocuSign signing requests automatically when a record hits a specific stage — like sending an offer letter when a candidate reaches 'Offer' in an ATS, or a lease when a tenant is approved. This eliminates manual document prep and reduces time-to-signature.
Track signing progress in real time within your product
By syncing signing request statuses, your app can show users exactly where each agreement stands — sent, delivered, viewed, signed, or declined — without requiring them to switch to DocuSign. This powers conditional logic like auto-advancing deal stages or triggering follow-up reminders.
Pre-fill documents with CRM or app data to eliminate duplicate entry
SaaS companies can map their internal data (customer name, deal amount, start date) to DocuSign template fields, so end users never have to re-type information that already exists in your system. This reduces errors and dramatically speeds up document turnaround.
Archive signed documents back to your platform automatically
After a signing request is completed, your app can pull the finalized PDF and attach it directly to the relevant record — an employee profile, a deal, a tenant file — giving users a single source of truth without manual downloads.
Manage DocuSign user permissions and envelope utilization at scale
For enterprise customers with shared DocuSign accounts, your platform can surface which users have active licenses, their roles, and how many envelopes have been consumed — helping admins govern access and manage billing from within your product.
What You Can Build
Ship these features with Truto + DocuSign
Concrete product features your team can ship faster by leveraging Truto’s DocuSign integration instead of building from scratch.
Template-powered document generation
Let users select from their DocuSign templates, auto-populate document fields with data from your app, and send signing requests — all without leaving your UI.
Real-time signing status dashboard
Display a live view of all outstanding and completed signing requests with statuses like sent, delivered, completed, declined, or voided, synced from DocuSign via Truto's Unified E-Signature API.
Multi-party routing with contact management
Build workflows that send agreements to multiple signers (e.g., tenant, co-signer, guarantor) in a defined routing order by leveraging contacts and groups from DocuSign.
Signed document write-back to entity records
Automatically fetch completed PDFs and certificates of completion from DocuSign and attach them to the corresponding record in your application — a candidate, deal, property, or loan.
License and utilization monitoring for admins
Surface DocuSign user roles, license assignments, and envelope utilization data so your customers' admins can manage permissions and track usage without switching tools.
Stage-based automation triggers on signature events
Advance records through your app's pipeline automatically — move a deal to 'Closed Won' or a candidate to 'Hired' — when a signing request status changes to completed.
SuperAI
DocuSign AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_docu_sign_users
List Docusign users for a specified account with optional filtering by email, status, group, or name. Returns: userId, userName, email, userType, isAdmin, isNAREnabled, userStatus, uri, createdDateTime, userAddedToAccountDateTime, firstName, lastName, jobTitle, company, permissionProfileId, permissionProfileName, userSettings, sendActivationOnInvalidLogin, enableConnectForUser, groupList,…
get_single_docu_sign_user_by_id
Get a single Docusign user by their userId (GUID). Returns the full user object including userId, userName, email, userStatus, createdDateTime, userSettings, groupList, and address information. Required: account_id, id.
create_a_docu_sign_user
Add new users to a Docusign account. The request body is a newUsers array where each user requires at least userName and email. Returns a newUsers array with userId, uri, email, userName, userStatus, and createdDateTime for each created user. Required: account_id. Max 500 users per request.
update_a_docu_sign_user_by_id
Update a Docusign user's information by id. Submit a userInformation object with the fields to change in the request body. Returns the updated user object including userId, userName, email, userStatus, and permissionProfileId. Required: account_id, id. Users can only access their own information; a user with Admin rights cannot update another user's settings.
delete_a_docu_sign_user_by_id
Close one or more Docusign users in an account, preventing them from accessing account features. Users are not permanently deleted and can be re-opened via Users:update by setting userStatus to Active. Returns: users. Required: account_id, users.
create_a_docu_sign_contact
Add one or more contacts to a Docusign account's contacts list. Returns the added contact results including contactId and errorDetails for any items that could not be processed. Required: account_id, contacts.
update_a_docu_sign_contact_by_id
Update one or more contacts in a Docusign account. Returns the updated contact results including contactId and errorDetails for any items that could not be processed. Required: account_id, id, contacts.
delete_a_docu_sign_contact_by_id
Delete a Docusign contact by id. Returns the deleted contact result including contactId and errorDetails if the contact could not be processed. Required: account_id, id.
list_all_docu_sign_contacts
List contacts associated with a Docusign account, optionally from a connected cloud storage provider. Returns contact records including contactId. Required: account_id.
get_single_docu_sign_contact_by_id
Get a single Docusign contact by id, optionally from a connected cloud storage provider. Returns the contact including contactId. Required: account_id, id.
list_all_docu_sign_permission_profiles
List Docusign permission profiles associated with an account. Returns: permissionProfileId, permissionProfileName, modifiedDateTime, modifiedByUsername. Required: account_id.
get_single_docu_sign_permission_profile_by_id
Get a single Docusign permission profile by id. Returns: permissionProfileId, permissionProfileName, modifiedDateTime, modifiedByUsername. Required: account_id, id.
delete_a_docu_sign_user_custom_setting_by_id
Delete custom user settings for a specific DocuSign user. Returns the customSettingsInformation object including the customSettings array, where each item has a name and value. Required: account_id, id. Grouped settings require the X-DocuSign-User-Settings-Key header; without it, only ungrouped settings are deleted.
update_a_docu_sign_user_custom_setting_by_id
Add or update custom user settings for a Docusign user. Returns the updated customSettingsInformation object. Required: account_id, id. There is a 4,000 character limit for all custom user settings per user, including JSON structure.
list_all_docu_sign_user_custom_settings
List custom user settings for a specific Docusign user. Returns the customSettings array of name-value pairs. Required: user_id. Users can only access their own settings; grouped settings are only retrieved when the X-DocuSign-User-Settings-Key header is supplied.
get_single_docu_sign_user_profile_by_id
Get a Docusign user profile for a specified user, including privacy settings and personal information. Returns: userDetails. Required: account_id, id. Users can only access their own profile, even with Admin rights.
update_a_docu_sign_user_profile_by_id
Update a Docusign user's profile, including detail information, privacy settings, and personal information in the user ID card. Returns an empty 200 response on success. Required: account_id, id. Users can only access their own profile, even with Admin rights.
list_all_docu_sign_templates
List Docusign templates for the specified account with optional filtering by folder, dates, search text, and sharing status. Returns: templateId, name, emailSubject, shared, favoritedByMe, documents, recipients, customFields, notification, powerForms, tabs. Required: account_id. A single request returns a maximum of 2,000 templates.
get_single_docu_sign_template_by_id
Get a single Docusign template by id. Returns the template definition including templateId, name, emailSubject, shared, favoritedByMe, documents, and recipients. Required: account_id, id.
list_all_docu_sign_billing_plan
Get the Docusign billing plan for a specified account, including the plan details and currency code. Returns: planId, currencyCode. Required: account_id. Optional query parameters control whether credit card, successor plan, downgrade, metadata, and tax exempt information are included in the response.
get_single_docu_sign_billing_plan_by_id
Get Docusign billing plan details for a specific billing plan by id. Returns: planId, currencyCode. Required: id.
list_all_docu_sign_billing_invoices
List billing invoices for a Docusign account, optionally filtered by date range. Returns: invoiceId, pdfAvailable, amount, billingInvoiceItems. Required: account_id. If from_date or to_date are not specified, returns invoices for the last 365 days.
get_single_docu_sign_billing_invoice_by_id
Get a specific Docusign billing invoice by id. Returns: invoiceId, invoiceNumber, amount, balance, dueDate, pdfAvailable, billingInvoiceItems. Required: account_id, id. If pdfAvailable is true, a PDF version of the invoice is available.
list_all_docu_sign_oauth_user_info
Get the authenticated user's Docusign OAuth profile information. Returns: base_uri.
get_single_docu_sign_bulk_envelope_by_id
Get a specific Docusign bulk send list by id. Returns all details associated with the list including bulkSendListId and bulkCopies, where each copy contains recipients, tabs, and custom fields. Required: account_id, id.
list_all_docu_sign_bulk_envelopes
List Docusign bulk send lists belonging to the current user, along with basic information about each list. Returns: bulkSendListId, name. Required: account_id.
list_all_docu_sign_envelop_comments
Get a PDF transcript of all comments added to documents in a Docusign envelope. Returns the PDF file as a binary byte stream. Required: envelope_id. Comments must be enabled on the account (enableSigningExtensionComments set to true) to use this feature.
list_all_docu_sign_folders
List Docusign folders for an account. Returns: name, type, itemCount, subFolderCount, hasSubFolders, folders, parentFolderId, parentFolderUri. Required: account_id. By default only top-level folders are returned; set sub_folder_depth to -1 for the complete folder hierarchy.
get_single_docu_sign_folder_by_id
Get information about items in a Docusign folder by id. Returns: name, type, itemCount, subFolderCount, hasSubFolders, folders, parentFolderId, parentFolderUri. Required: account_id, id. Set include_items to true to include folder items in the response.
list_all_docu_sign_signing_groups
List Docusign signing groups in an account, optionally filtered by group type and with member information included. Returns: signingGroupId, groupName, groupType, users. Required: account_id.
get_single_docu_sign_signing_group_by_id
Get a single Docusign signing group by id, including group member information. Returns: signingGroupId, groupName, groupType, users. Required: account_id, id.
list_all_docu_sign_user_groups
List user groups associated with a Docusign account. Returns: groupId, groupName, permissionProfileId, groupType, userCount. Required: account_id. Max 100 results per page.
list_all_docu_sign_workspaces
List Docusign workspaces created in an account. Returns each workspace including its workspaceId and status. Required: account_id.
get_single_docu_sign_workspace_by_id
Get a specific Docusign workspace by id. Returns the workspace object including workspaceId and status. Required: account_id, id.
list_all_docu_sign_accounts
Retrieves the account information for the specified account. Required: account_id.
list_all_docu_sign_envelope_documents
List the documents contained in an envelope, including the auto-generated Certificate of Completion. Returns document metadata (name, type, page count, order) rather than the file contents themselves — use download to retrieve the actual PDF bytes.
update_a_docu_sign_envelope_document_by_id
Update a document within a draft or in-progress envelope, replacing its content and/or metadata. Documents are matched by documentId; existing tab assignments referencing that documentId carry over to the replacement content.
delete_a_docu_sign_envelope_document_by_id
Remove one or more documents from a draft, sent, or delivered envelope, identified by their documentId. Any tabs assigned to the removed document(s) are also removed.
docu_sign_envelope_documents_download
Download the PDF content of a specific document within an envelope. In place of a real documentId, the special values combined (all documents merged into one PDF), archive (a ZIP of all PDFs plus the certificate), certificate (Certificate of Completion only), or portfolio (PDF Portfolio) can be used. Returns raw binary file bytes, not JSON; the file name and document ID are returned in the Content-Disposition response header.
list_all_docu_sign_user_group_users
List users in a Docusign group. Returns user records including userId, userName, email, userStatus, uri, and permission profile details. Required: group_id.
list_all_docu_sign_signing_group_users
List members of a Docusign signing group. Returns: email, userName, userId for each member. Required: signing_group_id.
list_all_docu_sign_folder_items
List items in a specified Docusign folder, including envelopes and templates. The include_items parameter is set to true to return folder contents. Returns: envelopeId, status, emailSubject, createdDateTime, initialSentDateTime, sentDateTime, lastModifiedDateTime, statusChangedDateTime, purgeState, brandId, envelopeUri, documentsUri, documentsCombinedUri, certificateUri, recipientsUri,…
get_single_docu_sign_folder_item_by_id
Get the status of a single Docusign envelope by id. Returns the envelope object including envelopeId, status, emailSubject, createdDateTime, sentDateTime, purgeState, and resource URIs for documents, recipients, custom fields, and templates. Required: account_id, id.
list_all_docu_sign_organizations
List Docusign organizations from the Admin API. Returns: id.
list_all_docu_sign_users_admin_api
List users in a DocuSign organization via the Admin API. Returns: id. Required: organization_id.
list_all_docu_sign_envelopes
Search for and list envelopes in the account that match the specified criteria (date range, status, envelope IDs, folder, etc.). At least one of from_date, envelope_ids, or transaction_ids must be provided; if from_date is omitted the search defaults to the last 2 years.
get_single_docu_sign_envelope_by_id
Retrieve the full details of a single envelope by its ID, including status, timestamps, and (optionally) its documents, recipients, custom fields, and tabs.
create_a_docu_sign_envelope
Create a new envelope from documents and/or templates, and either save it as a draft (status: created) or send it immediately (status: sent). An envelope bundles one or more documents with the recipients who need to sign, view, or receive a copy, along with the tabs (signature fields, form fields) assigned to each recipient.
update_a_docu_sign_envelope_by_id
Update an existing envelope's properties. This endpoint is used to send a draft envelope (set status to sent), void a sent envelope (set status to voided with voidedReason), correct envelope details, resend notifications, or modify fields like emailSubject/emailBlurb before completion.
list_all_docu_sign_envelope_tabs
List all tabs on a document in a Docusign envelope, including prefill, smart section, and polyline overlay tabs. Returns: prefillTabs, smartSectionTabs, polyLineOverlayTabs. Required: envelope_id, document_id.
delete_a_docu_sign_envelope_tab_by_id
Delete tabs from a document in a Docusign envelope by specifying the tabs to remove in the request body. Returns the updated tabs object including prefillTabs with textTabs containing value, pageNumber, documentId, xPosition, and yPosition. Required: envelope_id, document_id.
create_a_docu_sign_envelope_tab
Add smartSection and polyLineOverlay tabs to a specific document in a Docusign envelope. Returns: smartSectionTabs, polyLineOverlayTabs. Required: envelope_id, document_id. This method operates only on smartSection and polyLineOverlay tab types.
delete_a_docu_sign_envelope_recipient_tab_by_id
Delete one or more tabs associated with a recipient in a Docusign draft envelope. Returns the updated EnvelopeRecipientTabs object with remaining tab arrays including textTabs, smartSection, and polyLineOverlay. Required: envelope_id, recipient_id. It is an error to delete a tab that has the templateLocked property set to true.
create_a_docu_sign_envelope_sender_view
Create a sender view URL for a Docusign envelope to embed the envelope sender UI in your application. Returns: url. Required: account_id, envelope_id, returnUrl, view. The envelope must be in the created (draft) state; the returned URL expires after 10 minutes.
delete_a_docu_sign_recipient_by_id
Delete a specific recipient from a Docusign envelope. Returns the updated recipients collection including signers and currentRoutingOrder. Required: envelope_id, id. Recipients that have completed their actions cannot be deleted from an In Process envelope.
list_all_docu_sign_envelope_workflows
Get the workflow definition for a Docusign envelope. Returns the workflow object including its steps. If the envelope does not have a workflow object, the API returns a 404. Required: envelope_id.
list_all_docu_sign_template_workflows
Returns the workflow definition for a template. Required: account_id, template_id.
list_all_docu_sign_search_envelopes
Search for Docusign envelopes by date, envelope ID, or status. Returns: envelopeId, status, statusChanged, subject, sender, envelopeUri, documentsUri, recipientsUri, customFieldsUri, attachmentsUri, createdDateTime, sentDateTime, deliveredDateTime, completedDateTime, voidedDateTime, voidedReason, expireDateTime, expireEnabled, purgeState, owner, ownerEmail, customFields, documents, attachments,…
list_all_docu_sign_envelopes_status
List envelope statuses for a Docusign account, retrieving a set of envelopes that changed status within a date range or matching specific envelope/transaction IDs. Returns: envelopeId, status, subject, senderEmail, createdDateTime, envelopeUri, recipientUri. Required: account_id, and exactly one of from_date, envelope_ids, or transaction_ids. Docusign limits polling to once every 15 minutes per…
list_all_docu_sign_webhooks
List all Docusign Connect (webhook) configurations for the specified account. Returns a list of configurations, each including connectId, name, configurationType, urlToPublishTo, deliveryMode, and event settings. Required: account_id.
get_single_docu_sign_webhook_by_id
Get the details of a specific Docusign Connect (webhook) configuration by id. Returns the full configuration object including connectId, name, configurationType, urlToPublishTo, deliveryMode, allowEnvelopePublish, enableLog, allUsers, events, and eventData settings. Required: account_id, id.
create_a_docu_sign_webhook
Create a new Docusign Connect (webhook) configuration for the specified account. Supports account-level (configurationType custom) and Recipient Connect (customrecipient) configurations using JSON SIM or aggregate data models. Returns the created configuration object including connectId, name, configurationType, urlToPublishTo, deliveryMode, allowEnvelopePublish, enableLog, events, and eventData.…
update_a_docu_sign_webhook_by_id
Update a Docusign Connect (webhook) configuration in the specified account. Set allowEnvelopePublish to true to enable the configuration. Returns the updated configuration object including connectId, name, configurationType, urlToPublishTo, deliveryMode, allowEnvelopePublish, enableLog, events, and eventData. Required: account_id. The connectId of the configuration to update must be included in…
delete_a_docu_sign_webhook_by_id
Delete a Docusign Connect (webhook) configuration by id. Returns an empty 200 response on success. Required: account_id, id.
list_all_docu_sign_webhook_logs
List the 100 most recent Docusign Connect webhook delivery log entries for an account. Returns: logId, envelopeId, connectDebugLog. Required: account_id. Log entries are automatically deleted after 15 days; the enableLog Connect configuration setting must be true to record entries.
get_single_docu_sign_webhook_log_by_id
Get a single Docusign Connect webhook delivery log entry by id. Returns: logId, envelopeId, connectDebugLog. Required: account_id, id. Set additional_info to 'true' to include connectDebugLog details in the response.
delete_a_docu_sign_webhook_log_by_id
Delete a Docusign Connect webhook delivery log entry by id. Use 'all' as the id to delete all log entries for the account. Returns an empty 200 response on success. Required: account_id, id.
list_all_docu_sign_webhook_failures
List Docusign Connect webhook delivery failures for an account to identify envelopes that failed to post. Returns: configId, configName, connectId, envelopeId, error, eventDateTime, payload, postTime, retryTime, retryUri, status, url, emailSubject, connectDebugLog. Required: account_id.
list_all_docu_sign_navigator_agreements_api
List Docusign Navigator agreements stored in an account's Agreement Manager repository. Returns each agreement record with its id and model-schema-specific attributes. Required: account_id.
Why Truto
Why use Truto’s MCP server for DocuSign
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for DocuSign
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
Unified User Directory API
Billing
Billing object represents a Bill
Licenses
Licenses represent concepts like user seats in apps that support them
Roles
The Role object represents a role of a User.
Users
The User object represents a User.
Utilization
Utilization object represents utilization reports.
Unified E-Signature API
Collections
Contacts
Document Fields
Documents
The Document object is used to represent documents of e-signature.
Groups
The Group object is used to represent collection of Users.
Signing Request Statuses
Signing requests go through various stages and each stage is denoted by this resource. Most of the e-signing products have a set state of statuses like draft, sent, created, etc.
Signing Requests
The Signing Request object is used to represent signing requests sent.
Templates
The Template object is used to represent templates cofnigured for various entities like Documents, messages, etc.
Users
The User object is used to represents a User
How It Works
From zero to integrated
Go live with DocuSign in under an hour. No boilerplate, no maintenance burden.
Link your customer’s DocuSign account
Use Truto’s frontend SDK to connect your customer’s DocuSign account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call DocuSign
Truto’s Proxy API is a 1-to-1 mapping of the DocuSign API. You call us, we call DocuSign, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate DocuSign’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about DocuSign on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication method does the DocuSign integration use?
DocuSign supports OAuth 2.0 (Authorization Code Grant) for user-level authentication. Truto handles the full OAuth flow, token refresh, and credential storage so your end users can connect their DocuSign accounts securely without you managing tokens.
Which Truto Unified APIs cover DocuSign?
DocuSign is supported through two Unified APIs: the Unified E-Signature API (covering Templates, Document Fields, Documents, Collections, Contacts, Groups, Signing Requests, Signing Request Statuses, and Users) and the Unified User Directory API (covering Users, Roles, Licenses, Billing, and Utilization).
Does Truto handle DocuSign's API rate limits and pagination?
Yes. Truto manages rate limiting, retry logic, and cursor-based pagination behind the scenes. Your application makes standard Unified API calls and Truto handles the underlying DocuSign API constraints transparently.
Can I read and write signing requests, or is the integration read-only?
The Unified E-Signature API supports both reading and creating signing requests, as well as tracking their statuses. Specific write capabilities for other resources depend on the underlying DocuSign API permissions and can be confirmed during setup.
How does the integration handle multi-account DocuSign setups?
When an end user authenticates, Truto captures the associated DocuSign account context. For organizations with multiple DocuSign accounts, the integration respects the account scope selected during the OAuth consent flow.
What if I need a DocuSign capability that isn't covered by the current Unified API resources?
Truto builds integration tools on request. If you need support for additional DocuSign endpoints — like embedded signing URL generation or specific webhook event types — you can request them and the Truto team will scope and build them for your use case.
From the Blog
DocuSign integration guides
Deep dives, architecture guides, and practical tutorials for building DocuSign integrations.
DocuSign
Get DocuSign integrated into your app
Our team understands what it takes to make a DocuSign integration successful. A short, crisp 30 minute call with folks who understand the problem.