Why n8n is the right choice
for law firms.
Law firms have three constraints that rule out most cloud automation platforms: mandate data must not leave the EU, workflows must be auditable, and the firm must own its automations — not rent them. n8n meets all three without compromise.
Self-hosted, EU-residency
n8n runs on your server or in an EU cloud. No data ever touches US infrastructure. Critical for GDPR and professional secrecy.
Workflows as code
Every workflow is JSON — versionable, reviewable, portable. If we leave, you have the workflows, the documentation, and the ability to run them.
400+ integrations, extensible
Out-of-the-box nodes for DATEV, M365, most APIs. Custom nodes possible for RA-MICRO, beA, and specialised systems.
Open source core
Fair-code license. Self-host indefinitely without vendor lock-in. Commercial features (RBAC, audit log) available on top if needed.
Cloud automation platforms make sense until mandate data is involved. Then self-hosted is the only defensible choice.
Production hosting, stripped down.
A lot of n8n guides make production hosting sound like a Kubernetes project. It doesn't have to be. Here's a setup that carries 20+ workflows with confidence — and costs under €100/month.
What you don't need: Kubernetes, service mesh, horizontal pod autoscaling. At the traffic typical law firms see — a few thousand workflow executions per day — a single VPS handles it comfortably. Scale vertically if you grow; add a second node only when one can't keep up for real reasons.
- EU VPS: Hetzner Cloud (CX22 or CPX31, €8–15/month) or OVH.
- Docker Compose on top — no orchestration needed.
- Coolify as deployment UI — handles SSL, env vars, backups.
- Postgres as persistence — not the SQLite default.
- MinIO or Hetzner Storage Box for daily DB backups.
- Cloudflare in front for TLS + basic DDoS protection.
Versioning without CI/CD overkill.
Every workflow is JSON. You can commit them to git. The question is how much CI/CD to build around that — and the answer, for most firms, is: less than you think.
Minimum: export + commit
After every change, export the workflow and commit the JSON to git with a one-line message. Takes 30 seconds. Gives you history, blame, and rollback.
Useful: staging instance
A second n8n instance for testing changes before production. Same Docker setup, half the RAM. Costs €8/month extra. Saves one major incident per quarter.
Often unnecessary: GitHub Actions pipelines
Automated deployment via CI only pays off if you ship workflows multiple times per week. For most firms, manual export + commit is enough for the next 18 months.
Monitoring that actually notices.
The default n8n UI tells you if a workflow failed. It doesn't tell you if a workflow didn't run when it should have. That's the hard part — and this stack covers it.
- Uptime Kuma for server-level health (n8n reachable, DB reachable).
- Workflow heartbeat pings: every critical workflow sends a beat to a dead-man's-switch URL.
- Error-branch logging: every workflow has an error branch that writes to our operational Postgres.
- Grafana dashboard over both: executions/day, error rate, latency distribution.
- Alerting: email + Teams webhook on ≥3 consecutive errors or missing heartbeat > 30 min.
Three error patterns
that survive production.
Workflows fail. The question is what happens when they do. Silent drops are the worst outcome — a workflow that quietly didn't run is far more dangerous than one that crashed loudly. These three patterns cover 95% of real-world failures.
Retry with backoff (transient)
API timeout, rate limit, network hiccup — retry 3 times with 1s, 5s, 30s backoff. Most transient failures recover.
Review inbox (ambiguous)
LLM classification unsure, deadline extraction questionable, routing has two valid targets — workflow parks the case in a human review queue with a 24h SLA.
Hard stop + alert (unrecoverable)
Credential revoked, system down, data corrupted — workflow writes to operational log, sends alert, refuses to proceed. Human decides.
What a handover looks like.
Every n8n workflow we build gets a handover package. This isn't optional — it's what makes the difference between an automation that survives our departure and one that dies with it. Five documents, none of them long:
The goal: after we leave, your IT partner or in-house admin can run the workflow without ever talking to us again. If that's not true, we haven't handed it over properly.
- Architecture sketch: one page, showing what flows from where to where.
- Credential inventory: which API keys exist, where they're stored, how to rotate them.
- Operations runbook: how to restart, how to debug, how to reach monitoring.
- Known issues & fallbacks: the 3–5 things we've seen fail, and what to do.
- Training record: who has been trained, what they can do, what they can't.