A project manager agent, in production at a Fortune 500 medical device manufacturer. Built on Snowflake. Orchestrated from the client's own automation platform, because the source data cannot leave its region.
Internal only
Not cleared for external use. Nothing here goes to a client, a deck, or a public URL until approved.
01
What it is.
An agent that writes the weekly project status report. A project manager asks for a status. The agent returns a drafted deck: next steps, timelines, risks and issues, milestones, financials.
The build runs on Snowflake. Orchestration runs on the client's own automation platform, because the data it reads cannot leave Europe.
02
What it does.
The agent pulls the project baseline from Planisware. It reconciles that against what recent email and meeting transcripts say changed. It resolves whichever names the project has collected. Then it drafts the deck.
03
What it solves.
Problem
Why it halts work
What the agent does
Status reports written by hand
Hours per project, per week
A project manager pulls from Planisware, their inbox, and meeting transcripts, then writes the deck. Every week, for every project.
Projects get renamed
Nothing can be queried
One project carries several names across systems. Nobody can reliably look it up. The agent resolves the aliases before it queries.
The truth is in the conversation
The system of record lags
What changed this week sits in email and transcripts, not in Planisware. The agent reads both and reconciles them.
The data cannot leave Europe
Security review
Mail and transcripts are sensitive and cannot leave the region. The design works within that.
04
How it works.
01
Ask
A project manager asks for a project status in plain language.
02
Resolve
The agent works out which project is meant, across its aliases.
03
Gather
Baseline from Snowflake, recent change from mail and transcripts.
04
Reconcile
What the record says against what the conversation says.
05
Draft
A staged draft becomes a PowerPoint the manager edits.
Conversational
Threads are reused across turns through the API, so a follow-up question does not start over.
Identity
Every action runs as the connected user over OAuth. The agent sees exactly what that person can see.
Response time
Roughly 75 to 90 seconds per answer, against a 600 second ceiling.
05
The constraint.
The first build ran entirely in Snowflake. The security team rejected it. The tenant is European, the mail and transcript data is sensitive, and none of it could cross to a United States account.
Their automation platform was already approved for that data, so the orchestration moved there. The agent reads the sensitive sources inside the region and passes only a summary downstream. No verbatim source data crosses.
The constraint produced the architecture. Negotiating could have taken months and risked the engagement.
06
The architecture.
Sensitive sources and the orchestrator stay inside the European tenant. Only summarized context crosses to Snowflake, where the baseline, the agents, and report generation live.
Component
Where it runs
What it does
UiPath
European tenant
Hosts the conversational agent, reads the sensitive sources, and summarizes before anything leaves the region.
Microsoft Graph
European tenant
Supplies mail and meeting transcripts, read as the connected user.
Cortex Analyst
Snowflake
Turns the question into SQL against the project baseline.
Cortex Search
Snowflake
Retrieves candidates when the answer is not a straight query.
Stored procedures
Snowflake
Stage the draft, then run Python to generate the PowerPoint.
07
What changes.
Before
Seam
After
The report
Written by hand, weekly
A project manager assembles it from three places and writes the deck themselves.
The report
Drafted, then edited
The agent produces a first draft covering next steps, timelines, risks, milestones, and financials. A person reviews it.
Finding the project
Institutional memory
Knowing which of several names a project currently goes by.
Finding the project
Aliases resolved
The agent maps the names before it queries, so the question works whichever name is used.
Regional data
A reason the project stops
Sensitive sources cannot leave the region, so the AI build does not get approved.
Regional data
An input to the design
Orchestration runs where the data is. Only summarized context crosses. Security review becomes a check.
08
Where we are at.
In production
The agent is live as a proof of concept.Running under contract at the client, with phase two beginning.
In production
Cross-region pattern is working.Sensitive sources stay in the European tenant. Only summarized context crosses to Snowflake.
In motion
Further builds at the same client.A second production build on the business and sales side, a third starting, and two more in the pipeline.
Pending
No outcome metrics exist.Hours saved and adoption have not been measured. Client response is positive and qualitative. No figure goes out first.
Unresolved
Delivery attribution.Described on the call as IBM-side work. The logged record for this client is Hakkoda-delivered. Attribution is never blended, so this must be settled first.
Known limit
No streaming to the user.The automation platform does not pass streaming through. A response appears all at once, after roughly 75 to 90 seconds.
09
Three takeaways.
The approved tool was the shortest path.
The client's automation platform had already cleared security review. Using it turned a rejected design into a production build.
Summarize at the boundary, not after it.
Sensitive data is read inside its own region. Only the summary crosses. That is what got the build approved.
Agents inherit the person, not a key.
Every action runs as the connected user over OAuth. The agent sees what that project manager sees, and nothing more.
Drawn from the demo call and the build itself. No part of this is validated against the proof library, and no client record exists for this engagement yet.
The client is blind-named throughout. The engagement is a proof of concept in production, not a completed delivery.
Delivery attribution is unresolved. Cortex Code accelerated the build and is deliberately absent from the architecture, since a tool that sped up delivery is not a client-facing capability.
Hakkoda, an IBM CompanyInternal. Not for distribution.