# n8n Webhook and Queue Troubleshooting Checklist

Independent checklist by Workflow Fixes. Not affiliated with or endorsed by n8n GmbH.

Use this when n8n webhooks fail from external apps, jobs stay queued, workers do not process executions, or API/browser calls fail before workflow logic is reached.

## 1. Capture The Symptom

- Exact failing URL or node:
- Manual or production execution:
- Test URL or production URL:
- HTTP status or node error:
- First failed time:
- Last known good run:
- Recent changes:

## 2. Webhook URL And Mode

- Confirm whether the caller uses the test URL or production URL.
- If using production URL, confirm the workflow is active.
- Check the Webhook node path.
- Check the HTTP method.
- Confirm the external service stored the current URL, not an older path.
- For self-hosted n8n, confirm the public URL generated by n8n matches the real domain.
- Confirm `WEBHOOK_URL` is not pointed at localhost or an internal-only address.

## 3. Reverse Proxy And Public Access

- Confirm the public domain reaches n8n from outside the server.
- Confirm the reverse proxy forwards webhook paths to n8n.
- Check whether the proxy strips, rewrites, or blocks paths.
- Confirm HTTPS is valid if the external app requires it.
- Test the exact production URL externally.
- Check whether the request creates an n8n execution.

## 4. Browser, CORS, And Frontend Calls

- Confirm the failing request comes from a browser.
- Check the browser console origin.
- Configure the Webhook node allowed origins for the intended frontend domain.
- Confirm the reverse proxy does not duplicate or overwrite CORS headers.
- Remember that CORS is not authentication.
- Do not expose sensitive workflow actions to arbitrary origins.

## 5. Queue Mode And Workers

- Confirm the main process uses `EXECUTIONS_MODE=queue`.
- Confirm workers run with the worker command.
- Confirm workers can reach Redis.
- Confirm workers and the main process use the same Redis settings.
- Confirm workers and the main process use the same n8n database.
- Confirm workers use the same `N8N_ENCRYPTION_KEY`.
- Check worker logs for Redis, database, or credential errors.
- Run a small workflow and verify a worker completes it.

## 6. Redis And Postgres

- Check Redis host, port, username, password, and database.
- Check Docker network names if using Compose.
- Confirm Postgres credentials from both main and worker containers.
- Confirm database permissions are sufficient.
- Confirm connection pool limits before adding more workers.
- Confirm backups exist before changing database or volume configuration.

## 7. Rate Limits And Retries

- Confirm whether the error is HTTP 429 or a provider quota message.
- Check the provider's documented rate limit.
- Add retry delay that respects the provider limit.
- Use Loop Over Items or batching for large input sets.
- Add idempotency keys or duplicate checks before retrying writes.
- Avoid repeatedly retrying production side effects without understanding impact.

## 8. Invalid JSON And Expression Failures

- Inspect the exact runtime payload from the failed execution.
- Avoid building JSON by concatenating raw strings.
- Prefer structured fields in Set or HTTP Request when possible.
- Check missing fields, unescaped quotes, trailing commas, and wrong data types.
- Confirm referenced nodes executed on the current branch.
- Test with real data containing missing values, quotes, and line breaks.

## 9. OAuth Callback Failures

- Copy the exact callback URL displayed by n8n.
- Paste that exact URL into the provider app settings.
- Confirm public domain and HTTPS are correct.
- Confirm reverse proxy routes callback paths to n8n.
- Check required scopes.
- Reconnect the credential and test a low-risk read operation.

## 10. Verification Record

- Fix applied:
- Test URL checked:
- Production URL checked:
- Worker processed test execution:
- Redis and database logs clean:
- External app request creates execution:
- Retry side effects checked:
- Rollback plan:

Related pages:

- /wiki/n8n-webhook-404/
- /wiki/n8n-webhook-troubleshooting/
- /wiki/n8n-worker-not-processing-jobs/
- /wiki/n8n-queue-mode-error/
- /wiki/n8n-redis-connection-error/
- /wiki/n8n-postgres-connection-error/
- /wiki/n8n-cors-error/
- /wiki/n8n-oauth-callback-error/
- /wiki/n8n-rate-limit-error/
- /wiki/n8n-invalid-json/
