EU, US and India data residency · a DPA you can sign

Trust Center →
← Back to blog

Announcement

Introducing FlowTux for on-call engineering teams

FlowTux now triages on-call alerts automatically — fewer pages, real incidents only, code findings attached.

Kushagra

Co-founder

June 2, 2026 · 10 min read

On-call is where alert fatigue lives. Today we are extending FlowTux to the on-call queue: signals arrive, collapse to one item per root cause, get a severity from observable impact, and only the conditions that genuinely need a human now reach the pager. Everything else becomes an owned ticket instead of a notification nobody reads.

This is a triage layer, not a replacement pager. PagerDuty still owns rotations and escalation policies. What changes is what reaches them — and how much the responder already knows when it does.

The pager problem is arithmetic, not attitude

The reason on-call degrades is not that engineers stopped caring. It is that the volume exceeds what the shift was designed to absorb, and the human response to unabsorbable volume is to skim. Skimming is a rational adaptation, and it is also precisely how the real incident gets missed.

Google’s SRE book sets the ceiling explicitly: on average, no more than two incidents per 12-hour on-call shift. That number is not comfort-driven. A single incident handled properly — root-cause analysis, remediation, postmortem, follow-up fixes — is budgeted at roughly six hours of work. Two incidents fill a shift. The same book recommends working toward a 1:1 alert-to-incident ratio, because every alert above that ratio is effort spent recognising a duplicate rather than fixing a cause.

Measured against that ceiling, most rotations are structurally overloaded. Catchpoint’s SRE Report 2026, based on 418 practitioners, puts the median share of time spent on repetitive, low-value work at 34% — after the 2025 edition recorded the first rise in five years, from 25% to 30%. Operational load is not quietly resolving itself in the background.

≤2

Incidents per 12-hour shift — the ceiling in Google’s SRE book

1:1

Alert-to-incident ratio that book recommends aiming for

34%

Median time on toil (Catchpoint SRE Report 2026, n=418)

16%

Of respondents say AI increased their toil (same report)

Published industry figures, not FlowTux customer data. The gap between the second tile and any real alert channel is the problem this release addresses.

Why this got harder in 2026, not easier

The 2025 DORA State of DevOps research found AI adoption correlating with higher delivery throughput and, at the same time, greater instability — more change failures and more rework. More change shipped per week means more change to be woken up about. The alerting layer inherits the consequences of the velocity gained upstream.

The same Catchpoint report shows who feels it. Asked whether AI had reduced their toil, 49% said workload decreased, 35% saw no change, and 16% said it increased — and the answers split by seniority: 60% of directors reported a reduction against 38% of individual contributors. The people holding the pager are the least convinced that automation has helped them so far.

That is a reasonable prior to bring to an announcement like this one, so here is the specific claim: the useful thing to automate on-call is not the fixing. It is the sorting that happens before a human is involved at all.

What shipped

FlowTux now ingests on-call signals alongside the ticket queue — error-tracker events, CI and deploy failures, monitoring webhooks, and the duplicate human reports that always accompany a visible outage. They land in one place, get deduplicated, get a severity, and route from there.

Four things happen to every incoming signal, in order: collapse, classify, contextualise, route. The sections below cover each.

Sources

Monitoring alerts
Error-tracker events
CI & deploy failures
Duplicate human reports

FlowTux

Collapse → classify → contextualise → route

Out

Page (P1/P2)
Owned ticket
Suppressed, with a record
One intake path for machine signals and human reports, because during an outage you get both.

One root cause, one incident

One root cause rarely produces one alert. An expiring certificate or a bad deploy fires across every service that touches it, and in most setups each firing becomes its own notification and its own page. The responder spends the first twenty minutes of the incident closing duplicates.

Deduplication happens at ingestion, and it is semantic rather than string-matching, because the same failure phrases itself differently in every service — one emits a TLS handshake error, another a 502, a third a timeout in a health check. Related signals fold into a single incident carrying an occurrence count, the list of affected services, and the first-seen timestamp.

This is the same mechanism that already folds repeat Sentry occurrences into an existing ticket rather than opening a new one each time. Applied to the pager, it converts a storm into one page with a number next to it.

The severity gate: what pages and what waits

The distinction that most alerting setups have collapsed is between an alert and a page. A page interrupts a human immediately, whatever the hour. It is justified only when minutes matter. A degradation with headroom, a batch job that failed with a morning deadline, a warning threshold crossed on one replica — all real signals, none of them worth waking anyone.

FlowTux assigns severity from observable impact: which services are affected, whether user-facing paths are failing, error-rate change against the recent baseline, and whether the signal correlates with a recent deploy. P1 and P2 conditions page. Everything else becomes a ticket with an owner and a normal-priority clock — visible, assigned, and not an interrupt.

The gate is configurable per service, and it is auditable: every suppressed signal is still recorded, so "why did this not page me" has an answer on the timeline rather than in a guess.

  1. Signals in

    all

    Every alert, error event, CI failure, monitoring webhook, and duplicate human report.

  2. After semantic deduplication

    1 per cause

    Related signals fold into one incident with an occurrence count and affected-service list.

  3. After the severity gate

    P1 / P2

    Impact-scored conditions that need a human now. The rest become owned tickets.

  4. Paged

    one page

    Handed to PagerDuty, which decides who is on rotation and how it escalates.

The shape of the gate, not a measured collapse ratio — verify yours against a real storm before trusting it (setup step three).

Context arrives before the human does

The gap between "something is wrong" and "here is what to check" is where response time actually goes. At 3 a.m. that gap is dashboard archaeology, and the cost of the interruption compounds: the widely cited UC Irvine research by Gloria Mark puts the time to fully re-engage with a task after a single interruption at around 23 minutes. An interrupt that arrives without context is charged twice — once for the incident and once for the re-entry.

So an escalated incident arrives with work already done. The problem is restated in plain language. Code findings from the linked repository are attached — the files and modules most likely involved, ranked by confidence, tagged by module. The occurrence count, affected services, correlated deploy, and any prior incident matching the same signature are on the ticket before the phone rings.

The responder’s first minute is spent evaluating a diagnosis rather than constructing one. That is a smaller claim than "the AI fixes it", and it is the one that holds at 3 a.m.

  1. 03:12:04

    First signal

    Checkout latency alert fires. Incident opened, first-seen timestamp recorded.

  2. 03:12:09

    31 related signals fold in

    Payments, cart, and two downstream services report the same failure. One incident, count 32.

  3. 03:12:15

    Severity assigned

    User-facing path failing, error rate well above baseline, correlated with a deploy 40 minutes earlier. P1.

  4. 03:12:22

    Context attached

    Restated problem, ranked code findings from the linked repo, the suspect deploy, and the matching prior incident.

  5. 03:12:26

    One page sent

    PagerDuty pages whoever is on rotation. The responder opens a ticket that already reads like a diagnosis.

A worked example of the ordering — the sequence is the product, the timestamps are illustrative.

PagerDuty still owns the rotation

FlowTux does not replace PagerDuty and does not want to. Rotations, escalation policies, overrides, and the mechanics of actually waking somebody up are solved problems handled by tools built for them. FlowTux decides what deserves a page; PagerDuty decides who gets it and what happens if they do not answer.

The second half of the handoff matters as much: the ticket remains the record. Every triage decision, suppression, action, and status change lands on one timeline, so the postmortem starts from a written record instead of reconstructing the night from chat scrollback and memory. That record is also what makes weekly alert hygiene possible — a list of what fired without producing action is the retune-or-delete queue.

Roll it out in four stages

Do not point this at production paging on day one. The point of the rollout order below is that each stage is verifiable before the next one is trusted, and that the first two stages change nothing about who gets woken up.

Before stage one, take a baseline. Pages per shift, alert-to-incident ratio, after-hours page count, and the share of pages that produced an action. Without those four numbers recorded beforehand, you will have no way to tell whether anything improved.

  1. Week 1

    Stage 1

    Observe only

    Signals ingest and get scored. Nothing changes about what pages. Compare the scoring to what your rules did.

  2. Week 2

    Stage 2

    Dedup on

    Collapse storms into one incident. Verify the ratio on a real storm before trusting it.

  3. Week 3

    Stage 3

    Gate the pager

    Only P1/P2 pages; everything else becomes an owned ticket. Review suppressions daily at first.

  4. Week 4+

    Stage 4

    Auto-resolve the known set

    Let the categories that are consistently right close themselves, with the timeline as the audit trail.

Each stage is reversible on its own, so a bad week rolls back one setting rather than the whole integration.

What this does not do

It does not fix bad instrumentation. If a service emits no signal when it fails, no triage layer will invent one — deduplication and scoring operate on what arrives. Severity scoring is only as good as the impact data it can see, which is why service mapping is part of setup rather than an optional step.

It does not remove the need for alert hygiene. Suppressing noise makes noise cheaper, and cheap noise accumulates. The weekly review of what fired without producing action still has to happen; FlowTux gives you the list rather than the discipline.

It is also not an SLO engine or a status page. Error budgets, burn-rate policy, and customer communication live in their own tools, and the incident record links out to them rather than reimplementing them.

How to tell whether it worked

Judge this on the four baseline numbers, not on how the demo felt. Pages per shift should approach the two-incident ceiling. The alert-to-incident ratio should fall toward 1:1. After-hours pages should drop faster than total signal volume, because the gate removes interrupts rather than information. And the share of pages that produced a real action should rise — that last one is the honest measure of whether the pager is trustworthy again.

Watch one counter-signal too: incidents that were suppressed and later turned out to matter. That number should be zero, and it is visible on the timeline precisely so it can be checked rather than assumed.

Ungated pager

  • One root cause pages forty times
  • Every threshold crossing is an interrupt
  • Responder starts at a blank dashboard
  • Postmortem reconstructed from scrollback
  • Nobody knows which alerts are useless

Triage in front of the pager

  • One incident with an occurrence count
  • Only P1/P2 interrupt; the rest are owned tickets
  • Ranked code findings attached before the page
  • Timeline written as the incident happens
  • Weekly list of what fired without action
The difference is upstream of the pager, which is why buying a better pager never fixed it.

Getting started

Connect PagerDuty from Integrations and map services to FlowTux queues, link the repository that gives code findings their grounding, then point your error tracker and CI at the same intake. Run it in observe-only mode for a week before the gate goes live. Pricing is flat — from $79/month for the workspace, with no per-responder fee, because charging per person for an on-call tool is a tax on having enough people in the rotation to sleep.

Frequently asked questions

Does FlowTux replace PagerDuty?

No. FlowTux sits in front of it as the triage and deduplication layer, deciding what deserves a page. PagerDuty keeps rotations, escalation policies, and overrides. The result is a lower volume of higher-quality pages, not a second paging tool to maintain.

How many pages per on-call shift is reasonable?

Google’s SRE book puts the ceiling at an average of two incidents per 12-hour shift, on the basis that handling one incident properly — analysis, remediation, postmortem, follow-up — costs roughly six hours. A rotation consistently above that is structurally overloaded rather than unlucky.

How does deduplication decide two alerts are the same incident?

Semantically, not by string match. The same root cause surfaces differently in each service — a TLS error here, a 502 there, a health-check timeout downstream — so signals are grouped by the failure they describe, the services and time window involved, and correlation with recent deploys. The result is one incident with an occurrence count and an affected-service list.

What happens to alerts that do not page?

They become tickets with an owner and a normal-priority clock, and every suppression stays on the record. Nothing is silently dropped, so "why did this not page me" is answerable from the timeline, and the weekly review can see what fired without ever producing an action.

How should we roll it out safely?

Take a baseline first — pages per shift, alert-to-incident ratio, after-hours pages, share of pages that produced an action. Then run observe-only for a week, enable deduplication and verify the collapse on a real storm, gate the pager to P1/P2, and only then let the consistently correct categories auto-resolve. Each stage is reversible on its own.

Related reading

Ready to let Tux AI run your queue?

Flat pricing from $79/month. Every team, no per-agent fees. Up and running the same day.