---
title: Integration types
description: 'Settings for each integration type in the Honeybadger API v3: the config keys, the events each type supports, and a minimal request.'
url: https://docs.honeybadger.io/api/v3/integrations/types/
---

API v3 is in preview

Endpoints and response shapes [can change before general availability](https://docs.honeybadger.io/api/v3/#preview). API v2 is unchanged.

Each section covers one value of `type`: the fields it adds to the shared ones, and a minimal request. The shared fields are documented on [Create an integration](https://docs.honeybadger.io/api/v3/integrations/create-integration/).

## AlertOps

2 settings

Get alerts via AlertOps.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.url` required | string \| null | The URL from your [Honeybadger integration](https://honeybadger.alertops.com/admin/MappingRulesList.aspx) in AlertOps. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `type` required | "AlertOps" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "AlertOps",
  "config": {
    "url": "https://example.com/hook"
  }
}
```

## Asana

1 setting

Create Asana tasks from errors. It sends nothing until someone connects it in the web UI at `links.web`.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.asana_project_id` required Project ID | string \| null | e.g. from a project view: app.asana.com/0/**3456789012345**/3456789012345. |
| `type` required | "Asana" | |
| `events` | array \| null | Defaults to `occurred`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/). |

Minimal request

```json
{
  "type": "Asana",
  "config": {
    "asana_project_id": "3456789012345"
  }
}
```

## Backlog

11 settings

Track issues in Backlog.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.space_url` required | string \| null | Your Backlog space URL (e.g., https\://example.backlog.com or https\://example.backlog.jp). |
| `config.api_key` required | string \| null | Your Backlog API key (generate one in Personal Settings > API). Never returned. Leave it out of an update to keep it. |
| `config.backlog_project_id` required Project | string \| null | The Backlog project to create issues in. The value that service's API uses for it, usually an ID. |
| `config.issue_type_id` required Issue Type | string \| null | The type of issue to create. The value that service's API uses for it, usually an ID. |
| `config.priority_id` required Priority | string \| null | The priority level for new issues. The value that service's API uses for it, usually an ID. |
| `config.resolve_status_id` required Closed Status | string \| null | The status to use when resolving errors. The value that service's API uses for it, usually an ID. |
| `config.reopen_status_id` required Open Status | string \| null | The status to use when unresolving errors. The value that service's API uses for it, usually an ID. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `config.enable_webhook` Sync status from Backlog | boolean \| null | When enabled Honeybadger will create a webhook in Backlog to sync issue status changes back to Honeybadger. Default: `true`. |
| `config.subject_format` Issue Subject | string \| null | Subject of each new Backlog issue. Placeholders such as `[class]`, `[message]` and `[fault_id]` are filled in; see [custom formatters](https://docs.honeybadger.io/guides/integrations/#custom-formatters). |
| `config.description_format` Issue Description | string \| null | Body of each new Backlog issue. Placeholders such as `[class]`, `[message]` and `[fault_id]` are filled in; see [custom formatters](https://docs.honeybadger.io/guides/integrations/#custom-formatters). |
| `type` required | "Backlog" | |
| `events` | array \| null | Defaults to `occurred`, `resolved`, and `unresolved`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/). |

Minimal request

```json
{
  "type": "Backlog",
  "config": {
    "space_url": "https://example.backlog.com",
    "api_key": "AbCdEf0123456789AbCdEf0123456789AbCdEf0123456789AbCdEf0123456789",
    "backlog_project_id": "123456",
    "issue_type_id": "1074711",
    "priority_id": "3",
    "resolve_status_id": "4",
    "reopen_status_id": "1"
  }
}
```

## Bitbucket

1 setting

Create Bitbucket issues from errors. It sends nothing until someone connects it in the web UI at `links.web`.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.repo` required Repository name | string \| null | e.g. honeybadger-io/crywolf. |
| `type` required | "Bitbucket" | |
| `events` | array \| null | Defaults to `occurred`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/). |

Minimal request

```json
{
  "type": "Bitbucket",
  "config": {
    "repo": "honeybadger-io/crywolf"
  }
}
```

## Campfire

`CampfireV3` · 1 setting

Get alerts via Campfire group chat.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.chatbot_url` required | string \| null | The [integration URL](https://docs.honeybadger.io/guides/integrations/campfire/#2-create-a-chatbot-integration-in-basecamp) for your Campfire chatbot. |
| `type` required | "CampfireV3" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "CampfireV3",
  "config": {
    "chatbot_url": "https://example.com"
  }
}
```

## ClickUp

10 settings

Create ClickUp tasks from errors. It sends nothing until someone connects it in the web UI at `links.web`.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.workspace_id` required Workspace | string \| null | The value that service's API uses for it, usually an ID. |
| `config.teamspace_id` required Teamspace | string \| null | The value that service's API uses for it, usually an ID. |
| `config.folder_id` Folder | string \| null | The value that service's API uses for it, usually an ID. |
| `config.list_id` required List | string \| null | The ID of the list to create tasks for. The value that service's API uses for it, usually an ID. |
| `config.initial_status_id` required Initial status | string \| null | The initial status when a task is created. The value that service's API uses for it, usually an ID. |
| `config.resolve_status_id` required Resolve status | string \| null | The task status when an error is resolved. The value that service's API uses for it, usually an ID. |
| `config.reopen_status_id` required Reopen status | string \| null | The task status when an error is reopened. The value that service's API uses for it, usually an ID. |
| `config.tags` | string \| null | Comma-separated list of tags. |
| `config.title_format` | string \| null | You can customize the ClickUp task name, or you can leave this blank for the default name. Please see [our documentation](https://docs.honeybadger.io/guides/integrations/#custom-formatters) for details. Default: `"[[project]] Occurred: [class] ([fault_id])"`. |
| `config.description_format` | string \| null | Description of each new ClickUp task. Placeholders such as `[class]`, `[message]` and `[fault_id]` are filled in; see [custom formatters](https://docs.honeybadger.io/guides/integrations/#custom-formatters). Default: `"[class]: [message]\n\nBacktrace:\n\n[backtrace]\n\nView full backtrace and more info at honeybadger.io: [url]"`. |
| `type` required | "ClickUp" | |
| `events` | array \| null | Defaults to `occurred`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/). |

Minimal request

```json
{
  "type": "ClickUp",
  "config": {
    "workspace_id": "9012345678",
    "teamspace_id": "90120123456",
    "list_id": "901201234567",
    "initial_status_id": "sc901201234567_AbCd1234",
    "resolve_status_id": "sc901201234567_EfGh5678",
    "reopen_status_id": "sc901201234567_AbCd1234"
  }
}
```

## ClickUp Chat

`ClickUpChat` · 2 settings

Send alerts to ClickUp Chat channels. It sends nothing until someone connects it in the web UI at `links.web`.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.workspace_id` required Workspace | string \| null | The value that service's API uses for it, usually an ID. |
| `config.channel_id` required Channel | string \| null | The value that service's API uses for it, usually an ID. |
| `type` required | "ClickUpChat" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "ClickUpChat",
  "config": {
    "workspace_id": "9012345678",
    "channel_id": "4-90120123456-8"
  }
}
```

## Datadog

4 settings

Get alerts in your Datadog cloud monitoring event stream.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.api_key` required | string \| null | Your Datadog API key. Never returned. Leave it out of an update to keep it. |
| `config.endpoint` | string \| null | The Datadog site your account is on: `US1` is datadoghq.com, `EU1` is datadoghq.eu. Allowed values: `US1`, `US3`, `US5`, `US1-FED`, `EU1`, `AP1`, `null`. Default: `"US1"`. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `config.send_metrics` | boolean \| null | Report the number of notifications processed every minute. |
| `type` required | "Datadog" | |
| `events` | array \| null | Defaults to `occurred`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "Datadog",
  "config": {
    "api_key": "0123456789abcdef0123456789abcdef"
  }
}
```

## Discord

`DiscordWebhook` · 2 settings

Get alerts in Discord.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.url` required Webhook URL | string \| null | Get a Webhook URL in Discord under Channel Settings → Webhooks. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `type` required | "DiscordWebhook" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "DiscordWebhook",
  "config": {
    "url": "https://example.com/hook"
  }
}
```

## Email

2 settings

Integrate with 3rd-party services that accept email.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.email` required Email address | string \| null | Address each notification is emailed to. |
| `config.email_subject` | string \| null | You can customize the subject line for emails related to errors (when they occur, are assigned, etc.), or you can leave this blank for the default subject. Please see [our documentation](https://docs.honeybadger.io/guides/integrations/#custom-formatters) for details. |
| `type` required | "Email" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "Email",
  "config": {
    "email": "alerts@example.com"
  }
}
```

## GitHub

`Github` · 6 settings

Create GitHub issues from errors. It sends nothing until someone connects it in the web UI at `links.web`.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.repo` required Repository name | string \| null | e.g. honeybadger-io/crywolf. |
| `config.labels` | string \| null | A comma-delimited list of labels to add when creating issues. |
| `config.issue_type` | string \| null | The [issue type](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/managing-issue-types-in-an-organization) to use when creating issues (e.g., 'Bug'). |
| `config.issue_fields` | string \| null | [Issue fields](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/adding-and-managing-issue-fields) to set when creating issues, one per line (e.g., 'Priority: High'). Enter dates as YYYY-MM-DD. |
| `config.title_format` | string \| null | You can customize the Github issue title, or you can leave this blank for the default title. Please see [our documentation](https://docs.honeybadger.io/guides/integrations/#custom-formatters) for details. |
| `config.rich_body` Send a detailed issue body | boolean \| null | When enabled, new issues are created with a detailed body that includes context, parameters, and the backtrace. When disabled, only a short backtrace excerpt and a link back to Honeybadger are sent. Note that enabling this sends more potentially sensitive data to GitHub. |
| `type` required | "Github" | |
| `events` | array \| null | Defaults to `occurred`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/). |

Minimal request

```json
{
  "type": "Github",
  "config": {
    "repo": "honeybadger-io/crywolf"
  }
}
```

## GitLab

`Gitlab` · 6 settings

Create GitLab issues from errors. It sends nothing until someone connects it in the web UI at `links.web`.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.repo` required Repository name | string \| null | e.g. honeybadger-io/crywolf. |
| `config.labels` | string \| null | A comma-separated list of labels to add to new issues. |
| `config.server_url` | string \| null | You only need to change this if you are using a self-hosted installation of GitLab. Default: `"https://gitlab.com"`. |
| `config.personal_access_token` | string \| null | Leave this blank unless you are using a self-hosted installation of GitLab. An access token can be generated in Settings -> Access Tokens in the GitLab UI. Never returned. Leave it out of an update to keep it. |
| `config.title_format` | string \| null | You can customize the GitLab issue title, or you can leave this blank for the default title. Please see [our documentation](https://docs.honeybadger.io/guides/integrations/#custom-formatters) for details. |
| `config.rich_body` Send a detailed issue body | boolean \| null | When enabled, new issues are created with a detailed body that includes context, parameters, and the backtrace. When disabled, only a short backtrace excerpt and a link back to Honeybadger are sent. Note that enabling this sends more potentially sensitive data to GitLab. |
| `type` required | "Gitlab" | |
| `events` | array \| null | Defaults to `occurred`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/). |

Minimal request

```json
{
  "type": "Gitlab",
  "config": {
    "repo": "honeybadger-io/crywolf"
  }
}
```

## Google Chat

`GoogleHangoutsChat` · 2 settings

Send alerts to a Google Chat room.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.url` required Webhook URL | string \| null | Please see [our documentation](https://docs.honeybadger.io/guides/integrations/google-chat/) for info on how to generate this. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `type` required | "GoogleHangoutsChat" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "GoogleHangoutsChat",
  "config": {
    "url": "https://example.com/hook"
  }
}
```

## ilert

`Ilert` · 2 settings

Get alerts via ilert.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.url` required | string \| null | The URL from your [Honeybadger integration](https://docs.ilert.com/inbound-integrations/honeybadger) in ilert. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `type` required | "Ilert" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "Ilert",
  "config": {
    "url": "https://example.com/hook"
  }
}
```

## incident.io

`IncidentIo` · 2 settings

Get alerts via incident.io.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.api_key` required | string \| null | Never returned. Leave it out of an update to keep it. |
| `config.alert_source_label` required | string \| null | Name of the incident.io HTTP alert source that receives alerts. Honeybadger finds the source by this name, or creates it. |
| `type` required | "IncidentIo" | |
| `events` | array \| null | Defaults to `occurred`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "IncidentIo",
  "config": {
    "api_key": "0123456789abcdef0123456789abcdef",
    "alert_source_label": "Honeybadger"
  }
}
```

## Instatus

2 settings

Update your status page.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.url` required Webhook URL | string \| null | The Instatus webhook URL notifications are posted to. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `type` required | "Instatus" | |
| `events` | array \| null | Defaults to `up` and `down`, less any the plan doesn't include. Allowed values: [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/). |

Minimal request

```json
{
  "type": "Instatus",
  "config": {
    "url": "https://example.com/hook"
  }
}
```

## Intercom

1 setting

Send events to Intercom when users encounter errors. It sends nothing until someone connects it in the web UI at `links.web`.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.context_field` required | string \| null | The field from the context hash that will be sent to Intercom as the user ID. |
| `type` required | "Intercom" | |
| `events` | array \| null | This type takes no events. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "Intercom",
  "config": {
    "context_field": "user_id"
  }
}
```

## Jira

11 settings

Track issues in Jira. Older, Basic Auth strategy — works with JIRA Server & JIRA Cloud.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.username` required | string \| null | Your Jira email address. |
| `config.password` required API Token | string \| null | You can find or generate your API Token [here](https://id.atlassian.com/manage/api-tokens). Never returned. Leave it out of an update to keep it. |
| `config.server_url` required | string \| null | Base URL of your Jira server, e.g. https\://jira.example.com. |
| `config.project_key` required | string \| null | Key of the Jira project new issues are created in, e.g. OPS. |
| `config.resolve_transition` | string \| null | The ID of the transition to be performed when resolved. Default: `"5"`. |
| `config.reopen_transition` | string \| null | The ID of the transition to be performed when unresolved. Default: `"3"`. |
| `config.labels` | string \| null | A comma-delimited list of labels to be added to the issues created by Honeybadger. |
| `config.component_names` | string \| null | A comma-delimited list of components to be added to the issues created by Honeybadger. |
| `config.issue_type` | string \| null | Type of each new issue, as Jira names it. Default: `"Bug"`. |
| `config.summary_format` | string \| null | You can customize the JIRA issue summary, or you can leave this blank for the default title. Please see [our documentation](https://docs.honeybadger.io/guides/integrations/#custom-formatters) for details. |
| `config.rich_body` Send a detailed issue description | boolean \| null | When enabled, new issues are created with a detailed description that includes context, parameters, and the backtrace. When disabled, only a short backtrace excerpt and a link back to Honeybadger are sent. Note that enabling this sends more potentially sensitive data to JIRA. |
| `type` required | "Jira" | |
| `events` | array \| null | Defaults to `occurred`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/). |

Minimal request

```json
{
  "type": "Jira",
  "config": {
    "username": "ops@example.com",
    "password": "0123456789abcdef0123456789abcdef",
    "server_url": "https://jira.example.com",
    "project_key": "OPS"
  }
}
```

## Jira Cloud

`JiraCloud` · 8 settings

Track issues in Jira. Newer, OAuth 2 strategy — works with JIRA Cloud. It sends nothing until someone connects it in the web UI at `links.web`.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.project_key` required | string \| null | Key of the Jira project new issues are created in, e.g. OPS. |
| `config.resolve_transition` | string \| null | The ID of the transition to be performed when resolved. Default: `"5"`. |
| `config.reopen_transition` | string \| null | The ID of the transition to be performed when unresolved. Default: `"3"`. |
| `config.labels` | string \| null | A comma-delimited list of labels to be added to the issues created by Honeybadger. |
| `config.component_names` | string \| null | A comma-delimited list of components to be added to the issues created by Honeybadger. **NOTE: Components are not available for next-gen projects.**. |
| `config.issue_type` | string \| null | Type of each new issue, as Jira names it. Default: `"Bug"`. |
| `config.summary_format` | string \| null | You can customize the JIRA issue summary, or you can leave this blank for the default title. Please see [our documentation](https://docs.honeybadger.io/guides/integrations/#custom-formatters) for details. |
| `config.rich_body` Send a detailed issue description | boolean \| null | When enabled, new issues are created with a detailed description that includes context, parameters, and the backtrace. When disabled, only a short backtrace excerpt and a link back to Honeybadger are sent. Note that enabling this sends more potentially sensitive data to JIRA. |
| `type` required | "JiraCloud" | |
| `events` | array \| null | Defaults to `occurred`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/). |

Minimal request

```json
{
  "type": "JiraCloud",
  "config": {
    "project_key": "OPS"
  }
}
```

## Linear

8 settings

Create issues in your Linear.app team. It sends nothing until someone connects it in the web UI at `links.web`.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.team_id` required Team | string \| null | The value that service's API uses for it, usually an ID. |
| `config.linear_project_id` Project | string \| null | The value that service's API uses for it, usually an ID. |
| `config.label_ids` Labels | array \| null | IDs of the Linear labels to add to new issues, as Linear's API returns them. |
| `config.unresolved_state_id` Unresolved state | string \| null | We will use this state for new issues and when an existing issue is reopened. The value that service's API uses for it, usually an ID. |
| `config.resolved_state_id` Resolved state | string \| null | The value that service's API uses for it, usually an ID. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `config.title_format` | string \| null | Title of each new Linear issue. Placeholders such as `[class]`, `[message]` and `[fault_id]` are filled in; see [custom formatters](https://docs.honeybadger.io/guides/integrations/#custom-formatters). Default: `"[[project]] Occurred: [class] ([fault_id])"`. |
| `config.description_format` | string \| null | Description of each new Linear issue. Placeholders such as `[class]`, `[message]` and `[fault_id]` are filled in; see [custom formatters](https://docs.honeybadger.io/guides/integrations/#custom-formatters). Default: `"[class]: [message]\n\nBacktrace:\n\n[backtrace]\n\nView full backtrace and more info at honeybadger.io: [url]"`. |
| `type` required | "Linear" | |
| `events` | array \| null | Defaults to `occurred`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/). |

Minimal request

```json
{
  "type": "Linear",
  "config": {
    "team_id": "9cfb482a-81e3-4154-b5b9-2c805e70a02d"
  }
}
```

## Mattermost

2 settings

Get alerts via Mattermost group chat.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.url` required Webhook URL | string \| null | The Mattermost incoming webhook URL notifications are posted to. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `type` required | "Mattermost" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "Mattermost",
  "config": {
    "url": "https://example.com/hook"
  }
}
```

## Microsoft Teams

`MicrosoftTeamsV2` · 2 settings

Get alerts via Microsoft Teams group chat.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.url` required Webhook URL | string \| null | Get a Webhook URL in Microsoft Teams under Connectors → Incoming Webhook. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `type` required | "MicrosoftTeamsV2" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "MicrosoftTeamsV2",
  "config": {
    "url": "https://example.com/hook"
  }
}
```

## OpsGenie

`OpsGenieV2` · 3 settings

Get alerts via OpsGenie.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.api_key` required | string \| null | The API key from your [API integration](https://support.atlassian.com/opsgenie/docs/create-a-default-api-integration/) in OpsGenie. Never returned. Leave it out of an update to keep it. |
| `config.endpoint` | string \| null | The Opsgenie region your account is on. Allowed values: `US`, `EU`, `Sandbox`, `null`. Default: `"US"`. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `type` required | "OpsGenieV2" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "OpsGenieV2",
  "config": {
    "api_key": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
}
```

## PagerDuty

`PagerDutyV2` · 3 settings

Get alerts via PagerDuty.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.integration_key` required | string \| null | 32 character alphanumeric integration key. Select "Honeybadger" from the Integration Type menu when creating a service for Honeybadger in PagerDuty. Never returned. Leave it out of an update to keep it. |
| `config.severity` | string \| null | The perceived severity of the events generated by this integration. Allowed values: `critical`, `error`, `warning`, `info`, `null`. Default: `"error"`. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `type` required | "PagerDutyV2" | |
| `events` | array \| null | Defaults to `occurred`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "PagerDutyV2",
  "config": {
    "integration_key": "0123456789abcdef0123456789abcdef"
  }
}
```

## PagerTree

1 setting

Get alerts via PagerTree.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.url` required | string \| null | Please see [PagerTree documentation](https://pagertree.com/knowledge-base/integration-honeybadger/) for info on generating this. |
| `type` required | "PagerTree" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "PagerTree",
  "config": {
    "url": "https://example.com/hook"
  }
}
```

## Redmine

4 settings

Track issues in Redmine.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.server_url` required | string \| null | The full path to the project: http\://redmine.yourserver.com/projects/project-name. |
| `config.api_key` required | string \| null | Never returned. Leave it out of an update to keep it. |
| `config.resolve_transition` | string \| null | The ID of the status for resolved issues. Default: `"3"`. |
| `config.reopen_transition` | string \| null | The ID of the status for unresolved issues. Default: `"4"`. |
| `type` required | "Redmine" | |
| `events` | array \| null | Defaults to `occurred`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/). |

Minimal request

```json
{
  "type": "Redmine",
  "config": {
    "server_url": "https://example.com",
    "api_key": "0123456789abcdef0123456789abcdef01234567"
  }
}
```

## Rootly

4 settings

Get alerts via Rootly.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.webhook_authorization_token` required | string \| null | Never returned. Leave it out of an update to keep it. |
| `config.notification_target_type` | string \| null | What Rootly pages: a service, a team or an escalation policy. Allowed values: `service`, `team`, `escalationPolicy`, `null`. |
| `config.notification_target_id` | string \| null | ID of the Rootly service, team or escalation policy that's paged. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `type` required | "Rootly" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "Rootly",
  "config": {
    "webhook_authorization_token": "0123456789abcdef0123456789abcdef"
  }
}
```

## Shortcut

`ShortcutV2` · 9 settings

Create stories in your Shortcut projects.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.organization_name` required | string \| null | e.g. app.shortcut.com/**yourorg**/dashboard. |
| `config.api_key` required API Token | string \| null | Available from Settings > Your Account > API Tokens. Never returned. Leave it out of an update to keep it. |
| `config.title_format` Story Title | string \| null | Title of each new Shortcut story. Placeholders such as `[class]`, `[message]` and `[fault_id]` are filled in; see [custom formatters](https://docs.honeybadger.io/guides/integrations/#custom-formatters). Default: `"[[project]] Occurred: [class] ([fault_id])"`. |
| `config.description_format` Story Description | string \| null | Description of each new Shortcut story. Placeholders such as `[class]`, `[message]` and `[fault_id]` are filled in; see [custom formatters](https://docs.honeybadger.io/guides/integrations/#custom-formatters). Default: `"[class]: [message]\n\nBacktrace:\n\n[backtrace]\n\nView full backtrace and more info at honeybadger.io: [url]"`. |
| `config.custom_fields` | string \| null | Custom field values to set on new stories: a comma-separated list of `field_id:value_id` pairs, with IDs from Shortcut. |
| `config.team` required | string \| null | The value that service's API uses for it, usually an ID. |
| `config.initial_state` required | string \| null | The value that service's API uses for it, usually an ID. |
| `config.resolve_transition` required Resolved workflow state | string \| null | The value that service's API uses for it, usually an ID. |
| `config.reopen_transition` required Reopened workflow state | string \| null | The value that service's API uses for it, usually an ID. |
| `type` required | "ShortcutV2" | |
| `events` | array \| null | Defaults to `occurred`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/). |

Minimal request

```json
{
  "type": "ShortcutV2",
  "config": {
    "organization_name": "yourorg",
    "api_key": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "team": "5f1a2b3c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
    "initial_state": "500000007",
    "resolve_transition": "500000010",
    "reopen_transition": "500000007"
  }
}
```

## Slack

2 settings

Get alerts via Slack group chat. It sends nothing until someone connects it in the web UI at `links.web`.

| Field | Type | Description |
| - | - | - |
| `config` | object | |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `config.disable_backtrace` | boolean \| null | Remove backtrace from error event notifications. |
| `type` required | "Slack" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

## Splunk On-Call

`VictorOps` · 3 settings

Get alerts in your Splunk On-Call cloud monitoring timeline.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.api_key` required | string \| null | Your Splunk On-Call API key. Never returned. Leave it out of an update to keep it. |
| `config.routing_key` | string \| null | Optional routing key for alert. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `type` required | "VictorOps" | |
| `events` | array \| null | Defaults to `occurred`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "VictorOps",
  "config": {
    "api_key": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
}
```

## Sprintly

4 settings

Create Sprintly defects from errors.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.account_email` required | string \| null | Email address of the Sprint.ly account Honeybadger signs in as. |
| `config.api_key` required | string \| null | Never returned. Leave it out of an update to keep it. |
| `config.product_id` required | string \| null | e.g. sprint.ly/product/**1337**/#!/. |
| `config.tags` | string \| null | A comma-separated list of tags to add to new defects. |
| `type` required | "Sprintly" | |
| `events` | array \| null | Defaults to `occurred`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/). |

Minimal request

```json
{
  "type": "Sprintly",
  "config": {
    "account_email": "dev@example.com",
    "api_key": "0123456789abcdef0123456789abcdef",
    "product_id": "1337"
  }
}
```

## Trello

3 settings

Track issues in Trello. It sends nothing until someone connects it in the web UI at `links.web`.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.board_id` required Board | string \| null | The value that service's API uses for it, usually an ID. |
| `config.list_id` required List | string \| null | The value that service's API uses for it, usually an ID. |
| `config.title_format` | string \| null | You can customize the trello card title, or you can leave this blank for the default title. Please see [our documentation](https://docs.honeybadger.io/guides/integrations/#custom-formatters) for details. |
| `type` required | "Trello" | |
| `events` | array \| null | Defaults to `occurred`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/). |

Minimal request

```json
{
  "type": "Trello",
  "config": {
    "board_id": "5f1a2b3c4d5e6f7a8b9c0d1e",
    "list_id": "5f1a2b3c4d5e6f7a8b9c0d2f"
  }
}
```

## Webhook

`WebHook` · 4 settings

DIY integrations via webhook.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.url` required | string \| null | The URL Honeybadger sends each notification to, as a JSON POST. |
| `config.bearer_token` | string \| null | Optional. When set, requests are sent with `Authorization: Bearer <token>`, for endpoints that require it. Never returned. Leave it out of an update to keep it. |
| `config.label` | string \| null | Optional label to show in the integrations list. Max length 100. |
| `config.payload_version` | string \| null | The JSON payload format. v2 by default. Allowed values: `v2`, `v3`, `null`. Default: `"v2"`. |
| `type` required | "WebHook" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "WebHook",
  "config": {
    "url": "https://example.com/hook"
  }
}
```

## Zulip

6 settings

Get alerts via Zulip group chat.

| Field | Type | Description |
| - | - | - |
| `config` required | object | The type's settings, listed per type in [Integration types](https://docs.honeybadger.io/api/v3/integrations/types/). |
| `config.bot_email` required | string \| null | Email address of the Zulip bot that posts notifications. |
| `config.api_key` required | string \| null | Never returned. Leave it out of an update to keep it. |
| `config.zulip_domain` Zulip Cloud subdomain | string \| null | For Zulip Cloud, your organization's subdomain (`example` for example.zulipchat.com). Leave blank if you run your own Zulip server. |
| `config.server_url` | string \| null | For a self-hosted Zulip server, its HTTPS address (for example, https\://chat.example.com). When set, it is used instead of the Zulip Cloud subdomain. |
| `config.channel` required | string \| null | The Zulip channel notifications are posted to. |
| `config.topic` required | string \| null | The topic within that channel. |
| `type` required | "Zulip" | |
| `events` | array \| null | Defaults to `occurred`, `assigned`, `up`, `down`, `cert_will_expire`, `check_in_missing`, and `check_in_reporting`, less any the plan doesn't include. Allowed values: [`occurred`](https://docs.honeybadger.io/guides/integrations/payloads/v2/occurred/), [`rate_exceeded`](https://docs.honeybadger.io/guides/integrations/payloads/v2/rate_exceeded/), [`assigned`](https://docs.honeybadger.io/guides/integrations/payloads/v2/assigned/), [`resolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/resolved/), [`unresolved`](https://docs.honeybadger.io/guides/integrations/payloads/v2/unresolved/), [`commented`](https://docs.honeybadger.io/guides/integrations/payloads/v2/commented/), [`deployed`](https://docs.honeybadger.io/guides/integrations/payloads/v2/deployed/), [`up`](https://docs.honeybadger.io/guides/integrations/payloads/v2/up/), [`down`](https://docs.honeybadger.io/guides/integrations/payloads/v2/down/), [`cert_will_expire`](https://docs.honeybadger.io/guides/integrations/payloads/v2/cert_will_expire/), `flooded`, [`check_in_missing`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_missing/), [`check_in_reporting`](https://docs.honeybadger.io/guides/integrations/payloads/v2/check_in_reporting/), [`alarm_alert`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_alert/), [`alarm_ok`](https://docs.honeybadger.io/guides/integrations/payloads/v2/alarm_ok/), [`volume_spike`](https://docs.honeybadger.io/guides/integrations/payloads/v2/volume_spike/). |

Minimal request

```json
{
  "type": "Zulip",
  "config": {
    "bot_email": "honeybadger-bot@example.zulipchat.com",
    "api_key": "AbCdEf0123456789AbCdEf0123456789",
    "channel": "alerts",
    "topic": "Honeybadger"
  }
}
```

---

## Try Honeybadger for FREE

Intelligent logging, error tracking, and Just Enough APM™ in one dev-friendly platform. Find and fix problems before users notice.

[Start free trial](https://app.honeybadger.io/users/sign_up)

[See plans and pricing](https://www.honeybadger.io/plans/)
