Opsgenie Provider
Opsgenie (Atlassian) is a cloud-hosted alerting and on-call management platform. Configure it in Admin Panel → Incidents → Providers using your Opsgenie API key.
What You Get
- Inbound webhook: Opsgenie alert actions (Create, Acknowledge, Close) received and normalized in real time
- Outbound API: agents can list, create, acknowledge, and close Opsgenie alerts via MCP tools
- Custom-header webhook authentication (
X-Hrida-Secret) - EU region support
Step 1 — Create an Opsgenie API Key
- Log in to Opsgenie (or
app.eu.opsgenie.comfor EU). - Go to Settings → API Key Management.
- Click Add new API key → give it Read+Write access.
- Copy the key — this is your GenieKey.
Step 2 — Configure the Provider in hrida-ai-studio
- Go to Admin Panel → Incidents → Providers.
- Click + Add Provider → select Opsgenie.
- Fill in:
| Field | Value |
|---|---|
| Name | e.g. Opsgenie Production |
| API Key | The GenieKey from Step 1 |
| Webhook Secret | A random string you'll also configure in Opsgenie (Step 3) |
| Region | us (default) or eu |
- Click Save — copy the Webhook URL from the card.
Step 3 — Configure the Outgoing Webhook in Opsgenie
Unlike PagerDuty, Opsgenie does not sign webhook payloads with HMAC. Instead, hrida-ai-studio uses a custom header (X-Hrida-Secret) that you configure in Opsgenie's webhook settings.
- In Opsgenie, go to Settings → Integrations → Add Integration → select Webhook.
- Set:
| Field | Value |
|---|---|
| Webhook URL | The URL from the provider card |
| Add Request Header | X-Hrida-Secret: <your_webhook_secret> |
| Notify when | Alert is created, Acknowledged, Closed (check all three) |
- Save and enable the integration.
Webhook Authentication
Opsgenie does not support HMAC signing. hrida-ai-studio validates the X-Hrida-Secret header using a constant-time comparison:
X-Hrida-Secret: <webhook_secret>
Keep this secret private and treat it like a password. Rotate it if ever compromised — update both the Opsgenie integration header and the provider config in hrida-ai-studio.
Incident State Mapping
| Opsgenie action | Canonical state |
|---|---|
Create | firing |
Acknowledge | acknowledged |
UnAcknowledge | firing |
Close | resolved |
Delete | resolved |
Severity Mapping
Opsgenie priority values are mapped to a normalized severity:
| Opsgenie priority | Canonical severity |
|---|---|
| P1 | critical |
| P2 | high |
| P3 | warning |
| P4 / P5 | info |
| missing | warning (default) |
EU Region
If your Opsgenie account is in the EU data centre, set Region = eu in the provider config. This routes all API calls to https://api.eu.opsgenie.com instead of the default US endpoint.
Agent Tools (via hrida-mcpo)
Run an hrida-mcpo instance pointed at Opsgenie's API, then add it as a tool server:
# docker-compose.override.yml
hrida-mcpo-opsgenie:
image: ghcr.io/hrida-ai/hrida-mcpo:latest
ports:
- "8093:8000"
environment:
OPENAPI_SPEC_URL: https://api.opsgenie.com/openapi.json
API_BASE_URL: https://api.opsgenie.com # or api.eu.opsgenie.com
AUTH_HEADER: Authorization
AUTH_TOKEN: "GenieKey <your_api_key>"
SERVER_NAME: opsgenie-incidents
networks:
- openhridaai-networkAdd http://localhost:8093 as a tool server in Admin Panel → Settings → Tool Servers.
Key tools available: list_alerts, get_alert, create_alert, acknowledge_alert, close_alert, list_schedules, list_on_calls.
Webhook Payload Reference
Opsgenie sends a payload like:
{
"source": { "name": "My Integration", "type": "API" },
"alert": {
"alertId": "70413a06-38d6-4c85-acca-e4f8f4b90d5b",
"message": "High disk usage on web-01",
"tinyId": "42",
"alias": "disk-usage-web-01",
"status": "open",
"priority": "P2"
},
"action": "Create"
}The action field determines the incident state. The alert.alertId is used as the incident identifier for deduplication. The permalink is constructed from alert.tinyId:
https://app.opsgenie.com/alert/detail/{tinyId}
For EU accounts, the permalink uses app.eu.opsgenie.com.
Workflow Trigger Integration
See the Incident Management overview for details on triggering agent workflows when Opsgenie alerts change state.
Troubleshooting
Webhook delivers 401
→ The X-Hrida-Secret header value sent by Opsgenie doesn't match the webhook_secret in your provider config. Check the Opsgenie integration's custom headers.
Incidents not appearing in the panel → Verify the Opsgenie webhook integration is enabled and the "Notify when" triggers include Create, Acknowledged, and Closed.
API calls fail with 403 → The GenieKey doesn't have write access. Recreate it with Read+Write permissions in Settings → API Key Management.
EU region returning wrong data → Ensure Region = eu is set in the provider config and your Opsgenie account is actually on the EU data centre.