Skip to main content
Configure your alert sources in incident.io. Alert sources are the systems that send alerts to incident.io, which can then be routed to the right people and teams.

The alert source object

id
string
required

The ID of this alert source

Example:

"01GW2G3V0S59R238FAHPDS1R66"

name
string
required

Unique name of the alert source

Example:

"Production Web Dashboard Alerts"

source_type
enum<string>
required

Type of alert source

Available options:
alertmanager,
app_optics,
azure_monitor,
bugsnag,
checkly,
chronosphere,
cloudwatch,
cloudflare,
coralogix,
cronitor,
crowdstrike_falcon,
datadog,
dynatrace,
elasticsearch,
email,
expel,
github_issue,
google_cloud,
grafana,
heartbeat,
http,
http_custom,
honeycomb,
incoming_calls,
jira,
jsm,
monte_carlo,
nagios,
new_relic,
opsgenie,
prtg,
pager_duty,
panther,
pingdom,
runscope,
sns,
sentry,
sentry_metric,
splunk,
status_cake,
status_page_views,
sumo_logic,
uptime,
vercel,
zendesk
Example:

"alertmanager"

template
object
required
Example:
{
"attributes": [
{
"alert_attribute_id": "abc123",
"binding": {
"array_value": [
{
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
],
"merge_strategy": "first_wins",
"value": {
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
}
}
],
"description": {
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
},
"expressions": [
{
"else_branch": {
"result": {
"array_value": [
{
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
],
"value": {
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
}
},
"label": "Team Slack channel",
"operations": [
{
"branches": {
"branches": [
{
"condition_groups": [
{
"conditions": [
{
"operation": {
"label": "Lawrence Jones",
"value": "01FCQSP07Z74QMMYPDDGQB9FTG"
},
"param_bindings": [
{
"array_value": [
{
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
],
"value": {
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
}
],
"subject": {
"label": "Incident Severity",
"reference": "incident.severity"
}
}
]
}
],
"result": {
"array_value": [
{
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
],
"value": {
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
}
}
],
"returns": { "array": true, "type": "IncidentStatus" }
},
"filter": {
"condition_groups": [
{
"conditions": [
{
"operation": {
"label": "Lawrence Jones",
"value": "01FCQSP07Z74QMMYPDDGQB9FTG"
},
"param_bindings": [
{
"array_value": [
{
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
],
"value": {
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
}
],
"subject": {
"label": "Incident Severity",
"reference": "incident.severity"
}
}
]
}
]
},
"navigate": {
"reference": "1235",
"reference_label": "Teams"
},
"operation_type": "navigate",
"parse": {
"returns": { "array": true, "type": "IncidentStatus" },
"source": "metadata.annotations[\"github.com/repo\"]"
},
"returns": { "array": true, "type": "IncidentStatus" }
}
],
"reference": "abc123",
"returns": { "array": true, "type": "IncidentStatus" },
"root_reference": "incident.status"
}
],
"is_private": false,
"title": {
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
},
"visible_to_teams": {
"array_value": [
{
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
],
"value": {
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
}
}
alert_events_url
string

URL that can be used to send alert events to this source. This is only set for sources that accept webhook/HTTP events; email sources use the email_address field, and integration-based sources (like Jira) receive events through their native integrations.

Example:

"https://api.incident.io/v2/alert_events/http/01GW2G3V0S59R238FAHPDS1R66"

auto_resolve_incident_alerts
boolean

Whether to auto-resolve incident alerts when the alert auto-resolves. Defaults to true. Only use in conjunction with auto_resolve_timeout_minutes.

Example:

false

auto_resolve_timeout_minutes
integer<int64>

When set, alerts from this source will automatically resolve after this many minutes.

Example:

1

email_options
object
Example:
{ "email_address": "lawrence@example.com" }
heartbeat_options
object
Example:
{
"failure_threshold": 1,
"grace_period_seconds": 0,
"interval_seconds": 60,
"ping_url": "https://api.incident.io/v2/heartbeat/01GW2G3V0S59R238FAHPDS1R66/ping"
}
http_custom_options
object
Example:
{
"deduplication_key_path": "$.alert_id",
"transform_expression": "return {\n title: $.title || $.name || 'Unknown Alert',\n status: $.status === 'resolved' ? 'resolved' : 'firing',\n description: $.description || $.message || '',\n sourceURL: $.url || $.link || '',\n metadata: { team: $.team, severity: $.severity }\n}"
}
jira_options
object
Example:
{
"project_ids": ["01GBSQF3FHF7FWZQNWGHAVQ804", "10043"]
}
owning_team_ids
string[]

IDs of teams that own this alert source

Example:
["01G0J1EXE7AXZ2C93K61WBPYEH"]
secret_token
string

Secret token used to authenticate this source, if applicable. If applicable, this is the token that must be included in either the query string or the 'Authorization' header when sending events to this alert source.

Example:

"some-secret-token"