Aglet

Learn from missing webhook event IDs

The durable lesson is a stable event identity contract that is separate from delivery attempts and resource keys. Preserve the missing or renamed field that exposed the gap. Record which sender schemas and fallback cases remain unsupported across supported event types.

Keep the lesson for the next incident

  1. Document identity semantics

    Record event ID, delivery ID, resource key, schema version, extraction order, missing disposition, deduplication storage, routing, and effect policy. Define owner for sender contract changes. Preserve the extraction boundary in writing.

  2. Keep extraction fixtures

    Retain stable, repeated, missing, renamed, delivery-only, same-resource-different-event, restart, and parser-update cases. Store expected identity, route, claim, and effect. Include the original missing-key shape. Include two events that refer to the same resource but require separate effects, with distinct expected event identities.

  3. Review identity signals

    Watch missing IDs, renamed fields, duplicate effects, unknown reviews, resource-key fallbacks, and parser changes by endpoint. Assign an owner and threshold. Close the follow-up only when effect-bearing handlers use supported identity fixtures.

What to carry forward

Close learning with identity semantics, fixtures, parser and deduplication ownership, and gap signals. Keep sender schema limits visible. The useful outcome is a safe stop for unknown identity, not an invented key. Document which sender field supplies stable event identity, and rerun both duplicate deliveries and separate events after parser or schema changes.

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