Introduction
Webhooks are automated messages sent by applications when something happens. They have a message — or payload — and are sent to a unique URL— essentially the applications's phone number or address. Webhooks are almost always faster than polling, and require less work at the customer's end. They are much akin to an SMS notifications.
The Webhook integration capabilities of Turbonomic, focuses on day one automation scenarios and integrating with more complex workflows that customers require during action execution.
Turbonomic introduced Webhooks some time ago to empower customers beyond the standard action execution experience. These were designed to replace the more legacy-oriented ActionScripts, which relied on SSH for launching scripts to execute custom actions. The initial version of the Webhooks feature equips customers with the ability to:
- Dispatch notifications to collaboration platforms like Slack
- Seamlessly integrate Turbonomic with workflow management systems
- Apply custom logic to override Turbonomic actions
Implementation
This iteration of Webhooks built on the already existing API implementation by providing customers with a UI interface to create, edit and view the already created webhooks. The Webhook falls under the Workflows umbrella, that contains other integrations such as ServiceNow, ActionsScripts and ActionStream Kafka! The feature also made several tweaks to the API interface which show up in the UI. Starting with the Workflows setting, that may be accessible by navigating to the *Settings* options on the left panel and then selecting the *Workflows* icon:
The user interface presents a dedicated dashboard tailored exclusively for Workflows, with Webhooks serving as the sole type of Workflow featured. Presently, other Workflow variants are located within the Targets page but will progressively migrate to this dashboard interface. Each Webhook's intricate specifications are deliberately obscured from user view, displaying solely the identifier (referred to as the Name to keep it generic), Workflow classification (currently superfluous), and its endpoint address. The expectation is that the combination of the identifier and endpoint address will sufficiently aid users in discerning their desired Webhook. However, prior to engaging with these details, users must first initiate the creation of a Webhook via the "Create Workflow +" button:
The user is guided through a sequential progression of pages, each dedicated to a specific aspect of the Webhook's configuration necessary for establishing the eventual connection. Initially, the user is directed to a page where the default option is the creation of a Webhook. On the left-hand side of the screen, a navigation panel delineates the current step in the process and outlines the subsequent steps required to complete the Webhook setup.
Proceeding to the subsequent page prompts the user to input basic details for the Webhook being defined. These details encompass the Webhook's name, a descriptive note to elucidate its intended function, the URL address to dispatch the Webhook to, and the designated HTTP Method, with "POST" as the default selection (although alternative methods like GET, PUT, PATCH, and DELETE are also accommodated). Additionally, a toggle feature is provided to enable validation of the Webhook server's SSL certificates, along with an option to specify proxy information. It is important to note that each Webhook can be configured with its distinct proxy settings.