AI Assistant Inside a Client's Azure Tenant
Project Overview
An assistant that lives as a chat bot in Microsoft Teams for a spa resort group. It triages the user's inbox, drafts replies, schedules meetings across colleagues' calendars, manages tasks, sends a morning briefing, and can be phoned by voice.
It runs entirely inside the customer's own Azure tenant, on their own model. We ship a Docker image and nothing else — no data leaves their boundary, which is the only reason the deal was possible.
Key Features
- Inbox triage and drafted replies
- Meeting scheduling across colleagues' calendars
- Task management and a morning briefing
- Voice calling
- Runs on the customer's own model, inside their own tenant
Technical Implementation
The design point: every outward action is a code-enforced propose-then-confirm. The model drafts the email; a human presses send. That is enforced in code, not in the prompt, because a prompt is a request and a code path is a guarantee.
Python, Azure App Service, Azure OpenAI, Bot Framework, Microsoft Graph, MSAL OAuth, Docker, GitHub Actions.
Results
Live at the client 20 days after first commit · installed in a single 90-minute session · 382 automated tests · ~10,800 lines of Python.