# n8n e-signature integration

You can use docuinked in n8n today in two ways: the HTTP Request node for fixed workflows, and the MCP Client Tool for AI agents. A verified community node is coming soon.

## What works today

| Route | Status |
|---|---|
| HTTP Request node | Works now, on n8n Cloud and self-hosted |
| MCP Client Tool | Works now. Connect it with a Bearer credential |
| Webhook node as a trigger | Works now |
| docuinked community node | Coming soon |

## Recipe: send a contract when a row is approved

Add an **HTTP Request** node after your trigger.

- Method: `POST`
- URL: `https://docuinked.com/v1/documents`
- Authentication: Generic, Header Auth, with `Authorization` set to `Bearer di_test_...`
- Header: `Idempotency-Key` set to an expression such as `contract-{{ $json.id }}`
- Body: JSON

```json
{"title": "Services agreement",
 "pdf_url": "https://example.com/contract.pdf",
 "signers": [{"name": "Dana Reed", "email": "dana@example.com"}],
 "send": true}
```

## Recipe: an AI Agent that prepares drafts

Add the **MCP Client Tool** to your AI Agent node. Set the endpoint to `https://docuinked.com/mcp`, and use Bearer auth with your key. The agent can then create drafts and read status. On a live key it can only ask to send. A person approves from the `approval_url`, so n8n needs no approval step of its own.

## Hear back when it is signed

Add a **Webhook** node and copy its production URL. Register it with `create_webhook`. Then check the signature in a **Code** node before you act on it. The [webhooks page](/docs/webhooks) has the code. Some n8n setups limit built-in modules in Code nodes, so check that `crypto` is allowed.

## Common questions

### Is there a docuinked node in the n8n nodes panel?

Not yet. A verified node is coming soon. The HTTP Request node and MCP Client Tool do the same work today.

### Will my n8n agent be able to send without a person?

Not over MCP. Every MCP caller counts as an agent, so a live send stops at approval. That covers the case where an agent runs on a schedule and no one is watching.

### What happens if n8n retries a failed node?

Set the `Idempotency-Key` from a stable value in the item. A retry with the same key returns the first result, so the contract goes out once.
