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

# incident.io

> Declare incident.io incidents from a NOFire AI investigation or from Slack

Connect incident.io to NOFire AI to declare an incident straight from an investigation, or from the **Declare Incident** button in Slack. NOFire AI opens the incident with your own severities and incident types. With the **Edit incidents** role, it also links the investigation and posts its findings to the incident.

> [!NOTE]
>
> Declaring incidents is the only incident.io feature available today. The connection card also mentions starting investigations for new incidents and learning from post-mortems. Those are not available yet.

## Prerequisites

* An incident.io account, and permission to create an API key in it.
* A NOFire AI investigation to declare from. Investigations start from alerts, automations or chat.

## Step 1: Create an incident.io API key

> [accordion] Generate an API key in incident.io
>
> 1. In incident.io, go to **Settings** → **API keys** and create a new key.
>
> 2. Name the key, for example `NOFire AI`.
>
> 3. Grant the roles for what you want NOFire AI to do:
>
>    | Role | What it enables |
>    | - | - |
>    | **View data** (`viewer`) | Required. Reads incidents, severities and incident types. |
>    | **Create incidents** (`incident_creator`) | Required. Declares incidents from NOFire AI. |
>    | **Edit incidents** (`incident_editor`) | Optional. Needed to attach the investigation link and post findings to the incident. |
>
> 4. Create the key and copy it. incident.io shows it only once. You enter it in Step 2.
>
> > [!NOTE]
> >
> > The connection form also lists **View all incident data** (`global_access`), for private incidents, and **On-call viewer** (`on_call_viewer`), for answering who is on call in chat. Neither feature is available yet, and declaring incidents does not need either role, so you can leave them out.

## Step 2: Add the incident.io connection in NOFire AI

> [accordion] Configure the connection
>
> 1. Open [Connections](https://my.nofire.ai/dashboard/connections) and click **Connect** on **incident.io**.
>
>    ![incident.io in the NOFire AI connection catalog](https://mintcdn.com/nofireai/JxwUwUMgFFlpMJMS/images/incidentio/catalog.png?fit=max\&auto=format\&n=JxwUwUMgFFlpMJMS\&q=85\&s=5118ca9a3a6a6e5f37d5c34cadba7898)
> 2. Enter:
>    * **Name**, for example `production`
>    * **API key**: the key from Step 1
> 3. Click **Test key**. NOFire AI shows the key name and your incident.io organization, and marks each role as **Granted** or **Not granted**.
>
>    ![incident.io connection form with all roles granted](https://mintcdn.com/nofireai/JxwUwUMgFFlpMJMS/images/incidentio/form-full-key.png?fit=max\&auto=format\&n=JxwUwUMgFFlpMJMS\&q=85\&s=f332282b51ba6972c1a962eca8c76af5)
> 4. Click **Connect**.
>
> The test fails if the key lacks **View data** or **Create incidents**, and the connection is not saved until it passes. A key without **Edit incidents** passes, and the form says the link and findings will not be posted.

Connecting also switches the Slack **Declare Incident** button to this connection, and the connection page says so. To keep Slack war rooms, or to pick another connection, see [Declare an incident from Slack](#declare-an-incident-from-slack).

## Declare an incident

1. Open an investigation and click **Declare incident** (the shield icon) in its header.
2. Under **Where**, choose **incident.io**. If you have more than one incident.io connection, choose the **Connection**.
3. Check the **Title**. It defaults to the investigation title.
4. Choose a **Severity** and an **Incident type**. Both lists come from your incident.io account. NOFire AI preselects the severity closest to the one it suggests for the investigation.
5. Click **Declare**.

![Declare an incident dialog with incident.io selected](https://mintcdn.com/nofireai/JxwUwUMgFFlpMJMS/images/incidentio/declare-dialog.png?fit=max\&auto=format\&n=JxwUwUMgFFlpMJMS\&q=85\&s=3668967fbd78af15eff8a7203287eeba)

The investigation header then shows the incident reference, a link to it in incident.io, and its severity.

![Investigation header linked to incident.io incident INC-1](https://mintcdn.com/nofireai/JxwUwUMgFFlpMJMS/images/incidentio/incident-strip.png?fit=max\&auto=format\&n=JxwUwUMgFFlpMJMS\&q=85\&s=7899a17a69b0feab77507ec02df365b5)

With **Edit incidents** granted, NOFire AI also adds the investigation link and its findings to the incident in incident.io.

## Declare an incident from Slack

NOFire AI's investigation messages in Slack carry a **Declare Incident** button. The **Declare Incident button** setting in [Slack admin settings](https://my.nofire.ai/dashboard/account/slack) decides what the button does:

* **Slack war room**: the button opens a Slack incident channel. This is the default until you connect incident.io.
* An incident.io connection, listed by name: the button declares the incident in incident.io and replies in the thread, visible only to you, with the incident reference and a link. NOFire AI uses incident.io's default incident type and the severity closest to the one it suggests.

The setting applies when someone clicks, so it also changes buttons already posted. Only admins and owners can change it.

Each new incident.io connection becomes the button's target, even if an admin chose another target before. To change it back, choose the target again in the setting.

If the chosen connection is removed or disabled, the button opens a Slack war room again, and the setting says the chosen connection is unavailable. Choose another connection or **Slack war room** to clear it.

If incident.io fails to open the incident, the person who clicked gets a reply in the thread, visible only to them, saying the incident could not be opened in incident.io. NOFire AI does not open a Slack war room instead.

## Test the connection

1. Open [Connections](https://my.nofire.ai/dashboard/connections) and make sure that the incident.io connection shows **Connected**. A connection that shows **Failing** did not authenticate.
2. Declare an incident from an investigation. The incident reference appears in the investigation header, and the link opens the incident in incident.io.

## Troubleshooting

> [accordion] The Declare button is disabled for incident.io
>
> The dialog says why. "This key cannot declare incidents (needs Create incidents)" means the API key of a saved connection no longer has the **Create incidents** role. Add the role to the key in incident.io, or create a new key with it and update the connection.

> [accordion] The Slack Declare Incident button opens a Slack war room
>
> Check **Declare Incident button** in [Slack admin settings](https://my.nofire.ai/dashboard/account/slack). Either it is set to **Slack war room**, or the incident.io connection it names was removed or disabled, and the setting says it is unavailable. Choose an enabled incident.io connection.

> [accordion] Slack says the incident could not be opened in incident.io
>
> incident.io rejected the request or could not be reached. Test the connection in **Connections**: the test fails if the key was revoked or lost **Create incidents**. Fix the key, then click **Declare Incident** again.

> [accordion] The incident opens without the investigation link or findings
>
> The key lacks **Edit incidents**. The dialog warns about this before you declare: "The link and findings will not be posted: the key lacks Edit incidents."

> [accordion] The severity list is empty
>
> Your incident.io account has no severities configured, or NOFire AI could not load them. The dialog then lets you declare without choosing one, and NOFire AI uses its suggested severity.

> [accordion] Test key fails
>
> If the form names a missing role, add **View data** or **Create incidents** to the key in incident.io and test again. Otherwise the key is wrong or was revoked. Create a new key in incident.io and paste it again.

Any questions? Contact us at [support@nofire.ai](mailto:support@nofire.ai).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.