How to Get Grafana and Datadog Alerts on Your iPhone

Published:2026-11-08

Grafana sends alerts through contact points, Alertmanager through receivers, and Datadog through its mobile app or webhooks. With Nodd, you paste an inbound URL issued in the app into each service's webhook settings. Alerts reach your iPhone, a recovery resolves the same alert, and you can see receipt status for each member.

What goes wrong with alerts on a phone

Monitoring alerts matter most at night and when you are away from your desk. Email and Slack alone tend to bury them.

Once alerts do reach your phone, new problems show up.

Each tool's own options

Most monitoring tools can reach a phone on their own. The features of the tool you already use are often enough.

Grafana

Grafana Alerting sends notifications to contact points. Types include Email, Slack, Telegram, Pushover, PagerDuty, Opsgenie, Grafana IRM, and Webhook. Resolved notifications are sent by default, and Disable resolved message turns them off. On Grafana Cloud, the Grafana IRM mobile app receives on-call notifications. Self-hosted Grafana OnCall OSS was archived in March 2026, and push notifications through the IRM mobile app no longer work for it.

Prometheus Alertmanager

Alertmanager lists destinations under receivers, such as email_configs, slack_configs, pagerduty_configs, pushover_configs, telegram_configs, and webhook_configs. group_wait, group_interval, and repeat_interval control grouping and how often a notification repeats. If you have alert fatigue, start by tuning these.

Datadog

Datadog has an iOS app that receives push notifications for On-Call, incidents, and workflows, and lets you check monitors. You set up monitors and notifications in the web app.

Sentry

Sentry alert rules can notify members and teams, or send to integrations such as Slack, Discord, Microsoft Teams, PagerDuty, and Opsgenie, or to a webhook. To get them on a phone, people usually go through one of those apps.

PagerDuty and other on-call tools

On-call tools such as PagerDuty have schedules, escalation policies, and phone and SMS paging. On iPhone, Critical Alerts let high-urgency notifications sound through Focus and silent mode. If your team runs a 24-hour rotation, a dedicated on-call tool is the right fit. Opsgenie stopped new sales in June 2025, and its support is scheduled to end in April 2027.

Choosing an approach

ApproachGood fit when
The tool's own notifications (email, Slack, mobile app)One monitoring tool covers everything and you are happy to install its app
A push app such as Pushover or ntfyYou work alone and want a quick sound on your phone. See the comparison
An on-call tool such as PagerDutyYou need schedules, phone calls, and step-by-step escalation
Nodd inbound URLsYou want several monitoring tools in one app, alerts that resolve themselves, and receipt status per member, along with approval requests in the same app

Nodd has no on-call schedules and no phone paging. If you need dependable paging at night, use an on-call tool.

Inbound URLs to an iPhone

Nodd inbound URLs receive other services' webhooks as they are. You paste the URL. No authentication header is needed.

  1. In the app, open the channel details and choose the integration under Add integration
  2. Issue the URL with Face ID. The URL is shown only then
  3. Paste the URL into the monitoring tool's webhook settings

Managers, Owners, and Admins can issue URLs. If you lose one, revoke it and issue a new one. These integrations are available.

grafanaA Grafana webhook contact point
alertmanagerAlertmanager webhook_configs
datadogDatadog Webhooks. Recovery resolves the alert. Issued from Nodd 1.1 or later
sentrySentry Internal Integrations and alert rules. Resolving is linked too. Issued from Nodd 1.1 or later
pagerdutyPagerDuty Generic Webhooks (v3). Resolving is linked too. Issued from Nodd 1.1 or later
slackThe Slack Incoming Webhook format. Anything that posts to Slack can point here instead
genericThe same format as POST /v1/messages, accepting only notice, progress, and alert
The URL itself is a secret. A leaked URL still cannot ask for approval, because inbound URLs accept only messages without buttons.

Setup by service

Grafana

In Grafana Alerting, open Contact points, create a Webhook contact point, and paste the URL.

https://api.nodd.blipdrop.net/in/grafana/nodd_live_i_...

Alertmanager

Put the URL in webhook_configs. With send_resolved: true, a recovery resolves the same alert.

receivers:
  - name: nodd
    webhook_configs:
      - url: https://api.nodd.blipdrop.net/in/alertmanager/nodd_live_i_...
        send_resolved: true

For Grafana and Alertmanager, the alertname label becomes the title and the description annotation becomes the body. A severity of critical, page, high, or error gives high.

Datadog

  1. Issue a Datadog URL in the app
  2. In Datadog, open Webhooks under Integrations and paste the URL into a new webhook
  3. Set Payload to the JSON below
  4. Add @webhook-NAME to the monitor's notification message
{"alert_id":"$ALERT_ID","scope":"$ALERT_SCOPE","title":"$EVENT_TITLE","message":"$TEXT_ONLY_MSG","transition":"$ALERT_TRANSITION","priority":"$ALERT_PRIORITY","url":"$LINK"}

A recovery (Recovered) resolves the same alert.

Sentry

  1. Issue a Sentry URL in the app
  2. In Sentry, open Developer Settings under Settings and create an Internal Integration
  3. Paste the URL into Webhook URL and turn on Issue under Webhooks
  4. To send from alert rules too, turn on Alert Rule Action and pick the integration as a rule action

A created Issue notifies, and resolved resolves it.

PagerDuty

  1. Issue a PagerDuty URL in the app
  2. In PagerDuty, open Generic Webhooks (v3) under Integrations and paste the URL into a new webhook
  3. Select incident.triggered and incident.resolved as events

This keeps PagerDuty's on-call setup as it is and also mirrors incidents opening and resolving into a Nodd channel.

From your own scripts

From services that can't set an auth header, or from your own checks, post to a generic URL. Include an alert_key so you can resolve it later.

curl https://api.nodd.blipdrop.net/in/generic/nodd_live_i_... \
  -H "Content-Type: application/json" \
  -d '{"kind":"alert","level":"high","title":"Disk is 5% free","alert_key":"disk.full:web-1"}'

With a send key, resolve it with the CLI's nodd resolve ALERT_KEY or POST /v1/alerts/{alert_key}/resolve. The full conversion rules are on the Inbound URLs page.

Resolving, receipts, and ownership

Recoveries resolve alerts

status: resolved from Grafana and Alertmanager, a Datadog recovery, a Sentry resolved, and PagerDuty incident.resolved all resolve the same alert. Firing and recovery are linked by the same alert_key, built from each service's ID. Resolved alerts leave the Action tab.

Integrations also set the same dedupe_key. Open alerts with the same key become one message with a count, so an alert that keeps firing does not fill your list.

Who received it

Touch and hold a notification and open Receipt status to see each member as received, received late, unconfirmed, or delivery failed. Unconfirmed does not mean undelivered. It means the device has not reported receipt yet. If anyone is unconfirmed, a Responder or above can notify them again.

Who is on it

Alerts nobody has taken appear under Unhandled in the Action tab. When someone chooses Take it from the touch-and-hold reactions, the alert moves to In progress with team for everyone else and leaves their count. Take it and Done need Responder or above.

Priority and quiet hours

high maps to iOS Time Sensitive. High priority messages still come through during quiet hours. Each channel can be set to All, high only, or Off, so you can let only high sound at night.

Caveats and limits

FAQ

What do I need to get Grafana alerts on my iPhone?
Create a Webhook contact point in Grafana Alerting and paste the Grafana inbound URL you issued in the Nodd app. No authentication header is needed.
Do recovered alerts stay in my list?
No. When the recovery arrives, the same alert is resolved and leaves the Action tab. For Alertmanager, set send_resolved to true.
Can I see who on the team received an alert?
Yes. Touch and hold the notification and open Receipt status to see each member's state. A Responder or above can notify unconfirmed members again.
Can an unanswered alert go to someone else?
Escalation is a Team plan feature for approvals and choices, and it does not apply to inbound alerts. If you need step-by-step paging, use an on-call tool such as PagerDuty alongside Nodd.
What if an inbound URL leaks?
Someone could send you notifications, but they cannot ask for approval. Revoke the URL in the app and issue a new one.

Nodd delivers questions from scripts, CI, and AI agents to your iPhone, and returns your Face ID approval to the program that asked. There is a free plan.

Related guides