N8N PRODUCTION EVIDENCE CHECKLIST Agent Rescue Desk Updated: 2026-07-27 Purpose ------- Use this worksheet when an n8n workflow works manually in the editor but fails, never runs, or produces the wrong outcome when published. Safety boundary --------------- [ ] I removed passwords, API keys, OAuth tokens, cookies, encryption keys, authorization headers, private customer data, and regulated data. [ ] I will share identifiers, timestamps, redacted shapes, and error codes—not secret values. [ ] Any replay is idempotent, sandboxed, or otherwise safe from duplicate messages, charges, bookings, writes, and destructive actions. 0. Choose the diagnostic branch -------------------------------- [ ] A. No matching production execution exists. [ ] B. A matching production execution exists and failed. [ ] C. A matching production execution says success, but the expected business outcome is absent or incorrect. Selected branch: 1. Define one observable contract --------------------------------- Workflow name: Workflow ID: Instance or project: Trigger type: Minimal redacted input: Expected downstream state: Observed downstream state: First known bad time (include timezone): Last known good time (include timezone): 2. Prove the production version ------------------------------- [ ] I recorded the last saved time. [ ] I recorded the last published time. [ ] I confirmed the intended workflow version is published. [ ] For separate environments, I confirmed the intended revision was pulled into production and separately published there. Last saved time: Last published time: Revision, version, or change identifier: Change nearest the first failure: 3. Prove the production trigger path ------------------------------------ [ ] I copied the production URL from the trigger node. [ ] The caller is not using a temporary test URL or /webhook-test/ path. [ ] HTTP method and path match the published trigger. [ ] Public hostname, reverse proxy, TLS, and load balancer route to this n8n instance. [ ] For a schedule or polling trigger, timezone and expected fire time match. Trigger URL with sensitive query values redacted: HTTP method: Trigger timestamp: Caller request or correlation ID: Caller response status: Expected next fire time: 4. Capture the production execution ----------------------------------- [ ] I filtered the Executions list to the workflow and trigger time. [ ] I preserved the execution before changing the workflow. [ ] Execution settings save enough data for diagnosis. Execution ID: Started at (UTC): Status: Duration: Mode: Last node reached: First failed or divergent node: Error class or code: Redacted error summary: If there is no matching execution, stop here and debug publishing, the trigger, or routing before changing downstream nodes. 5. Compare working and failing data ----------------------------------- For each node through the first divergence, compare keys, types, item count, nesting, headers, item linking, and expression results. Working manual execution ID or timestamp: Failing production execution ID: First node whose OUTPUT differs: Difference: [ ] Missing or renamed field [ ] Null or empty value [ ] Array versus object [ ] Different nesting [ ] Different item count or item linking [ ] Different expression result [ ] Different request or response [ ] Other: Redacted working shape: Redacted failing shape: 6. Compare credential and environment identity ---------------------------------------------- [ ] Credential name or internal ID matches the intended account. [ ] Account or tenant identity matches. [ ] Required scopes or permissions are present. [ ] Credential is not expired or disconnected. [ ] Environment variable NAMES are present. Values are not pasted here. [ ] Host, region, timezone, n8n version, and node versions are recorded. Credential identifier: Account or tenant identifier: Required scopes: Production host or region: Timezone: n8n version: Relevant node versions: Expected environment variable names: 7. Check the production runtime ------------------------------- [ ] I checked for queued, waiting, delayed, or cancelled executions. [ ] I checked timeout, memory, restart, and deploy events near the failure. [ ] In queue mode, worker readiness and database/Redis access are healthy. [ ] Main, webhook, and worker processes use the intended shared configuration and encryption key. [ ] Webhook load-balancer paths distinguish production /webhook/ traffic from manual /webhook-test/ traffic. [ ] Binary data storage is compatible with this deployment. Execution mode: Production concurrency limit: Worker concurrency: Worker or process identifier: Relevant deployment or restart timestamp: Relevant log correlation ID: 8. Trace the real business outcome ---------------------------------- [ ] I checked the destination system with a safe read-only query. [ ] I used one correlation or idempotency key across systems. [ ] I checked asynchronous callbacks, queues, and retry windows. [ ] I checked for duplicate or partial side effects. Destination system: Correlation or idempotency key: Intermediate response: Final destination state: Duplicate count: Pending callback or job: 9. Run one controlled replay ---------------------------- [ ] Irreversible side effects are disabled, sandboxed, or idempotent. [ ] I reproduced the first divergence with the saved production data. [ ] I made the smallest change tied to the evidence. [ ] I published the intended version. [ ] I triggered the real production path. [ ] I verified both n8n execution status and the downstream state. [ ] I documented rollback and one residual risk. Replay execution ID: Change made: Published at: Production proof: Downstream proof: Rollback: Residual risk: 10. Compact handoff summary --------------------------- Symptom: Selected branch (A, B, or C): First divergent node or boundary: Evidence-backed cause: Smallest proposed repair: Acceptance test: Rollback: Official n8n references ----------------------- Webhook URLs: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/ View and retry executions: https://docs.n8n.io/build/understand-workflows/understand-executions/view-all-executions Debug executions: https://docs.n8n.io/build/understand-workflows/understand-executions/debug-executions Queue mode: https://docs.n8n.io/deploy/host-n8n/configure-n8n/scaling/enable-queue-mode Concurrency: https://docs.n8n.io/deploy/host-n8n/configure-n8n/scaling/control-concurrency Independent-service notice -------------------------- Agent Rescue Desk is an independent technical service. It is not affiliated with, endorsed by, or sponsored by n8n.