All Work

Enterprise Knowledge Assistant

Employees ask one assistant in Microsoft Teams about company documents and business records across seven departments. It handles searching across separate systems and returns information the employee is permitted to see, bringing answers into the tool they already use for work.

EnterpriseRole: Architect & LeadLive

Problem

A large Dubai-based enterprise had data siloed across 7 departments in Oracle Fusion, CMiC (construction ERP), Hyperion (financial planning), and SharePoint. Employees spent hours navigating multiple systems to find information. The company needed a single AI assistant that could answer questions across all data sources while enforcing strict access controls — a finance analyst should not see HR data, and a project manager should only see their own project's financials.

Solution

Built a governed AI assistant that combines Hybrid RAG (for unstructured documents in SharePoint) with Text-to-SQL (for structured data in Oracle/CMiC/Hyperion). Deployed as a Microsoft Teams Bot so employees use it within their existing workflow. Every query is filtered through row-level security tied to Azure AD identity.

Key Technical Decisions

Hybrid RAG + Text-to-SQL — The knowledge base includes both structured data (financial tables, project budgets, HR records) and unstructured data (policy documents, meeting notes, contracts). A single retrieval approach fails: vector search can't answer "what was the Q3 budget variance for Project X?" (needs SQL), and SQL can't answer "what does the leave policy say about parental leave?" (needs RAG). The intent classifier routes to the right pipeline.

Azure Synapse with Delta Tables — Data from 4 ERPs needs to be unified into a queryable format. Delta Tables provide ACID transactions on the data lake, enabling incremental ETL from source systems without full reloads. This keeps the data fresh (15-minute sync) without the cost of real-time streaming.

Row-level security at query time — Access control is enforced at the data layer, not the application layer. When a user queries the system, their Azure AD identity determines which rows they can access in Synapse and which documents they can retrieve from AI Search. This means a compromised application layer cannot leak unauthorized data.

Impact

  • 1,500 users across 7 departments with governed access
  • Data unified from 4 enterprise systems (Oracle Fusion, CMiC, Hyperion, SharePoint)
  • Row-level security tied to Azure AD identity — enforced at the data layer
  • Deployed as a Teams Bot — zero adoption friction, no new app to learn
  • Query response time under 5 seconds for both structured and unstructured queries

Technical Stack

LayerTechnology
CloudAzure Data Factory, Azure Synapse, Azure AI Search, Azure Functions
AIGPT-4o, Azure OpenAI
DataDelta Tables, Oracle Fusion, CMiC, Hyperion, SharePoint
DeliveryMicrosoft Teams Bot
SecurityRow-level permissions, Azure AD integration

How engagements like this are scoped and delivered: How I Work.