# List Documents — Docusign

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

- Key: `docusign-list-documents`
- Type: Action (Read-only)
- Version: 0.0.3
- App: Docusign (`docusign`) — https://pipedream.com/apps/docusign.md
- This page (HTML): https://pipedream.com/apps/docusign/actions/list-documents
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/docusign/actions/list-documents/list-documents.mjs

## Description

List documents in a DocuSign envelope. Use this to find document IDs before downloading a specific document. [See the documentation](https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopedocuments/list/)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `account` | `string` | No | Your DocuSign account. Leave blank to automatically use your default account, or provide an Account ID (you can use List Accounts to retrieve available accounts). Options are loaded from the connected account. |
| `envelopeId` | `string` | Yes | The DocuSign envelope ID. Options are loaded from the connected account. |
| `includeTabs` | `boolean` | No | Whether to include tab information for each document. |
| `includeMetadata` | `boolean` | No | Whether to include document metadata. |

## Run it

**MCP**

```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()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "docusign-list-documents",
  arguments: {
    account: "Account",
    envelopeId: "Envelope ID",
  },
})
```

**TypeScript**

```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-list-documents",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    docusign: { authProvisionId: "apn_xxxxxxx" },
    account: "Account",
    envelopeId: "Envelope ID",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "docusign-list-documents",
    "configured_props": {
      "docusign": { "authProvisionId": "apn_xxxxxxx" },
      "account": "Account",
      "envelopeId": "Envelope ID"
    }
  }'
```

---

- App: https://pipedream.com/apps/docusign.md · All apps: https://pipedream.com/apps
