Professional Services · PMO

The PMO agent a practice can answer for.

A status and escalation agent built against a map of how the PMO actually decides. It reads project, cost and risk signals, escalates with a written reason, and leaves the calls that belong to people with people.

Shipped to a client
DomainPMO and portfolio operations
TypeDecision map, then agent build
StackClaude · Next.js · Supabase
Proven onResonAi's own delivery first
42PMO decisions catalogued and tiered
3 tiersAI acts · AI recommends · human only
5Report templates, from weekly status to cost
Every callLogged with a plain-language reason
01
The problem

Status reporting is theatre. Escalation is a coin flip.

In most PMOs the weekly status is stitched together by hand from three systems, the escalation threshold lives in one senior person's head, and when a sponsor asks why something went red, the honest answer is a shrug.

Two PMs looking at the same signals make two different calls. When an escalation is challenged there is no record of the reasoning, and when one is missed there is no threshold to point to.

Pain pointWhat it costWhat the build does
Manual status assembly
Hours a week stitching three systems into one view.
The agent reads project, cost and risk data and assembles the trajectory view.
Unwritten thresholds
Same signals, different calls, no way to say which was right.
Thresholds taken from the practice's real decisions and written into the agent's logic.
No memory
Each cycle starts from zero; slow declines hide in green weeks.
The agent remembers each initiative's trajectory, without grading people.
Unexplainable calls
"Why is this red?" gets a reason invented after the fact.
Every escalation carries its signals, trajectory, threshold and call.
02
The approach

Map the decision first. Build the agent against the map.

The escalation decision was broken into five layers: what triggers it, how the situation is framed, the real criteria behind the call, the action taken, and what is left behind to learn from. That map, not a prompt, became the build spec.

When a sponsor asks why the agent flagged something, the answer is a reason, not "the model decided".

Every PMO decision was then catalogued and given a tier: the AI acts, the AI recommends, or a human decides. The most important outcome was a "no": the portfolio review verdict was examined and deliberately left with people. The agent escalates; people decide.

Boundaries keep mistakes cheap. The agent reads across systems but writes only to its own status view and escalation channel, and it steps back on initiatives whose context lives outside the data.

03
How it works

One agent. Five design decisions.

Each is something the PMO can point to when the agent's behaviour is questioned. Click a stage.

04
What it shows

What this work shows.

Explainability was the spec, not a feature added later.

The catalogue decides what gets built

Each decision is tiered before anything is automated. The most valuable result was the decision it declined to automate.

Map and system are one

The decision map is the agent's spec and its audit trail, so judgment does not drift between the two.

Memory without surveillance

Track initiatives, never grade people. That line was drawn with the people affected.

We run what we sell

Proven on ResonAi's own delivery practice before it went to a client.

05
See it working

Try something like it.

ClaudeOpenAI (fallback)Next.jsSupabase PostgresScheduling and earned-value engine

Is your PMO carrying judgment nobody wrote down?

The same pattern fits status escalation, stage-gate reviews and risk triage. Start with a conversation about which of your calls should be mapped first.

📅 Book a call