# microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator architecture

> Architecture diagram of the GitHub repository microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator
- Repository: https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator

## Overview

This accelerator provides a conversational interface for asking natural-language questions over governed Fabric data, with agent orchestration, streaming answers, citations, and conversation history. The main flow is user → chat UI → API → agent → data-backed response; history is a separate read/write flow. Scenario-specific provisioning and prompt/agent setup are also product capabilities. The repository supports .NET and Python API implementations; available excerpts do not establish which backend the UI selects at runtime, so those links are marked unverified.

Main entry points: [`src/App/src/App.tsx`](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/App.tsx) (Application shell), [`src/App/src/api/api.ts`](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/api/api.ts) (API client), [`src/App/src/components/Chat/Chat.tsx`](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/components/Chat/Chat.tsx) (Chat experience), [`src/api/dotnet/Controllers/ChatController.cs`](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Controllers/ChatController.cs) (.NET chat endpoint)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Web experience"]
  node_app["Application shell<br/>[App.tsx]"]
  node_chat["Chat experience<br/>[Chat.tsx]"]
  node_historyui["History panel"]
  node_citationui["Citation display<br/>[CitationPanel.tsx]"]
  node_frontendstate["Conversation state<br/>[chatSlice.ts]"]
  node_clientapi["API client<br/>[api.ts]"]
end

subgraph group_backend["API services"]
  node_dotnetchat[".NET chat endpoint<br/>[ChatController.cs]"]
  node_dotnethistory[".NET history endpoint"]
  node_pythonapp["Python API router<br/>[app.py]"]
  node_pythonchat["Python chat service<br/>[chat.py]"]
  node_pythonhistory["Python history service<br/>[history.py]"]
  node_conversationrepo["Conversation storage"]
  node_cosmosrepo["Cosmos repository"]
  node_sqlrepo["Fabric SQL repository"]
end

subgraph group_agent["Agent and data"]
  node_agentservice["Agent framework"]
  node_titlegen["Title generation"]
  node_foundry{{"Foundry agent"}}
  node_fabricdata[("Fabric data foundation")]
  node_search[("Azure AI Search")]
end

subgraph group_provision["Scenario setup"]
  node_scenario["Scenario configuration"]
  node_fabricsetup["Fabric item setup"]
  node_agentsetup["Agent setup<br/>[04_create_agent.py]"]
end

node_user(("Business user"))

node_user -->|"uses"| node_app
node_app -->|"renders"| node_chat
node_app -->|"renders"| node_historyui
node_app -->|"renders"| node_citationui
node_chat -->|"updates"| node_frontendstate
node_chat -.->|"submits query"| node_clientapi
node_historyui -.->|"loads history"| node_clientapi
node_clientapi -.->|"calls"| node_dotnetchat
node_clientapi -.->|"calls"| node_pythonapp
node_pythonapp -->|"routes to"| node_pythonchat
node_pythonapp -->|"routes to"| node_pythonhistory
node_dotnetchat -.->|"uses agent"| node_agentservice
node_agentservice -->|"creates client"| node_foundry
node_foundry -->|"queries"| node_fabricdata
node_dotnetchat -->|"builds citations"| node_search
node_dotnethistory -->|"reads and writes"| node_conversationrepo
node_dotnethistory -->|"generates titles"| node_titlegen
node_conversationrepo -->|"implemented by"| node_cosmosrepo
node_conversationrepo -->|"implemented by"| node_sqlrepo
node_cosmosrepo -.->|"stores conversations"| node_fabricdata
node_sqlrepo -.->|"stores conversations"| node_fabricdata
node_titlegen -->|"generates title"| node_foundry
node_scenario -.->|"configures prompts"| node_agentsetup
node_fabricsetup -.->|"creates data items"| node_fabricdata
node_agentsetup -.->|"creates agent"| node_foundry

click node_app "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/App.tsx"
click node_chat "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/components/Chat/Chat.tsx"
click node_historyui "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/components/ChatHistoryPanel/ChatHistoryPanel.tsx"
click node_citationui "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/components/CitationPanel/CitationPanel.tsx"
click node_frontendstate "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/store/chatSlice.ts"
click node_clientapi "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/api/api.ts"
click node_dotnetchat "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Controllers/ChatController.cs"
click node_dotnethistory "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Controllers/HistoryController.cs"
click node_pythonapp "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/python/app.py"
click node_pythonchat "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/python/chat.py"
click node_pythonhistory "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/python/history.py"
click node_agentservice "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Services/AgentFrameworkService.cs"
click node_titlegen "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Services/TitleGenerationService.cs"
click node_conversationrepo "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Interfaces/IConversationRepository.cs"
click node_cosmosrepo "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Repositories/CosmosConversationRepository.cs"
click node_sqlrepo "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Repositories/SqlConversationRepository.cs"
click node_scenario "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/infra/scripts/post-provision/02_generate_agent_prompt.py"
click node_fabricsetup "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/infra/scripts/post-provision/01_create_fabric_items.py"
click node_agentsetup "https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/infra/scripts/post-provision/04_create_agent.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_chat,node_historyui,node_citationui,node_frontendstate,node_clientapi,node_user toneBlue
class node_dotnetchat,node_dotnethistory,node_pythonapp,node_pythonchat,node_pythonhistory,node_conversationrepo,node_cosmosrepo,node_sqlrepo toneAmber
class node_agentservice,node_titlegen,node_foundry,node_fabricdata,node_search toneMint
class node_scenario,node_fabricsetup,node_agentsetup toneRose
```

## Components

### Web experience

- [Application shell](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/App.tsx): `src/App/src/App.tsx`
- [Chat experience](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/components/Chat/Chat.tsx): `src/App/src/components/Chat/Chat.tsx`
- [History panel](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/components/ChatHistoryPanel/ChatHistoryPanel.tsx): `src/App/src/components/ChatHistoryPanel/ChatHistoryPanel.tsx`
- [Citation display](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/components/CitationPanel/CitationPanel.tsx): `src/App/src/components/CitationPanel/CitationPanel.tsx`
- [Conversation state](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/store/chatSlice.ts): `src/App/src/store/chatSlice.ts`
- [API client](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/App/src/api/api.ts): `src/App/src/api/api.ts`

### API services

- [.NET chat endpoint](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Controllers/ChatController.cs): `src/api/dotnet/Controllers/ChatController.cs`
- [.NET history endpoint](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Controllers/HistoryController.cs): `src/api/dotnet/Controllers/HistoryController.cs`
- [Python API router](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/python/app.py): `src/api/python/app.py`
- [Python chat service](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/python/chat.py): `src/api/python/chat.py`
- [Python history service](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/python/history.py): `src/api/python/history.py`
- [Conversation storage](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Interfaces/IConversationRepository.cs): `src/api/dotnet/Interfaces/IConversationRepository.cs`
- [Cosmos repository](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Repositories/CosmosConversationRepository.cs): `src/api/dotnet/Repositories/CosmosConversationRepository.cs`
- [Fabric SQL repository](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Repositories/SqlConversationRepository.cs): `src/api/dotnet/Repositories/SqlConversationRepository.cs`

### Agent and data

- [Agent framework](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Services/AgentFrameworkService.cs): `src/api/dotnet/Services/AgentFrameworkService.cs`
- [Title generation](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/src/api/dotnet/Services/TitleGenerationService.cs): `src/api/dotnet/Services/TitleGenerationService.cs`
- **Foundry agent**
- **Fabric data foundation**
- **Azure AI Search**

### Scenario setup

- [Scenario configuration](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/infra/scripts/post-provision/02_generate_agent_prompt.py): `infra/scripts/post-provision/02_generate_agent_prompt.py`
- [Fabric item setup](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/infra/scripts/post-provision/01_create_fabric_items.py): `infra/scripts/post-provision/01_create_fabric_items.py`
- [Agent setup](https://github.com/microsoft/agentic-applications-for-unified-data-foundation-solution-accelerator/blob/main/infra/scripts/post-provision/04_create_agent.py): `infra/scripts/post-provision/04_create_agent.py`

### Other components

- **Business user**

## Connections

- Business user → Application shell: uses
- Application shell → Chat experience: renders (evidence: `src/App/src/App.tsx`)
- Application shell → History panel: renders (evidence: `src/App/src/App.tsx`)
- Application shell → Citation display: renders (evidence: `src/App/src/App.tsx`)
- Chat experience → Conversation state: updates (evidence: `src/App/src/components/Chat/Chat.tsx`)
- Chat experience → API client: submits query
- History panel → API client: loads history
- API client → .NET chat endpoint: calls
- API client → Python API router: calls
- Python API router → Python chat service: routes to (evidence: `src/api/python/app.py`)
- Python API router → Python history service: routes to (evidence: `src/api/python/app.py`)
- .NET chat endpoint → Agent framework: uses agent
- Agent framework → Foundry agent: creates client (evidence: `src/api/dotnet/Services/AgentFrameworkService.cs`)
- Foundry agent → Fabric data foundation: queries
- .NET chat endpoint → Azure AI Search: builds citations (evidence: `src/api/dotnet/Controllers/ChatController.cs`)
- .NET history endpoint → Conversation storage: reads and writes (evidence: `src/api/dotnet/Controllers/HistoryController.cs`)
- .NET history endpoint → Title generation: generates titles (evidence: `src/api/dotnet/Controllers/HistoryController.cs`)
- Conversation storage → Cosmos repository: implemented by (evidence: `src/api/dotnet/Program.cs`)
- Conversation storage → Fabric SQL repository: implemented by (evidence: `src/api/dotnet/Program.cs`)
- Cosmos repository → Fabric data foundation: stores conversations
- Fabric SQL repository → Fabric data foundation: stores conversations
- Title generation → Foundry agent: generates title (evidence: `src/api/dotnet/Services/TitleGenerationService.cs`)
- Scenario configuration → Agent setup: configures prompts
- Fabric item setup → Fabric data foundation: creates data items
- Agent setup → Foundry agent: creates agent
