Skip to content

Sentry

Navi.sh supports both issue alerts and metric alerts from Sentry. Issues and metric alerts auto-resolve when Sentry sends a resolved action.

POST/v1/events/sentry/{token}

Setup in Sentry

  1. In the Navi.sh dashboard, go to Integrations → Sentry and copy your integration URL.
  2. In your Sentry project, go to Settings → Integrations → Webhooks.
  3. Click Add to Project.
  4. Set the Webhook URL to the integration URL you copied above:
    https://api.navi.sh/v1/events/sentry/<token>
  5. Under Events, enable:
    • issue — for issue alerts
    • metric_alert — for metric/performance alerts
  6. Click Save Changes.
  7. Create Alert Rules in Alerts → Alert Rules and assign them to this webhook integration.

Auto-resolve

  • Issue alerts: auto-resolved when Sentry sends action: "resolved".
  • Metric alerts: auto-resolved when action: "resolved" or data.metric_alert.status: "resolved".

Severity mapping

Sentry levelNavi.sh
fatal / criticalcritical
errorerror
warningwarning
info / debug / otherinfo

POST /v1/events/sentry/{token}

Accepts Sentry issue alert and metric alert webhook notifications. Configure a Webhook integration in your Sentry project settings and subscribe to issue and metric_alert events.

Issues auto-resolve when action is "resolved". Metric alerts auto-resolve when action is "resolved" or data.metric_alert.status is "resolved".

The token is generated in your navi.sh workspace under Integrations.

Payload schema

FieldTypeDescription
actionstring (created, resolved, assigned, ignored)Lifecycle action. For issues: created, resolved, assigned, etc. For metric alerts: critical, warning, resolved. (example: created)
data``Contains either issue or metric_alert depending on alert type.

Examples

Issue Alert

json
{
  "action": "created",
  "data": {
    "issue": {
      "id": "1234567",
      "level": "error",
      "permalink": "https://sentry.io/organizations/acme/issues/1234567/",
      "project": {
        "name": "backend",
        "slug": "backend"
      },
      "title": "ValueError: invalid literal for int()"
    }
  }
}

Metric Alert

json
{
  "action": "critical",
  "data": {
    "description_text": "Error rate is 8.3% (threshold: 5%)",
    "metric_alert": {
      "id": "987",
      "status": "critical",
      "title": "High Error Rate"
    }
  }
}

Response codes

  • 202 — Accepted — processing is asynchronous
  • 400 — Invalid request body (malformed JSON or wrong content type)
  • 401 — Invalid service token
  • 500 — Unexpected server error

Built by the Navi.sh team.