# Esign Automation

> Automate contract signing, esign, and signature workflows by calling the eSignGlobal CLI tool. The eSignGlobal CLI is agent-friendly, with JSON output by default, making eSignGlobal signing operations easy to parse and chain.

- Skill: `dvcrn/esign-automation` (Agent Skill)
- Install (CLI): `npx skillmds@latest add dvcrn/esign-automation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/esign-automation/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/dvcrn/esign-automation

---


# eSign Automation

This skill provides automation capabilities for the eSignGlobal electronic signature platform.
It enables AI agents to automate document signing workflows and integrate with eSignGlobal APIs. 
This skill is maintained by the eSignGlobal team and is intended for safe automation of contract signing workflows.

## Best For

Use this skill when the user wants to:

- send a contract, agreement, or approval form for signature
- launch a new e-sign workflow from a local file
- send one document to one or more recipients for signing

Example requests:

- "Send this contract to John for signature"
- "Start a signing workflow for this PDF"
- "Send this agreement to Alice and Bob"

## Installation

Use the external CLI through `npx`:

```bash
npx @esignglobal/envelope-cli <command>
```

## Setup

Before calling any send action, set `ESIGNGLOBAL_APIKEY` in the shell environment.
If the user does not already have an api key, direct them to:

1. Sign in at `https://www.esignglobal.com`
2. Open `Settings -> Integration -> Apps`
3. Create an application and copy the generated api key

```bash
# Windows PowerShell
$env:ESIGNGLOBAL_APIKEY="your_api_key"

# macOS / Linux
export ESIGNGLOBAL_APIKEY="your_api_key"

# Verify connectivity
npx @esignglobal/envelope-cli config health
```

Credential handling rules:

- The CLI reads credentials only from `ESIGNGLOBAL_APIKEY`
- Do not implement local credential storage inside this skill
- Do not print or persist secrets

## Workflow

1. Collect a single absolute `filePath`, signer list, and optional `subject`
2. Confirm the file is a `.pdf` and the signer data is complete
3. Set `ESIGNGLOBAL_APIKEY` in the current shell session
4. Run the external CLI command to send the envelope
5. Return the CLI result to the user

## Safety Rules

- Only use a file path the user explicitly provided for this task
- Only handle one local PDF file per run
- Refuse relative paths; require an absolute path to a `.pdf` file
- Reject any non-PDF file before invoking the CLI
- Never print or persist secrets
- Do not scan directories, expand globs, or discover files on the user's behalf
- Only call the trusted eSignGlobal CLI configured for this environment

## Required Inputs

- `filePath`: absolute path to an existing local PDF file
- `signers`: JSON array of signer objects
- `subject`: optional email or envelope subject

Each signer must include:
- `userName`
- `userEmail`

Optional field:
- `signOrder` as an integer `>= 1`


## Input Format

### filePath

`filePath` must be an absolute path to an existing local PDF file.

Example:

```text
/tmp/contract.pdf
```

### signers

Each signer must include:

- `userName`
- `userEmail`

Optional field:

- `signOrder` (integer, minimum `1`)

Single signer example:

```json
[
  {
    "userName": "Bob Smith",
    "userEmail": "bob@example.com"
  }
]
```

Sequential signing example:

```json
[
  {
    "userName": "Bob Smith",
    "userEmail": "bob@example.com",
    "signOrder": 1
  },
  {
    "userName": "Alice Jones",
    "userEmail": "alice@example.com",
    "signOrder": 2
  }
]
```

Parallel signing example:

```json
[
  {
    "userName": "Bob Smith",
    "userEmail": "bob@example.com",
    "signOrder": 1
  },
  {
    "userName": "Alice Jones",
    "userEmail": "alice@example.com",
    "signOrder": 1
  }
]
```

## External CLI Pattern

Use the external command-line tool instead of bundled scripts:

```bash
npx @esignglobal/envelope-cli send-envelope --file <filePath> --signers '<signersJson>' [--subject <subject>] --confirm
```

Check available commands if needed:

```bash
npx @esignglobal/envelope-cli help
```

Example:

```bash
npx @esignglobal/envelope-cli send-envelope --file "C:\\docs\\contract.pdf" --signers '[{"userName":"Bob Smith","userEmail":"bob@example.com"}]' --subject "Please sign this contract" --confirm
```

## Required Configuration

- Node.js 18 or later
- Access to the trusted external CLI, either preinstalled or available through `npx`
- `ESIGNGLOBAL_APIKEY` must already be configured in the shell environment

## Output

Return the external CLI result. Do not bundle or implement upload logic inside this skill.

