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
| Column | Meaning |
|---|---|
| Application | The application the message belongs to. Filterable from the header. |
| Environment | The environment the message was sent in. Filterable. |
| Dead Lettered Time | When Engage gave up on delivery. Sortable. |
| Reason | Why 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:
| Field | Meaning |
|---|---|
| Message ID, Transaction ID, Client ID | Identifiers, each copyable |
| Event Name | The manifest event the message carried |
| Namespace, Integration ID | Where the message was addressed |
| Enqueued Time, Expiry Time | When the message was queued, and when it will be dropped if not retried |
| Reason | The dead-letter reason, as in the list |
| Error Description | The error the destination returned |
| Message Body | The 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.
- Set the date range so the list shows the messages to retry.
- Select Retry all.
- 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.
- 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
| Symptom | Cause | What to do |
|---|---|---|
| Retried N messages, M failed. | Some messages were rejected again by their destination | Open 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 ran | Refresh the list; another operator may have retried the range already |
| Failed to retry messages for the selected range. | The retry request itself failed | Try again; if it persists, ask an administrator |
| The confirmation says only part of the range will be retried | The range holds more pending messages than a single retry sends | Select 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 failed | It is in the other environment, or outside the date range | Switch 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.