README.md/case studies/c1 conagra
Case study 01 / Agents Production
A production agent with Graph RAG, inside Microsoft Teams
A Copilot Studio assistant hands multi-step reasoning to a custom LangGraph backend, which traverses SharePoint as a graph in Neo4j instead of searching it as flat text.
At a glancec1 / conagra
- Role
- Software Engineer
- Client
- Conagra Brands
- Context
- Raikes Design Studio capstone
- Dates
- Aug 2025 - May 2026
- Status
- Shipped to production
- Stack
- Copilot Studio, Teams, LangGraph (Python), Neo4j, Entra, SharePoint
- Tested with
- Copilot Studio evaluation matrix
On this page
01Problem
The answers people needed sat in deeply nested SharePoint documents, and the questions were about supply-chain entities and how they relate to each other.
Standard vector search fell short here. It ranks chunks by similarity, but it has no idea where a chunk sits in the document hierarchy, or which entities it connects.
02Constraints
- It had to live where staff already work: Microsoft Teams, through a Copilot Studio assistant.
- Calls from the assistant to anything behind it go over Microsoft Entra-secured APIs.
- The reasoning is multi-step, so it runs in a custom backend rather than in the assistant itself.
03Approach
Four layers, each with one job.
- Front door. A Copilot Studio assistant in Microsoft Teams takes the question.
- Boundary. It hands off over a Microsoft Entra-secured API.
- Reasoning. A custom LangGraph backend in Python runs the multi-step work.
- Retrieval. Graph RAG on Neo4j traverses the SharePoint document hierarchy and maps supply-chain entity relationships.
04Decision
Graph RAG on Neo4j for retrieval. Modeling the SharePoint hierarchy as a graph lets the backend walk from a document to where it sits, and across to the supply-chain entities it mentions, instead of hoping the right chunk ranks first.
Fell short on deeply nested SharePoint documents: similarity alone loses the hierarchy and the links between entities.
Copilot Studio stays the front door in Teams. The multi-step reasoning is handed to a custom LangGraph backend instead.
Traverses the document hierarchy and maps supply-chain entity relationships.
05Evaluation
Tested with a Copilot Studio evaluation matrix before it went to staff.
PlaceholderTwo or three example rows from the real matrix go here: the question, what a good answer must contain, and how it scored.
06Result
A production agent staff reach from Teams, answering across nested SharePoint documents instead of making people dig through them.
07What I'd do next
- Run the matrix on every change. Prompts, tools, and the graph schema all move; a regression should show up in CI before it shows up in Teams.
- Trace every multi-step run. The way I trace multi-agent runs with LangSmith at UNL ADMA, so a bad answer points to the step that caused it.
- Measure the hours, not estimate them. Turn the 10-15 hours a week into a number logged from real usage.