# Docusign — Pipedream Connect

> Electronic Signature and Agreement Cloud

- API slug: `docusign` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: File Storage
- Website: https://docusign.com
- Managed OAuth scopes: `signature` · `extended` · `openid`
- This page (HTML): https://pipedream.com/apps/docusign
- Tools: 13 actions · 2 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: docusign`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "docusign",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Create Draft:
const result = await mcp.callTool({
  name: "docusign-create-draft",
  arguments: {
    account: "Account",
    template: "Template",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Docusign endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://api.example.com/v1/me

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdjEvbWU?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "docusign-create-draft",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    docusign: { authProvisionId: "apn_xxxxxxx" },
    account: "Account",
    template: "Template",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (13)

### `docusign-create-draft` — Create Draft (Write)

Create and send an envelope, or create a draft envelope. See the documentation here

Full schema: https://pipedream.com/apps/docusign/actions/create-draft.md

### `docusign-create-envelope` — Create Envelope (Write)

Create a DocuSign envelope from a full envelope definition JSON payload. Use this for advanced cases such as multiple documents, multiple recipients, composite templates, custom tabs, or eventNotification webhooks. For a simpler single-document flow, use Create Envelope From File. See the…

Full schema: https://pipedream.com/apps/docusign/actions/create-envelope.md

### `docusign-create-envelope-from-file` — Create Envelope From File (Write)

Create and optionally send a single-document DocuSign envelope from a file path or URL. This action places a SignHere tab by anchor text, such as /sn1/, in the uploaded document. Set Client User ID when you need embedded signing, then use Create Recipient View with the same value. See the…

Full schema: https://pipedream.com/apps/docusign/actions/create-envelope-from-file.md

### `docusign-create-recipient-view` — Create Recipient View (Write)

Create an embedded signing URL for a selected envelope recipient. The recipient must have been created with a clientUserId. See the documentation

Full schema: https://pipedream.com/apps/docusign/actions/create-recipient-view.md

### `docusign-create-signature-request` — Create Signature Request (Write)

Creates a signature request from a template See the docs here

Full schema: https://pipedream.com/apps/docusign/actions/create-signature-request.md

### `docusign-download-documents` — Download Documents (Read-only)

Download the documents of an envelope to the /tmp directory. See the documentation here

Full schema: https://pipedream.com/apps/docusign/actions/download-documents.md

### `docusign-get-envelope` — Get Envelope (Read-only)

Get details for a DocuSign envelope by ID. Use List Envelopes first if you need to find an envelope ID. See the documentation

Full schema: https://pipedream.com/apps/docusign/actions/get-envelope.md

### `docusign-list-accounts` — List Accounts (Read-only)

List the DocuSign accounts available to the connected user. Use this to find the Account ID required by other actions when the connected user belongs to more than one account. See the documentation

Full schema: https://pipedream.com/apps/docusign/actions/list-accounts.md

### `docusign-list-documents` — List Documents (Read-only)

List documents in a DocuSign envelope. Use this to find document IDs before downloading a specific document. See the documentation

Full schema: https://pipedream.com/apps/docusign/actions/list-documents.md

### `docusign-list-envelopes` — List Envelopes (Read-only)

Search for DocuSign envelopes by date, status, email, text, or folder filters. Use this to find envelope IDs for Get Envelope, List Recipients, List Documents, Send Envelope, Void Envelope, or Create Recipient View. See the documentation

Full schema: https://pipedream.com/apps/docusign/actions/list-envelopes.md

### `docusign-list-recipients` — List Recipients (Read-only)

List recipients and recipient status for a DocuSign envelope. Use Include Tabs when you need each recipient's tab values and placement. See the documentation

Full schema: https://pipedream.com/apps/docusign/actions/list-recipients.md

### `docusign-send-envelope` — Send Envelope (Write)

Send an existing draft DocuSign envelope by updating its status to sent. Use this after Create Envelope or Create Envelope From File, or any workflow that creates an envelope with status created. See the documentation

Full schema: https://pipedream.com/apps/docusign/actions/send-envelope.md

### `docusign-void-envelope` — Void Envelope (Write)

Void a DocuSign envelope that is still in process. Voiding cancels the envelope and prevents recipients from completing it. See the documentation

Full schema: https://pipedream.com/apps/docusign/actions/void-envelope.md

## Triggers (2)

### `docusign-new-change-in-envelope-status` — New Change in Envelope Status (Polling)

Emit new event when an envelope's status is updated

Full schema: https://pipedream.com/apps/docusign/triggers/new-change-in-envelope-status.md

### `docusign-new-folder` — New Folder (Polling)

Emit new event when a new folder is created

Full schema: https://pipedream.com/apps/docusign/triggers/new-folder.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
