Back to insights
Integration engineering
Webhooks are not enough: designing reconciliation for external systems
Real integrations need a repair path for missed events, stale state and partial failure.
July 2026 · 7 min read
A webhook is an excellent signal that something changed. It is not a guarantee that your system will always receive, process and persist that change exactly once.
Production integrations need a second mechanism that periodically compares important external state against local state. This is reconciliation, and it is one of the differences between a demo integration and an operationally reliable one.
A reconciliation loop should be boring
The job should be idempotent, observable and narrow in scope. It should identify drift, repair what can be repaired safely, and surface what requires human attention.
- Read the intended state.
- Read or infer the actual state.
- Calculate the difference.
- Apply only safe, idempotent corrections.
- Record failures where an operator can see them.