Engager · Operational truth

Watch every host. Page only when it matters.

Continuous probing. Routing that respects quiet hours. No paging for cold starts.

30s probe cadence6 regions30+ event kindsKEK encrypted secretsDeploy correlation

Engager <reports@team.realmrook.com> · to ops, legal

Engager · Status report

Status digest

12 domains · 26 Apr 2026 18:00 IST

Domains

12

Healthy

11/12

Checks

34,560

Overall

99.92%

rookhq.com
99.95%
app.rookhq.com
99.84%
api.rookhq.com
99.42%
paym.me
99.78%

The dashboard

Trackers, alerts, channels, integrations. The whole product, in four pages.

A category column on the left. The frame on the right. Pick the kind, browse the rows, expand any row to see the underlying probes. That is the entire product.

Mobile and tablet first. Buttons sized for thumbs. Tables that scroll without losing the row identifier.

engager.rookhq.com / @realm / trackers

Search domains…

rookhq.com

12/14 checks healthy · 99.95% over 30d

Healthy
SSL certificateCert valid 47d
Response timeP95 142 ms
Security headers4/4
ProtocolHTTP/2

app.rookhq.com

12/14 checks healthy · 99.84% over 30d

Healthy

api.rookhq.com

12/14 checks healthy · 99.42% over 30d

Warning

paym.me

12/14 checks healthy · 99.78% over 30d

Warning

engager.rookhq.com

12/14 checks healthy · 99.99% over 30d

Healthy

Inside a domain tracker

Add one host. Engager wires fifteen probes underneath.

You think in terms of domains. Engager thinks in terms of probes. Each probe runs on its own cadence, can be paused independently, and shows up inline when you expand the row.

TLS certificate

Days remaining, protocol, cipher strength, full chain validation

Domain expiry

WHOIS registration days remaining checked daily

DNS resolution

A and CNAME diff, DNSSEC, IP change detection

Response time

P95, P99, sustained anomaly detection against rolling baseline

Security headers

HSTS, CSP, X Frame Options, X Content Type Options

Mixed content

HTTPS pages referencing HTTP assets, scanned daily

Open port drift

Unexpected ports surfaced with severity per port

Protocol

HTTP/2 baseline, HTTP/3 detection, downgrade alerts

Keyword presence

Required phrases on the page body, every probe

Body integrity

Page size delta against rolling baseline

Multi location

Six region matrix, regional disagreement flagged

API health

JSON body validation, expected field equality

Deploy correlation

Github commits within 15 minutes pinned to incidents

SLA target

Per host targets, 7 and 30 day rolling windows

Redirect chain

Final destination, hop count, hostname drift

Routing as a contract

Each channel subscribes to exactly the kinds it cares about, in the timezone it lives in.

Six fields per channel. Subscribed kinds (a checkbox grid). Timezone. Active days. Quiet hours with mode. Mute window. Enable toggle. Evaluated in a fixed order, every dispatch.

The on call channel never sees the revenue digest. The leadership channel never gets paged at 3am. Both subscribe to the events that matter to them, and only those.

Edit channel

Ops bot · Telegram

Test passed

Subscribed kinds

Timezone

Asia/Kolkata

Active days

Mon–Sun

Quiet hours

22:00–07:00 · critical only

The routing pipeline

Five filters, evaluated in a fixed order, every single notification.

Mute, then subscribed kinds, then active days, then quiet hours, then critical bypass. The system never asks "did this rule match" · it asks "in what order do the filters fire". The model is a contract, not a guess.

Change anything in the channel editor and the next event is routed against the new contract. No restart, no service window.

Routing pipeline

Event fires

alert.outage.down

Mute window

in future? drop

Subscribed kinds

in channel list?

Active days

in channel TZ

Quiet hours

critical only

Send

Telegram · Email · Slack

Alerts that close themselves

Open. Acknowledge. Resolve. Replay.

An incident opens when probes cross threshold. Engager spins a fast recovery probe, polls every ten seconds, and resolves the incident the moment a healthy response lands.

Acknowledgement records the user, the timestamp, and an optional note that surfaces in the next status digest. The forensics travel with the incident.

engager.rookhq.com / @realm / alerts

ActiveRules3 open · 1 acknowledged

api.rookhq.com · Response time

criticalopen

P99 spiked to 8.4s for 3 consecutive pings

7m ago · Delivered to Ops bot · On call

rookhq.com · SSL certificate

warningopen

Certificate expires in 17 days (warn threshold = 30d)

23h ago · Delivered to Ops bot · ops@team.rookhq.com

@hlotech · GitHub PAT

warningacknowledged

PAT scopes missing repo:read · 4 org repos not enumerable

3h ago · Ack'd by Aravindh · Delivered to GitHub admin chat

"The graph spiked at 02:11. The deploy landed at 02:09. Engager said so before we did."

From a postmortem template you'll never have to write again

GitHub tracking

The repo events you should have seen sooner.

Per account personal access tokens scanned every five minutes for org scope, ten for user scope. Visibility flips, ownership transfers, default branch swaps, secrets added · all paged like outages.

Tokens encrypted with workspace data keys, wrapped with an Azure Key Vault root. Engager pulls plaintext just in time, runs the call, drops it.

GitHub tracker · 4 PATs · last 24h

Visibility flipped

critical

rookhq/legacy-billing · @rookadmin · 4m ago

Repo created

rookhq/edge-router · @AravAVR · 1h ago

Secret added

rookhq/api · @realmbyrook · 3h ago

Repo transferred

critical

rookhq/internal-tools → realm/internal-tools · @hlotech · 6h ago

Member added to org

rookhq · @new-eng · 12h ago

Default branch changed

rookhq/web · @AravAVR · 23h ago

How it compares

Five things most monitoring tools quietly skip.

CapabilityEngagerGeneric uptimeSlack only
Per channel kind subscriptionBuilt inTag matchingOne channel total
Critical bypass during quiet hoursBuilt inManual ruleNo
Cold start guard (3 stage reverify)10s · 25s · 55sSingle retryNo
Deploy correlation in incidentsGithub trackedManual linkNo
restrained voice across every emailYesGeneric copyPlain text

Integrations

Click any tile, fill the form, hit Test.

Six providers behind a picker grid. The credential validation hits the live API before you save. The credential is encrypted with your workspace key before it lands.

Every two hours the watchdog re validates. A failed credential surfaces on the integration row, on the dashboard, and as a critical kind notification on every channel that subscribes to credential watchdog.

engager.rookhq.com / @realm / integrations

Telegram

Connected

Email · Resend

Connected

GitHub

Connected

Paddle

Not connected

Jira

Connected

Backblaze B2

Not connected

Architecture at a glance

One worker. One backend. Per workspace SQLite for the hot path. Postgres for the audit trail.

  • Worker probes every 30s

    Per workspace SQLite on persistent disk. 90 day retention.

  • Snapshots flushed to Postgres

    Every 15 seconds. Dashboard reads from snapshot, never the worker.

  • Dispatch through routing rules

    Six filters evaluated in fixed order per channel.

  • KEK envelope encryption

    AES 256 GCM body, Key Vault wrapped DEK, audit row per change.

Add your first host. Probes start in under a minute.

Free tier covers five hosts at three minute cadence. Paid tiers drop to thirty seconds and below.