Skip to content

Incident paging · by the Zimac Incident Commander

Every incident has a red thread. Paige holds it.

Alerts in, pages out, on the clock — every pager does that part. The Red Thread is the part they don't have: one computed command board for impact, roles, facts versus hypotheses, and the next-update clock.

Prometheus · Grafana · CloudWatch · Sentry · Finn cost alerts · anything that can POST JSON

The Red ThreadImpact, roles, evidence, next steps.

Incident commandEvery signal routed. Every role clear.

Always on the clockPages out. Updates land.

Your stack, your pagerBring the tools you already run.

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.

LIVE INCIDENT / RED THREAD
Checkout errors
checkoutpayments
SEV2
StatusMitigating
Started12:44 PM
Next update12:59 PM
ControlHeld
ImpactCustomers unable to complete checkout
ICYou
Scribe@alex
Comms@sam
Ops@maya
FactsAPI p95 latency > 5s. Payments failing with 5xx.
HypothesisDB saturation causing timeouts.
Next checkConfirm PSP status and customer impact.
Next update clock03:21
No silent clocks.No ownerless actions.

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.

Paige at her command station, wearing a headset and watching the incident room
PaigeIncident Commander
Paige · Incident Commander

Calm is a control surface.

Paige is the composed operator in the room: direct about customer impact, exact about what is known, and unwilling to let a clock, role, or follow-up drift out of sight.

  • Name the impactSeverity follows customers, not channel volume.
  • Hold the clockEvery update has an owner and a committed time.
  • Close the loopEvery role is filled and every follow-up stays owned.
See how Paige holds the Red Thread
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 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 — Paige keeps the hash, never the key.

Webhooks checked twice

Webhook destinations are SSRF-checked at write time and again before every send, and generic webhooks are HMAC-signed so you can verify the sender.

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

Nine dollars. Every responder.

Per-responder pricing taxes you for adding the person who could have answered. Paige is one flat price per workspace — put the whole team on call, add the new hire on their first day, and the bill does not move.

The whole pager
$9/ workspace / month

or $90 a year — two months free.

  • Unlimited responders, schedules, services, and integrations
  • Dedup intake, escalation ladders, and dead-man’s-switch heartbeats
  • The Red Thread command board: impact, roles, facts vs hypotheses
  • Email and webhook delivery, including Slack Block Kit
  • Per-member fallback channels and receipted retry
  • Read-only MCP access from the Zimac desktop app

A Zimac account gets you in; no card for the trial. Paige pages over email and webhooks (Slack included) — there is no SMS or voice channel today, so wire the Slack app you already keep loud at night.

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.

Get started

Open your pager.

Sign in with your Zimac account. First time? A personal workspace is created on first touch.