Sentry
Send Sentry issue alerts to Uptimeify Incident Management via an internal integration webhook, mapped from the event's level, message, and environment.
Uptimeify's Sentry preset maps Sentry's issue-alert webhook payload directly: the event message/culprit, level, action, and server/environment are pre-mapped.
1. Create the alert source in Uptimeify
Go to Incident Management → Alert Sources → New, pick the Sentry preset, name it, and create it. On the success screen, copy the ingest URL (https://<your-domain>/api/im/ingest/<token>). It is shown once and never displayed again in cleartext. If you lose it, rotate the token from the source's Settings tab.
2. Create an internal integration in Sentry
Sentry sends issue-alert webhooks through an internal integration, not a plain webhook URL field:
- In Sentry, go to Settings → Developer Settings → New Internal Integration.
- Give it a name (for example
Uptimeify). - Enable the Alert Rule Action toggle, and under Webhooks set the Webhook URL to the ingest URL you copied in step 1.
- Save. This creates an alert-rule action you can attach to any alert rule in the organization.
3. Attach it to an alert rule
- Go to Alerts → Rules, and create a new rule (or edit an existing one) for the project(s) you want to forward.
- Under Then perform these actions, add Send a notification via an integration and select the internal integration you created in step 2.
- Save the rule. Sentry now calls the webhook whenever the rule's conditions match, for both newly triggered issues and, if the rule includes a resolve condition, resolutions.
Default field mapping
| Sentry field | Normalized field |
|---|---|
data.event.message (falls back to data.event.culprit) | Title |
data.event.level | Severity (via the map below) |
action (top-level) | Status: resolved resolves the alert, anything else (triggered, created, ignored, assigned, …) keeps it open |
data.event.server_name (falls back to data.event.environment) | Host |
data.event.issue_id | Dedup key: groups all notifications for the same Sentry issue |
Severity map
Sentry level | Uptimeify severity |
|---|---|
fatal | sev1 |
error | sev2 |
warning | sev3 |
info | sev4 |
debug | sev4 |
Sample payload
This is the shape of payload Uptimeify's Sentry preset expects:
{
"action": "triggered",
"data": {
"event": {
"event_id": "fe208ee2e2e74ae08b3d4b7cdb9b4e3d",
"issue_id": "123456789",
"level": "error",
"culprit": "raven.scripts.runner in main",
"message": "This is an example python exception",
"platform": "python",
"environment": "production",
"server_name": "web-01.prod.example.com",
"web_url": "https://sentry.io/organizations/example/issues/123456789/",
"issue_url": "https://sentry.io/api/0/issues/123456789/"
}
},
"actor": { "type": "application", "id": "sentry", "name": "Sentry" }
}You can send this exact payload against your source's mapping from the Payload Mapping tab in the dashboard to verify the setup before wiring up a real alert rule.
Prometheus Alertmanager
Send Prometheus Alertmanager notifications to Uptimeify Incident Management via a webhook receiver, mapped from commonLabels and the first alert.
Custom webhook
Send alerts from any tool that can POST JSON to Uptimeify Incident Management, and define your own field mapping in the dashboard.