Integration · Guide
Put a verified inbox in front of webhook-driven AI
Separate receipt, authenticity, and business processing in an event-driven integration.

Receipt is not authorization
A webhook endpoint is a public door into a workflow. In an illustrative invoice pilot, a JSON document that looks plausible should not be sufficient to start an approval process. Validate the sender using the provider’s documented mechanism before enqueueing meaningful work. GitHub documents signature verification; use the exact provider scheme rather than copying a signature algorithm from an unrelated integration.
Save a small receipt record
After authenticity checks, record the provider event identifier, tenant mapping, received time, and processing state. Acknowledge reception promptly once durable receipt succeeds, then perform slower classification in a worker. Deduplicate deliveries by the provider’s event identity. Keep receipt state separate from business completion, because a transport acknowledgment cannot prove that the accounting application accepted an invoice.
Workflow at a glance
Design for reorder and replay
Treat delivery order and repeated notifications as properties to investigate, not assumptions. Ask which system is authoritative when an old event arrives after a newer status. A proposed rule is to refresh the source record before a consequential change, while preserving event history for explanation. Replaying a stored event should reuse the original operation identity and current authorization checks, not bypass them because an administrator clicked replay.
A useful pilot test
Use harmless test events to exercise a bad signature, a duplicate, a delayed update, and a processing failure after receipt. Verify that staff can distinguish rejected traffic from delayed work. Track oldest unprocessed event and reconciliation outcomes. This architecture adds storage and operational work, so a very low-volume workflow may reasonably use a simpler monitored queue, provided the same authenticity and replay decisions remain explicit.
Make an event receipt visible
Prepare an operator screen showing received time, verification result, processing state, and business reference. Test a forged event beside a valid unprocessed event. Support should distinguish them without opening raw payloads, and retain the relationship even after failed work moves away from the main queue.
Sources and further reading
- Validating webhook deliveriesValidating webhook deliveriesGitHub · Documentation ·
- Receive Stripe events in your webhook endpointReceive Stripe events in your webhook endpointStripe · Documentation ·
Editorial approach
AI-assisted original writing, checked against linked public sources. Practical recommendations and illustrative scenarios are editorial analysis, not reported client results. Source dates and product details may differ from this collection’s preparation date.