# Operational alerts and incident notifications

> Send monitoring alerts, on-call pages and outage notices by SMS: reaches any phone without data or an app, one REST call from your alerting stack, transactional flag, delivery webhooks.

To send operational alerts with SMSMeteor, have your monitoring or incident tool call `POST /v1/messages` through a generic webhook action, with the transactional flag so alerts leave at any hour, a short validity so stale alerts are dropped, and an idempotency key built from the alert id so repeated firings do not page twice. For customer-facing outage notices, send a batch to the affected list and pace it if replies land on a support team.

## Recommended settings

- Traffic type: Transactional
- Integration: Generic webhook action calling the REST API
- Deduplication: `Idempotency-Key` from the alert id
- Validity: 15 to 60 minutes
- Fan-out: `/v1/messages/batch`, 1,000 messages per API request
- Works without: Mobile data, an app, or push tokens

## Steps

1. Add a webhook action: Most monitoring and incident tools can POST JSON to a URL with headers. Point one at the messages endpoint with your key.
2. Deduplicate: Use the alert or incident id as the idempotency key. A flapping check then sends one text per incident, not one per evaluation.
3. Drop stale alerts: Set validity to the window in which the alert is still useful. A page delivered three hours late is noise.
4. Escalate by list: Primary on-call first; if your tool sees no acknowledgement, a second call pages the secondary.

## Why SMS for alerts

Push notifications need a working app, a valid token, mobile data and the phone's notification settings. Email needs someone looking. A text needs a SIM with signal. For the page that must wake someone, or the notice that must reach a customer whose internet is the thing that is down, SMS is the channel with the fewest dependencies.

Keep alert texts terse and structured: system, severity, what, where to look. The first forty characters are what shows on a lock screen.

## Customer-facing incident notices

When an outage affects customers, a short text to the affected list prevents a wave of tickets. Send it as a batch with a campaign tag per incident, pace it if your support line is small, and follow up with the resolution. These are service messages: no offers, no links to anything but your status page.

## Sample message

From OPSALERT: "PROD db-eu-2 CRITICAL: replication lag 340s (threshold 60s). Runbook: ops.acme.com/r/db-lag"

```bash
curl https://api.smsmeteor.com/v1/messages \
  -H "Authorization: Bearer $SMSMETEOR_KEY" \
  -H "Idempotency-Key: incident-2291-page-primary" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+4915112345678",
    "from": "OPSALERT",
    "text": "PROD db-eu-2 CRITICAL: replication lag 340s. Runbook: ops.acme.com/r/db-lag",
    "validity": 30,
    "window": { "quiet_hours": "bypass" },
    "campaign": "oncall"
  }'
```

## Questions

**Can my monitoring tool send SMS through the API?** Any tool that can POST JSON with custom headers can: point a webhook action at /v1/messages with a bearer key. No plugin or SDK is required.

**Will alerts be held at night by quiet hours?** Not when flagged transactional with window.quiet_hours set to bypass. Alerts leave immediately at any hour.

**How do I avoid duplicate pages when a check flaps?** Build the Idempotency-Key from the incident id. Repeated requests with the same key within 24 hours return the original response without sending again.

**What happens if the phone is off?** The carrier retries until the validity period ends. Set a short validity for alerts so that a stale page is dropped rather than delivered hours later.

**Can I notify customers about an outage?** Yes, as a batch to the affected list, paced if needed. Keep it a service notice: what is affected, where to follow updates.

**How do I make sure the balance never runs out?** Set a low-balance threshold: the balance.low webhook fires when the balance falls under it, and the balance endpoint can be polled by your monitoring.



---
Source: https://smsmeteor.com/use-cases/alerts-and-incidents (HTML). Generated by SMSMeteor from the same data as the page. Summary of the whole site: https://smsmeteor.com/llms.txt
