We wrote this document for webhook providers to copy and adapt to their own webhook
delivery configuration. Most segments can be fully copied, a few others require you to
select the option for your docs. Watch out for the tooltips and callouts.
Webhooks are a mechanism for notifying third-party applications about a change in their
account in real time. Oftentimes, APIs are able to respond immediately to API calls, but
not all the time, in scenarios like this, a webhook event is used to notify the third-party
app via a Webhook URL.
Convoy supports two types of retry strategies: linear, and exponential backoff, based on your configuration you
can use any of the below to communicate with your users.
Swap out the specific delay and duration according to your config.
text In production, if your endpoint does not respond with a 2xx, we continue to retry the event every n seconds for a maximum of n hours.
Swap out the specific delay and duration according to your config.
text In production, if your endpoint does not respond with a 2xx, we continue to retry the event every n seconds for a maximum of n hours.
Swap out the specific delay and duration according to your config.
text In production, if your endpoint does not respond with a 2xx status code, we continue to retry the event with an exponential retry schedule.
Always return early. If you have a long running process that you’d like to executed
preferably push that to a background job to process, and return quickly with a 2xx.
Favour Idempotent processing. All webhooks are delivered with a X-Convoy-Idempotency-Key
header which can be used for Idempotent processing.
Default to HTTPS endpoints. Webhooks are endpoint exposed to the internet, for safety,
we default to HTTPS only URLs, and validate the certs.