The webhooks logo.

Webhooks are "user-defined HTTP callbacks". They are usually triggered by some event, such as pushing code to a repository or a comment being posted to a blog. When that event occurs, the source site makes an HTTP request to the URI configured for the Webhook.

https://en.wikipedia.org/wiki/Webhook

This module acts as both a Webhook dispatcher and a Webhook receiver. It is possible to map attributes of the Webhook payload to Webhook entity fields for storage.

Uses

Dispatching

For dispatching you can configure any amount of Webhooks that act on various events like entity create, update, delete and some system hooks like cron, file_download, modules_installed, user_cancel, user_login, user_logout and cache_flush.

Receiving

For receiving, the module captures the request and provides the payload to others with a generic Webhook event.

Storing

The Webhook module implements an entity type that stores every Webhook that has been received. Received Webhooks are stored in a dedicated Webhook entity type, if the the type identifier and the webhook machine name matches. The Webhook entity type is fieldable and you may map Webhook payload attributes to be stored in the configured fields.

Acting on events

Since Webhooks trigger events and Webhook is an entity with fields that store the data, you can use modules like Rules and ECA: Event - Condition - Action to react when receiving, sending and storing Webhooks.

Implemented as configuration entity Webhooks are easily deployable.

For a Drupal 7 version see:
Webhook https://www.drupal.org/project/webhook

🇺🇦

#StandWithUkraine
Please consider supporting Ukraine in a fight for their freedom and safety of Europe.

Logo icon by Etn Ccis in MIT License via SVG Repo

Supporting organizations: 
Drupal 8/9 Development and Maintenance

Project information

Releases