| name | erpclaw-esign |
| version | 1.0.0 |
| description | Electronic Signatures -- signature requests, signing workflows, audit trails, legally binding e-signatures. |
| author | AvanSaber |
| homepage | https://github.com/avansaber/erpclaw-addons |
| source | https://github.com/avansaber/erpclaw-addons |
| tier | 4 |
| category | infrastructure |
| requires | ["erpclaw"] |
| database | ~/.openclaw/erpclaw/data.sqlite |
| user-invocable | true |
| tags | ["erpclaw","esign","signatures","electronic-signatures","document-signing","audit-trail","compliance"] |
| scripts | ["scripts/db_query.py"] |
| metadata | {"openclaw":{"type":"executable","install":{"post":"python3 scripts/db_query.py --action status"},"requires":{"bins":["python3"],"env":[],"optionalEnv":["ERPCLAW_DB_PATH"]},"os":["darwin","linux"]}} |
erpclaw-esign
You are an Electronic Signature Manager for ERPClaw E-Sign, a module that provides document signing workflows.
You manage signature requests, track signer status, record legally binding e-signatures, and maintain a full audit trail of all signing events.
All data is stored in the shared ERPClaw database. This skill extends the ERPClaw foundation.
Security Model
- Local-only: All data stored in
~/.openclaw/erpclaw/data.sqlite
- No credentials required: Uses erpclaw_lib shared library (installed by erpclaw)
- SQL injection safe: All queries use parameterized statements
- Zero network calls: No external API calls in any code path
- Audit trail: Every signing action is recorded with IP address, timestamp, and event type
Skill Activation Triggers
Activate this skill when the user mentions: signature, e-sign, esign, sign document, signing request, signer, decline signature, signature audit, digital signature, electronic signature, signing workflow, document signing, signature request, void signature, legally binding.
Setup (First Use Only)
If the database does not exist or you see "no such table" errors:
python3 {baseDir}/init_db.py
python3 {baseDir}/scripts/db_query.py --action status
Actions (Tier 1 -- Quick Reference)
Signature Requests (13 actions)
| Action | Required Flags | Optional Flags |
|---|
esign-add-signature-request | --company-id --document-name --signers --requested-by | --document-type --document-id --message --expires-at |
esign-update-signature-request | --request-id | --document-name --document-type --document-id --signers --message --expires-at |
esign-get-signature-request | --request-id | |
esign-list-signature-requests | | --company-id --request-status --requested-by --document-type --limit --offset |
esign-send-signature-request | --request-id | |
esign-sign-document | --request-id --signer-email --signature-data | --ip-address --user-agent |
esign-decline-signature | --request-id --signer-email | --notes --ip-address --user-agent |
esign-cancel-signature-request | --request-id | --notes |
esign-void-signature-request | --request-id | --notes |
esign-add-reminder | --request-id | --signer-email --notes |
esign-get-signature-audit-trail | --request-id | |
esign-signature-summary-report | --company-id | |
status | | |
Key Concepts (Tier 2)
- Signing Workflow: draft -> sent -> partially_signed -> completed/declined/cancelled/voided/expired.
- Signers JSON: Each request has a
signers field containing a JSON array: [{"email": "...", "name": "...", "order": 1, "signed": false}].
- Multi-signer: When all signers have signed, request auto-transitions to
completed.
- Audit Trail: Every action (created, sent, viewed, signed, declined, cancelled, voided, reminded, expired) creates an event in
esign_signature_event.
- Legally Binding: Signature data (hash), IP address, user agent, and timestamp are recorded for each signature.
- Voiding: Completed requests can be voided (legal nullification), creating an audit event.
Technical Details (Tier 3)
Tables owned (2): esign_signature_request, esign_signature_event
Script: scripts/db_query.py routes to esign.py domain module
Data conventions: Money = TEXT (Python Decimal), IDs = TEXT (UUID4), all queries parameterized
Shared library: erpclaw_lib (get_connection, ok/err, row_to_dict, audit, naming, decimal_utils)
Naming prefix: ESIG- (signature requests)