Webhooks Integration

Site24x7 makes it easy for you to connect your Site24x7 event data with multiple applications using Webhooks. Webhooks work on an event based output mechanism. Specific events generated in Site24x7 such as the change in status of the monitors to trouble or critical, triggers the webhook, which inturn invokes a signal to the Hook URL via an HTTP request. Any trigger event in Site24x7 will post the event data to the Hook URL specified by you. It allows you to streamline and manage your critical Site24x7 alarms, incidents or messages in any third-party application. Additionally, with our On-Premise Poller support for Webhook integration, you can post event information to any internal application.

Table of Contents

Integrate Site24x7 with third party application using Webhooks

Webhook integration requires you to obtain a Hook URL of the desired third party service. Once, you've the Hook URL, follow the steps below to tightly integrate Site24x7 events data with any third party application using Webhooks:

  1. Login to Site24x7 account.
  2. Navigate to Admin > Third-Party Integration.
  3. Click the Add third-party integration button. Pick Webhooks from the list.


  4. Fill up the Webhooks Integration form to complete the integration process.
    • Integration Name: Provide a name for your integration.
    • Hook URL: The full URL (with http/https protocol) that Site24x7 sends data to.
    • Accessibility: Determines whether the Hook URL can be invoked from global Site24x7 server or from within the network using On-Premise Poller.
      • Global: Invokes the Hook URL from Site24x7 central server to perform the integration.
      • Internal: Requires On-Premise Poller to perform the integration. Once setup, the central server will notify the On-Premise Poller to invoke the Hook URL to complete the integration.
        To setup an On-Premise Poller, please follow this instruction.
    • HTTP Method: Specify the method to be used for connecting with the URL– GET, POST, PUT, DELETE or PATCH. Select the radio buttons to configure the form submission method and appropriate body type for the POST, PUT, DELETE, or PATCH HTTP Method.
      • Post as JSON: Enter the content to be submitted in the JSON request body. The Content-Type header is set automatically.
      • Send Incident Parameters: Write specific code in the URL itself and pass the variables using Incident Parameters. The request parameters must be provided as Param name=value pair for the HTTP methods. Learn more about incident parameters.

        $INCIDENT_DETAILS is currently available only for RBL monitors.
      • Send Custom Parameters: Write specific code to pass parameters in the format Param name=value pair for your HTTP CRUD methods. If you want to pass multiple key-value pairs, you must specify each pair one-per-line, each followed by an & symbol. You can POST the request in the JSON format too. While passing the Custom Parameter during your HTTP request, you can specify a predefined Global Parameter in the Name or Value field. Global Parameters get substituted with your defined Constant or the actual Dynamic Values in your HTTP response. Custom Parameters should be passed using either of the following syntaxes: 

      Custom Parameters syntax when specified in JSON format:

      Custom Parameters syntax when not specified in JSON format:  

    • HTTP Request Headers: Sometimes you might want to customize the default HTTP request header information. In such cases, the additional header name and header value can be added here.
    • User Agent: Set customized user agent (web browser) for sending your request and the HTTP headers. You can choose from the available user agents.
    • Authentication Method: Specify the radio button and update the credentials accordingly.
      • Basic/NTLM CredentialsConfigure your Basic/NTLM based authorization. Windows NTLM is the authentication protocol used on systems running on Windows OS.
        CredentialsSpecify your Username and Password for URLs requiring Basic/NTLM based authentication.
      • OAuth: Pick the OAuth radio button, if you're monitoring a resource that is secured by OAuth framework.
        Provider Name: Select the OAuth Provider Name from your preconfigured list or create a new OAuth profile by clicking the + button.
    • Timeout: Enter the time in seconds to determine how long the Site24x7 servers should wait before considering the URL as non-responsive. Enter a time in seconds that is not the usual response time of your website. Specify a value between 1-45 seconds.
    • Integration Level: Choose the desired integration level to either push specific events from a monitor, monitor/monitor group associated to particular tag(s) or all alarms from your Site24x7 account to the relevant webhook.

      For tags associated to your monitor group that have monitors in parent level and a few monitors in sub group level, alerts from the parent monitors alone get logged in your preferred third-party service. 

    • Tags to Be Sent With Alerts: Select the tag keys associated with the monitor that need to be sent with the alert. When an alert is triggered, tags that match with the monitor will be included in the alert notifications. If no tags are selected, all the tags associated with the monitor will be present in the alert notifications.
    • Trigger Alerts for Monitor Status Change: Enable or disable the toggle button to decide whether to post Down, Critical and Trouble status alerts of monitors to your preferred third-party app.
  5. Click the Save and Test button to save the integration and to receive a test alert. Or, you can click the Savebutton to finish the integration.
    Once the set up process is completed, the Webhooks integration will be listed in the Third Party Integration dashboard. You can setup multiple such webhooks in your Site24x7 account. 

Suspend/Activate/Test Alert/Delete Webhooks Integration

Follow the steps below to suspend an active Webhook integration:

  1. Log in to Site24x7.
  2. Navigate to Admin > Third Party Integration.
    All the integrations will be listed here in the Third Party Integration dashboard.
  3. You can also initiate a Test Alert to check whether the webhook integration is a success or has any configuration error.

  4. Click the active Webhook integration that you want to suspend.
  5. Click the Suspend button listed on the top right corner of the integration window.

    If you wish to reactivate a suspended Webhook integration, follow the same steps listed above; then click the Activate button listed on the top right corner of your integration window. Once reactivated, Site24x7 server starts to push event data to the intended application. 

    To delete a Webhooks integration, follow the same steps listed above; then click the Delete button listed on the top right corner of your integration window. Once deleted, the Webhooks integration will be terminated permanently.
 

Manage your tickets with Webhooks Integration

Manage Ticket Configuration:

You can use this option when you're using an ITSM tool where the alerts will be channeled to that tool. With the Managing Ticket configuration you needn't have to close the tickets manually, rather they'll be closed automatically once the issue is resolved.

Manage Tickets: Use the toggle button to choose Yes or No, to specify whether you wish to manage your tickets or not. If you choose Yes, then you'll be provided with a couple of fields to set the configuration for.

With this configuration Site24x7 alarms integration with any tool can be made possible.


Response format:
If the selected response format is JSON:

  • JSONPath expression: To manage tickets the ticket id will be retained/ stored to update the same ticket when the monitor status changes from Down to Up. So, in order to get the ticket id it is necessary to parse the response. For that you need to provide a JSON Path/XPath expression to retrieve the ticket id from the response. You can use Site24x7 JSONpath expression to verify the json expression.

Update Request

  • Hook URL: The full URL (with http/https protocol) that Site24x7 sends data to.In this update url if the ticket id has to be replaced dynamically, then they should mention it as $TICKE_ID for eg.http://example.com/api/rest/$TICKET_ID/notes.
  • While invoking the url we will replace $TICKET_ID with the corresponding id you've provided.
  • The HTTP Method: Specify the method to be used for connecting with the URL– GET, POST, PUT, DELETE or PATCH. Select the radio buttons to configure the form submission method and the appropriate body type for the POST, PUT, DELETE, or PATCH HTTP Method.

Close Request

  • Hook URL: Provide the URL (with http/https protocol).This url will be called when the monitor status changes to UP state and here also the $TICKET_ID will be replaced with the corresponding id from the response.
  • HTTP Method: Specify the method to be used for connecting with the URL– GET, POST, PUT, DELETE or PATCH. Select the radio buttons to configure the form submission method and the appropriate body type for the POST, PUT, DELETE, or PATCH HTTP Method.
  • Click Save to save the configuration.

 

 

Was this document helpful?
Thanks for taking the time to share your feedback. We’ll use your feedback to improve our online help resources.