Skip to main content

The Contoso Case Study

A real-world lens to understand Microsoft Azure Foundry concepts in practice.

Enterprise Context

Meet Contoso, Ltd.

A multinational retail company with 500+ stores is building enterprise AI agents with Microsoft Foundry. Use their business challenges and technical decisions to understand how Foundry works and when to use each capability.


� The Story​

It's Tuesday morning. A customer calls Contoso's support line.

"Hi, I bought a laptop from you three weeks ago. I need to know about the warranty coverage. Also, I called last week about a return, but I don't want to repeat everything I said."

The support agent pulls up the account. No notes from last week. They ask the customer to start over.

Customer frustration: ⬆️

This scenario repeats 10,000+ times a day at Contoso.

The CTO sits in a meeting. Their customer satisfaction score is 68%. It should be 90+. Why? Because:

  • Agents don't have product information at their fingertips
  • Conversation history is scattered across systems
  • Manual processes slow everything down
  • Disputes take days to resolve

The Question: "How do we fix this with AI?"

The Wrong Answer: "Just deploy ChatGPT and call it done."

The Right Answer: "We need a platform that gives us control, safety, governance, and compliance. We need Azure Foundry."


�💡 How to Use This Case Study​

This is optional reading. It's not required to learn Foundry.

You can:

  • Skip it entirely — Jump straight to Deploy Your First Agent and learn by doing
  • Read it first — Get business context before diving into technical modules
  • Reference it later — Come back if you want to understand when/why enterprises choose Foundry

Why read it? This case study answers: "When would I actually use Foundry? What real business problems does it solve? How does an enterprise think about agent infrastructure?"

Important: All learning path articles are self-contained. You don't need this case study to understand Deploy, Agent Configuration, RAG, or Security modules. Those articles stand alone.


🏢 About Contoso, Ltd.​

Contoso isn't a startup hoping to "disrupt" retail. They've been around for decades. They have 500+ physical stores, an e-commerce platform, 10,000+ employees, and billions in annual revenue.

They're mature. They're stable. They're also facing the challenge every enterprise faces: How do we adopt AI responsibly?

Company Profile​

AspectDetails
TypeMultinational retail (physical + online)
Scale500+ stores in Europe, North America
Employees10,000+ globally
IT MaturityHigh (Azure infrastructure already in place)
AI ExperienceNew to Foundry; experimenting with agents
RegulatoryGDPR (EU operations), SOC 2 compliance

The Turning Point​

Contoso's leadership had a realization:

"We're losing customers to better support experiences. Our competitors are using AI. But we can't just bolt on an LLM endpoint and hope for the best. We need control, compliance, safety, and governance. We need a platform, not just a model."

They looked at three options:

  1. Just use ChatGPT API — Cheap, fast, but no control
  2. Build on Kubernetes — Full control, but massive effort
  3. Use Azure Foundry — Managed platform, enterprise-grade, compliance-ready

They chose Foundry.

Key Requirements That Drove This Decision:

  • ✅ EU data residency (GDPR Article 5)
  • ✅ Enterprise governance and audit trails
  • ✅ Safety evaluation and content filtering
  • ✅ Integration with existing Azure infrastructure
  • ✅ Support for multiple agents and teams

🎯 The Business Problem​

Contoso's customer support department is drowning.

Every day, 10,000+ customer inquiries come in. Every single one follows the same pattern:

  1. Customer calls: "Hi, I need help with an order."
  2. Agent searches: (Lost in systems, PDFs, email threads)
  3. Agent says: "Can you tell me the order details again?"
  4. Customer thinks: 😤 "I called you last week about this."

The Four Pain Points​

1. Limited Product Knowledge

Support agents don't always have detailed product info at hand. Customers ask: "What's the warranty on this item?" and agents have to look it up manually. While searching, the customer waits.

2. No Conversation Memory

If a customer calls back, the agent has no context of previous interactions. "Hi, I called yesterday about a refund..." and the agent has to start over. The customer repeats themselves. Frustration grows.

3. Manual Invoice Processing

Dispute resolution is entirely manual. A customer disputes a charge. An agent manually reviews the invoice. It takes days. Sometimes weeks. The customer is left hanging.

4. Safety & Control Gaps

What if an AI agent gives wrong information? Reveals a customer's previous order to a new caller by mistake? Gets tricked into saying something inappropriate? Without safety controls, there's risk.

The Impact​

The Business Reality:

  • Customer satisfaction: 68% (should be 90%+)
  • Support resolution time: 3-5 days (should be minutes)
  • Repeat inquiries: 30% of calls are repeats of previous issues
  • Cost per interaction: $15-20 with manual process

The Goal​

Build Agent1 — an AI agent that can:

  1. ✅ Answer product-specific questions instantly (with warranty, pricing, specs)
  2. ✅ Remember conversation context (personalize help, no repeats)
  3. ✅ Approve sensitive actions (human-in-the-loop for disputes)
  4. ✅ Stay safe (content filtering, no hallucinations, no leaks)

🚀 Why Azure Foundry? The Decision​

When Contoso's CTO realized they needed AI for customer support, the team asked: "What's the easiest path?"

Round 1: What About ChatGPT API?​

The team's first thought: "ChatGPT is powerful. Let's just plug it in."

They prototyped. Within a week, they hit problems:

  • ❌ Agent gave wrong product information (no knowledge base)
  • ❌ Agent didn't remember customer history (stateless)
  • ❌ Agent couldn't approve actions (manual for every dispute)
  • ❌ No compliance tracking (GDPR problem)
  • ❌ No safety controls (hallucinations, jailbreaks)

Conclusion: ChatGPT API is great for demos. Not for enterprise.

Round 2: What About Kubernetes + DIY?​

The next idea: "We'll build it ourselves on Kubernetes."

They mapped it out:

  • Build safety pipeline (content filtering, jailbreak detection)
  • Build memory layer (conversation history + retrieval)
  • Build RAG system (index products, semantic search)
  • Build tool approval workflows (human-in-the-loop)
  • Build evaluation framework (measure quality)
  • Build RBAC and audit logging (compliance)
  • Deploy to AKS (Kubernetes cluster)
  • Maintain all of this (forever)

The Reality Check: That's 6-12 months of engineering effort. Plus ongoing maintenance.

The CTO asked: "Can our DevOps team handle this? Or should we use a platform built for this exact problem?"

Round 3: Azure Foundry​

Someone on the architecture team said: "What if we use Azure Foundry? It's designed for exactly this."

They looked at what Foundry provides out of the box:

  • ✅ Safety pipeline (already built)
  • ✅ Memory layer (Cosmos DB integration)
  • ✅ RAG pipeline (Azure AI Search integration)
  • ✅ Tool approval workflows (built-in patterns)
  • ✅ Evaluation framework (built-in SDK)
  • ✅ RBAC and audit logging (Entra ID + compliance ready)

The Decision: Use Foundry. Ship faster. Focus on the business problem, not infrastructure.

The Trade-Off Analysis​

AspectChatGPT APIKubernetes + DIYAzure Foundry
Time to launch1 week6-12 months2-4 weeks
Safety controls❌ Basic only⏳ You build it✅ Built-in
Memory layer❌ Not possible⏳ You build it✅ Ready
RAG pipeline❌ Not possible⏳ You build it✅ Ready
Compliance❌ Your problem⏳ You implement✅ Built-in
Governance❌ None⏳ You design it✅ Ready (RBAC)
Operational burden❌ Low (but risky)⏳ High (forever)✅ Low (managed)
Cost✅ Cheap⚠️ Medium (infrastructure + people)✅ Medium (managed)
Control❌ Limited✅ Full✅ Full + safe

Contoso's Choice: Azure Foundry wins on every metric that matters to an enterprise.

How Foundry Solves Each Pain Point​

Pain PointFoundry Solution
Limited Product KnowledgeRAG Pipeline: Index all product PDFs, retrieve relevant docs, ground responses in your knowledge base → Accurate, product-specific answers
No Conversation MemoryMemory Layer: Persist conversation history in Cosmos DB, automatically build context for each customer → "I remember you called yesterday"
Manual Invoice DisputesTool Approval Workflow: Agent suggests action, human approves for sensitive operations → Fast resolution, human control
Safety & Control GapsSafety Pipeline: Content filtering + jailbreak detection + domain grounding + PII masking → Controlled, safe agent behavior
Compliance & AuditBuilt-in Compliance: EU data residency, RBAC groups, Entra ID auth, audit logging → Production-ready for GDPR/SOC2

🏗️ Contoso's Infrastructure Setup​

Contoso decided to use Microsoft Foundry on Azure with this architecture:

Key Infrastructure Decisions​

ComponentChoiceWhy
RegionFrance CentralGDPR Article 5 (EU data residency)
ModelAzure OpenAI gpt-4oLatest, powerful, EU-compliant
Memory StoreCosmos DBFully managed, multi-region capable, EU option
Vector SearchAzure AI SearchEnterprise search, semantic capability
AuthManaged Identity (Entra ID)Zero-trust, no API keys in code
VersioningModel version lockPrevent surprise behavior changes

📋 The 13 Requirements​

Everything Contoso needs is captured in 13 detailed requirements across three categories:

Technical Requirements (4)​

TR-1: Scalability

Handle variable traffic (10-100 requests/second). Costs should scale with usage.

TR-2: Semantic Indexing

Index product PDFs for semantic search. Enable natural language product queries.

TR-3: Version Consistency

Model version must remain stable across deployments. No surprise behavior changes.

TR-4: Data Residency

All data must stay in EU (France Central). GDPR Article 5 compliance required.

Security & Compliance Requirements (6)​

SR-1: No API Keys

Use Managed Identity (Entra ID) for all service authentication. No credentials in code.

SR-2: Least Privilege

Entra ID group-based access control. Separate groups: Dev, Test, Prod. Minimal permissions.

SR-3: Entra ID Auth

All API calls authenticated via Entra ID. Audit trail for all operations.

SR-4: RBAC Groups

Create three Entra ID groups: SC_Agent1_Dev, SC_Agent1_Test, SC_Agent1_Prod.

SR-5: Data Protection

Encryption at rest, encryption in transit. Customer conversation data encrypted in Cosmos DB.

SR-6: Image Safety

Scan product sheets for embedded malicious instructions. Block unsafe images.

Business Requirements (3)​

BR-1: Personalization

Agent remembers customer conversations. Personalized responses based on history.

BR-2: Product-Only Answers

Agent responds ONLY about Contoso products. No general knowledge outside scope.

BR-3: Complete Solutions

Detailed answers with product specs, warranty, pricing. No generic responses.


👥 The Team Structure​

Contoso organized their AI team with clear responsibilities:

Key Roles​

RoleTeamResponsibilities
ArchitectArch teamDesign Agent1, make deployment decisions, ensure compliance
DeveloperAgent1DevBuild agent prompt, integrate tools, test locally
QA/TesterAgent1TestValidate responses, test edge cases, safety verification
DevOpsDevOps teamInfrastructure, CI/CD, deployment automation
SecuritySecurity teamRBAC setup, audit logging, compliance verification

🎯 Requirements-to-Questions Mapping​

All of these requirements are addressed by three core learning modules:

SectionFocusAddressesDetails
Model Deployment ConfigurationDeployment choicesTR-1, TR-3, TR-4, SR-1, SR-3How to deploy and configure the model for compliance and scale
Agent Safety & MemoryAgent reliabilitySR-5, SR-6, BR-1, BR-2How to make the agent safe, stateful, and domain-grounded
Knowledge Grounding with RAGKnowledge indexingTR-2, BR-3How to index product knowledge and enable semantic search

🎯 Case Study Complete​

You now understand Contoso's business challenges, why Azure Foundry is the right platform, and what their infrastructure looks like.

What's Next?

Or continue exploring this learning path at your own pace.


Last updated: 2026-09-28
Part of: Azure Foundry Learning Path