Before You Begin
Before you set up the integration, you’ll need a user account in your Honeycomb Team.Set Up Your Integration
Before you can configure Honeycomb to send alerts to your webhook, you must set up your webhook integration.Create a Webhook
To create a webhook:- Navigate to Team Settings, and select the Integrations view.
- Locate Trigger and SLO Recipients, and select Add Integration.
- For Provider, select Webhook.
- Enter a Name. We recommend using a name that will be easy to find when configuring alerts in the future.
- Enter your Webhook URL, and optionally a Shared Secret for either:
- an HTTP endpoint running within your infrastructure
- the URL and headers needed by the target service to send alerts
- Optionally, customize your webhook by using the Payload, Variables, and/or Headers tabs.
- Select Add.
Configure Alerts to Use Your 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.
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.
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 aseverity 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 |
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, orX-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.
- Locate Trigger and SLO Recipients.
- Find your webhook integration.
- Select Edit.
- In the form editor, select Remove.