Skip to content

Sentry

React to issue events and manage issues and metric alerts in Sentry

Setup steps:

  1. Create a personal auth token in Sentry with the permissions below. Copy the token.

    Token Permissions:
    Project -> Read · Releases -> Read & Write (project:releases) · Team -> Read · Issue & Event -> Read & Write · Organization -> Read & Write

  2. In Sentry, go to Settings → Integrations → Custom Integrations → Create New Integration → Internal Integration.

  3. Name it (e.g. SuperPlane), leave Webhook URL empty, and save. Copy the Client Secret shown on the bottom of the integration page.

  4. Fill in Sentry URL, User Token, Integration Name, and Client Secret below, then save. SuperPlane configures the webhook and subscribes to issue events automatically.

The On Issue Event trigger starts a workflow execution when Sentry sends issue webhooks for the connected organization.

  • Escalation workflows: react when a new issue is created in Sentry
  • Triage automation: assign follow-up actions when issues are assigned or resolved
  • Cross-tool sync: mirror Sentry issue state changes into incident or ticketing systems
  • Project: Optionally limit the trigger to a single Sentry project
  • Actions: Select which issue actions should trigger the workflow

The trigger emits the full Sentry webhook payload, including:

  • action: the issue event action
  • data.issue: the Sentry issue object
  • actor: the user or team that triggered the event when available

This trigger uses the webhook URL configured on your Sentry internal integration. SuperPlane verifies each webhook signature using your Sentry client secret before routing the event to matching triggers.

{
"data": {
"action": "created",
"actor": {
"id": "789",
"name": "Person",
"type": "user"
},
"data": {
"issue": {
"assignedTo": {
"id": "789",
"name": "Person",
"type": "user"
},
"culprit": "SentryCustomError(frontend/src/util)",
"firstSeen": "2022-04-04T18:17:18.320000Z",
"id": "123",
"lastSeen": "2022-04-04T18:17:18.320000Z",
"level": "error",
"permalink": "https://your-org.sentry.io/issues/123/",
"project": {
"id": "456",
"name": "ipe",
"slug": "ipe"
},
"shortId": "IPE-1",
"status": "unresolved",
"substatus": "new",
"title": "Error #1: This is a test error!",
"web_url": "https://your-org.sentry.io/issues/123/"
}
},
"installation": {
"uuid": "7a485448-a9e2-4c85-8a3c-4f44175783c9"
},
"resource": "issue",
"timestamp": "2022-04-04T18:17:18.320000Z"
},
"timestamp": "2022-04-04T18:17:18.320000Z",
"type": "sentry.issue"
}

The Create Alert component creates a Sentry metric alert rule for a selected project.

  • Coverage automation: create alert rules automatically after provisioning a service
  • Policy enforcement: ensure critical projects always have baseline metric alerts
  • Release safety: create release-specific alert rules after deploy workflows
  • Project: Sentry project that owns the metric alert rule
  • Name: Alert rule name shown in Sentry
  • Aggregate: Metric expression such as count()
  • Query: Optional event search query to narrow the alert
  • Time Window: Evaluation window in minutes
  • Threshold Type: Whether the threshold fires above or below the configured value
  • Environment: Optional environment filter
  • Event Types: Event types included in the alert evaluation
  • Critical / Warning: Thresholds and notification targets for each trigger level. Select the target type first, then choose a Sentry user or team.

Returns the created Sentry metric alert rule, including triggers, actions, and project association.

{
"data": {
"aggregate": "count()",
"dataset": "events",
"dateCreated": "2026-03-26T09:15:00Z",
"dateModified": "2026-03-26T09:15:00Z",
"environment": "production",
"eventTypes": [
"default",
"error"
],
"id": "19436",
"name": "SuperPlane metric alert example",
"organizationId": "4511070267441152",
"owner": null,
"projects": [
"go-gin"
],
"query": "environment:production",
"queryType": 0,
"resolveThreshold": null,
"thresholdType": 0,
"timeWindow": 60,
"triggers": [
{
"actions": [
{
"alertRuleTriggerId": "28750",
"dateCreated": "2026-03-26T09:15:00Z",
"id": "26870",
"inputChannelId": null,
"integrationId": null,
"priority": null,
"sentryAppId": null,
"targetIdentifier": "4346509",
"targetType": "user",
"type": "email"
}
],
"alertRuleId": "19436",
"alertThreshold": 5,
"dateCreated": "2026-03-26T09:15:00Z",
"id": "28750",
"label": "critical",
"resolveThreshold": 2,
"thresholdType": 0
}
]
},
"timestamp": "2026-03-26T09:15:00Z",
"type": "sentry.alertRule"
}

The Create Deploy component marks a deploy against an existing Sentry release.

  • Deployment tracking: record when a release reaches staging or production
  • Release automation: pair with Create Release in CI/CD canvases
  • Operational context: give Sentry deployment timing and environment information for later triage
  • Project: Optional Sentry project to associate with the deploy
  • Release: Select the existing Sentry release to deploy
  • Environment: The target environment, such as staging or production
  • Name: Optional deploy name
  • Deploy URL: Optional URL for the deployment
  • Started At: Optional deployment start time
  • Finished At: Optional deployment finish time

Returns the created deploy record, including environment, timestamps, URL, and release version.

{
"data": {
"dateFinished": "2026-03-25T10:24:12.000Z",
"dateStarted": "2026-03-25T10:20:00.000Z",
"environment": "production",
"id": "1234567",
"name": "Deploy #42",
"projects": [
"go-gin"
],
"releaseVersion": "2026.03.25",
"url": "https://example.com/deploys/42"
},
"timestamp": "2026-03-25T10:24:12.000Z",
"type": "sentry.deploy"
}

The Create Release component registers a new release in Sentry for a selected project.

  • Release tracking: create a release after a build or deploy succeeds
  • Commit association: attach commits and refs so Sentry can correlate new issues with code changes
  • Post-deploy automation: feed the created release into downstream deployment and monitoring steps
  • Project: Select the Sentry project this release applies to
  • Version: The release version identifier
  • Ref: Optional commit or tag reference for the release
  • Release URL: Optional URL for the release, build, or changelog
  • Commits: Optional commit metadata to associate with the release
  • Refs: Optional repository head/previous commit refs for release comparison

Returns the created Sentry release object, including version, associated projects, deploy count, and release metadata.

{
"data": {
"commitCount": 2,
"dateCreated": "2026-03-25T10:12:55.109Z",
"dateReleased": "2026-03-25T10:15:00.000Z",
"deployCount": 0,
"id": 2,
"newGroups": 0,
"projects": [
{
"name": "go-gin",
"slug": "go-gin"
}
],
"ref": "6ba09a7c53235ee8a8fa5ee4c1ca8ca886e7fdbb",
"shortVersion": "2026.03.25",
"url": "https://github.com/superplanehq/superplane/releases/tag/2026.03.25",
"version": "2026.03.25"
},
"timestamp": "2026-03-25T10:15:00.000Z",
"type": "sentry.release"
}

The Delete Alert component deletes an existing Sentry metric alert rule.

  • Alert cleanup: remove obsolete rules after a service is retired
  • Policy rotation: delete temporary alert rules after a rollout is complete
  • CRUD completion: pair with alert listing and update workflows
  • Project: Optional project to narrow alert rule selection
  • Alert Rule: Metric alert rule to delete

Returns the deleted alert ID and name so downstream steps can record the removal.

{
"data": {
"deleted": true,
"id": "19436",
"name": "SuperPlane metric alert example"
},
"timestamp": "2026-03-26T09:25:00Z",
"type": "sentry.alertDeleted"
}

The Get Alert component retrieves a Sentry metric alert rule and returns its full configuration.

  • Conditional logic: inspect alert thresholds and projects before taking action
  • Alert enrichment: include alert configuration in downstream notifications or tickets
  • Auditing: fetch a specific metric alert rule for verification or reporting
  • Project: Optional project to narrow alert selection
  • Alert Rule: The metric alert rule to retrieve

Returns the selected metric alert rule, including projects, query, thresholds, triggers, and action details.

{
"data": {
"aggregate": "count()",
"createdBy": {
"email": "washington@example.com",
"name": "Washington"
},
"dataset": "events",
"dateCreated": "2026-03-25T10:00:00Z",
"dateModified": "2026-03-25T10:05:00Z",
"environment": "production",
"eventTypes": [
"error"
],
"id": "177412243058",
"name": "High error rate in production",
"owner": "team:42",
"projects": [
"backend"
],
"query": "event.type:error environment:production",
"timeWindow": 60,
"triggers": [
{
"actions": [
{
"id": "394280",
"inputChannelId": "#alerts",
"targetIdentifier": "30489048931789",
"targetType": "specific",
"type": "slack"
}
],
"alertThreshold": 100,
"id": "294385908",
"label": "critical"
}
]
},
"timestamp": "2026-03-25T10:05:00Z",
"type": "sentry.alertRule"
}

The Get Issue component retrieves a Sentry issue and enriches it with recent events for downstream routing and escalation.

  • Routing decisions: inspect assignee, status, project, and issue frequency before branching
  • Escalation context: include recent events and tags in notifications or ticket creation
  • Release correlation: check whether an issue is already tied to a release before actioning it
  • Issue: Select the Sentry issue to retrieve

Returns the Sentry issue object including:

  • issue metadata such as title, status, assignee, tags, and frequency stats
  • recent issue events for additional context
{
"data": {
"assignedTo": {
"id": "42",
"name": "Platform",
"type": "team"
},
"count": "7",
"events": [
{
"dateCreated": "2026-03-24T13:03:56Z",
"eventID": "evt_1",
"id": "evt_1",
"message": "RuntimeError: SuperPlane trigger validation test 008",
"platform": "other",
"tags": [
{
"key": "environment",
"value": "production"
}
],
"title": "RuntimeError: SuperPlane trigger validation test 008"
}
],
"id": "106740394",
"numComments": 0,
"permalink": "https://washington-x2.sentry.io/issues/106740394/",
"priority": "high",
"project": {
"id": "4511070273339472",
"name": "go-gin",
"slug": "go-gin"
},
"shortId": "GO-GIN-G",
"stats": {
"24h": [
[
1711270800,
7
]
]
},
"status": "unresolved",
"tags": [
{
"key": "environment",
"value": "production"
},
{
"key": "level",
"value": "error"
}
],
"title": "RuntimeError: SuperPlane trigger validation test 008",
"userCount": 3,
"web_url": "https://washington-x2.sentry.io/issues/106740394/"
},
"timestamp": "2026-03-24T13:03:56Z",
"type": "sentry.issue"
}

The List Alerts component lists Sentry metric alert rules for the connected organization.

  • Alert audits: review metric alert coverage for an organization or project
  • Conditional workflows: branch based on whether matching alert rules already exist
  • Reporting: feed alert rule inventories into downstream notification or documentation steps
  • Project: Optional Sentry project to filter alert rules

Returns an object containing the list of matching metric alert rules and their configuration details.

{
"data": {
"alerts": [
{
"aggregate": "count()",
"dataset": "events",
"dateCreated": "2026-03-25T10:00:00Z",
"dateModified": "2026-03-25T10:05:00Z",
"environment": "production",
"eventTypes": [
"error"
],
"id": "177412243058",
"name": "High error rate in production",
"owner": "team:42",
"projects": [
"backend"
],
"query": "event.type:error environment:production",
"timeWindow": 60,
"triggers": [
{
"actions": [
{
"id": "394280",
"inputChannelId": "#alerts",
"targetIdentifier": "30489048931789",
"targetType": "specific",
"type": "slack"
}
],
"alertThreshold": 100,
"id": "294385908",
"label": "critical"
}
]
}
]
},
"timestamp": "2026-03-25T10:05:00Z",
"type": "sentry.alertRules"
}

The Update Alert component updates an existing Sentry metric alert rule.

  • Threshold tuning: adjust thresholds after an incident review
  • Ownership updates: redirect alert notifications to a different user or team
  • Environment changes: tighten or loosen alert conditions for a new rollout
  • Project: Optional project to narrow alert rule selection or replace the rule’s project
  • Alert Rule: Existing Sentry alert rule to update
  • Name / Aggregate / Query / Time Window / Threshold Type / Environment / Event Types: Optional overrides for the existing rule
  • Critical / Warning: Optional updates to trigger thresholds and notification targets. Select the target type first, then choose a Sentry user or team.

Returns the updated Sentry metric alert rule after the change is applied.

{
"data": {
"aggregate": "count()",
"dataset": "events",
"dateCreated": "2026-03-26T09:15:00Z",
"dateModified": "2026-03-26T09:25:00Z",
"environment": "production",
"eventTypes": [
"error"
],
"id": "19436",
"name": "SuperPlane metric alert example",
"organizationId": "4511070267441152",
"owner": null,
"projects": [
"go-gin"
],
"query": "environment:production level:error",
"queryType": 0,
"resolveThreshold": null,
"thresholdType": 0,
"timeWindow": 30,
"triggers": [
{
"actions": [
{
"alertRuleTriggerId": "28750",
"dateCreated": "2026-03-26T09:15:00Z",
"id": "26870",
"inputChannelId": null,
"integrationId": null,
"priority": null,
"sentryAppId": null,
"targetIdentifier": "4346509",
"targetType": "user",
"type": "email"
}
],
"alertRuleId": "19436",
"alertThreshold": 10,
"dateCreated": "2026-03-26T09:15:00Z",
"id": "28750",
"label": "critical",
"resolveThreshold": 3,
"thresholdType": 0
}
]
},
"timestamp": "2026-03-26T09:25:00Z",
"type": "sentry.alertRule"
}

The Update Issue component updates an existing issue in Sentry.

  • Resolve issues automatically after a remediation workflow succeeds
  • Reopen issues when a related deployment regresses
  • Route ownership by assigning issues to a user or team
  • Escalate triage by changing issue priority
  • Mark issues reviewed after automation handles the first response
  • Manage visibility and subscriptions for follow-up workflows
  • Issue: Select the Sentry issue to update
  • Status: Optional new issue status
  • Priority: Optional issue priority
  • Assigned To: Optional assignee from the selected issue’s Sentry project
  • Seen: Optional reviewed flag for the connected user
  • Public: Optional issue sharing visibility
  • Subscribed: Optional workflow subscription for the connected user

Returns the updated Sentry issue object.

{
"data": {
"assignedTo": {
"id": "789",
"name": "Person",
"type": "user"
},
"culprit": "SentryCustomError(frontend/src/util)",
"firstSeen": "2022-04-04T18:17:18.320000Z",
"id": "123",
"lastSeen": "2022-04-04T18:17:18.320000Z",
"level": "error",
"permalink": "https://your-org.sentry.io/issues/123/",
"project": {
"id": "456",
"name": "ipe",
"slug": "ipe"
},
"shortId": "IPE-1",
"status": "resolved",
"substatus": "resolved",
"title": "Error #1: This is a test error!",
"web_url": "https://your-org.sentry.io/issues/123/"
},
"timestamp": "2022-04-04T18:17:18.320000Z",
"type": "sentry.issue"
}