Unify Logo Footer.svg
Unify Automations
Logo
Update DLQ

Update DLQ

Logo

2 mins READ

Update DLQ marks a consumed event as failed and routes it to the stream's dead-letter queue (DLQ). Supply the event ID and a reason — timeout, validation failed, processing error, or any descriptive string — to move the event aside without blocking the rest of the stream. DLQ tracking must be enabled on the consuming step before Update DLQ can hold events for it.

Overview

The dead-letter queue is a companion to each stream that captures events which could not be processed successfully. Update DLQ isolates a bad event so the stream continues and the failed event can be inspected or retried later using the Republish DLQ Event action. Without DLQ tracking enabled on the consumer, the event is not held in a state that allows it to be moved to the DLQ — the connection between the consuming step and this action depends on that setting being on.

UpdateDLQ-1 1.png
UpdateDLQ-1 1.png

Input

Field

Type

Required

Description

Stream

String

Yes

The stream the event was consumed from.

Event ID

String

Yes

The identifier of the event to move to the DLQ. Available from the output of the Consume Events or On Event Trigger step.

Reason

String

Yes

Description of why the event failed. Common values: timeoutvalidation failedprocessing errorschema mismatch. Free-form — any descriptive string is accepted.

UpdateDLQ-2 1.png
UpdateDLQ-2 1.png

Output

The action returns a confirmation once the event is moved to the dead-letter queue.

Field

Type

Description

status

String

Confirmation that the event was moved to the DLQ.

dlqEventId

String

Identifier of the event in the dead-letter queue. Pass this to Republish DLQ Event when you are ready to retry the event.

Notes

  • DLQ tracking must be enabled on the consuming step (Consume Events or On Event Trigger). Without it, the event is not held and Update DLQ has nothing to act on.

  • Routing a bad event to the DLQ prevents it from blocking processing of subsequent events in the stream.

  • Events remain in the DLQ until you inspect or replay them using the Republish DLQ Event action.

  • The Reason field is free-form. Using a consistent vocabulary across automations — for example, always writing timeout rather than timed out or request timeout — makes DLQ inspection and filtering easier.

  • Calling Update DLQ on the same event ID more than once has no effect after the first call; the event is already in the DLQ.

DLQ tracking is a prerequisite: Update DLQ depends on DLQ tracking being enabled on the consuming step that read the event. If you add Update DLQ to an automation but DLQ tracking is off, the action will not be able to capture the event — enable tracking on the consumer first.

FAQs

What happens if DLQ tracking is not enabled on the consuming step?

Update DLQ cannot capture the event because the consumer did not hold it for DLQ processing. Enable DLQ tracking on the Consume Events or On Event Trigger step, then re-run the automation to route the event correctly.

Can I call Update DLQ on the same event more than once?

No. Once an event is in the DLQ, a second Update DLQ call with the same event ID has no effect. Use Republish DLQ Event to retry the event once you have resolved the underlying issue.

Is there a limit to how many events the DLQ can hold?

Capacity depends on your stream configuration. Check your stream settings for DLQ retention period and size limits, and set up monitoring to alert you when the DLQ grows unexpectedly.