All integrations
n8n self-hosted automation
IN + OUT — /api/webhooks, POST /api/extract/infer
n8n is the self-hosted automation layer for teams that keep their pipelines on their own infrastructure. Dynamite Docs connects to it with the same two primitives it exposes everywhere else: an outbound webhook that fires on extraction.completed, and the REST API with scoped tokens an n8n node can call. The workflow stays inside your network, the trigger is signed, and the data moves only where your own n8n routes it.
Try it free or read the API & webhooks docs.
Automation is not only a SaaS decision
- Some teams keep automation inside their own infrastructure for data-residency or policy reasons. A cloud workflow tool is off the table.
- A connector that only exists as a hosted app cannot be wired into a self-hosted node graph.
- Data that leaves the network just to be re-routed is a privacy and latency problem no one asked for.
- Self-hosting only helps if the connected service exposes the same primitives a self-hosted workflow can consume.
How the n8n connection works
01 — Expose an n8n Webhook node
In your n8n instance, add a Webhook node (POST) and note its public URL. If the instance is not publicly reachable, expose the webhook via a tunnel or reverse proxy.
02 — Register it as a Dynamite Docs webhook
Add that URL as a webhook endpoint in Dynamite Docs. The endpoint must pass the public-URL SSRF guard, and payloads arrive signed with HMAC-SHA256.
03 — Build the workflow
n8n parses the payload, columns, rows, metadata, and confidence, and you wire the next nodes, a database write or a file move.
04 — Call the API from n8n
For the IN direction, an HTTP Request node POSTs a file to /api/extract/infer with a scoped token and the workflow consumes the structured response.
The n8n surface
The self-hosted equivalent of the same honest primitives:
- Trigger — extraction.completed → Webhook node
- Payload — columns, rows, metadata, confidence
- Signature — HMAC-SHA256 (X-Dynamite-Signature)
- Send documents in — POST /api/extract/infer with a token
- Runs — inside your n8n instance
- Retries — backoff + jitter, up to 3 attempts
A realistic example
An audit-evidence workflow in self-hosted n8n:
| Step | Node | What happens |
| Trigger | Webhook (POST) | Receives extraction.completed from Dynamite Docs |
| Filter | IF node | Keeps documents above the confidence threshold |
| Store | Postgres insert | Writes rows into the internal evidence table |
| Archive | File move | Copies the source file to the archive share |
n8n keeps the pipeline where your data lives
The value of n8n as a Dynamite Docs connector is that it runs inside your own infrastructure and consumes the same webhook and REST API surfaces the product exposes for every consumer. An outbound webhook fires the moment an extraction completes, carrying columns, rows, metadata, docType, and average confidence to an n8n Webhook node. Because the payload is signed with HMAC-SHA256 over the raw body, the workflow can verify the event before any node acts. The same protection a cloud trigger would get, without leaving your network.
The SSRF guard is worth spelling out for self-hosters. Webhook endpoints must be public HTTPS URLs, so an n8n instance that sits behind NAT needs its webhook exposed through a tunnel or reverse proxy to receive events. That is a deliberate safety line, not a limitation of n8n. The service will not POST to internal or loopback addresses, which keeps the webhook channel from becoming a probe into a private network. Teams that prefer not to expose a webhook at all can invert the pattern and poll the REST API from an n8n schedule instead.
The IN direction closes the loop for self-hosted pipelines. An HTTP Request node POSTs a document to /api/extract/infer with a scoped API token and receives the structured table in the response. The document can arrive from anywhere in the graph. Tokens are revocable per user, and automated requests respect the same per-document page caps and monthly allowance as interactive use, so an n8n workflow cannot bypass the quota model.
Retries sit at the delivery layer: network errors, 429s, and 5xx retry with exponential backoff and jitter, up to three attempts, so a temporary n8n outage does not drop an extraction event. The workflow itself can then add its own error handling. The result is a connector that works today, with no private n8n app and no custom SDK, just the documented primitives a self-hosted graph can consume directly.
What the n8n connection does and does not
Does
- Triggers a Webhook node in your n8n instance with a signed extraction.completed payload.
- Lets n8n POST documents into /api/extract/infer with a scoped token and consume the structured table.
- Retries transient delivery failures so a temporary n8n outage does not drop an event.
Does not
- Does not require a private n8n node or n8n-specific credentials. It uses the public webhook and REST API surfaces.
- Does not POST to internal or loopback addresses. Endpoints must be public HTTPS URLs.
- Does not exempt automation from the same page caps and monthly allowance as interactive use.
Why n8n needs no separate app
n8n works because it consumes the same public webhook and REST API surfaces as every other connector.
Self-hosted automation keeps the workflow inside your infrastructure while extraction stays a signed, verified input.
The same primitives stay honest: signed, retried, quota-governed, and documented on their own pages.
Questions, answered
How do I connect n8n to Dynamite Docs?
Add a Webhook node in your n8n instance, expose it at a public HTTPS URL (via tunnel or reverse proxy if needed), and register it as a Dynamite Docs webhook endpoint. Verify the HMAC-SHA256 signature in the workflow.
Why does the webhook need to be a public URL?
The SSRF guard only delivers to public HTTPS URLs and never to internal or loopback addresses. Expose the n8n webhook through a tunnel or proxy, or poll the REST API on a schedule instead.
Can n8n send documents into Dynamite Docs?
Yes. An HTTP Request node POSTs the file to /api/extract/infer with a scoped API token and reads the structured rows from the response.
Does self-hosting change the quota rules?
No. Automated requests respect the same per-document page caps and monthly allowance as interactive use.
Document workflows it feeds
Open app, no payment details.