Skip to content

Our Work / Engineering case study

Multi-Client Engagement Agent

Persistent issue state and operator actions across multiple client engagements.

All project studies
Client Engagement / evidence & state
Client workspace AClient workspace BClient workspace C
Gemini issue adjudicationNew evidence + issue history → structured decision
Durable issue recordFirestore
Context
Client + evidence history
Responsibility
Owner + next action
Disposition
Confirmed / waiting / resolved
React operator interface Review · correct · follow through
Architecture diagramClient context, model reasoning and operator decisions maintain one issue history.

BUILD PROFILE

Business context
Consulting & professional services firms
System type
AI-supported multi-client workflow
Environment
Microsoft 365 + Google Cloud / Gemini
Microsoft GraphGeminiPython / FastAPIReact / ViteFirestoreCloud RunCloud Scheduler
Architecture & toolchain

01 / OPERATING CONTEXT

Tracking obligations across client correspondence.

A consulting agency may be waiting for information from one client, reviewing a decision with another and preparing a follow-up for a third. The next piece of evidence can arrive in a different email thread from the one where the obligation began.

Client Engagement keeps a durable record of the business issue across that changing correspondence. It connects new information with the existing client context, updates the working state and identifies the next action.

The operator can confirm an issue, adjust ownership, correct a proposed action or resolve the work. Those decisions remain part of the record when the agent processes subsequent evidence.

02 / IMPLEMENTATION SCOPE

Application and service capabilities.

Context across clients

Client workspaces and mailbox routing keep evidence connected to the appropriate engagement, supporting an agency working across concurrent client relationships.

Issues that outlast a thread

New communications can create an issue, add evidence to existing work, change responsibility or indicate that an obligation has been resolved.

Owned next actions

Separate suggested actions from confirmed work. Identify what needs follow-up, what is waiting on a client or third party, and what the operator needs to do next.

Operator control and continuity

Confirm, reject or edit proposed actions; assign an owner; resolve or suppress an issue. Explicit corrections survive subsequent agent runs.

03 / ARCHITECTURE & TOOLS

System boundaries and the stack behind them.

Microsoft 365 evidence and Google/Gemini reasoning connect through a custom workflow application. Persistent state and operator controls give the agent continuity across clients and recurring runs.

Evidence and client routing

Microsoft Graph ingestion and a connection registry associate approved evidence with a workspace and mailbox. Deterministic normalization prepares bounded evidence packets.

Reasoning and durable state

Gemini adjudicates the relationship between new evidence and existing issues. Validated updates flow into a durable read model containing issue state, evidence references and action history.

Operator interface and recurrence

An application interface and Admin API expose issues, suggested actions and controlled corrections. Scheduled processing maintains the working picture as new evidence arrives.

Tools, frameworks and their roles

Microsoft Graph · Microsoft 365
Read-only email evidence ingestion and client/workspace mailbox routing.
Gemini · Google Gen AI SDK · Pydantic
Issue adjudication, model integration and structured validation of evidence and decision contracts.
Python · FastAPI · Uvicorn
The processing pipeline and Admin API exposing controlled operator actions.
React · TypeScript · Vite
The operator interface for reviewing issues, confirming actions and correcting ownership or state.
Firestore · Cloud Storage · Secret Manager
Durable projections, stored run artifacts and runtime credential management.
Cloud Run · Cloud Scheduler · Google IAP
Application/runtime services, recurring processing and protected operator access.
pytest · Ruff · Node.js test runner
Pipeline and service tests, Python quality checks and frontend regression checks.
Domain logic, controls & engineering decisions
  • The issue is a durable business record, with ownership and next action separate from the source email thread.
  • The evidence pipeline separates normalization, candidate retrieval, bounded packet construction, model adjudication and validated state updates.
  • Structured adjudication distinguishes a new issue, an update, a likely closure, reference-only information and work requiring human review.
  • Deterministic candidate generation and fallback behavior support the reasoning path when model adjudication is unavailable.
  • Explicit operator decisions remain authoritative across subsequent agent runs.
  • Evidence references and action history preserve the basis for a proposed change or follow-up.

04 / WORKFLOW WALKTHROUGH

From new correspondence to a clear next action.

The business issue provides continuity while the evidence and the responsible person can change.

  1. 01

    Collect the relevant evidence

    Microsoft Graph brings approved email evidence into the appropriate client workspace. Normalization prepares it for issue matching and review.

    OUTPUTClient-specific evidence
  2. 02

    Reason about the issue

    Gemini considers the new evidence with the issue history to determine whether the work is new, has changed, needs action or may be resolved.

    OUTPUTAn issue update and proposed next action
  3. 03

    Let the operator decide

    The operator confirms or corrects the proposed action, assigns responsibility and records the disposition in the working interface.

    OUTPUTConfirmed work with an owner
  4. 04

    Maintain the thread of responsibility

    Later evidence updates the issue while retaining operator decisions and action history. Waiting work and unresolved obligations remain available for follow-through.

    OUTPUTA continuing record across conversations

05 / SYSTEM OUTPUTS

What the system produces.

The agency gains a continuing view of client obligations, ownership and next actions. People can pick up the work with its history intact and move the engagement forward as new information arrives.

  • Persistent client issues and evidence history
  • Confirmed next actions and ownership
  • Visible client and third-party dependencies
  • Recorded resolutions and operator decisions

What would better software
help your team do?

Tell us what needs to work, who needs to use it and which systems are involved.

Discuss a project