Skip to content
Paige by Zimac.AI

Incident paging · by the Zimac Incident Commander

The pager that holds command, not just the phone.

Alerts in, pages out, on the clock — like the pagers you know. Then the part they don't have: the Red Thread, one computed command board for impact, roles, facts versus hypotheses, and the next-update clock. No orphaned roles. No silent clocks. No ownerless follow-ups.

Works with Prometheus, Grafana, CloudWatch, Sentry, or anything that can POST JSON.

The paging spine

Alerts in. Pages out. On the clock.

Intake & dedup

Every integration gets its own API key. Repeated events with the same alert_key fold into one alert with a count — a flapping monitor is one page, not forty.

The first page is instant

Level one is paged inline at intake — email and webhooks (Slack included), with a delivery receipt on the alert. Paige never claims a page she can't prove.

Escalation ladders

Each level names its targets — the schedule's on-call, a person, the whole team — and its ack timeout. Unacknowledged alerts climb, on the clock, with repeats.

Ack stops the clock

One acknowledgment stops the ladder and names the responder. Un-ack resumes it immediately. Close writes the record. The alert timeline is the audit log.

Open an alert from anywhere
curl -X POST https://paige.zimac.ai/events/$PAIGE_KEY \
  -H 'content-type: application/json' \
  -d '{"title":"DB p99 over 800ms","priority":"P2","alert_key":"db-latency"}'

The differentiator

The Red Thread: command, computed.

Other pagers stop at "somebody acked." Paige promotes an alert into an incident and computes the command frame the room actually needs — the desktop Paige's instrument, hosted.

Control state, honestly

COMMAND HELD, DRIFTING, or UNFRAMED — derived from named checks: impact stated, one IC, owned actions, a committed next-update clock. Missing structure stays visible.

Facts ≠ hypotheses

Known, hypothesis, and the largest unknown are separate columns on the board. SEV1 demands comms and a scribe; the frame says so before the retro does.

Blameless postmortems, scored

Paste the write-up; get a dimension-by-dimension score with reasons. Blame language caps the score at 69 — completeness can't buy it back.

The human system

On-call is people. Paige counts the cost.

Deterministic rotations

Daily, weekly, or custom shifts from an explicit anchor — the same math answers the same name on every replica. Overrides are new facts, never edit races.

Dead-man's-switch heartbeats

Your cron pings Paige; the absence of the ping is the alert. The failure mode ordinary alerting can't see — the monitoring stack itself dying — is covered.

Load, fairness, night pages

Pages per responder per week, the night-page share, rotation fairness, MTTA/MTTR — computed from delivery receipts, not from the rota on paper. Thresholds shown, never hidden.

Security

Tenant-scoped by construction.

Identity from the token

Your workspace comes from your Zimac credential via the auth service — never from a request body. A caller can only ever see the tenant their token proves.

Keys hashed, shown once

Integration API keys are displayed exactly once and stored as SHA-256. Webhook destinations are SSRF-checked at write time and again before every send.

Receipts everywhere

Every page carries a delivery record — who, when, which level, which channel, and whether it worked. The pager's word is checkable.

Pricing

Included with Zimac.

Paige rides your Zimac workspace — sign in with the account you already have. Org workspaces share teams, schedules, and alert history across members.

FAQ

Fair questions.

How do alerts get in?

Create an integration, get a pgk-… key, and POST JSON events to /events/<key>. action:"close" with the same alert_key closes on recovery. Heartbeats ping /events/<key>/heartbeat/<name>.

How fast is the escalation clock?

The first page is sent inline at intake. After that, a background engine re-checks every armed workspace on a short interval (30s by default) and advances any ladder whose ack window has passed.

What notification channels exist today?

Email (SES) and webhooks, including Slack incoming webhooks with proper Block Kit formatting. Generic webhooks are HMAC-signed so you can verify the sender.

Does the desktop Paige know about this?

Yes — the same agent that commands incidents in the Zimac desktop app can read your paige.zimac.ai workspace over MCP (read-only): open alerts, who's on call, incident frames, on-call health.

Time zones?

Schedules anchor to an explicit epoch instant, so your handoff hour is whatever you anchor it to. Night-page analytics use a fixed 22:00–08:00 UTC window and say so rather than guessing anyone's timezone.