InfraGPT – Azure Operations RAG Assistant
Transforming SOP and RCA Knowledge into an Intelligent Operations Assistant Using Azure RAG, Power Apps, and Microsoft Teams
Project Overview
Enterprise infrastructure teams generate a large amount of operational knowledge through Standard Operating Procedures (SOPs), Root Cause Analysis (RCA) documents, runbooks, troubleshooting guides, and incident records.
However, during an active incident, engineers may still spend significant time searching through documents, identifying the correct procedure, or depending on senior engineers who have handled similar problems before.
I developed InfraGPT – Azure Operations RAG Assistant to demonstrate how existing operational knowledge can be transformed into an intelligent, conversational assistant using Retrieval-Augmented Generation (RAG).
InfraGPT enables infrastructure engineers to ask questions in natural language and receive grounded answers based on existing SOP and RCA knowledge, together with source references for traceability.
To make the solution easier for engineers to consume in their day-to-day environment, I built the frontend using Microsoft Power Apps and integrated it as an application inside Microsoft Teams.
The objective was not simply to build an AI chatbot, but to create an enterprise operations knowledge assistant that makes existing infrastructure knowledge searchable, reusable, and actionable.
Problem Statement
Infrastructure operations teams depend heavily on documented procedures and previous incident knowledge.
Important information may exist across:
- Standard Operating Procedures
- Root Cause Analysis documents
- Runbooks
- Troubleshooting guides
- Incident tickets
- Operational documentation
- Architecture documents
- Knowledge articles
Although this information already exists, finding the right document or troubleshooting step during an incident can be difficult.
Key Challenges
The project was designed to address several operational challenges:
- Manual document searching during incidents
- SOP and RCA knowledge not being reused effectively
- High dependency on senior engineers
- Knowledge gaps between L1, L2, and senior support teams
- Inconsistent troubleshooting approaches
- Slower decision-making during incidents
- Higher Mean Time to Resolution (MTTR)
- Valuable historical incident knowledge remaining locked inside documents
The core problem was:
How can existing infrastructure knowledge be converted into an intelligent operations assistant that helps engineers quickly retrieve relevant troubleshooting information during incidents?
Solution Overview
InfraGPT uses an Azure-based Retrieval-Augmented Generation architecture to convert SOPs, RCAs, and other operational documents into searchable AI knowledge.
Operational documents are stored in Azure Blob Storage and processed through a document ingestion pipeline.
The solution:
- Extracts content from operational documents.
- Cleans and divides the content into smaller chunks.
- Generates vector embeddings using Azure OpenAI.
- Stores and indexes the knowledge in Azure AI Search.
- Retrieves the most relevant SOP/RCA information when an engineer asks a question.
- Provides the retrieved information to an Azure OpenAI GPT model as contextual grounding.
- Generates a natural-language answer.
- Returns the answer together with source references.
- Displays the response through a Power Apps application running inside Microsoft Teams.
Instead of relying entirely on the LLM’s pre-trained knowledge, InfraGPT follows:
User Question + Retrieved SOP/RCA Context → Grounded AI Response
This makes existing enterprise operational knowledge part of the answer-generation process.
Solution Architecture

The solution contains two major workflows:
1. Document Ingestion and Indexing
Operational Documents → Azure Blob Storage → Azure Document Intelligence → Text Processing & Chunking → Azure OpenAI Embeddings → Azure AI Search
2. Query-Time RAG
Engineer → Microsoft Teams → InfraGPT Power Apps → FastAPI Backend → Azure OpenAI Embeddings → Azure AI Search → Relevant SOP/RCA Context → Azure OpenAI GPT → Answer + Source References
This separation allows document processing and user-query processing to evolve independently.
1. Document Ingestion and Indexing Pipeline
Operational Knowledge Sources
The knowledge base is built using infrastructure operations documentation such as:
- SOPs
- RCAs
- Runbooks
- Troubleshooting guides
- Incident knowledge
- Other operational documents
These documents contain valuable enterprise knowledge generated through real operational experience.
InfraGPT makes this information available through conversational search instead of requiring engineers to manually navigate individual documents.
Azure Blob Storage
Azure Blob Storage acts as the primary repository for operational documents.
SOPs and RCA documents are uploaded to a centralized storage location before being processed by the RAG ingestion pipeline.
Using Blob Storage provides a scalable document repository and separates the source-document layer from the downstream AI processing components.
Azure Document Intelligence
Azure Document Intelligence is used to extract readable text from documents stored in Azure Blob Storage.
The extracted content can then be prepared for AI-based processing.
The pipeline follows:
Document → Text Extraction → Cleaning → Chunking → Embedding → Indexing
This enables unstructured operational documentation to be transformed into searchable AI knowledge.
Text Processing and Chunking
Large operational documents should not normally be sent to an LLM in their entirety for every user request.
The extracted content is therefore divided into smaller logical chunks.
Chunking helps InfraGPT retrieve only the sections of a document that are relevant to a user’s question.
For example, an RCA may contain:
- Incident description
- Business impact
- Root cause
- Investigation steps
- Resolution
- Preventive actions
If an engineer asks about the resolution, InfraGPT can retrieve the relevant section rather than loading the complete RCA.
This improves:
- Retrieval relevance
- Context quality
- Token efficiency
- Response accuracy
Azure OpenAI Embeddings
After chunking, the processed text is converted into vector embeddings using Azure OpenAI.
An embedding represents the semantic meaning of text numerically.
This allows InfraGPT to identify relevant information even when the wording of the user’s question differs from the wording contained in the original SOP or RCA.
For example:
User question:
“How should I recover an Azure VM during a regional failure?”
The underlying SOP may use terminology such as:
“Azure VM Disaster Recovery using Azure Site Recovery.”
Vector-based retrieval helps identify the semantic relationship between the two.
Azure AI Search
Azure AI Search acts as the primary retrieval layer for InfraGPT.
Processed document chunks and their vector representations are stored within the search index.
The architecture supports vector and hybrid retrieval.
Hybrid search combines the strengths of:
- Keyword-based retrieval
- Vector similarity search
- Semantic relevance
This is particularly useful in infrastructure operations because queries often contain exact technical terminology such as:
- VM names
- Error codes
- Azure services
- AVD
- DR
- Storage
- Network terminology
while simultaneously describing the problem using natural language.
The search layer retrieves the most relevant document chunks before answer generation takes place.
2. Query-Time RAG Workflow
When an engineer submits a question, InfraGPT executes the following workflow.
Step 1 – Engineer Opens InfraGPT in Microsoft Teams
The engineer accesses InfraGPT directly as an application inside Microsoft Teams.
The application interface is developed using Microsoft Power Apps.
Step 2 – User Submits a Natural-Language Question
The engineer enters a question such as:
“What is the DR procedure for an Azure VM?”
or:
“What troubleshooting steps were followed for the previous AVD incident?”
Power Apps sends the request to the InfraGPT backend.
Step 3 – FastAPI Receives the Request
A FastAPI backend hosted on Azure App Service receives the user query.
The backend acts as the central RAG orchestration layer and coordinates communication between:
- Power Apps
- Azure OpenAI
- Azure AI Search
- Retrieved knowledge
- GPT answer generation
Step 4 – Query Embedding Is Generated
The user’s question is converted into a vector embedding using Azure OpenAI.
The query embedding represents the semantic meaning of the engineer’s request.
Step 5 – Azure AI Search Retrieves Relevant Knowledge
The query is compared with indexed SOP and RCA knowledge using vector/hybrid retrieval.
Azure AI Search identifies the most relevant document chunks and returns them to the backend.
Only the relevant operational context is selected instead of passing the entire document repository to the LLM.
Step 6 – Prompt Is Built Using Retrieved Context
The FastAPI orchestration layer combines:
User Question + Retrieved SOP/RCA Context
and sends the resulting prompt to the Azure OpenAI GPT model.
This is the core Retrieval-Augmented Generation process.
Step 7 – Azure OpenAI Generates a Grounded Answer
Azure OpenAI generates the response using the supplied operational context.
Because retrieved enterprise knowledge is provided to the model, the response is grounded in existing SOP and RCA information rather than being generated entirely from general model knowledge.
Step 8 – Source References Are Returned
InfraGPT returns not only the generated answer but also references to the source information used during retrieval.
This allows engineers to verify the response against the underlying operational documentation.
Source-based responses improve:
- Traceability
- User confidence
- Auditability
- Operational trust
Step 9 – Response Is Displayed Inside Microsoft Teams
The answer is returned through the Power Apps interface and displayed to the engineer inside Microsoft Teams.
The complete interaction therefore occurs through the engineer’s existing collaboration environment.
Microsoft Teams and Power Apps Integration
An important design consideration was how engineers would consume the AI assistant.
Instead of creating another standalone portal, I built the InfraGPT frontend using Microsoft Power Apps and made it available as an application inside Microsoft Teams.
The user-access architecture is:
Microsoft Teams → InfraGPT Power Apps → FastAPI RAG API → Azure AI Services
This provides a familiar conversational interface without requiring users to understand the underlying RAG architecture.
Why Microsoft Teams Integration Matters
Infrastructure engineers already use Teams extensively for:
- Collaboration
- Incident discussions
- Support coordination
- Escalations
- Knowledge sharing
Bringing InfraGPT into Teams reduces the need to switch between different tools while troubleshooting an incident.
It also creates a foundation for future capabilities such as:
- Incident notifications
- Approval workflows
- Support-team collaboration
- Automated escalation
- Integration with ITSM workflows
- Operational alerts
The objective is to bring AI-driven operational knowledge into the engineer’s normal workspace.
FastAPI RAG Orchestration Layer
The backend of InfraGPT was developed using FastAPI and deployed on Azure App Service.
FastAPI performs the orchestration required to execute the complete RAG workflow.
Its responsibilities include:
- Receiving the user question
- Generating the query embedding
- Calling Azure AI Search
- Retrieving relevant document chunks
- Building the contextual prompt
- Calling Azure OpenAI GPT
- Returning the generated answer
- Returning source references to the frontend
Using an API-based architecture also keeps the frontend independent from the AI implementation.
This means that Power Apps could later be replaced or complemented by another interface without redesigning the entire RAG backend.
Azure OpenAI
Azure OpenAI performs two major functions within InfraGPT.
Embedding Generation
Azure OpenAI converts:
- SOP/RCA document chunks
- User queries
into vector embeddings.
These vectors enable semantic similarity search.
Answer Generation
After relevant knowledge has been retrieved, an Azure OpenAI GPT model generates the final natural-language answer using the retrieved context.
This separates:
Knowledge Retrieval
from
Language Generation
which is a fundamental principle of RAG architecture.
Monitoring and Observability
Enterprise AI applications also require operational visibility.
The solution architecture includes:
Application Insights
Application Insights provides a foundation for:
- Application monitoring
- API diagnostics
- Performance analysis
- Failure investigation
Log Analytics Workspace
Log Analytics provides centralized logging and can support troubleshooting and operational monitoring across the solution.
These capabilities become increasingly important when moving an AI prototype toward production use.
Identity and Security
The architecture includes Microsoft Entra ID and Role-Based Access Control (RBAC) as the security foundation.
Enterprise deployment can use identity controls to manage access to:
- Azure resources
- Application services
- Operational knowledge
- AI components
This is particularly important because enterprise SOPs and RCA documents may contain internal or sensitive operational information.
Azure Services Used
| Architecture Layer | Technology |
|---|---|
| User Workspace | Microsoft Teams |
| Application Interface | Microsoft Power Apps |
| Backend API | FastAPI |
| Backend Hosting | Azure App Service |
| Document Repository | Azure Blob Storage |
| Document Extraction | Azure Document Intelligence |
| Embedding Model | Azure OpenAI |
| Generative AI | Azure OpenAI GPT |
| Search & Retrieval | Azure AI Search |
| Retrieval Approach | Vector / Hybrid Search |
| Monitoring | Application Insights |
| Centralized Logging | Log Analytics Workspace |
| Identity & Access | Microsoft Entra ID + RBAC |
| Future Ingestion Automation | Azure Functions |
| Future Workflow Automation | Power Automate / Logic Apps |
Example Use Cases
InfraGPT can assist infrastructure engineers with questions such as:
Disaster Recovery
“What are the DR steps for an Azure VM?”
InfraGPT can retrieve relevant DR procedures from an indexed SOP and provide a summarized sequence of actions.
Previous Incident Resolution
“How was the previous AVD production issue resolved?”
The system can retrieve relevant RCA knowledge and provide the troubleshooting or resolution steps.
Operational Procedures
“What checks should be completed before performing a failover?”
InfraGPT can retrieve the applicable SOP sections and present them conversationally.
Knowledge Discovery
“Do we have any previous RCA related to this type of infrastructure issue?”
Relevant historical operational knowledge can be surfaced without manually searching multiple documents.
Business Impact
InfraGPT improves operational efficiency by making SOP and RCA knowledge searchable, conversational, and actionable.
Faster Incident Resolution
Engineers can retrieve relevant troubleshooting knowledge more quickly, which can contribute to reducing incident investigation and resolution time.
Reduced MTTR
Faster access to relevant procedures and previous incident knowledge can help operations teams reduce Mean Time to Resolution.
Better Reuse of Operational Knowledge
An RCA should not provide value only after one incident.
InfraGPT converts previous incident findings into reusable operational knowledge.
Reduced Dependency on Senior Engineers
L1 and L2 engineers can independently retrieve relevant operational guidance before escalating an issue.
Senior engineers remain important for complex incidents, but their previously documented knowledge can be reused by the wider team.
Consistent Troubleshooting
Providing access to established SOPs and previous RCA knowledge can help teams follow more consistent troubleshooting processes.
Improved Traceability
Source references allow engineers to understand where the generated information originated.
Better User Adoption
Delivering the solution through Microsoft Teams puts the AI assistant inside a collaboration platform already familiar to enterprise users.
Scalable Knowledge Assistant
New operational documents can be indexed as the knowledge repository grows without retraining the underlying LLM.
Completed Project Outcomes
The project successfully demonstrated an end-to-end Azure-based RAG solution with a working user interface.
Completed outcomes include:
- SOP and RCA documents uploaded to Azure Blob Storage
- Document content extracted using Azure Document Intelligence
- Content processed and divided into chunks
- Vector embeddings generated using Azure OpenAI
- Knowledge indexed within Azure AI Search
- Vector/hybrid retrieval implemented
- FastAPI backend developed for RAG orchestration
- FastAPI backend deployed on Azure App Service
- Power Apps frontend integrated with the RAG API
- Power Apps integrated as the InfraGPT application inside Microsoft Teams
- Azure OpenAI used for grounded answer generation
- Source document references returned with answers
- End-to-end natural-language question-and-answer workflow successfully demonstrated
The resulting solution enables engineers to ask infrastructure questions and receive responses grounded in available operational knowledge.
Architecture Design Principles
Retrieval Before Generation
InfraGPT retrieves relevant enterprise knowledge before asking the LLM to generate a response.
Grounded Responses
SOP and RCA information is provided to the model as context, helping connect the answer to available operational documentation.
Separation of Concerns
The solution separates:
- Document storage
- Document extraction
- Chunking
- Embeddings
- Retrieval
- RAG orchestration
- LLM generation
- User interface
This improves maintainability and extensibility.
API-Based Architecture
The AI functionality is exposed through FastAPI rather than being tightly coupled with Power Apps.
This allows additional user interfaces or enterprise systems to consume the same RAG service in the future.
Enterprise Knowledge Reuse
Historical incident knowledge becomes reusable instead of remaining trapped in static RCA documents.
User-Centric Integration
Microsoft Teams integration places InfraGPT within an application already used by enterprise operations teams.
Future Enhancements
InfraGPT can be extended further as an enterprise operations AI platform.
Automated Document Ingestion
Azure Functions can automatically detect and process newly uploaded SOPs, RCAs, and operational documents.
Power Automate and Logic Apps Integration
Workflow automation can support:
- Incident notifications
- Approval processes
- Escalations
- Automated actions
- Integration with operational workflows
ITSM Integration
InfraGPT could eventually integrate with platforms such as incident-management systems so that operational knowledge can be retrieved directly during a ticket lifecycle.
Additional Knowledge Sources
The knowledge repository can be expanded to include:
- Runbooks
- Knowledge-base articles
- Incident tickets
- Change records
- Architecture documents
- Monitoring guides
- Troubleshooting documents
Reranking
A reranking layer can further improve the relevance of retrieved document chunks before context is sent to the LLM.
User Feedback
Engineers could rate generated responses, allowing the system to identify retrieval or knowledge-quality issues.
Conversation Context
Future versions could maintain conversational context across related troubleshooting questions.
AI Security
Additional controls can be introduced for:
- Prompt-injection protection
- Data leakage prevention
- Content filtering
- Role-based knowledge retrieval
- Sensitive information protection
Cost and Token Monitoring
Token consumption and AI service usage can be monitored to provide better visibility into the operating cost of the solution.
Key Learning
One of the major learnings from InfraGPT was that building an enterprise Generative AI solution requires much more than connecting an application to an LLM.
A complete RAG solution involves:
Enterprise Knowledge → Document Processing → Chunking → Embeddings → Search → Retrieval → Context Engineering → LLM Generation → API Integration → Security → Monitoring → User Experience
The quality of an AI-generated answer depends significantly on the quality of the knowledge retrieved and provided to the model.
The project also demonstrated the importance of integrating AI into existing enterprise workflows.
By making InfraGPT available through Power Apps inside Microsoft Teams, the solution moves beyond a standalone AI prototype and demonstrates how Generative AI can become part of an engineer’s regular operational workflow.
Conclusion
InfraGPT – Azure Operations RAG Assistant demonstrates how existing infrastructure knowledge can be transformed into an intelligent and reusable enterprise operations assistant.
Instead of manually searching through SOPs, RCAs, runbooks, and troubleshooting documents, engineers can interact with operational knowledge using natural language.
By combining:
Azure Blob Storage + Azure Document Intelligence + Azure OpenAI + Azure AI Search + FastAPI + Azure App Service + Power Apps + Microsoft Teams
the project demonstrates an end-to-end architecture for applying Retrieval-Augmented Generation to a practical enterprise infrastructure problem.
Most importantly, InfraGPT is not designed simply as a chatbot.
It demonstrates how Cloud Architecture, Infrastructure Operations, Enterprise Knowledge Management, Generative AI, RAG, API Integration, and Microsoft Teams can work together to improve knowledge accessibility, troubleshooting consistency, and operational efficiency.