esign-automation
SKILL.md
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.
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"
What This Skill Does
The skill runs the following steps:
- Authenticate with eSignGlobal using
ESIGNGLOBAL_APIKEY - Request a secure upload URL
- Upload the source document
- Create and start the envelope
Requirements
- Node.js 18 or later
- A TypeScript runner:
- recommended:
npx tsx - optional:
npx ts-node
- recommended:
- An eSignGlobal application key exposed as
ESIGNGLOBAL_APIKEY
Required Configuration
Set the environment variable below before running the skill:
ESIGNGLOBAL_APIKEY
If the user does not already have an app key, direct them to:
- Sign in at
https://www.esignglobal.com - Open
Settings -> Integration -> Apps - Create an application and copy the generated API Key
Required Inputs
To send an envelope, collect:
filePath: absolute path to the local filesigners: JSON array of signer objects
Optional input:
subject: custom email or envelope subject; when omitted, the document name without its extension is used first
Input Format
filePath
filePath must be an absolute path to an existing local file.
Example:
/tmp/contract.pdf
signers
Each signer must include:
userNameuserEmail
Optional field:
signOrder(integer, minimum1)
Single signer example:
[
{
"userName": "Bob Smith",
"userEmail": "bob@example.com"
}
]
Sequential signing example:
[
{
"userName": "Bob Smith",
"userEmail": "bob@example.com",
"signOrder": 1
},
{
"userName": "Alice Jones",
"userEmail": "alice@example.com",
"signOrder": 2
}
]
Parallel signing example:
[
{
"userName": "Bob Smith",
"userEmail": "bob@example.com",
"signOrder": 1
},
{
"userName": "Alice Jones",
"userEmail": "alice@example.com",
"signOrder": 1
}
]
Command
npx tsx scripts/send_envelope.ts send <filePath> <signersJson> [subject]
Example:
npx tsx scripts/send_envelope.ts send "/tmp/contract.pdf" '[{"userName":"Bob","userEmail":"bob@example.com"}]'
Output
The script returns JSON.
Success example:
{
"success": true,
"step": "send",
"message": "Envelope initiated successfully"
}
Failure example:
{
"success": false,
"step": "send",
"message": "Failed to execute envelope flow",
"error": "Authentication failed"
}
Security Notes
- Provide credentials only through
ESIGNGLOBAL_APIKEY - Never print, log, or persist secrets in files
- Only use trusted local files as input
Weekly Installs
6
Repository
esign-cn-open-s…e/skillsGitHub Stars
11
First Seen
4 days ago
Security Audits
Installed on
cursor6
gemini-cli6
github-copilot6
amp6
cline6
codex6