LogoLogo
3.6.9
3.6.9
  • Introduction
  • Getting started
    • Installation
      • Prerequisites
        • Server requirements
      • On-premises
        • Single-node
          • Directory structure
        • Multi-node
      • Azure Market Place
      • AWS Market Place
    • Tutorials
      • Amazon AWS CUR
      • Amazon AWS CUR (Athena)
      • Azure Stack
      • Azure EA
      • Azure CSP
      • Google Cloud
      • VMware vCloud
      • VMware vCenter
    • How-to guides
      • How to configure receiving a monthly billing report
      • How to automatically trigger a monthly billing report
      • How to update your license
      • How to store contract information with an Account in a report
      • How to automatically send workflow errors as webhooks to a monitoring system
    • Concepts
      • User interface
      • Services
    • Releases
      • Upgrading to version 3
      • Known issues
      • Announcements
      • Archive
  • Reports
    • Accounts
    • Services
    • Instances
    • Summary
    • Budget
  • Services
    • Manage
    • Rates
      • Tiered Services
        • Aggregation Levels and the Account Hierarchy
    • Adjustments
    • Subscriptions
  • ACCOUNTS
    • Budget management
  • Data pipelines
    • Extract
      • Configuration
      • Extractor templates
      • Script basics
      • Parslets
      • Subroutines
        • check_dateformat
        • check_dateargument
        • format_date
        • validate_response
      • Language
        • aws_sign_string
        • basename
        • buffer
        • csv
        • clear
        • decimal_to_ipv4
        • discard
        • encode
        • encrypt
        • environment
        • escape
        • exit_loop
        • foreach
        • generate_jwt
        • get_last_day_of
        • gosub
        • gunzip
        • hash
        • http
        • if
        • ipv4_to_decimal
        • json
        • loglevel
        • loop
        • lowercase
        • match
        • pause
        • print
        • return
        • save
        • set
        • subroutine
        • terminate
        • unzip
        • uppercase
        • uri
        • var
    • Transform
      • Configuration
      • Transformer templates
      • Transform Preview
      • Language
        • aggregate
        • append
        • calculate
        • capitalise
        • convert
        • copy
        • correlate
        • create
        • default
        • delete
        • dequote
        • environment
        • event_to_usage
        • export
        • finish
        • Functions
        • if
        • import
        • include
        • lowercase
        • normalise
        • option
        • rename
        • replace
        • round
        • services
        • set
        • sort
        • split
        • terminate
        • timecolumns
        • timerender
        • timestamp
        • update_service
        • uppercase
        • var
        • where
    • Datasets
    • Lookups
    • Metadata
    • Reports
    • Workflows
  • Administration
    • User management
      • Users
      • Groups
    • Notifications
      • Budget Notifications
      • Report notifications
      • Workflow notifications
    • Settings
      • Global Variables
      • White Labeling
  • Advanced
    • Integrate
      • GUI automation
        • Examples
      • API docs
      • Single sign-on
        • Claims-based identity provisioning: users, Account access and user groups
        • Azure-AD
        • Auth0
        • OKTA
        • OneLogin
        • ADFS
        • LDAP
    • Digging deeper
      • Authentication flows
      • Transformer datadate
      • Dataset lifecycle
      • Config.json
      • Databases
  • Security
    • Security
    • Authentication
      • Token
      • LDAP
      • SAML2
    • Password reset
    • Password policy
    • Announcements
  • Troubleshooting
    • Logs
  • Terms & Conditions
  • Privacy Policy
Powered by GitBook
On this page
  • What are Webhooks?
  • How to test your webhooks
  • Create a Hookdeck connection
  • Create a webhook channel
  • Create a workflow notification
  • Test case using Hookdeck

Was this helpful?

Export as PDF
  1. Getting started
  2. How-to guides

How to automatically send workflow errors as webhooks to a monitoring system

Learn how to automatically send workflow errors as webhooks

PreviousHow to store contract information with an Account in a reportNextConcepts

Last updated 3 years ago

Was this helpful?

Exivity offers the possibility to . Users can get notified when a workflow has finished successfully or when it has failed. In some scenarios, you may want to get informed by a Monitoring System about any Failed Workflow alerts. This is possible through webhooks.

What are Webhooks?

Webhooks are automated messages sent from one app to another when something happens.

In simple words: A webhook URL is provided by the receiving application (in this case, the Monitoring System), and acts like a phone number that the other application (in this case, Exivity) can "call" when an event happens. The data about the event is sent to the webhook URL in either JSON or XML format and it is known as the Payload. As seen in the diagrams above, there is no need to have continuous polling between the Monitoring system and Exivity when using webhooks.

The Monitoring System, receiving the notification through the chosen URL, not only knows an event occurred on another system, but it can also react to it.

How to test your webhooks

In a real case scenario, you would have a webhook endpoint provided by your Monitoring System of choice. For the purpose of this tutorial, we are going to simulate that by using a mock endpoint.

Create a Hookdeck connection

After you have created your connection, it should look similar to this one:

Create a webhook channel

2. Provide a Channel name for your channel and select the Channel type as Webhook.

4. Fill in the Webhook URL with the URL provided by Hookdeck:

5. Click the Create button.

Create a workflow notification

Also, make sure you fill in a suggestive Name, Title and Description, since you want to identify the Error status easily in your Monitoring System (or in this case, in the Hookdeck events Dashboard):

Test case using Hookdeck

Obviously, the ls -la command is destined for Linux/Unix operating systems, not for Windows (which is the default OS for your Exivity installation), therefore it is going to fail.

2. Click Update to add the new step, then you may also click the Run Now button if you don't want to wait until your Workflow is scheduled to execute.

3. You should immediately see a new event in the Hookdeck events section in the Dashboard:

The 200 OK status code indicates that the connection between Exivity and Hookdeck was successful, not that the Workflow has not failed.

4. Select the most recent event (which is at the top of the list) and on the right side of your screen, you will see a window containing the Response/Payload in a JSON format. In the body section you can see the message from the notification you created to let you know when your workflow has failed:

Analogously, the same steps you have seen in this how-to guide will apply to sending your failed workflow notifications to a Monitoring System, except you will not use the mock endpoint provided by Hookdeck, but the webhook URL provided by your Monitoring System.

One powerful tool that can get you started with the configuration of a webhook channel is . Hookdeck is a platform that helps you manage your webhooks and create mock endpoints for testing purposes.

All webhook events received through Hookdeck are monitored and readily available to you via the or API.

You can easily create your first webhook with their .

During the setting up process, make sure the Destination is configured as a mock endpoint, typically

The next step is to that uses this webhook endpoint. 1. To achieve this, open the Exivity GUI, navigate to the Admin > My notifications menu and select the Channels tab.

3. Go to your Hookdeck Dashboard and retrieve the URL for the webhook. This URL can be easily found by navigating to the menu, under the Source name:

Next, and in the Channel section, add the Webhook Channel that you just created.

Now that you have created a webhook channel and a notification for your workflow using that channel, you can test it to see that your Hookdeck mock endpoint catches your notifications successfully. 1. Ideally, none of your would fail, but for testing purposes, we are going to make one of them fail. Select one of your workflows, and add a faulty step. For example, add an Execute type of step and fill in the following command: ls -la

Hookdeck
Dashboard
Get Started guide
https://mock.hookdeck.com
Connections
create a notification for your workflow
workflows
create notifications for workflows
Continuous Polling
Webhook
Example of connection between Exivity and Hookdeck
Copy the Webhook URL
Creating a Webhook Channel
Example of notification for a workflow that fails
Example of a command that fails in your workflow
Hookdeck events for your Connection
The notification message got sent successfully to the Hookdeck endpoint
create a notification channel