Portfolio·Enterprise lane

Insight
by Continua

A real-time operational intelligence dashboard for Blue Prism estates. Insight answers the questions Control Room and Process Analytics can't: fleet health, queue backlogs, exception trends, infrastructure, and programme ROI on one screen. On top of that sits an AI layer that triages exceptions across the whole estate, defers to a human when it is unsure, and answers natural-language MI questions, all under role-based access control.

The problem

Blue Prism's native tooling — Control Room and Process Analytics — gives you individual bot statuses and session logs. It doesn't give a CoE the unified operational picture it needs to run the programme confidently. Exception logs are flat lists with no trend analysis. There's no ROI reporting, no infrastructure visibility, and no single answer to "are we healthy right now?".

For a mature CoE running 200+ processes, that gap is a real operational risk. Problems surface late, effort goes into compiling MI by hand, infrastructure degradation often isn't noticed until bots start failing, and the first thing skipped when busy is exception triage.

Approach

Built as a Streamlit application over a single provider seam: every view, the AI tools, and a read-only MCP server all read the estate through one interface. A mock data provider runs the whole thing from JSON fixtures for instant demos and UAT; the live provider reads the BP v7 REST API and Zabbix. Switching between them is one environment variable.

The AI layer adds an Estate Intelligence Report that triages the whole estate — with a human-in-the-loop review the next run learns from — and an embedded natural-language assistant, both governed by role-scoped tools and PII scrubbing. The whole dashboard is reskinned end to end into the Continua brand — warm near-black surfaces, hard edges, IBM Plex, an animated logo motif.

What Insight answers

Are we healthy right now?

Control Room shows individual bot statuses, but nothing correlates fleet health, queue backlogs, infrastructure, and schedule adherence. Insight's Overview puts all of it on one screen: live status pills, fleet-wide KPIs, and clearance ETAs for every monitored queue.

Which exceptions actually matter?

BP's exception logs are flat lists. Insight adds trend analysis (spiking versus normal), velocity tracking, severity ranking, and Business versus System classification — so you prioritise by impact, not recency.

What is the programme returning?

Blue Prism has no native ROI reporting. Insight models cost avoidance against annual programme cost, with per-process contribution, FTE equivalent, STP rate, and plain-English interpretation for non-technical stakeholders. Exportable as CSV.

Is the infrastructure about to cause problems?

BP doesn't monitor its own infrastructure. Insight pulls server metrics from Zabbix and derives health from real thresholds (CPU, RAM, disk, and service state), surfacing degradation before bots start failing.

Watch the demo
Overview

Fleet-wide KPI cards, the digital worker grid paginated by pool, work queue cards with progress bars and clearance ETAs, and upcoming schedules. The single “are we healthy right now?” screen.

01 / 03
Digital worker fleet grouped by pool, under fleet-wide KPIs (total, running, idle, warning, offline) and live status pills. The fresco-dome Continua banner sits as a full-width hero.
Process Intelligence

Per-process RAG health scoring against configurable STP and exception-rate thresholds, AHT and volume trends, and exception intelligence with Business versus System classification.

01 / 03
Per-process deep dive: pick a process and date range, set exception scope and RAG thresholds, with handling time, STP and exception-rate KPIs beneath.
AI Triage & the Estate Intelligence Report

The judgement a senior developer brings to exception triage, run across the whole estate.

The first thing skipped when a CoE is busy is exception triage — the judgement of asking why an exception is happening and what to do about it. Insight runs that as an AI agent. From its own tab, one trigger runs Claude across the entire estate: it classifies every exception, assigns priority (High, Medium, or Noise), writes a plain-English recommended action, and synthesises patterns across processes. A SAP timeout hitting Finance, HR and Ops at once surfaces as one finding, not three.

One expensive run, several read-only surfaces, no duplicate-run risk: results persist in SQLite — so trend tracking comes for free — and read back into the Overview panel and the Process Intelligence context expander. Crucially, the report is honest about its own limits: it flags the exceptions it could not confidently classify and asks for a human.

01 / 03
The Estate Intelligence Report has its own tab, with the Re-run trigger on it. A banner flags processes that need human review, above a plain-English estate-wide assessment.
Human-in-the-loop

The model defers to a human when it is unsure — and learns from the decision.

An AI that quietly guesses on the cases it does not understand is worse than no AI at all. When triage cannot classify an exception with confidence, it does not invent an answer — it flags it as needs review. A human then assigns the correct root cause, priority and an optional note, inline, right where the exception sits.

That decision is saved immediately (SQLite, keyed by process, type and message) and the exception moves into a human-reviewed table. The payoff is the next run: triage adopts the human classification verbatim and stops re-flagging it. The estate teaches the model its own conventions over time, and the judgement of the people who run it compounds instead of being asked for again and again.

A human assigns the correct root cause and priority to an exception triage could not confidently classify. Saved inline, applied immediately.
On the next run, the model adopts the human classification and no longer re-flags it — the decision is remembered, not repeated.
The Assistant

Ask the estate a question. Verify every figure against its source.

Insight embeds a natural-language MI assistant. Ask which processes are getting worse, whether a worker is in trouble, or what last month’s ROI was, and it answers from live estate data. A single thinking indicator holds while it works the question through its tools, then the answer lands in full — with the underlying tool results rendered inline beneath it, so every figure can be checked against its source. That inline grounding is the antidote to MI hallucination. A role-aware welcome offers suggested prompts filtered to the tools each user’s role actually grants.

Ask the estate a question and the assistant answers from live data, showing the tools it called (here, checking estate health) so every figure can be verified against its source.
ROI & Management Information

Projected annual cost avoidance, ROI ratio with plain-English interpretation, items automated and FTE equivalent, per-process contribution analysis, and CSV export.

01 / 03
Projected annual cost avoidance and ROI ratio, with the supporting MI cards beneath.
Infrastructure

Server, API-endpoint and database health, with status derived from real CPU, RAM, disk and service metrics pulled from Zabbix.

01 / 03
Infrastructure summary with RAG-accented KPI cards: server counts, API-endpoint response times, and database connections against thresholds.
Utilisation

Per-bot utilisation, an hourly activity heatmap, and daily trend lines, with fleet-wide KPIs against configurable thresholds.

01 / 02
Bot utilisation with selectable workers, fleet averages, highest and lowest, and a per-bot breakdown.
Engineering & governance

One provider seam

All data access goes through a single provider interface. A mock provider (JSON fixtures, zero dependencies) and a live provider (BP v7 REST + Zabbix JSON-RPC) sit behind it, swappable with one config change. Every view, the AI tools, and the MCP server compose on top of the same seam.

MCP server, in-process host

A read-only Model Context Protocol server (FastMCP) exposes the estate as seven tools. The embedded Assistant imports those same tools as plain callables and runs the Anthropic tool-use loop in-process, deriving its schemas from the MCP definitions — one tool contract, used by Claude Desktop and the app alike.

Scale-safe by contract

Tools return answer-shaped envelopes — items plus meta (total, returned, truncated, sorted_by) — with server-side relevance sorting and limits. On a 200+ process, six-month estate the model gets honest top-N results it knows are truncated, instead of confident answers over an arbitrary slice.

RBAC for AI

The Assistant's toolset is filtered per role. Leadership sees ROI and throughput, automation gets the operational tools plus triage, admin gets everything. The model cannot call what it isn't shown, backed by a defensive dispatch guard. This is the reason to embed it rather than point people at a general chatbot.

PII scrubbed at the boundary

Exception message text is the one PII risk. Microsoft Presidio (local spaCy NER plus custom Blue Prism recognisers) scrubs messages to typed tokens before any text reaches the model. Applied at the tool boundary, so every consumer inherits it. The audit log records entity types found, never raw content.

Production hardened

Built for 200+ digital workers and 100k+ sessions: cached provider calls, HTTP connection pooling, server-side date filtering, pagination, and per-session token isolation. 297 unit tests at ~92% coverage, gated in CI, with branch protection on main.

Stack
Python / Streamlit
Application + UI
Plotly
Charting (dark theme)
Anthropic Claude
Triage + Assistant
MCP (FastMCP)
Read-only estate tools
Microsoft Presidio
PII scrubbing
SQLite
Triage history + trends
Blue Prism v7 REST API
Live estate data
Zabbix JSON-RPC
Infrastructure metrics
streamlit-authenticator
bcrypt + JWT auth
IIS + ARR
Reverse proxy, TLS
pytest
297 tests, ~92% coverage
GitHub Actions
CI — ruff + pytest gate
PortfolioEnterprise lane