Signing is the step that breaks the automation
A deal closes in the CRM. A new hire lands in the sheet. Everything else runs on its own, until someone has to open an e-signature app, upload a PDF, drag boxes and click send. Then wait, and check, and copy the signed file back.
docuinked turns that into two HTTP calls and a webhook.
Two steps send the contract
Save the contract once as a template in the web app, with its signer roles and fields. Each run then makes a draft from it, filling the roles in order with the people from your row. A second call sends it.
The Idempotency-Key header is what makes a rerun safe. Use something from your row, like a deal id. If the step runs again, you get the first reply back instead of a second contract.
curl https://docuinked.com/v1/templates/TEMPLATE_ID/documents \
-H "Authorization: Bearer $DOCUINKED_API_KEY" \
-H "Idempotency-Key: deal-4821-draft" \
-H "Content-Type: application/json" \
-d '{"title": "Services agreement, deal 4821",
"signers": [{"name": "Dana Reed",
"email": "dana@example.com"}]}'
curl https://docuinked.com/v1/documents/DOCUMENT_ID/send \
-H "Authorization: Bearer $DOCUINKED_API_KEY" \
-H "Idempotency-Key: deal-4821-send" \
-H "Content-Type: application/json" -d '{}'
A signature starts the next step
Add one webhook and your workflow hears about every change: sent, signed by one person, declined, completed. Each delivery is signed with HMAC-SHA256, so your workflow can check it came from us before it acts.
When document.completed arrives, fetch the sealed PDF and file it, update the deal, or start onboarding.
{"id": "evt_...",
"type": "document.completed",
"document": "doc_...",
"created_at": "2026-11-07T15:04:05Z"}
DocuInked-Signature: t=1794150245,v1=5f8a...
Built for things that run unattended
Reruns are safe
Every write takes an
Idempotency-Key. A retry returns the first result, never a second email.Mistakes stay small
Live sends have a daily limit during the beta, so a runaway loop can't reach hundreds of people.
Errors you can branch on
Every error has a stable code and says whether a retry is safe. See errors.
Test without emailing anyone
Test keys never send email. Magic addresses sign or decline on their own, so the whole flow runs in a test run.
Fields from your PDF
Put
{{signature:1}}tags or plain anchor text in your document, and fields land in the right place every time.Agents in the loop
If an AI step in your workflow prepares the contract, give it an agent key. A person approves before anything is sent.
Honest limits
There are no native n8n, Zapier or Make listings yet. Those are coming. Today you use each tool's HTTP step, which works with every endpoint. There is no bulk send yet: one call sends one document, so a list of 50 means 50 calls, each with its own idempotency key.