Use this skill to automate agreement sending in OpenClaw with NanoPDF block detection and DocuSign envelope creation.
Collect:
name, email, optional key and routing_order)Use references/nano-pdf-signature-schema.md for expected NanoPDF output and references/docusign-envelope-mapping.md for signer/tab rules.
Set required variables:
NANOPDF_BASE_URLNANOPDF_API_KEYDOCUSIGN_BASE_URL (for example https://demo.docusign.net)DOCUSIGN_ACCOUNT_IDDOCUSIGN_ACCESS_TOKENOptional:
NANOPDF_DETECT_PATH (default: /v1/signature-blocks)DOCUSIGN_ENVELOPE_SUBJECTDOCUSIGN_ENVELOPE_BODYRun:
python3 scripts/send_agreement.py \
--pdf contracts/nda.pdf \
--signers-json contracts/signers.json \
--output-dir output/openclaw-agreements
Optional flags:
--subject overrides DOCUSIGN_ENVELOPE_SUBJECT--message sets the email blurb--status created saves as draft (sent is default)--scale 1.333333 converts NanoPDF point coordinates to DocuSign pixel-style positionsThe script will:
signer_key first, then in signer order)--output-dirCheck generated files:
nanopdf_blocks.jsondocusign_payload.jsonenvelope_result.jsonIf signer mapping is ambiguous or a signer has no blocks, stop and ask for explicit mapping before sending.
--status created first for new templates or high-stakes contracts.references/nano-pdf-signature-schema.mdreferences/docusign-envelope-mapping.md共 1 个版本