One shared mailbox can become the entry point for a small AI-assisted service desk. In this demonstration, I use Power Automate to classify the question, retrieve an approved SharePoint article and draft a response. The flow then checks that response before choosing between an email reply and a Teams handoff.
The video is in production. The version 1 episode pack is available for following the manual build: six synthetic KB articles, two prompt designs, copyable expressions, a build guide and a test matrix. It is not an importable solution or a production deployment package.
A category does not establish that an answer exists
My strongest example is a VPN question. The first AI action correctly placed it in DevicesNetwork, but the matching article only described printer-support intake. The second prompt was instructed to abstain when the article did not cover the question. Teams asked me to respond instead of sending invented VPN settings.
I also observed a successful Outlook automatic-reply answer and a security-incident handoff. Those three cases passed in the controlled demonstration on 1 November 2026. The broader matrix—including duplicate replay, oversized input and adversarial email—is mostly untested.
Follow the question through the flow
- The shared-mailbox trigger accepts only the designated test sender and subjects containing
[JUNIPER-DEMO]. - Html to text removes email markup. The first Run a prompt action returns a fixed category, a question summary and a requiresHuman flag.
- SharePoint retrieval selects from an exact six-filename allowlist. Get file content supplies the TXT article itself, rather than file properties.
- The second prompt receives the email and article text. It returns an answer-found flag, draft text, KB IDs and exact evidence quotes.
- A unique MessageKey claim and draft are written to SharePoint before delivery. This occurs after AI calls; it does not avoid their cost on duplicates.
- The condition checks the category, human flag, input lengths, candidate count, answer text, quote matches and KB ID. Passing sends a reply in the original thread. Otherwise, Teams requests a response from the fixed operator.
- The log records Sent, AwaitingTunde, SendUnknown or Failed. A send timeout needs reconciliation before any manual resend.
Read the expressions alongside the UI
The pack includes the exact saved classifier output path, JSON parsing expression and reply condition. Action names must match the build. The classifier returns structuredOutput, while the answer action returns JSON text that is parsed with json(...). Those are different output shapes.
The input uses take(body('Html_to_text'),8000). That bounds AI input; the later gate also checks the original body length so a truncated request is not automatically answered. The KBContext limit is 20,000 characters.
Quote matching is a check against the article text, not a guarantee that every sentence in the generated draft is correct. Keep approved article scope narrow and inspect the received reply against its source.
Prepare your own environment
Use a test shared mailbox, a licensed connector identity with the required delegation, a dedicated SharePoint KB folder and processing list, and a fixed Teams recipient. Replace example addresses and paths. Review your Power Automate entitlement separately from prompt/AI capacity; Microsoft 365 access alone does not establish every license required by this flow.
The six TXT articles use a common review cutoff of 1 December 2026. Review their content and the flow’s date gate before using them later. Juniper Field Services is fictional, and the printer/software intake policies are demonstration content.
What did the demo cost?
The approved $10 was a monitored demo budget, not a hard spending cap and not the amount spent. The reporting page had not produced a complete dollar charge when this pack was prepared. Individual run-consumption values are not dollars or a complete total. I will update the cost record when a reliable billed amount is available. Video-production charges are separate from Microsoft demo charges.
Before wider deployment
Add early duplicate handling, an operational failure path, a knowledge owner and review process, and tests for sender restrictions, injection attempts, large messages, inaccessible articles and delivery failures. The current flow has no global failure handler and no extra Teams alert for SendUnknown. I leave it off between controlled demonstrations.
Version 1.0 · Updated 1 November 2026. Primary licensing reference: Microsoft AI Builder licensing (opens in a new tab). Product references are also included in the KB files.
