Automate your signatures with n8n
n8n is the open-source automation platform you can host yourself. Certyneo plugs into it through the native Webhook and HTTP Request nodes: nothing to install, nothing waiting on a marketplace review. Import our ready-made workflow, paste your API key, and your signature events drive the rest of your stack.
No community node to install: the integration only uses nodes that ship with n8n, so it also works on n8n Cloud, where third-party nodes are restricted.
Why connect Certyneo to n8n
n8n leaves the choice to you: the managed service, or your own server. Either way the Certyneo integration uses the public API and webhooks, with no proprietary middleman between your contracts and your tools.
All 11 events, not four
The Webhook node receives the whole envelope lifecycle — created, sent, opened, signed, declined, voided, expired, returned to sender. No trigger is left out, unlike connectors with a frozen list.
The whole API, with no wait
The HTTP Request node calls any Certyneo API endpoint the day it ships: create an envelope, send it, upload a document, fetch the signed PDF or the evidence pack.
Self-hosting supported
On an n8n instance you host yourself, your contract metadata passes through no third party: traffic goes from your server to Certyneo and nowhere else. A serious argument for legal teams and IT departments.
API key and HMAC signature
The connection authenticates with a limited-scope API key you can revoke at any time. Every incoming event is signed with HMAC-SHA256, so your workflow can prove it really came from Certyneo.
Available events
Subscribe the Webhook node to the events you care about. They arrive in real time, carrying the X-Certyneo-Signature header for you to verify inside n8n.
| Event | Triggers when… |
|---|---|
Envelope createdenvelope.created | An envelope has just been created and is still a draft. |
Envelope sentenvelope.sent | An envelope leaves draft status and goes to its recipients. |
Envelope signedenvelope.completed | Every recipient has signed: the envelope is finalised, with a download link for the signed PDF. |
Envelope refusedenvelope.declined | A recipient refuses to sign, with the reason they gave. |
Envelope cancelledenvelope.voided | The sender voids an envelope already in flight: the signing links stop working. |
Envelope expiredenvelope.expired | The deadline passed before every recipient had signed. |
Envelope returned to senderenvelope.returned_to_sender | A recipient sends the envelope back for correction instead of signing it. |
Envelope resubmittedenvelope.resubmitted | The sender fixes and re-sends an envelope that had been returned to them. |
Recipient signedrecipient.signed | A recipient completes their signature. Triggers once per signer, not just at the end. |
Recipient openedrecipient.viewed | A recipient opens the envelope for the first time — handy for chasing at the right moment. |
Recipient approvedrecipient.approved | A recipient whose role is approver validates the envelope without signing it. |
What you can drive
Each row is one HTTP Request node call, using Header Auth and your Certyneo key.
Create an envelope
POST /envelopes — compose an envelope from a Certyneo template or from documents already uploaded, with its recipients.
Send envelope
POST /envelopes/:id/send — takes the envelope out of draft and sends the invitations to sign.
List envelopes
GET /envelopes — paginated list, most recent first, with an optional status filter.
Upload a document
POST /documents — push a PDF from any n8n node, including an email attachment or a Drive file.
List templates
GET /templates — fetch your template ids so you never have to hard-code them in the workflow.
Download signed PDF
GET /envelopes/:id/signed-document — fetch the signed document, and /audit-trail for the evidence pack.
Set up the integration
The workflow we ship already contains the webhook, the per-event routing, the subscription call and a worked sending example. Give it five minutes.
- 1
Import the workflow
In n8n, open the workflow menu, pick "Import from URL…" and paste the address of our template. You can also download the file and drop it on the canvas.
- 2
Generate your API key
Open Certyneo → Settings → REST API and create a key with the envelopes and webhooks scopes. Copy it: it is shown only once.
- 3
Create the Header Auth credential
In n8n, add a "Header Auth" credential: name "Authorization", value "Bearer" followed by your key. Select it on the workflow's HTTP Request nodes.
- 4
Subscribe, then activate
Copy the Webhook node's production URL, paste it into the subscription call, run it once, then activate the workflow. Keep the returned "secret": it is what verifies the signature on incoming events.
Security and compliance
The n8n integration runs on the public Certyneo API, held to the same standard as the rest of the platform.
- End-to-end encrypted exchanges over HTTPS.
- Limited-scope API keys: grant only necessary permissions.
- Every event is signed with HMAC-SHA256 — verify it before acting on it.
- Revoke a key at any time from your dashboard.
Frequently asked questions
Do I need to install a Certyneo node in n8n?
No, and that is deliberate. The Webhook and HTTP Request nodes that ship with n8n already cover our entire API, so a dedicated package would only add a dependency to keep up to date. Because there is nothing to install, the integration also works on n8n Cloud, where community nodes are restricted.
Which Certyneo plan do I need to use n8n?
A live key (sk_live_…) requires a plan that includes API access (Standard and above). The Free and Personal plans come with a sandbox key (sk_test_…) so you can run the whole flow on test envelopes, with no email sent to signers.
How do I get my API key?
In Certyneo, go to Settings → REST API and create a key with the envelopes:read, envelopes:write and webhooks:write scopes. It starts with sk_live_ (or sk_test_ for the sandbox) and is shown only once: copy it immediately.
Does it work on a self-hosted n8n instance?
Yes, and that is the most interesting case. Your instance simply has to be reachable from the internet to receive our webhooks: a public HTTPS URL is enough. No data then passes through any third-party service.
Which signature events are covered?
All eleven lifecycle events: envelope created, sent, signed, declined, voided, expired, returned to sender, resubmitted, and recipient opened, signed or approved. You choose which ones you subscribe to.
How do I check an event really came from Certyneo?
Every delivery carries an X-Certyneo-Signature header holding the HMAC-SHA256 of the request body, computed with the secret returned when the subscription was created. Compare it in a Code node before processing the event.
Does the n8n integration cost anything?
Certyneo charges no premium. On the n8n side a self-hosted instance is free; on n8n Cloud each execution consumes your plan's quota.
Go further
Automate your contracts today
Import the workflow, paste your API key, and let your signatures trigger the rest.