Best Practice | Webhooks
  • 11 Oct 2024
  • 1 Minute to read
  • Dark
    Light

Best Practice | Webhooks

  • Dark
    Light

Article summary

CMiC is excited to announce the release of webhooks in Patch 20. CMiC Webhooks automate event-based messaging from CMiC’s web application to a recipient platform when a create, update, or delete action occurs. This means CMiC can send data immediately once the action takes place and the webhook event is triggered, instead of periodic API checks.

This initial release includes:

  • AP Vendors
  • AR Customers
  • BP Partner
  • PM Subcontracts
  • PM Schedule of Lines
  • SYS Contacts

The below diagram shows how the webhook event trigger works.

image.png

  1. The user actions a create, update or delete event with CMiC’s web app or API.
  2. The event triggers the webhook to send a message of the action to the recipient platform.
  3. The recipient platform takes the UUID and Callback URL from the webhook message to retrieve the record details.
  4. The record is processed in the recipient platform completing the process.

For a DELETE action, the callbackUrl will return a 404 Not Found response because the object no longer exists in CMiC.


NOTE: Webhooks will need to be unauthenticated (e.g. do not require any credentials). If the URL you set up requires any kind of authentication to be accessed, the webhooks will fail with a 401 (unauthenticated) error code and webhooks notifications will not work.


In this release, CMiC currently does not store recipient credentials for each subscriber. However, we are looking to incorporate an authentication level via the request header in an upcoming release.

What else can you expect?

Combined with the release of webhooks, we’ve added the following new menu items:

  • Webhook Definitions for subscribing recipient websites of CMiC Webhook messages.
  • Subscription Mapping to CMiC Webhook events: Create, Update, and Delete.
  • Webhook Status Log to verify the webhook event standing and manually re-trigger any failures.

Details on the above setup can be found in Webhook Setup and Configuration.