See every workflow change
before it breaks a client.
A lightweight agent watches every n8n workflow across your clients and tells you the moment one changes or goes offline — with a plain-English diff and one-click rollback. You find out what changed, not your client.
Self-hosted agent · outbound-only · your API key never leaves your box
Workflow deactivated
acme-agency · Order Sync went inactive 11s ago
→ Slack #ops-alerts
What Keel does
Production operations for n8n teams that outgrew ad-hoc scripts.
Know exactly what changed
Every change is versioned and diffed node-by-node — added, removed, renamed, reconfigured. Editor noise like dragging a node never triggers a false alarm.
Told before the client calls
Failures, deactivations, unexpected publishes, credential changes, agent offline — routed to Slack, Telegram, or Discord with a plain-English summary.
Auto-backed up to your repo
Every changed workflow commits redacted JSON to your GitHub or GitLab — a clean version history per workflow, secrets stripped on the way out.
A release-of-record
Tag any snapshot as a release, export importable JSON, and roll back to a known-good version in one click.
Works behind firewalls. Keeps your keys.
A lightweight container runs next to your n8n. It holds the API key locally, redacts secrets, and forwards only metadata + version state — outbound HTTPS only, never execution payloads.
How it works
From zero to release-of-record in an afternoon.
Drop in the agent
Run one container next to your n8n instance. Paste the prefilled docker command from your dashboard — that's the whole install.
Your estate appears
Within a poll cycle, every workflow, snapshot, and execution-health signal flows in. One screen for every client's connection health.
Get alerted, roll back
A change hits your Slack in plain English with a link to the diff. Tag a known-good release so rollback is one click.
The agent
One container. Outbound-only. Your keys stay home.
Most serious n8n runs behind a firewall — so Keel never reaches in. You run a tiny agent that reaches out. It holds the n8n API key locally, redacts secrets before anything leaves the box, and forwards only metadata and version state.
- Never stores execution payload data — status and counts only
- Credentials captured as inventory metadata, never secret values
- Defensive parsing — tolerates n8n API drift without crashing
# next to your n8n instance docker run -d --name keel-agent \ -e SAAS_INGEST_URL=https://app.keel.dev \ -e AGENT_TOKEN=••••••••••••• \ -e N8N_BASE_URL=http://localhost:5678 \ -e N8N_API_KEY=$N8N_API_KEY \ ghcr.io/poolhouse900-debug/keel-agent:latest → heartbeat ok · 14 workflows · 3 changes captured
Pricing
Cheaper than one broken client.
Free forever on one instance. Paid plans start a 14-day trial — no card required.
Free
Back up one instance, forever.
- 1 connection
- Snapshots & node-level diffs
- Git backup (GitHub/GitLab)
- 7-day history
Solo
One operator, a couple of instances.
- 3 connections
- Change & offline alerts
- Slack / Telegram / Discord
- 30-day history
Studio
A growing studio with a few clients.
- 10 connections
- Per-client projects
- Releases & one-click rollback
- Team members
- 90-day history
Agency
Agencies running many client workspaces.
- Unlimited connections
- Unlimited client workspaces
- Full version history
- Priority support
- Everything in Studio
Not ready to sign up? Try the free n8n workflow diff tool — no account needed.
FAQ
Questions, answered straight.
See every change before it breaks a client.
Point Keel at your n8n estate this week. Free 14-day trial, no card, your keys never leave your infrastructure.