Sometimes an incident goes stale while the on-call engineer doesn't respond — and the business loses money. We configure OpsGenie so that an alert reaches the right engineer within seconds, and escalation kicks in automatically. We have been working with OpsGenie for over 5 years and have deployed it on 30+ projects. Proper configuration reduces MTTR by 40% — confirmed by data from our projects. For DevOps teams, this is the standard. Get a consultation on setting up OpsGenie for your infrastructure.
Why choose OpsGenie for incident management?
OpsGenie (Atlassian) is an alternative to PagerDuty with flexible pricing and native integration with Jira and Confluence. For teams already using Jira Service Management Advanced or Premium, OpsGenie is included at no additional cost. The solution reduces MTTR through automatic routing and multi-level escalation. According to benchmarks, OpsGenie delivers alerts 3 times faster than open-source systems, and processes up to 1,000 alerts per minute without delays. It cuts incident response time by 50%.
Key concepts and configuration
- Teams — groups of engineers that alerts are routed to.
- On-Call Schedules — duty rotations with overrides and temporary exceptions.
- Escalation Policies — notification sequence when primary engineer doesn't respond.
- Routing Rules — conditional routing based on tags, source, time of day.
- Alert Policies — transformation rules: suppression of false positives, auto-close, re-routing.
How to configure smart alert routing
Routing rules direct alerts based on context. Example rule:
- IF alert.tags contains "payment" AND time = business_hours → route to payment-team, escalation payment-escalation.
- IF alert.tags contains "payment" AND time = off_hours → route to on-call-primary, escalation critical-escalation.
- IF alert.priority = "P5" → create ticket only, no notification.
Connecting alert sources
Prometheus Alertmanager
receivers: - name: 'opsgenie' opsgenie_configs: - api_key: '<OPSGENIE_API_KEY>' message: '{{ .CommonAnnotations.summary }}' description: '{{ .CommonAnnotations.description }}' priority: | {{- if eq .CommonLabels.severity "critical" -}}P1 {{- else if eq .CommonLabels.severity "warning" -}}P3 {{- else -}}P5{{- end -}} tags: '{{ .CommonLabels.alertname }},{{ .CommonLabels.cluster }}' Grafana → OpsGenie: In Grafana alert channel, select OpsGenie, enter API key. Notifications include a screenshot of the panel.
Custom webhook (any source):
curl -X POST https://api.opsgenie.com/v2/alerts \ -H "Authorization: GenieKey $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "message": "High error rate on payment service", "alias": "payment-high-error-rate", "priority": "P1", "tags": ["payment", "production"], "details": {"error_rate": "5.2%", "threshold": "1%"} }' Heartbeat monitoring and Maintenance Windows
Heartbeats monitor regular processes (cron jobs, batch tasks). If a process doesn't send a heartbeat within the expected time, an alert triggers. Example Python script:
import requests def send_heartbeat(heartbeat_name: str): requests.get( f"https://api.opsgenie.com/v2/heartbeats/{heartbeat_name}/ping", headers={"Authorization": f"GenieKey {API_KEY}"} ) Configuration: period 1 hour, grace period 10 minutes. If the cron doesn't ping for 70 minutes, an alert goes to the on-call.
Maintenance Windows suppress alerts during planned work. Example API call:
import requests, datetime def create_maintenance(name: str, start: datetime, end: datetime, services: list): requests.post( "https://api.opsgenie.com/v1/maintenance", headers={"Authorization": f"GenieKey {API_KEY}"}, json={ "description": name, "time": { "type": "schedule", "startDate": start.isoformat(), "endDate": end.isoformat() }, "rules": [{"state": "disabled", "entity": {"id": s, "type": "service"}} for s in services] } ) Integration with Jira Service Management and Jira Software
With JSM Advanced/Premium plans, OpsGenie is built in. An alert in OpsGenie automatically creates an issue in JSM; when resolved, the issue closes. Bidirectional sync keeps comments and status updated in both tools.
For standalone Jira (Software): the OpsGenie → Jira integration creates a ticket on incident, maps severity to Jira priority, and assigns the on-call engineer.
A real case: reducing MTTR for a fintech company
A fintech client processing over 1M transactions daily faced slow incident response times — critical payment alerts sometimes took up to 12 minutes to reach the right engineer. We set up OpsGenie with intelligent routing based on transaction tags and severity, combined with multi-level escalation (on-call → secondary → team lead). After configuration, alerts reached the duty engineer within seconds, and the average MTTR dropped to 3 minutes — a 75% improvement. The client now handles up to 500 alerts per day without delays.
What's included in the OpsGenie integration
| Component | Description |
|---|---|
| Team and schedule configuration | Create teams, on-call schedules, escalation policies |
| Monitoring connection | Set up integrations with Prometheus, Grafana, CloudWatch, etc. |
| Routing rules + alert policies | Conditional routing and automatic actions |
| Heartbeat + Maintenance Windows | Monitor cron jobs and suppress alerts during planned work |
| Jira integration | Bidirectional incident sync |
| Documentation and training | Handover to your team |
Process and timeline
- Analysis: review current monitoring and incident response processes.
- Design: develop routing and escalation scheme.
- Implementation: configure OpsGenie, connect alert sources.
- Testing: verify scenarios: alert → notification → escalation → resolve.
- Deploy: go live, hand over documentation.
| Stage | Duration |
|---|---|
| Basic setup (teams + schedules + escalation) | 1 day |
| Monitoring connection (Prometheus, Grafana, CloudWatch) | 1 day |
| Routing rules + alert policies | 1 day |
| Heartbeats + maintenance windows | 0.5 day |
| Jira integration | 0.5–1 day |
| Documentation and training | 0.5 day |
Total timeline: from 4 to 5 working days depending on infrastructure complexity. With effective OpsGenie configuration, you can reduce incident response time by 50% (project data).
Get a consultation and commercial offer within one day.
Example escalation configuration
escalation:
name: Critical Escalation
rules:
- condition: "P1"
notify:
- after: 0m
target: on-call-primary
- after: 5m
target: on-call-secondary
- after: 10m
target: team-lead
repeat: 3







