MCP App Store
by KeenEthics

Overview

Simplify contract management with intelligent automation powered by Docusign. Go beyond simple execution to make complex agreement workflows effortless. Use natural language to connect with your agreement data, instantly surface insights like renewal dates and key obligations, and create automated workflows that keep your business moving faster and with less friction.

Tools

cancelWorkflowInstance

ChatGPT
Cancel a running workflow instance

createEnvelope

ChatGPT
Creates a new Docusign envelope from an EXISTING Docusign template or from documents provided via a remote URL. There are two ways to create an envelope: (A) TEMPLATE-BASED: Call getTemplates first and confirm the exact templateId with the user. (B) REMOTE URL DOCUMENT: Provide documents with a remoteUrl pointing to any publicly accessible HTTP/HTTPS URL that returns raw file bytes. Each document requires documentId, name, and remoteUrl. Optionally include fileExtension only if you are certain of the format — otherwise omit it and let Docusign auto-detect. The URL must return file content directly (not an HTML viewer page). Convert share links to direct-download URLs where needed. Max 25 MB per document. CRITICAL CONSTRAINTS: (1) For template-based envelopes, NEVER call this tool unless the user has explicitly identified a specific template by name or ID. (2) NEVER auto-select, guess, or substitute a "similar" template — if no template is confirmed, ask the user to choose. (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.

createEnvelopeWithDocuments

ChatGPT
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.

deleteEnvelopeDocument

ChatGPT
Removes a document from an existing draft envelope by document ID.

getAccount

ChatGPT
Retrieve account information for a specific eSign account.

getAgreementDetails

ChatGPT
Use this tool to retrieve detailed information about a specific agreement

getAgreementFilterSkill

ChatGPT
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.

getAllAgreements

ChatGPT
This tool retrieves a list of all agreements associated with a Docusign account

getClmWorkflowDefinitions

ChatGPT
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.

getDraftSenderView

ChatGPT
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.

getEnvelope

ChatGPT
Gets the status of a single envelope. Retrieves the overall status and information for the specified envelope from Docusign eSign REST API.

getEnvelopeVsAgreementSkill

ChatGPT
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.

getEnvelopes

ChatGPT
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. Only proceed with a 30-day look-back period if the user does not respond.

getTemplates

ChatGPT
Retrieves the list of templates for the specified account with comprehensive filtering options including date ranges, folder types, search text, and sharing settings.

getUploadConfig

ChatGPT
Returns upload configuration for the widget: the upload strategy and strategy-specific credentials. Widget-internal use only.

getUser

ChatGPT
Retrieve detailed information for a specific eSign user within an account.

getUserInfo

ChatGPT
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.

getUsers

ChatGPT
Retrieve a list of eSign users for an account with optional filtering.

getWorkflowInstance

ChatGPT
Retrieve details of a specific workflow instance

getWorkflowInstancesList

ChatGPT
Retrieve all workflow instances for a specific workflow

getWorkflowTriggerRequirements

ChatGPT
Retrieve trigger requirements for a specific Maestro workflow

getWorkflowsList

ChatGPT
Retrieve a list of available Maestro workflows

listEnvelopeDocuments

ChatGPT
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.

listRecipients

ChatGPT
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.

logWidgetError

ChatGPT
Receives error and telemetry reports from MCP widgets and logs them server-side for observability.

pauseNewWorkflowInstances

ChatGPT
Pause new workflow instances from being created

resolveEnvelopeSendMethod

ChatGPT
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.

resumeWorkflow

ChatGPT
Resume a paused workflow to allow new instances

sendReminder

ChatGPT
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.

startClmWorkflow

ChatGPT
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.

stopClmWorkflow

ChatGPT
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.

triggerWorkflow

ChatGPT
Trigger a new instance of a Maestro workflow

updateEnvelope

ChatGPT
Updates an existing Docusign envelope. Supports sending draft envelopes, voiding envelopes, modifying email content, purge operations, and workflow management.

updateEnvelopeDocument

ChatGPT
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.

updateEnvelopeRecipients

ChatGPT
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.

updateEnvelopeTabs

ChatGPT
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.

cancelWorkflowInstance

Claude

createEnvelope

Claude

getAccount

Claude

getAgreementDetails

Claude

getAllAgreements

Claude

getEnvelope

Claude

getEnvelopes

Claude

getTemplates

Claude

getUser

Claude

getUserInfo

Claude

getUsers

Claude

getWorkflowInstance

Claude

getWorkflowInstancesList

Claude

getWorkflowTriggerRequirements

Claude

getWorkflowsList

Claude

listRecipients

Claude

pauseNewWorkflowInstances

Claude

resumeWorkflow

Claude

triggerWorkflow

Claude

updateEnvelope

Claude

Capabilities

WritesInteractive

Example Prompts

Click any prompt to copy it.

App Stats

56

Tools

3

Prompts

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily