Skip to main content
ClaudeWave
Skill3k estrellas del repoactualizado yesterday

docusign-automation

This Claude Code skill automates DocuSign e-signature workflows by connecting to Composio's DocuSign toolkit through Rube MCP, enabling users to list templates, create envelopes from templates, assign recipient roles, and send documents for signature. Use it when building workflows that require programmatic control over DocuSign document management, template selection, and envelope sending without manual DocuSign interface interaction.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/davepoon/buildwithclaude /tmp/docusign-automation && cp -r /tmp/docusign-automation/plugins/all-skills/skills/docusign-automation ~/.claude/skills/docusign-automation
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

# DocuSign Automation via Rube MCP

Automate DocuSign e-signature workflows through Composio's DocuSign toolkit via Rube MCP.

**Toolkit docs**: [composio.dev/toolkits/docusign](https://composio.dev/toolkits/docusign)

## Prerequisites

- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active DocuSign connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `docusign`
- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas

## Setup

**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.


1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `docusign`
3. If connection is not ACTIVE, follow the returned auth link to complete DocuSign OAuth
4. Confirm connection status shows ACTIVE before running any workflows

## Core Workflows

### 1. Browse and Select Templates

**When to use**: User wants to find available document templates for sending

**Tool sequence**:
1. `DOCUSIGN_LIST_ALL_TEMPLATES` - List all available templates [Required]
2. `DOCUSIGN_GET_TEMPLATE` - Get detailed template information [Optional]

**Key parameters**:
- For listing: Optional search/filter parameters
- For details: `templateId` (from list results)
- Response includes template `templateId`, `name`, `description`, roles, and fields

**Pitfalls**:
- Template IDs are GUIDs (e.g., '12345678-abcd-1234-efgh-123456789012')
- Templates define recipient roles with signing tabs; understand roles before creating envelopes
- Large template libraries require pagination; check for continuation tokens
- Template access depends on account permissions

### 2. Create and Send Envelopes from Templates

**When to use**: User wants to send documents for signature using a pre-built template

**Tool sequence**:
1. `DOCUSIGN_LIST_ALL_TEMPLATES` - Find the template to use [Prerequisite]
2. `DOCUSIGN_GET_TEMPLATE` - Review template roles and fields [Optional]
3. `DOCUSIGN_CREATE_ENVELOPE_FROM_TEMPLATE` - Create the envelope [Required]
4. `DOCUSIGN_SEND_ENVELOPE` - Send the envelope for signing [Required]

**Key parameters**:
- For CREATE_ENVELOPE_FROM_TEMPLATE:
  - `templateId`: Template to use
  - `templateRoles`: Array of role assignments with `roleName`, `name`, `email`
  - `status`: 'created' (draft) or 'sent' (send immediately)
  - `emailSubject`: Custom subject line for the signing email
  - `emailBlurb`: Custom message in the signing email
- For SEND_ENVELOPE:
  - `envelopeId`: Envelope ID from creation response

**Pitfalls**:
- `templateRoles` must match the role names defined in the template exactly (case-sensitive)
- Setting `status` to 'sent' during creation sends immediately; use 'created' for drafts
- If status is 'sent' at creation, no need to call SEND_ENVELOPE separately
- Each role requires at minimum `roleName`, `name`, and `email`
- `emailSubject` overrides the template's default email subject

### 3. Monitor Envelope Status

**When to use**: User wants to check the status of sent envelopes or track signing progress

**Tool sequence**:
1. `DOCUSIGN_GET_ENVELOPE` - Get envelope details and status [Required]

**Key parameters**:
- `envelopeId`: Envelope identifier (GUID)
- Response includes `status`, `recipients`, `sentDateTime`, `completedDateTime`

**Pitfalls**:
- Envelope statuses: 'created', 'sent', 'delivered', 'signed', 'completed', 'declined', 'voided'
- 'delivered' means the email was opened, not that the document was signed
- 'completed' means all recipients have signed
- Recipients array shows individual signing status per recipient
- Envelope IDs are GUIDs; always resolve from creation or search results

### 4. Add Templates to Existing Envelopes

**When to use**: User wants to add additional documents or templates to an existing envelope

**Tool sequence**:
1. `DOCUSIGN_GET_ENVELOPE` - Verify envelope exists and is in draft state [Prerequisite]
2. `DOCUSIGN_ADD_TEMPLATES_TO_DOCUMENT_IN_ENVELOPE` - Add template to envelope [Required]

**Key parameters**:
- `envelopeId`: Target envelope ID
- `documentId`: Document ID within the envelope
- `templateId`: Template to add

**Pitfalls**:
- Envelope must be in 'created' (draft) status to add templates
- Cannot add templates to already-sent envelopes
- Document IDs are sequential within an envelope (starting from '1')
- Adding a template merges its fields and roles into the existing envelope

### 5. Manage Envelope Lifecycle

**When to use**: User wants to send, void, or manage draft envelopes

**Tool sequence**:
1. `DOCUSIGN_GET_ENVELOPE` - Check current envelope status [Prerequisite]
2. `DOCUSIGN_SEND_ENVELOPE` - Send a draft envelope [Optional]

**Key parameters**:
- `envelopeId`: Envelope to manage
- For sending: envelope must be in 'created' status with all required recipients

**Pitfalls**:
- Only 'created' (draft) envelopes can be sent
- Sent envelopes cannot be unsent; they can only be voided
- Voiding an envelope notifies all recipients
- All required recipients must have valid email addresses before sending

## Common Patterns

### ID Resolution

**Template name -> Template ID**:
```
1. Call DOCUSIGN_LIST_ALL_TEMPLATES
2. Find template by name in results
3. Extract templateId (GUID format)
```

**Envelope tracking**:
```
1. Store envelopeId from CREATE_ENVELOPE_FROM_TEMPLATE response
2. Call DOCUSIGN_GET_ENVELOPE periodically to check status
3. Check recipient-level status for individual signing progress
```

### Template Role Mapping

When creating an envelope from a template:
```
1. Call DOCUSIGN_GET_TEMPLATE to see defined roles
2. Map each role to actual recipients:
   {
     "roleName": "Signer 1",     // Must match template role name exactly
     "name": "John Smith",
     "email": "john@example.com"
   }
3. Include ALL required roles in templateRoles array
```

### Envelope Status Flow

```
created (draft) -> sent -> delivered -> signed -> completed
                       \