Webhook Triggering Output and Integration

George Alpizar
George Alpizar
  • Updated

Overview

This output type sends notifications and alerts to a specified Webhook URL.


Review Parameters

Review the following parameters that you can configure in the Edge Delta App:

YAML Description
name

Enter a descriptive name for the output or integration.

For outputs, this name will be used to map this destination to a workflow.

This parameter is required. 

Review the following example:

name: webhook-output
integration_name

This parameter only appears when you create an individual output.

This parameter refers to the organization-level integration created in the Integrations page. If you enter this name, then the rest of the fields will be automatically populated.

If you need to add multiple instances of the same integration into the config, then you can add a custom name to each instance via the name field. In this situation, the name should be used to refer to the specific instance of the destination in the workflows.

This parameter is optional. 

Review the following example:

integration_name: ed-alert-webhook
type

Enter webhook.

This parameter is required. 

Review the following example:

type: webhook
endpoint

Enter the Webhook API endpoint.

This parameter is required. 

Review the following example:

endpoint: "localhost"
username

Enter the username for Webhook basic authentication.

This parameter is optional. 

Review the following example:

username: user1
password

Enter the password for Webhook basic authentication.

This parameter is optional. 

Review the following example:

password: 12345
custom_headers and
custom_fields

This parameter is used to customize the notification content.

If you do not want to use default fields in a notification, then you can create custom headers and fields.

To learn more, see Review Notify Content Parameters.

This parameter is optional. 

Review the following example: 

custom_headers: 
Accept: "application/vnd.pagerduty+json;version=2"
Content-Type: "application/json"
Authorization: "Token token=XXXXXXXXXX"
From: "user@edgedelta.com"

notify: content

 advanced_content

A payload is JSON object that is used to define metadata about the message.

In the app, when you click Advanced Mode, you can update a pre-populated JSON file. 

You are responsible for ensuring the validity of the JSON object. 

Additionally, configurations you make in Advanced Mode will override all other configurations, including custom_fields, title, and disable_default_fields.

To learn more, see Review Template Values for Trigger Payloads.

This parameter is optional. 

Review the following example: 

        notify_content:
          advanced_content: |
            {
              "foo": {
                "title": "{{ .Title }}",
                "message": "{{ .Message }}",
                "foo2": "bar2"
              }
            }

Review Sample Configuration

The following sample configuration displays an output without the name of the organization-level integration:

      - name: webhook-integration
        type: webhook
        endpoint: "localhost"
        payload:
          signature: "{{.MetricName}}"
          source_id: "{{.Host}}"
          external_id: "{{.EDAC}}"
          manager: "edgedelta"
          source: "{{.Host}}"
          class: "application"
          agent_location: "{{.Host}}"
          type: "{{.SourceType}}"
          agent_time: "{{.Epoch}}"
        notify_content:
          advanced_content: |
            {
              "foo": {
                "title": "{{ .Title }}",
                "message": "{{ .Message }}",
                "foo2": "bar2"
              }
            }

 

Share this document