Skip to content

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

ProviderStatusDetection
SentrySupportedAutomatic (payload structure detection)
Generic JSONSupportedAny webhook with error, message, or stack_trace fields
DatadogComing soon
PagerDutyComing soon

Setup

  1. Go to Integrations in the Eiryx dashboard
  2. Click Add Integration
  3. 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 error and critical)
    • Step 4: Set environment filter (e.g., only production)
  4. Copy the generated webhook URL
  5. 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:

  1. Parse — The payload is matched against registered parsers. Sentry payloads are detected automatically by their structure. Unknown formats fall back to the Generic parser.
  2. Normalize — The raw payload is converted to a standard ErrorEvent with fields: severity, title, stack_trace, environment, source.
  3. Filter — The event is checked against your integration config: severity threshold, environment filter.
  4. 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, exceptionError title
stack_trace, stacktrace, traceback, stackStack trace
severity, levelSeverity (critical/error/warning/info)
environment, envEnvironment 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.