n8n has become our go-to tool for workflow automation, but getting it production-ready for enterprise clients required learning some hard lessons. After deploying 50+ automated workflows across multiple clients, here are the patterns that work and the traps to avoid.
Lesson 1: Error Handling Is Not Optional
n8n's default behavior when a node fails is to stop the workflow. In production, you need every workflow to have explicit error handling branches, retry logic, and alerting. We build a standard error handling sub-workflow that every production workflow calls on failure.
Lesson 2: Separate Dev and Prod Instances
This sounds obvious, but n8n makes it easy to edit production workflows directly. Don't. We maintain separate instances with a promotion process — workflows are tested in dev, reviewed, then exported and imported to production.
Lesson 3: Monitor Execution Times
Workflows that take 2 seconds today might take 2 minutes when data volume grows. We instrument every workflow with execution time logging and set alerts for any workflow that exceeds its baseline by more than 3×.