Migrate to Grafana IRM with the migration tool
The open-source IRM migration tools provide an efficient way to migrate your on-call configuration to Grafana IRM. Use this path if you’re migrating from:
- PagerDuty
- Splunk OnCall (VictorOps)
- Opsgenie
- Grafana OnCall OSS
Before you begin
Ensure you have the following:
- Docker: Install and run Docker to build and run the migration tool images.
- Grafana IRM API token and API URL: Obtain these from the Settings page in the IRM plugin of your Grafana instance.
- Source platform credentials (depending on which tool you’re migrating from):
- PagerDuty: A PagerDuty API user token. Refer to PagerDuty API access keys.
- Splunk OnCall: A Splunk API ID and API key. Refer to the Splunk OnCall section in the irm-tooling docs.
- Opsgenie: An Opsgenie API key. Refer to the Opsgenie section in the irm-tooling docs.
Run the migration
Clone the grafana/irm-tooling repository.
Build the Docker image from the
tools/migratorsdirectory:docker build -t oncall-migrator .Run the tool in
planmode to preview what will be migrated and identify potential issues, for example, unmatched users or unsupported resources.Review the migration report. The tool migrates resources marked with a check mark and skips those marked with a cross.
When you’re satisfied with the migration plan, run the tool in
migratemode. The migration tool is idempotent and safe to run multiple times.
You can customize the migration using filter and configuration options described in the Grafana IRM tooling migration documentation, for example, team filters, user filters, or regex-based name filters.
After migration
After migration, complete the following steps:
- Connect integrations by clicking How to connect on the integration page.
- Ensure users verify and configure their notification preferences, phone numbers, and Slack accounts in IRM user settings.
- Check that your schedules are properly configured. If you migrated schedules via iCal (PagerDuty), consider recreating them using the IRM UI or Terraform to make them editable.
- Test and validate all critical workflows.
For platform-specific instructions, refer to the Grafana IRM tooling migration documentation.
Supported resources
Supported resources vary by source platform.
PagerDuty
- User notification rules
- On-call schedules (via iCal import or web-based migration)
- Escalation policies
- Services and integrations (supported types only; unsupported types can optionally be migrated as webhooks)
- Event rules (experimental, global event rulesets only)
- Technical and business services (optional, migrated to Grafana’s service model)
Splunk OnCall (VictorOps)
- Escalation policies
- On-call schedules (including rotations and scheduled overrides)
- User paging policies (primary paging policy only; custom paging policies aren’t supported)
Opsgenie
- User notification rules
- On-call schedules (including rotations and overrides)
- Escalation policies
- Integrations (supported types only; unsupported types can optionally be migrated as webhooks)
Limitations
The migration tools cover most scenarios, but some limitations apply:
- Integration support: The tools don’t support all integration types. You can optionally migrate unsupported types as webhook integrations.
- Timing discrepancies: Migrated notification or escalation rules may have slight timing differences. For example, a four-minute delay in PagerDuty might become five minutes in IRM.
- Schedule restrictions:
- PagerDuty schedules migrated via iCal are read-only in IRM.
- Opsgenie schedules with time restrictions (time-of-day or weekday-and-time-of-day) aren’t supported.
- Splunk OnCall multi-day shifts with hand-off periods greater than one week aren’t supported.
- Escalation step types: The tools don’t support all escalation step types from Splunk OnCall or Opsgenie.
- Manual configuration: Some PagerDuty resources may require manual adjustments before you can migrate them in
webschedule migration mode.
Note
Supported resources and limitations vary by source platform. For your specific platform, refer to the Grafana IRM tooling migration documentation.
Next steps
- Migrate to Grafana IRM manually for Terraform or UI-based migration
- Configure integrations
- Create on-call schedules
- Set up notifications



