- Use an alert source when the tool is reporting a signal that might be an incident: a monitor firing, an error rate climbing, a check failing. We’ll deduplicate repeated events, group related alerts into one incident, page the right people, and can decline the incident again if the signal clears.
- Use the API when someone or something has already made the call: a support agent hitting Escalate in your ticketing tool, a form in an internal portal, or a script running your own logic. You get an incident straight away, with whatever fields you set.
Send alerts to an alert source
Create an HTTP alert source. It gives you a URL and a secret token to send events to:How events become alerts
Thededuplication_key identifies the thing you’re alerting on, and it drives everything else:
- Sending
firingagain with the same key updates the existing alert rather than creating a new one, so a monitor that re-sends every minute still only produces one alert. - Send the same key with
"status": "resolved"when the signal clears, and the alert resolves with it. - If it fires again after that, you get a new alert, because the previous one is already resolved.
metadata to set alert attributes like the affected service or team, so you can route and filter on them. Each alert source has its own rate limit.
How alerts become incidents
An alert route connects the alert source to incidents and paging. For each route, you choose:- Which alerts count, by filtering on alert attributes and priority.
- Whether related alerts share an incident, by grouping alerts that fire close together or share attributes like the service.
- Whether incidents start in triage, so a responder can accept or decline before the incident process kicks in. Tick Decline triage incidents if the linked alerts are resolved and we’ll decline them for you when the signal clears.
- Who gets paged, through escalation paths. Paging and incident creation are independent, so a route can page without creating an incident, or the other way round.
- How the incident looks: its name, summary, severity, and custom fields, all set from the alert. See Incident templates.
Call the create incident API
Create an API key with the Create incidents permission, and call the create incident endpoint:- Use an ID from your own tool as the
idempotency_key, like the ticket number. If you send the same key again you get back the incident you already created, so retries can never create duplicates. - The incident starts in an active status and opens its own Slack or Microsoft Teams channel, unless its incident type is set up to start in triage or skip the channel. Active incidents need a
severity_id, and you can list yours with the severities endpoint. - You can set anything a responder would: incident type, custom fields, role assignments, timestamps. Creating your first incident using the API walks through it.
- To run workflows on incidents created this way, add a condition on the API Key creator. That lets you do things like invite the support agent who escalated the ticket.