A practical example
A controlled contact update produces an event for a receiving service. The service validates the request according to the integration's documented contract, records the event identifier and processes the update without creating a duplicate record on retry.
How to use this concept
Choose the event and identify the receiving endpoint before enabling delivery. Review the actual payload, authentication or signature scheme and retry behavior documented for that integration. Implement only the fields the destination needs.
Design the receiver for repeated delivery. Store a stable event or operation identifier where the contract supplies one, and make the effect idempotent. Acknowledgment and processing may be separate steps; document how failures are retried and how an operator can inspect them.
Test with a controlled record, including an invalid request and a repeated event. Confirm the destination's final state as well as the HTTP response. Keep credentials server-side and scope the operation to the correct account. Use the current Chirply API documentation for the supported contract.
How does a webhook differ from polling an API?
A webhook delivers an event to a receiver when the sender dispatches it. Polling asks an API for updates on a schedule. The appropriate choice depends on the supported events, freshness needs and recovery process; some integrations use both for reconciliation.

Chirply