Skip to content

Priority Levels & Critical Alerts

Every Pocket Alert message carries a priority level that decides how loudly it lands: silently in the tray, as a normal banner, or as a critical alert that wakes the device through the silent switch and Do Not Disturb.

The five levels

LevelAliasesBehavior
silentmin, -2Delivered to the tray only — no sound, no vibration
low-1Quiet, no interruption
defaultnormal, 0 (or omitted)Standard banner + sound
high1Time-sensitive — breaks through Focus and scheduled summary
criticalmax, urgent, 2Wakes the device through the silent switch and Do Not Disturb

Both spellings work everywhere: send "level": "critical" or "level": 2. The field is also accepted as priority.

What each level does on the device

iOS maps levels to APNs interruption levels — passive, active, time-sensitive and critical. A critical alert uses Apple's critical alert entitlement, which plays sound at its own volume even when the ringer is off and Do Not Disturb is on.

Android maps levels to separate notification channels. critical uses a high-importance channel with DND bypass and a full-screen intent, so the alert takes over the screen instead of waiting in the shade.

Because each level is a separate Android channel, users can mute your routine notifications in system settings while leaving critical ones armed.

Where you can set it

Priority resolves in this order, first match wins:

  1. Per message — the level field in Create Message, or the priority selector in the dashboard.
  2. Per application — a default level on the application, applied to every message that does not set its own.
  3. Per webhook — a level on the webhook, so an incoming payload maps straight to a severity.
  4. Fallbackdefault.

That ordering is what makes a single webhook useful for both routine and urgent events: set the webhook to high, and let individual calls override it upward when something actually breaks.

Plan limits

Critical is a paid feature

On free plans, critical is automatically downgraded to high rather than rejected — the alert still arrives, it just does not override Do Not Disturb. Every other level works on every plan.

An unknown level name or an int outside -2..2 returns 400.

Filtering by priority in the app

The mobile feed reads the same levels. Tap the filter icon to select one or more levels, narrow to a date range, or sort the whole feed by severity instead of time — useful when you come back to a phone with forty notifications and want the two that mattered.

Choosing a level

A rule of thumb that keeps notifications trustworthy:

  • critical — someone must act now, at any hour. Production down, security breach, freezer above temperature.
  • high — needs attention within the hour. Failed deploy, payment declined, queue backing up.
  • default — worth knowing today. Build finished, new signup, form submitted.
  • low / silent — logging to your phone. Cron finished on schedule, nightly backup completed.

The point of levels is not to make every alert louder. It is to make the loud ones mean something.

Pocket Alert Documentation