Skip to main content
The Dead Letter Queue (DLQ) automatically captures failed workflow runs that have exhausted all retry attempts. This ensures that no workflow execution is lost and provides multiple options for recovering from failures gracefully.

How it works?

When a workflow step fails and exhausts all configured retries, Upstash Workflow automatically moves the failed run to the DLQ. This happens automatically without any additional configuration required.

Failed workflow runs are automatically moved to the Dead Letter Queue

The DLQ serves as a safety net, preserving failed workflow runs with their complete execution context.
Dead Letter Queue entries have retention period based on your pricing plan:
  • Free: 3 days
  • Pay-as-you-go: 1 week
  • Fixed pricing: Up to 3 months
After the retention duration expires, DLQ items are automatically removed and cannot be recovered.

Recovery Actions

Once a workflow run is in the DLQ, you can take the following actions:
  • Restart – trigger the workflow from the beginning.
  • Resume – continue the workflow from the point of failure.
  • Re-run Failure Function – execute the workflow’s failure handling logic again.
  • or delete the DLQ entry if no action is required.
You can apply these actions in bulk to multiple DLQ entries. Check the individual action pages for more details.