Skip to main content

Delivery Failures

Delivery Failures is Engage's dead-letter queue. A message lands here when it could not be delivered to its destination after Engage's own attempts, and it stays here until it is retried or expires. The page is organisation-wide: every application and integration in the selected environment appears in one list.

Open it

Select Delivery Failures in the sidebar. The list is scoped by the environment in the header, Development or Production, and by the date range control in the toolbar, which defaults to the last day.

The list

ColumnMeaning
ApplicationThe application the message belongs to. Filterable from the header.
EnvironmentThe environment the message was sent in. Filterable.
Dead Lettered TimeWhen Engage gave up on delivery. Sortable.
ReasonWhy the message was dead-lettered. Filterable.

Search filters the list by text. The column filters combine, so filtering on an application and a reason shows only that application's messages with that reason. An empty list reads No dead letter messages with There are no dead letter messages for the filters.

Read a message

Select a row. The Message Details drawer opens with:

FieldMeaning
Message ID, Transaction ID, Client IDIdentifiers, each copyable
Event NameThe manifest event the message carried
Namespace, Integration IDWhere the message was addressed
Enqueued Time, Expiry TimeWhen the message was queued, and when it will be dropped if not retried
ReasonThe dead-letter reason, as in the list
Error DescriptionThe error the destination returned
Message BodyThe payload, formatted as JSON where it parses

Error Description is the field to read first. Reason says which stage failed; the description says what the destination actually objected to.

Retry every message in the range

Retrying acts on the whole time range the list is showing, not on the rows you can see after filtering. Set the date range to exactly the window you want to retry before you start.

  1. Set the date range so the list shows the messages to retry.
  2. Select Retry all.
  3. Read the confirmation, Retry all failures in this range?. It states how many messages are pending in the range. If more are pending than one retry can send, it says how many will be retried now and that you should run Retry all again for the rest.
  4. Select Retry all in the dialog, or Cancel.

Engage reports the outcome and refreshes the list.

How you know it worked

A success message reads Retried N messages successfully. and the retried messages leave the list. A message that fails again returns to the list with a new Dead Lettered Time.

When it does not work

SymptomCauseWhat to do
Retried N messages, M failed.Some messages were rejected again by their destinationOpen each remaining row and read Error Description; the fault is downstream of Engage
No messages were retried for the selected range.Nothing in the range was still pending when the retry ranRefresh the list; another operator may have retried the range already
Failed to retry messages for the selected range.The retry request itself failedTry again; if it persists, ask an administrator
The confirmation says only part of the range will be retriedThe range holds more pending messages than a single retry sendsSelect Retry all again after the first pass finishes, until the confirmation shows the full count
The list is empty but a message is known to have failedIt is in the other environment, or outside the date rangeSwitch the environment in the header and widen the range

Next steps

A message that keeps dead-lettering usually has a failed execution behind it. Find it in Global Fallout to retry or restart the workflow itself.