A workflow that runs once is a demo. A workflow that keeps running after API failures, duplicate webhooks, and unexpected data is a production system.
Here is the checklist I use before handing an n8n workflow to a client.
1. Validate every external input
Never assume a webhook contains every field you expect. Check required values early and route invalid payloads to a clear error path. This prevents a missing email address or record ID from failing several nodes later.
2. Make retries safe






