Free during the beta. No credit card.

Sign inStart free

A row becomes a contract. A signature becomes the next step.

Send contracts from n8n, Clay, Zapier, Make or any tool with an HTTP step. Reruns never send twice, and a signed webhook tells your workflow the moment a document is done.

No credit card · Test mode included · Signers never need an account

Using n8n? See the n8n recipe

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.

Templates in the API

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.

Webhooks and signature checks

{"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.

See every integration

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.

Common questions

Do I need a developer to set this up?

No. If you can fill in an HTTP step with a URL, a header and some JSON, you can send a contract. The integrations pages show the exact settings for each tool.

What happens if my workflow runs twice by mistake?

If both runs send the same Idempotency-Key, the second gets the first reply back and nothing new is sent. Use a value from your data, like a row or deal id, so a rerun always sends the same key.

How does my workflow know a contract was signed?

Add a webhook for document.completed, or poll get_document on a schedule. The webhook is faster and costs you no extra runs.

Wire signing into your next workflow.

No credit card · Free during the beta