n8n Runbook¶
Service: n8n (event-driven workflows, webhooks) Trigger: Webhook not firing, workflow error, or n8n container down Severity: P1 high (webhook-driven integrations) / P2 medium (non-critical automations)
Steps¶
Webhook not firing¶
- Open n8n at http://n8n.localhost (requires Docker stack running)
- Find the relevant workflow and confirm it is set to Active (toggle in top-right)
- Test the webhook URL manually:
curl -X POST http://n8n.localhost/webhook/<path> -H "Content-Type: application/json" -d '{}' - Check the workflow's execution history for any recent failed attempts
- If using a Cloudflare-tunnelled webhook URL, verify the tunnel is active:
cloudflared tunnel info
Workflow error¶
- In n8n, navigate to Executions for the affected workflow
- Open the failed execution and inspect the error at the failing node
- Common causes: upstream API credential expired, malformed input data, network timeout
- Fix the node configuration and use "Test Step" to verify in isolation
- Re-activate the workflow and confirm the next trigger executes successfully
n8n container down¶
- Check container status:
docker compose ps n8n - Check logs for crash reason:
docker compose logs n8n --tail=50 - Restart the container:
docker compose restart n8n - If restart fails, check for port conflicts or volume permission issues
- Full stack restart if needed:
docker compose up -d
Rollback¶
n8n workflows are stored in the n8n database volume. For accidental workflow deletion, restore from the most recent Docker volume backup (see restic-restore.md). Workflow exports can also be re-imported from JSON backups in Cloudflare R2.
Contacts¶
- On-call: hello@liflode.com
- n8n interface: http://n8n.localhost
- Docker stack:
docker compose up -d(core stack)
Related ADRs¶
- ADR-044: n8n vs Windmill — event-driven vs scheduled