Webhook Auto-Triage
Webhook Auto-Triage connects Eiryx to your error monitoring tools. When an error fires, Eiryx classifies its severity with AI and automatically creates a fix task — before your team sees the alert.
Supported Providers
| Provider | Status | Detection |
|---|---|---|
| Sentry | Supported | Automatic (payload structure detection) |
| Generic JSON | Supported | Any webhook with error, message, or stack_trace fields |
| Datadog | Coming soon | — |
| PagerDuty | Coming soon | — |
Setup
- Go to Integrations in the Eiryx dashboard
- Click Add Integration
- Follow the 4-step wizard:
- Step 1: Select provider (Sentry, Generic)
- Step 2: Map to a repository (
owner/repo) - Step 3: Set severity threshold (e.g., only
errorandcritical) - Step 4: Set environment filter (e.g., only
production)
- Copy the generated webhook URL
- Paste it in your provider’s webhook settings
Webhook URL Format
https://api.eiryx.com/api/webhooks/ingest/{provider}?token={user_id}How Triage Works
When a webhook arrives:
- Parse — The payload is matched against registered parsers. Sentry payloads are detected automatically by their structure. Unknown formats fall back to the Generic parser.
- Normalize — The raw payload is converted to a standard
ErrorEventwith fields:severity,title,stack_trace,environment,source. - Filter — The event is checked against your integration config: severity threshold, environment filter.
- Create Task — If the event passes filters, a bugfix task is created automatically with the error details as the description.
Sentry Payload Example
Eiryx parses Sentry Issue Alert webhooks. The key fields extracted:
{ "action": "triggered", "data": { "issue": { "title": "TypeError: Cannot read property 'email' of null", "level": "error", "environment": "production", "exception": { "values": [{ "type": "TypeError", "value": "Cannot read property 'email' of null", "stacktrace": { "frames": [ { "filename": "src/services/user.js", "lineno": 42, "function": "getUser" } ] } }] } } }}Mapped to: severity: error, title: TypeError: Cannot read property 'email' of null, full stack trace extracted, environment: production.
Generic Webhook
Any JSON payload with recognizable fields works. Eiryx looks for:
| Field (any of these) | Maps to |
|---|---|
error, message, msg, title, exception | Error title |
stack_trace, stacktrace, traceback, stack | Stack trace |
severity, level | Severity (critical/error/warning/info) |
environment, env | Environment filter |
Example minimal payload:
{ "error": "Database connection timeout after 30s", "severity": "critical", "environment": "production", "stack_trace": "ConnectionError at db/pool.py:89"}Send this as a POST to your webhook URL and Eiryx will create a task automatically.