Webhooks allow Acquia Source to notify external systems when content changes occur. If you are an administrator within the Acquia CMS, you can configure webhooks to notify external systems about content updates. Currently, administrators can set up webhooks that trigger changes to nodes (pages based on a content type), media entities, and taxonomy terms. These triggers can be specific to the creation, update, or deletion of nodes, media, and taxonomy terms.
Webhooks automatically send HTTP requests to configured endpoints when specific events happen in your system. For example, you might want to:
- Update a search index when content is published
- Notify a marketing automation tool when a new user registers
- Trigger a build process when content changes
- Sync data with an external CRM or ERP system
Creating and managing webhooks¶
Use the following steps to configure webhooks:
- Access your site.
In the left sidebar, click API > Webhooks.
Here, you can create new webhooks or manage existing ones.
On the Add webhook page, fill out the required fields such as webhook label, webhook URL (the URL to notify), and triggers.
Based on the configured triggers such as Node creation, Node update, and Node deletion, the CMS triggers a webhook to the specified URL each time a node is created, updated, or deleted. Administrators can create multiple webhooks for content integration with external systems.
Webhook history¶
All webhooks triggered by the CMS are recorded and are available on the Webhooks History page. Administrators can check the status, payload, and retry attempts of the webhooks (if they fail).
Considerations when configuring webhooks¶
- Payloads will contain essential information, including JSON responses, the user who triggered the webhook, timestamp, etc. The external system must accept the payload and respond successfully for webhook success.
- Failed webhooks retry five times at 30-second intervals.
- The CMS provides only outgoing webhooks and does not support incoming webhooks. For such scenarios, JSON API endpoints can be used to perform CRUD operations on content.