Docusign
Manage contracts from ChatGPT
- Category
- Productivity
- Primary Subcategory
- E-Signature & Contract Execution
Integration details
Description
Simplify contract management with intelligent automation powered by Docusign. Go beyond simple execution to make complex agreement workflows effortless. Use natural language to create and send a contract, instantly surface insights like renewal dates and key obligations, and automate workflows that keep your business moving faster and with less friction.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- E-Signature & Contract Execution
- Secondary Subcategories
- None listed
- Brand
- Docusign
- Access
- Account required
- First tracked
- 2026-08-12
- Tool count
- 36
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for Docusign
Get updates when Docusign’s Discoverability Score or category rank changes.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT E-Signature & Contract Execution
View Category36 tools agents can invoke
REQUIRED BEFORE A FILTERED getAllAgreements CALL: Call this skill before constructing the filter. Contains the complete OData filter syntax, all accepted field names, enum values with exact casing, quoting rules, common mistakes, and copy-paste templates for every pattern. Using this skill produces a correct filter on the first attempt without retries.
getAgreementFilterSkill
REQUIRED PRE-QUERY SKILL: Call this once before getAllAgreements or getEnvelopes. It identifies whether the request needs Agreement Manager records, eSign envelope transactions, or separate results from both systems.
getEnvelopeVsAgreementSkill
Cancel a running Maestro workflow instance. A workflow can be of type CLM or Maestro. If the type is not known, clarify with the user before proceeding. This tool is ONLY for Maestro workflows — if the user intends to action on CLM, use the CLM tools instead. If the user does not specify whether they mean CLM or Maestro workflows, you MUST ask the user to clarify before calling any workflow tool.
cancelWorkflowInstance
Creates a Docusign envelope. Prerequisite: call resolveEnvelopeSendMethod first to confirm this is the correct path. For template-based envelopes: Provide envelopeDefinition.templateId. Call getTemplates first to find the correct ID. For URL-based document envelopes: Provide envelopeDefinition.documents with remoteUrl. Each document requires: documentId, name, and remoteUrl (publicly accessible HTTPS URL, max 25 MB per file). At least one signer in recipients is required. CRITICAL CONSTRAINTS: (1) NEVER call with a templateId unless the user has explicitly identified a specific template. (2) NEVER auto-select, guess, or substitute a "similar" template. (3) DO NOT generate documentBase64 content — this tool does not accept base64 file uploads. (4) Recipients and tabs are optional when using templateId (the template may already define them). (5) When using remoteUrl documents, recipients with at least one signer are required. GOTCHA — Adding documents to an existing envelope is not supported: The updateEnvelope tool does not support adding documents. If a draft envelope needs a document, create a new envelope with the document included from the start.
createEnvelope
Launch the Docusign upload widget so the user can select one or more local files, add recipients, customize the email subject and message, place signature fields, and send for signature — all within the widget UI. **CALL THIS TOOL ONLY** when the user explicitly wants to upload local files to create a brand-new envelope from scratch. ## MUST NOT call this tool when: - An `envelopeId` already exists from a previous step and the user is asking about, continuing, modifying, or acting on that existing envelope. - You want to retrieve, refresh, verify, restore, or re-establish envelope context. - You are trying to resume a previously launched upload flow. **Re-invoking this tool resets and relaunches the upload widget from scratch — it does not resume, inspect, or verify an existing envelope.** Exception: if the user explicitly asks to create a completely new envelope separate from the existing one, it is correct to call this tool. For existing envelopes, use the known `envelopeId` directly with the specific tool for the information requested: - status/timeline/lifecycle → `getEnvelope` (Note: `getEnvelope` does NOT return documents or recipients) - documents/attachments → `listEnvelopeDocuments` - recipients/signers/routing order → `listRecipients` - other queries → the corresponding envelope tool If the user query is vague or ambiguous, ask the user to clarify what specific envelope details they need. ## Prerequisites (for a new upload): 1. Call `resolveEnvelopeSendMethod` with `intent: 'documents'` first — do not call this tool directly, even if the user's phrasing closely matches the tool name. 2. Obtain the user's `accountId` via `#getUserInfo` before calling this tool. 3. **Do NOT ask the user for recipient details, email subject, message, or other envelope content before calling.** The widget collects all of that interactively. If the user provided a URL instead of a local file, follow the URL path returned by `resolveEnvelopeSendMethod`. ## After the widget launches: As soon as an `envelopeId` is available (sent automatically by the widget as it progresses), preserve it and use that ID directly for all subsequent operations on that envelope. **You do NOT need to invoke this tool again before calling another envelope tool.** If the user is referring to an existing envelope but its `envelopeId` is not available, retrieve or identify it using the appropriate envelope search/list tool. Do not relaunch this widget to recover context. For questions about the envelope's current Docusign server-side state, use the appropriate envelope read tool with its `envelopeId` (`getEnvelope` for status, `listEnvelopeDocuments` for documents, `listRecipients` for recipients). If the user query is vague, ask what specific information is needed.
createEnvelopeWithDocuments
Removes a document from an existing draft envelope by document ID.
deleteEnvelopeDocument
Retrieve account information for a specific eSign account.
getAccount
Use this tool to retrieve detailed information about a specific agreement
getAgreementDetails
ROUTING: If the request does not say "completed," you MUST also call getEnvelopes in the SAME response (parallel). Do not call this tool alone — call both tools together before reviewing results. Retrieves agreements for a Docusign account. REQUIRED: Call getEnvelopeVsAgreementSkill first to confirm this tool is appropriate, then call getAgreementFilterSkill for filter syntax. IMPORTANT: If the user's request mentions ANY filtering criteria (dates, durations, time periods, amounts, comparisons like before/after/greater/less/longer/shorter/more/over/under, status values, agreement types, or multiple conditions), you MUST include the "filter" parameter with an OData expression. NEVER return unfiltered results when the user specified criteria. DO NOT use "sort" when the user says before/after/greater/less/over/under/expiring/due — those words require the "filter" parameter, NOT sort. Sort only controls result ordering; it does NOT filter results. Examples: - "effective date after March 2026" → filter: "provisions/effective_date ge 2026-03-01" - "confidentiality obligations longer than 2 years" → filter: "provisions/confidentiality_obligation_period gt 'P2Y'" - "total value over $500k" → filter: "provisions/total_agreement_value gt 500000" - "completed MSAs" → filter: "status eq 'COMPLETE' and type in ('Msa')" Supports two filtering approaches — do NOT mix them in one call: 1. OData "filter" parameter (REQUIRED for any comparison, date, amount, duration, or multiple conditions). Only the fields listed in the filter parameter description are allowed. 2. Basic query parameters (id, status, review_status, title, parties.name_in_agreement, etc.): use ONLY for simple exact-match filtering. For any field NOT in the filter allowlist (e.g. title, review_status, party name, language), use the matching basic parameter — never put it in the OData filter.
getAllAgreements
Retrieve workflow definitions for a CLM account. Returns definition uid, name, createdDate, and updatedDate. Returns at most 20 definitions per call. When pagination.hasMore is true, call this tool again passing pagination.nextCursor as cursor to get the next page, and repeat until hasMore is false. The cursor preserves the original name filter and sort, so do not rebuild the query by hand and do not re-send name, limit, offset or sort alongside a cursor — they are ignored. Only if hasMore is true while nextCursor is null, page manually by passing pagination.nextOffset as offset. An empty result means no definition matched OR the upstream CLM service was unavailable — CLM does not distinguish the two — so report it as "none found" rather than asserting the account has no workflows. This tool is for CLM workflows ONLY. If the user intent is known to be Maestro, you MUST NOT call this tool — use the Maestro workflow tools instead. A workflow can be of type CLM or Maestro. If the type is not known, clarify with the user before proceeding. This tool is ONLY for CLM workflows — if the user intends to action on Maestro, use the Maestro tools instead. If the user does not specify whether they mean CLM or Maestro workflows, you MUST ask the user to clarify before calling any workflow tool.
getClmWorkflowDefinitions
Returns a one-time URL for the Docusign embedded sender view of a draft envelope. When opened in a browser, the sender can add signature fields, place tabs, and send the envelope.
getDraftSenderView
Gets the status of a single envelope. Retrieves the overall status and information for the specified envelope from Docusign eSign REST API.
getEnvelope
REQUIRED: Call getEnvelopeVsAgreementSkill first to confirm this tool is appropriate. ROUTING: If this is not a specific envelope lifecycle query (voided, pending signature, timed out), also call getAllAgreements. Search for specific sets of envelopes by using search filters. Retrieve envelope status, documents, and metadata from Docusign eSign REST API Start date for envelope search in ISO 8601 format (YYYY-MM-DD). At least one of from_date, envelope_ids, or transaction_ids must be provided. Pause and ask the user from which date they would like to search. If none are provided, from_date defaults to 30 days ago. Use folder_ids or folder_types to scope results to specific Docusign folders.
getEnvelopes
Retrieves the list of templates for the specified account with comprehensive filtering options including date ranges, folder types, search text, and sharing settings.
getTemplates
Returns upload configuration for the widget: the upload strategy and strategy-specific credentials. Widget-internal use only.
getUploadConfig
Retrieve detailed information for a specific eSign user within an account.
getUser
Provides information about the currently authenticated Docusign user - such as profile details, associated accounts, and API base URIs - to establish user and account context for subsequent API operations.
getUserInfo
Retrieve a list of eSign users for an account with optional filtering.
getUsers
Retrieve details of a specific Maestro workflow instance. A workflow can be of type CLM or Maestro. If the type is not known, clarify with the user before proceeding. This tool is ONLY for Maestro workflows — if the user intends to action on CLM, use the CLM tools instead. If the user does not specify whether they mean CLM or Maestro workflows, you MUST ask the user to clarify before calling any workflow tool.
getWorkflowInstance
Retrieve all instances for a specific Maestro workflow. A workflow can be of type CLM or Maestro. If the type is not known, clarify with the user before proceeding. This tool is ONLY for Maestro workflows — if the user intends to action on CLM, use the CLM tools instead. If the user does not specify whether they mean CLM or Maestro workflows, you MUST ask the user to clarify before calling any workflow tool.
getWorkflowInstancesList
Retrieve trigger requirements for a specific Maestro workflow. Always call this before attempting triggerWorkflow. A workflow can be of type CLM or Maestro. If the type is not known, clarify with the user before proceeding. This tool is ONLY for Maestro workflows — if the user intends to action on CLM, use the CLM tools instead. If the user does not specify whether they mean CLM or Maestro workflows, you MUST ask the user to clarify before calling any workflow tool.
getWorkflowTriggerRequirements
Retrieve a list of available Maestro workflows. A workflow can be of type CLM or Maestro. If the type is not known, clarify with the user before proceeding. This tool is ONLY for Maestro workflows — if the user intends to action on CLM, use the CLM tools instead. If the user does not specify whether they mean CLM or Maestro workflows, you MUST ask the user to clarify before calling any workflow tool.
getWorkflowsList
Retrieves a list of documents associated with the specified envelope. Use this tool with include_tabs=true when retrieving document/sender prefill tabs for an envelope.
listEnvelopeDocuments
Gets the status of recipients for an envelope. Retrieves the status of all recipients in a single envelope and identifies the current recipient in the routing list. This method can also be used to retrieve the tab values.
listRecipients
Receives error and telemetry reports from MCP widgets and logs them server-side for observability.
logWidgetError
Pause a Maestro workflow to prevent new instances from being created. A workflow can be of type CLM or Maestro. If the type is not known, clarify with the user before proceeding. This tool is ONLY for Maestro workflows — if the user intends to action on CLM, use the CLM tools instead. If the user does not specify whether they mean CLM or Maestro workflows, you MUST ask the user to clarify before calling any workflow tool.
pauseNewWorkflowInstances
Returns step-by-step instructions for sending a Docusign envelope for signature. THIS TOOL DOES NOT CREATE OR SEND ANYTHING — it returns guidance. **CALL THIS FIRST** for any request to send something for signature, upload a document (local file or URL), or determine whether to use a template or document. Set intent to: - template (user mentions using a Docusign template) - documents (user wants to upload or provide their own file) - mixed (both — not yet supported; you'll get a redirect) - unknown (ambiguous or unclear request) For template envelopes, the returned instructions field contains a mandatory 9-step orchestration procedure. Skipping these steps (particularly steps 1–3: document discovery, recipient discovery, tab filtering) will cause envelope creation to fail or produce malformed envelopes. For **document envelopes** (intent: documents), the returned instructions cover two sub-paths: - **Local file**: user has a file on their machine → `createEnvelopeWithDocuments` (widget) - **URL-based**: user has or provides a URL to a document → `createEnvelope` with `remoteUrl` Follow the instructions field to determine which path applies.
resolveEnvelopeSendMethod
Resume a paused Maestro workflow to allow new instances. A workflow can be of type CLM or Maestro. If the type is not known, clarify with the user before proceeding. This tool is ONLY for Maestro workflows — if the user intends to action on CLM, use the CLM tools instead. If the user does not specify whether they mean CLM or Maestro workflows, you MUST ask the user to clarify before calling any workflow tool.
resumeWorkflow
Sends reminder notifications to all pending recipients in a Docusign envelope who need to sign or take action. Only remote (email-based) recipients receive reminders; embedded signers (with clientUserId) are silently skipped. Before calling, use listRecipients to check if any pending recipients are embedded and inform the user accordingly. Optionally override the email subject and body before sending reminders.
sendReminder
Start a new CLM workflow instance by providing the workflow definition name. The Name must exactly match a workflow definition configured in the CLM designer. Optionally pass XML parameters (Params) or documents (workflowDocuments) required by the workflow. Note: workflowParams and workflowDocuments are mutually exclusive — if both are provided, only workflowParams is used. DOCUMENT RESOLUTION: If the user does not provide a full href, you MUST automatically resolve it without asking: Path A (user provides a document/file name): 1) call getAllAgreements with the file name to find matching agreements. If no results are found, retry with status set to PENDING. 2) If multiple agreements match, present the list to the user and ask them to select the correct one before proceeding. 3) call getAgreementDetails with the agreementId to retrieve the document _links/href, 4) use that href in workflowDocuments. Path B (user provides an agreementId): 1) call getAgreementDetails with the agreementId to retrieve the document _links/href, 2) use that href in workflowDocuments. Do NOT ask the user for the href — resolve it yourself. A workflow can be of type CLM or Maestro. If the type is not known, clarify with the user before proceeding. This tool is ONLY for CLM workflows — if the user intends to action on Maestro, use the Maestro tools instead. If the user does not specify whether they mean CLM or Maestro workflows, you MUST ask the user to clarify before calling any workflow tool.
startClmWorkflow
Stop (abort) a pending or running CLM workflow instance by providing its workflow instance ID. In case more than one workflow is running always clarify the instance ID to stop.Only instances where IsCompleted is false can be stopped. This permanently aborts the in-progress instance and cannot be undone. Requires the spring_write OAuth scope and a user assigned the Super Admin account role. The workflowInstanceId is the uid segment of the href returned when the workflow was started. A workflow can be of type CLM or Maestro. If the type is not known, clarify with the user before proceeding. This tool is ONLY for CLM workflows — if the user intends to action on Maestro, use the Maestro tools instead. If the user does not specify whether they mean CLM or Maestro workflows, you MUST ask the user to clarify before calling any workflow tool.
stopClmWorkflow
Trigger a new instance of a Maestro workflow. IMPORTANT: Only works for workflows with start method "From an API call". You MUST call getWorkflowTriggerRequirements first. If triggering fails with a "trigger type=Url" error, inform the user that the workflow trigger method should be set to "From an API" in the Docusign platform. A workflow can be of type CLM or Maestro. If the type is not known, clarify with the user before proceeding. This tool is ONLY for Maestro workflows — if the user intends to action on CLM, use the CLM tools instead. If the user does not specify whether they mean CLM or Maestro workflows, you MUST ask the user to clarify before calling any workflow tool.
triggerWorkflow
Updates an existing Docusign envelope. Supports sending draft envelopes, voiding envelopes, modifying email content, purge operations, and workflow management.
updateEnvelope
Adds or updates a document on an existing draft envelope. Used by the upload-document widget to attach files one at a time to an envelope that was already created in draft status. Accepts base64-encoded file content. Uploads one document per call for fault-tolerance — if one file fails, others can still succeed.
updateEnvelopeDocument
Adds, updates, or removes recipients on an existing envelope. At least one of recipientsToAdd, recipientsToUpdate, or recipientsToRemove must be provided. Operations are performed sequentially: add, then update, then remove. In case of recipient updates, only recipientIds are returned; if the user wants to check the updated values they can use the listRecipients tool.
updateEnvelopeRecipients
Updates tabs for a document or recipient in an envelope. Provide documentId to update document-level prefill tabs, or recipientId to update recipient-level tabs. Exactly one of documentId or recipientId must be provided. IMPORTANT: The tabs field is mandatory and must not be empty — at least one tab must be provided. Always use tabId whenever possible to identify the specific tab to update. For prefilled tabs (within the prefillTabs object), you MUST ask the user to provide the necessary input values before updating.
updateEnvelopeTabs
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Docusign alternatives on ChatGPT?
As of 2026-09-28, Docusign competes with Atlas, DocuSeal, eSignatures.com, esigner.no, Frondy, Jotform Sign, PandaDoc, Sign.com, SignatureAPI, Signeasy, SignNow in ChatGPT E-Signature & Contract Execution, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.