Aglet

Triage a webhook missing event ID

Without a stable event ID, the receiver cannot safely distinguish a retry from a similar new event. Freeze one identity gap and record headers, body fields, resource key, delivery ID, parser result, and prior receipt. Keep event identity separate from delivery attempt identity.

Establish what is happening

  1. Capture available identity

    Record event ID if present, delivery ID, endpoint, event type, resource key, headers, and parser revision. Redact body and secret. Note whether identity was absent at receipt or disappeared during mapping.

  2. Compare extraction paths

    Run a known event, renamed field, missing field, stable delivery ID, and two events for one resource. Compare extracted key, deduplication, routing, and local state. A resource key alone may merge distinct events.

  3. Bound identity gaps

    Group cases by endpoint, event type, schema version, source, client revision, and effect. Separate sender omission, field rename, parser bug, and a deliberate no-ID contract. Quarantine events whose identity is not trustworthy.

What to carry forward

Triage ends with available identifiers, extraction boundary, affected events, prior effect state, and evidence gap. Keep identity-unknown deliveries out of irreversible work. Route schema, parser, and deduplication questions separately. Preserve the received schema and parser output together so a missing sender field can be distinguished from a local extraction failure.

Technical background: Shopify developer 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