> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashduty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Airbrake alert integration

> Send error notifications from an Airbrake project to Flashduty On-call through a webhook.

Use the Webhook integration of an Airbrake project to send error notifications to Flashduty On-call. Each Airbrake error maps to one Flashduty alert, and repeated notifications for the same error merge into that alert. Airbrake's webhook sends no "resolved" notification, so alerts are closed by the channel's auto-close or manually.

<div className="hide">
  ## In Flashduty On-call

  ***

  You can obtain an integration push URL in either of the following ways.

  ### Use a dedicated integration

  1. In the Flashduty console, select **Channel** and open a channel
  2. Select **Configuration** → **Integrations** → **Private integration**, then click **Add an integration**
  3. Select **Airbrake**, then click **Save**
  4. Open the generated integration card and copy the **Push URL**

  ### Use a shared integration

  1. In the Flashduty console, select **Integration Center → Alert Events**
  2. Select **Airbrake** and enter an integration name
  3. Configure the default route and select a channel; after creation, add more rules under **Route** if needed
  4. Click **Save** and copy the generated **Push URL**
</div>

## Configure Airbrake

***

<Steps>
  <Step title="Add a Webhook integration">
    1. Open the Airbrake project you want to connect, go to the project's Integrations settings, and select **Webhook**
    2. Paste the full Flashduty push URL into the webhook URL; the URL must include `integration_key`
    3. If you only want production errors, select the option to post only errors from the `production` environment
    4. Click **Save**
  </Step>

  <Step title="Turn on auto-close">
    Airbrake's webhook only sends error notifications and has no recovery event: when an error is marked resolved in Airbrake, Flashduty is not notified.

    Turn on [auto-close](/en/on-call/channel/create-edit) in the channel that receives these alerts, with a suggested duration of 24 hours. A repeated notification for the same error within the grouping window updates the same alert; after the alert is closed, the next notification opens a new one.
  </Step>

  <Step title="Verify">
    Trigger a new error in an application that reports to Airbrake and confirm that an active alert appears in Flashduty. Its title is the error message, and the `error_id` label matches the error's ID in Airbrake.

    Airbrake's documentation does not describe a test notification body, so Flashduty does not treat test deliveries specially. If a test delivery arrives, handle it as an ordinary alert and close it manually.
  </Step>
</Steps>

## Alert Key

***

Flashduty computes the Alert Key from `error.id` (the Airbrake error ID) in the webhook body. Every notification for the same error uses the same Alert Key, and changes to the error message, occurrence count, environment, or last occurrence time do not change it. A notification without `error.id` is rejected.

## Severity

***

The Airbrake webhook carries no severity. Every notification is a Warning trigger.

## Labels

***

| Label | Source |
| :- | :- |
| `error_id` | Error ID (`error.id`) |
| `error_class` | Error class name |
| `project` / `project_id` | Airbrake project name and ID |
| `env` | Environment where the error occurred |
| `file` / `line_number` | File and line where the error occurred |
| `times_occurred` | Total number of occurrences |
| `first_occurred_at` / `last_occurred_at` | First and latest occurrence time |
| `url` | Link to the error in Airbrake (`airbrake_error_url`) |

## Troubleshooting

***

* **Flashduty returns an invalid-parameter error**: confirm the URL is complete and includes `integration_key`
* **Alerts do not recover**: Airbrake sends no recovery notification; turn on the channel's auto-close or close alerts manually
* **No notifications arrive**: check whether the production-only option is on and whether the error's environment is `production`

For field details, see [Airbrake Webhook](https://docs.airbrake.io/docs/integrations/webhooks/).
