What is a webhook?
The webhooks feature allows 3rd parties to expand the core functionality of the consent suite.
A webhook is like a notification between two systems. Sometimes called http requests or callbacks. They allow a small payload of information to be send to another system when a certain event occurs. Once the 3rd party system receives the information, it can trigger an action itself.
These are essential to the workings of commercial products such as Zapier, IFTTT & Microsoft Power Automate, along with CRMs and business administration software.
The consent suite has three different webhooks, all available from the organisation dashboard. Goto settings > webhooks.
Events Status, PDF Timing Report and PDF Consent Form
To get started, add a webhook url, toggle activate and save.
A webhook can be configured to trigger on specific events as they occur. In some cases, the 3rd party might want to know when a consent form has been completed by the patient to notify a booking administrator to book their next appointment.
The available events are different per webhook. The events webhook has all available, where the PDF consent webhook has events relating to the consent form itself.
Note that if the consent module is not active, these events will not be available in the events webhook.
The full list of events is:
- Article: Not Yet Started
- Article: In Progress
- Article: Complete
- Article: Expired
- Consent Form: Not Yet Started
- Consent Form: In Progress
- Consent Form: Patient Complete
- Consent Form: Complete
- Consent Form: Withdrawn
- Consent Form: Expired
- Session: Patient Questions Added
Status and Logs
The webhook settings screen shows a status for each webhook. The status icons are:
- No-entry sign = webhook not configured
- Grey tick = webhook active, no traffic
- Green tick = webhook active, traffic ok
- Orange exclamation = webhook error
Please note that the status and logs do not automatically update, unless you navigate away from this page and back. Use the refresh logs button to get the latest.
Select one of the webhooks to view the logs.
The 25 most recent events are stored. The logs are purged daily.
Select an individual log entry to view the details. This will show the webhook payload sent, plus the success/error message returned by the 3rd party.
More advanced processes can be achieved by also integrating with the consent suite JSON API. The webhook payload will contain data that allows the 3rd party system to identify the patient ID, patient session ID etc.
By using these IDs alongside the JSON API, data about the patient, or the notes they made, the documents they have completed can all be extracted and used for many different use cases.
Sample payloads for the webhooks can be found in the API Docs.
An example use case could be document management systems. Wait until the webhook is received, then ingest the base64 PDF. To extend this further, extra patient information could be retrieved to populate meta data within the DMS.
Another frequently requested use case is notifications. When has the patient completed their consent form? How do i know if they haven’t read their article?
Now using these webhooks, business admin systems, CRMs, patient comms systems can be notified by webhook when events occur for a patient and do something with that information.
EIDO will be offering bespoke development services to create advanced processes for customers if they do not have these capabilities in house. Speak to sales for information.