Webhook Integration

Overview

Get your Alerts or Recommendation Reports via webhook, read below to configure the outgoing webhook.

ℹ️

Webhook channel availability

The webhook channel can be used as the destination channel for:

  • All Alert types
  • The recommendation reports

It is NOT available to CUE reports and Dashboard reports.

Configuration in Umbrella Cost

  • Go to the channels page, create a new channel, choose webhook as the type.

Create webhook channel

  • Fill in the channel name, this name will be presented in the umbrella cost platform
  • Fill in the destination URL, this is your webhook listener's URL.
  • Choose the authentication method
    • No Authentication - The webhooks are sent without authentication with the server
    • Basic Authentication - The connection to the server is based on user/password
    • SSO (Okta) Authentication - Use SSO credentials to connect to the webhook listener.
  • Set optional HTTP Headers
    • These headers can be used for your HTTP routing/security when retrieving the webhook from the webhook server
      Use the format below, this information will be wrapped as an array of headers.
"key":"header_name","value": "header_value"
"key":"head","value": "val"

📘

SSO (OKTA) Parameters

When using SSO (OKTA) you need to gather the Issuer URL, the client ID and the Scope name from within Okta, and copy them to the umbrella cost webhook configuration modal.

  • Go to OKTA App > Parameters > Get the Client ID
  • Go to OKTA API > Authorization Server Configuration
    • Get the Issuer URI
    • Create Scope: Create a separate scope for umbrella, use the created scope name
    • Create an access policy within OKTA

Sample webhook text

curl -X 'POST' 'https://webhook.site/14dea074-3ae4-4fba-a7e5-000	0a8e67044' 
-H 'user-agent: okhttp/4.12.0' 
-H 'accept-encoding: gzip' 
-H 'host: webhook.site' 
-H 'content-length: 297' 
-H 'content-type: application/json' 
-H 'head: val'
-d $'{
    "metadata": {
        "object_type": "anomaly_alert",
        "timestamp": "",
        "destination_url": ""
    },
    "payload": {
    "title": "Webhook Test",
    "message": "Webhook Test",

        "cloud_provider_type": "",
        "account_id": "",
        "account_name": ""
    }
}
'