Internal integrations vs. published apps
- Internal integrations
- Published Sentry Apps
Internal integrations are private to your Sentry organization. They are the fastest way to build a custom workflow, automation, or data pipeline on top of Sentry.Use cases:
- Receive webhooks for Sentry events and trigger custom workflows
- Create UI components that appear in the Sentry issue detail sidebar
- Automate issue triage or routing based on error data
What Sentry Apps can do
Webhooks
Subscribe to events (issues, errors, comments, alerts) and receive HTTP POST requests to your endpoint.
Issue link component
Add a custom Link Issue button to the Sentry issue sidebar that opens a modal in your app.
Stacktrace link component
Map stack frames to URLs in your system for code navigation.
Alert rule action
Add a custom action type to Sentry alert rules so users can trigger workflows in your app.
OAuth
Use standard OAuth 2.0 to authenticate users in your app with their Sentry identity.
Service hooks
Receive HTTP webhooks for raw Sentry events scoped to specific projects.
Creating a Sentry App
Open the developer settings
In Sentry, go to Settings > Developer Settings. Click Create New Internal Integration or Create New Public Integration.
Fill in the basic information
Provide:
- Name: The display name of your integration.
- Webhook URL: The HTTPS endpoint where Sentry will send webhook payloads.
- Redirect URL: The OAuth callback URL (required for public apps or if using OAuth).
- Schema: A JSON schema defining the UI components your app provides (optional).
Set permissions
Select the scopes your app needs. Scopes control what data your app can read or write via the Sentry API. Common scopes include:
| Scope | Access |
|---|---|
event:read | Read events and issues |
event:write | Update issue status and assignments |
project:read | Read project configuration |
org:read | Read organization data |
member:read | Read member information |
Subscribe to webhook events
Select the event resources your app should receive webhooks for:
| Resource | Events |
|---|---|
| Issue | issue.created, issue.resolved, issue.ignored, issue.assigned, issue.unresolved |
| Error | error.created |
| Comment | comment.created, comment.updated, comment.deleted |
| Installation | installation.created, installation.deleted |
| Metric alert | metric_alert.open, metric_alert.resolved, metric_alert.critical, metric_alert.warning |
| Issue alert | event_alert.triggered |
Add UI components (optional)
Define UI components in the Schema field using JSON. See the UI components section below for details.
OAuth flow
Published Sentry Apps use OAuth 2.0 to authenticate users.Webhook event types
Sentry sends webhook payloads as HTTP POST requests to your configured endpoint. Each payload includes aaction and data field.
Issue events
Error events
HMAC signature verification
Sentry signs webhook payloads with an HMAC-SHA256 signature so you can verify the request came from Sentry. The signature is in thesentry-hook-signature HTTP header.
UI components
Issue link component
Adds a Link [App Name] Issue button to the Sentry issue sidebar. When clicked, it opens a modal defined by your schema.Stacktrace link component
Maps Sentry stack frames to URLs in your system.uri with query parameters including lineNo, filename, and absPath.