Aglet

Triage a webhook dead-letter visibility gap

A dead-letter queue only helps if a reviewer can connect a retained record to its delivery history and safe next action. Freeze one failed item and record stable IDs, failure class, attempt history, redaction state, and retention. Separate missing telemetry from an event that is unsafe to replay.

Establish what is happening

  1. Capture the retained record

    Record event and delivery identifiers, endpoint, environment, failure class, first and last attempt, and current disposition. Do not copy secrets or unredacted payloads. Note whether the record can be matched to a receipt or side effect.

  2. Compare review fields

    Check identity, timing, response, attempt history, redaction, resource, and owner against a known failed fixture. A visible error without an event ID still leaves replay ambiguous. Keep provider delivery history separate from local dead-letter state.

  3. Bound recovery candidates

    Group records by failure class, age, endpoint, event identity, receipt state, and available replay path. Separate recoverable validation or transport failures from completed or unsafe effects. Mark missing fields as evidence gaps.

What to carry forward

Triage ends with a findable failed event, failure history, redaction boundary, current effect state, and recovery gap. Keep the item quarantined while identity or side-effect status is unknown. Route retention and replay decisions separately. Keep replay separate from ordinary processing.

Technical background: Twilio documentation.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow