What is a webhook?

A webhook is a user-defined HTTP request that is sent from a source site to a unique URL of an application when a particular event takes place. Webhooks allow applications to communicate between themselves and facilitate operations in a fast and effective way.

While APIs also enable communication between applications, a major difference between the two is the way they function.

With APIs, you need to poll every time you want to get information from the application; webhooks, on the other hand, are automated and notify you whenever a particular event occurs in your application.

Webhook integration with ManageEngine OpManager

By integrating webhooks in OpManager, you can send data to a specified webhook URL belonging to a third-party application. For instance, webhooks make it possible to integrate OpManager with Microsoft Teams and Telegram.

With webhooks, OpManager sends details of the alarm to a particular URL of the concerned third-party application. The owner of the app would then take suitable action based on the content of the data sent.

Inter-app collaboration via webhooks

A useful aspect of webhook integration is that it enables apps to exchange information effortlessly when specific events occur. Collaboration with other apps is crucial for a network monitoring solution like OpManager to reduce downtime, boost performance, and resolve faults quickly.

OpManager constantly monitors the network for performance, availability, and fault identification. Webhooks enable OpManager to send information to applications like ServiceDesk Plus, ServiceNow, Slack, and more by leveraging its network monitoring capabilities.

So, whenever certain events (threshold violations) happen, alarm details are automatically sent to the specified applications immediately.

Webhooks used in real time

The alarm details sent from OpManager are converted into appropriate forms based on the application in which the data is used.

Webhook integration with OpManager - ManageEngine OpManager

Let's say OpManager locates a hardware failure that requires immediate replacement. Webhooks come into play here, and once this event — device failure — occurs, the alarm raised for this issue will be escalated to ServiceDesk Plus as a ticket.

Let's say OpManager locates a hardware failure that requires immediate replacement. Webhooks come into play here, and once this event — device failure — occurs, the alarm raised for this issue will be escalated to ServiceDesk Plus as a ticket.

On the other hand, if this alarm detail is escalated to Slack, the alarm details will be converted into a message and will appear on the communication channel used.

Above all, webhook-OpManager integration leverages your IT infrastructure management and offers these advantages:

  • Simplifies the job for IT admins with real-time alerts.
  • Integrates OpManager with a wide range of third-party apps
  • Mitigates latency in communication with applications.
  • Gives more control by sending only specified relevant information to apps

Webhooks in OpManager: How it works

OpManager sends the alarm data to a particular URL as an HTTP request once the desired event takes place. In response, the app will send an HTTP callback to OpManager. You must get the webhook URL of the application to which the data is sent.

The content types of HTTP requests supported in OpManager are:

  • Non-ASCII text
  • Large binary data
  • Simple text, ASCII data, or Text
  • XML
  • JSON
  • Javascript and HTML

After every successful HTTP request, a success response code will be added in the OpManager logs. Similarly, for every failed execution, a failure response code will be added in the logs.

You can also define the timeout duration, which is the amount of time OpManager will wait for a response from the app. This ensures a prompt and timely response from the app.

Method types of webhook URLs

You can specify the type of request made to the third-party application. The webhook URL method types supported by OpManager are:

  • GET
  • POST
  • PUT
  • DELETE
  • PATCH
  • HEAD

How to configure webhooks in OpManager

Step 1:

  • Navigate to Settings > Notifications > Add Profile in OpManager.
  • Click Invoke a Webhook.

Step 2:

  • Choose the Hook URL method type (for example: GET) from the drop-down. When you choose a method type other than GET, you will need to specify certain other parameters. See step 3 below for details.
  • Enter the Hook URL of the application.

Step 3: Applicable only if the Hook URL method type is not GET

  • Data Type: Choose a type from the three given categories: form-data, form url-encoded, or raw.
  • For form-data or form url-encoded, add the custom parameters as per your priority, and enter the appropriate values in the adjacent boxes.
  • For the data type raw, mention the following:
    • Enter the Payload Type.
    • Provide a description of the message in the Body Content.

Step 4:

  • Specify the Content-Type in Request Headers.
  • Specify the User Agent if needed.
  • Enter the value for Time Out (in seconds).

Note: A browser's user agent (UA) string helps identify the browser in use, its version, and the operating system on which it is used.

Step 5:

  • Finally, click Next.

In general, the mandatory fields that should be mentioned while configuring Webhooks are:

  1. The method type of Hook URL.
  2. The Hook URL of the application.
  3. The Time-out duration.
  4. The Content-Type under Request Headers.
  5. The Payload Type and Body Content (if the raw data type is chosen).

Use of custom parameters for webhooks

You can add any number of alarm variables and custom fields like IP Address, Device Type, Severity, Location, Contact Details, and more, so that whenever an event happens, these details will be sent as a parameter to the specified webhook URL.

Integrate Webhook with OpManager - ManageEngine OpManager

The message that will be shared to the webhook URL in the above case is represented below:

https://hooks.app.com/data/sample?ipaddress=$DeviceField(ipAddress)&devicetype=$DeviceField(type)&severity=$stringseverity

To: hooks.app.com/data/sample
IP Address: $DeviceField(ipAddress)
Device Type: $DeviceField(type)
Severity: $stringseverity

Note: Proxy variables have been used in the above example. The actual values will be updated for the variables when the webhook is invoked from OpManager.

Use of raw data types in webhooks

Unlike the form-data and form-urlencoded data types, choosing the raw data type gives you liberty to add a raw message not restricted by any parameters.

Webhook OpManager integration - ManageEngine OpManager
Video Zone
OpManager Customer Videos
Altaleb Alshenqiti - Ministry of National Guard - Health Affairs
  
  •  IT Admin from "Royal flying doctor service", Australia
     Jonathan ManageEngine Customer
  •  Michael - Network & Tech, ManageEngine Customer
     Altaleb Alshenqiti - Ministry of National Guard - Health Affairs
  •  David Tremont, Associate Directory of Infrastructure,USA
     Todd Haverstock Administrative Director
  •  Donald Stewart, IT Manager from Crest Industries
     John Rosser, MIS Manager - Yale Chase Equipment & Services
 Pricing  Get Quote