A webhook can be any HTTP endpoint which accepts JSON that you want Honeycomb to send notification of a trigger or SLO’s changing state.
Once configured, Honeycomb sends JSON payloads to your webhook upon alerts firing.
The content will include an authentication header and the result of the alert in JSON in the body of the webhook.
After your webhook integration is set up in Honeycomb, you can configure Triggers and SLOs to use your webhook as a recipient for alerts.
Configure Triggers to Use Your Webhook
To configure Triggers to use your Webhook:
In the Honeycomb UI, navigate to Triggers.
Select the name of the existing trigger you want to configure, or create a new trigger by selecting New Trigger.
Locate the Recipients section, and select Add Recipient.
In the Add Trigger Recipient modal, locate the Recipient dropdown and select your webhook integration.
Select Add.
Select Save Trigger.
Configure SLO Burn Alerts to Use Your Webhook
To configure SLO Burn Alerts to use your webhook:
In the Honeycomb UI, navigate to SLOs.
Select the name of the existing SLO you want to configure, or create a new SLO by selecting New SLO.
Find your SLO in the list, and select the Configure button in the Burn Alerts column.
Select New Burn Alert.
In the Create Burn Alert form:
Set your desired exhaustion time.
Select your webhook integration in the Notify dropdown.
Set your desired Severity. (Critical is the default value.)
Select Create Burn Alert.
Customize Your Webhook
Customizing your webhook integration allows for the tailoring your alert notifications for Triggers and SLOs to your needs.
You can:
Customize Alert Content: Modify the structure and content of your alert payloads, including adding, removing, or reordering fields to meet the specific requirements of your target systems
Customize Alert Headers: Include relevant header keys and values accompanying the JSON payload. This allows you to integrate with services that expect specific HTTP header values
Include Alert-level Variable Support: Automatically include relevant alert context, such as the severity of the alert. This will allow you to pass critical context to your alert recipients without needing to manually customize each notification
Customize Webhook Payload
A webhook that uses custom payloads must have a corresponding payload for an alert type in order for it to be used with that alert type.
For example, a webhook with only a configured Trigger payload cannot be used by an SLO Budget Rate Burn Alert.
A webhook can have up to all three payload types configured.
If no payload types are configured, then a webhook will operate as a standard webhook in Honeycomb.
To customize your webhook payload:
Within the webhook integration modal, navigate to the Payload tab.
Toggle Enable next to each alert type to configure its payload.
All three alert payload types - Triggers, (SLO) Budget Rate Burn, (SLO) Exhaustion Time Burn Alerts - can be enabled if desired.
A text area will appear to enter a JSON template.
Use the pre-configured Generic Webhook option or use the text area to further customize your JSON template. Refer to our template example documentation for inspiration.
Optionally, you can configure and include custom variables and headers for use within your webhook.
Select Add for new webhooks or Update for existing webhooks to complete the process.
Once saved, you can configure the Trigger or SLO Burn Alert to use your custom webhook.
Customize Webhook Variables
Webhooks with enabled custom payload templates may define up to 10 variables that can be referenced in the templates.
Our custom payload variable documentation includes a list of available variables.
Optionally, these variables can be overridden when configuring the webhook to a given Trigger or SLO Burn Alert.
Define Payload Template Variables
Webhooks with enabled custom payload templates may define up to 10 variables that can be referenced in the templates.
Variables must first be defined in the Webhook integration:
Navigate to Team Settings, and select the Integrations view.
Locate Trigger and SLO Recipients.
Create a new webhook or navigate to an existing webhook.
If creating a new webhook, start the webhook creation process by selecting Add Integration and entering values.
If editing an existing webhook, locate the desired Webhook integration in the list of integrations, and select Edit.
In the modal, select the Variables tab.
Select Add variable. You can add up to 10 variables.
Enter a name for the variable. The variable name must:
be alphanumeric
be 64 characters or less
begin with a lowercase letter
be unique among all variables defined for this Webhook
Optionally, enter a default value for the variable. This default value must be 256 characters or less.
Once defined, variables can be referenced in the payload template.
For example, in a format similar to:
{{.Vars.severity}}
Override Payload Template Variables
Once defined in the Webhook integration, payload template variables may be overridden when using the Webhook integration with a Trigger or SLO Burn Alert.
For example, you could define a severity variable, and give it a default value of warning.
Then, when configuring an important Trigger, you could override that variable’s default value with a value of critical.
When the Trigger fires, the value of the payload template variable will evaluate in the following order:
The override value for the variable, if it exists.
The default value for the variable, if it exists.
The empty string "".
Triggers
To override payload template variable(s) in a Trigger:
In the Honeycomb UI, navigate to Triggers.
Select the name of the trigger you want to configure, or create a new trigger by selecting New Trigger.
Locate the Recipients section, and select Add Recipient.
In the Add Trigger Recipient modal, locate the Recipient dropdown and select your webhook integration.
All defined payload template variables for the selected webhook integration are displayed in rows.
Locate the row for the variable you would like to override.
Optionally, enter the override value for the variable in the “Value” text box. This override value must be 256 characters or less.
Select Add.
Select Save Trigger.
SLO Burn Alerts
To override payload template variable(s) in SLO Burn Alerts:
In the Honeycomb UI, navigate to SLOs.
In the list, locate the SLO you want to configure, or create a new SLO by selecting New SLO.
Find your SLO in the list, and select the Configure button in the Burn Alerts column.
Select New Burn Alert.
In the Create Burn Alert form:
Set your desired exhaustion time.
Select your webhook integration in the Notify dropdown.
Locate the target variable to override. All defined payload template variables for the selected webhook integration are displayed in rows.
Optionally, enter the override value for the variable in the “Value” text box. This override value must be 256 characters or less.
Select Create Burn Alert.
Customize Webhook Headers
When sending a notification to the specified webhook endpoint, Honeycomb will always include the following HTTP headers:
Header name
Value
Content-Type
application/json
User-Agent
Honeycomb Triggers
X-Honeycomb-Webhook-Token
The value of the Webhook integration’s Shared Secret
You may need to provide additional HTTP headers for the specified webhook endpoint.
For example, a webhook endpoint could require a Authentication header with a value of Bearer <your-api-key>.
To customize your webhook header(s):
Navigate to Team Settings, and select the Integrations view.
Locate Trigger and SLO Recipients.
Locate the desired Webhook integration in the list of integrations, and select “Edit”.
Select the Headers tab.
Select Add header. You can add up to 5 headers.
Enter a name for the header. The name must:
Be 64 characters or less
Not match Content-Type, User-Agent, or X-Honeycomb-Webhook-Token
Enter a value for the header. The value must be 512 characters or less.
Remove a Webhook Integration
To remove a webhook integration, you will need to delete it from your Honeycomb team.
Deleting the webhook integration from your team removes it from all associated Triggers and SLOs.
Navigate to Team Settings, and select the Integrations view.