Webhooks
Webhooks
Webhooks are automated messages driven by events. A webhook is a service that allows one program (the source) to ‘speak’ (HTTP request) to another (the destination) when an event occurs, by sending data (request payload) about that event.
A single webhook request can also be distributed to multiple destinations that require the information, in a process known as fanning out. This allows source systems to speak to more applications and better distribute information across the web.
There are numerous examples of webhooks in use today, including automatic emails from your calendar or receiving a notification when a payment is processed. Webhooks are most common in SaaS platforms like GitHub, Shopify, Stripe, Twilio, and Slack because they support different types of events based on the activities that happen within them.
Difference between webhooks and APIs
Webhooks and APIs both serve the purpose of establishing communication between applications. Where they differ lies in the method of communication to those applications. APIs create a two-way communication channel between applications using a request/response method. Webhooks conversely provide a one-way communication channel where one application pushes data to an application after an event in the source application is triggered.
Webhooks are beneficial for frequent one-way application updates where added message handling (i.e request and response) is not necessary. The lightweight messaging allows for faster processing of communicated data at higher frequencies which is better suited for near real-time notifications.
Jellyfish integration with webhooks
With webhooks you can automatically send data from one system to another in response to a Jellyfish system event.
Jellyfish allows you to configure webhook notifications to communicate with your application when a Jellyfish event occurs. These Jellyfish events are sourced from the solution’s credential management, identity and access management capabilities.
To create a webhook, Jellyfish users register a webhook configuration in their tenancy. A webhook configuration consists of a selected Jellyfish event from a list of options and a destination URL. A webhook notification is sent from Jellyfish when the configured event occurs in Jellyfish. Jellyfish events include certificate lifecycle event that occur within user tenancies such as certificate expiry notification or changes in the tenancy.
The user-defined URL to the user’s destination application, receives the notification and processes it. The event type determines the information sent with the webhook and includes a lookup value the destination application can use to query the Jellyfish system.
The benefits of webhooks
The application of webhooks with Jellyfish is wide ranging. The scope of this potential is determined by the customer’s bespoke application and the events sourced from Jellyfish’s large number of solution modules and capabilities. Jellyfish is an organic solution where new internal events can produce a secure webhook notification. Additional custom webhooks can also be built for your application.
The inherent benefits of webhooks for inter-application communication also carry over. Webhooks allow for responsive synchronization of customer applications with Jellyfish. This enables efficient and optimized automation of customer application responses to Jellyfish events. Automation also removes the need for manual interaction, reducing human error, which is common in certificate issuance.
Jellyfish webhooks are commonly used with credential management life cycle events. Webhooks for certificate issuance, revocation and expiration are very powerful for automation of PKI services for customer applications. ID Management and Access Management events within Jellyfish are also useful for creating automated responses to, including events such as user creation, login, or location access.