{"id":4707,"date":"2025-04-24T08:16:06","date_gmt":"2025-04-24T15:16:06","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/semantic-kernel\/?p=4707"},"modified":"2025-04-24T09:50:22","modified_gmt":"2025-04-24T16:50:22","slug":"customer-case-study-microsoft-store-assistant-bringing-multi-expert-intelligence-to-microsoft-store-chat-with-semantic-kernel-and-azure-ai","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/agent-framework\/customer-case-study-microsoft-store-assistant-bringing-multi-expert-intelligence-to-microsoft-store-chat-with-semantic-kernel-and-azure-ai\/","title":{"rendered":"Customer Case Study: Microsoft\u202fStore\u202fAssistant \u2014 bringing multi expert intelligence to Microsoft\u202fStore chat with Semantic\u202fKernel and Azure\u202fAI"},"content":{"rendered":"<p><a href=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture1.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-4708 \" src=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture1.jpg\" alt=\"Picture1 image\" width=\"749\" height=\"210\" srcset=\"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture1.jpg 624w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture1-300x84.jpg 300w\" sizes=\"(max-width: 749px) 100vw, 749px\" \/><\/a><\/p>\n<h1>Introduction<\/h1>\n<p>In <strong>October\u00a02024<\/strong> Microsoft replaced a legacy rule\u2011based chat bot on Microsoft\u00a0Store with <strong>Microsoft\u00a0Store\u00a0Assistant<\/strong>, powered by Azure\u00a0Open\u00a0AI, <strong>Semantic\u00a0Kernel<\/strong>, and real\u2011time page context. The transformation changed a scripted, button-driven experience into a conversation that comprehends the entire public Microsoft portfolio, including Surface and Xbox products, Microsoft 365 subscriptions, Azure services, and the Dynamics and Power Platform portfolio, and knows when to involve a human Sales Associate. Six months later, the assistant manages several millions of conversations annually, maintains a four-star satisfaction rating, and generates revenue exceeding 140 percent of its forecast.<\/p>\n<h1>The challenge before October\u00a02024<\/h1>\n<p>The previous solution relied on a rule\u2011based bot that steered shoppers through rigid decision trees and routed them to live agents via button clicks. Maintaining that framework was costly: each content update required manual topic management with answers, and every change spawned more flows to maintain. Human agents were inundated with off\u2011topic or incomplete chats because the bot could not reason over Microsoft\u2019s vast and constantly changing web presence, hundreds of thousands of pages spanning consumer and commercial offerings, hardware, software, and cloud services. Iteration of the legacy bot lagged behind product launches and new information, customers rated the bot poor on CSAT measures, and operational expenses of the bot and for human agents were unsustainable.<\/p>\n<h1>From launch to current state<\/h1>\n<p>At launch, Microsoft Store Assistant utilized Azure Open AI gpt-4o with four \u2018experts\u2019 defined as Semantic Kernel skills, with streaming responses to the frontend. In subsequent months, the team upgraded model versions of gpt-4o through a simple configuration switch in Semantic Kernel and Azure Open AI, while automated simulations and evaluations with AI Foundry demonstrated functional and safety performance. New experts were added for tasks such as identifying appropriate phone numbers for customer requests, facilitating additional human transfers, and managing conversation closure. Real-time page context was integrated, fetching and parsing top-ranked Microsoft pages relevant to the discussion, which provided real-time detailed intelligence, along with stock and price data from Azure AI Search reasoning over the product catalog. Additional features included out-of-the-box solutions like Azure Open AI prompt caching, Azure Content Safety, and new features from Azure AI Foundry, all contributing to a highly performant, practical and maintainable assistant for customers.<\/p>\n<h1>Multi\u2011expert orchestration with Semantic\u00a0Kernel<\/h1>\n<p>Store Assistant uses a multi-expert type of orchestration workflow in Semantic Kernel. There is a main \u2018Coordinator\u2019 that works like a planner and it decides which experts to invoke for each conversational turn. Each expert leverages a defined set of enrichment plug-ins giving it additional context to address the current conversation turn. This approach consistently provides the exact tool calls and context desired, with extremely low deviation. It also allows for the Coordinator to ask clarifying questions to improve hit rates of which expert and queries to invoke to improve the answer.<\/p>\n<h2>Coordinator agent<\/h2>\n<p>Semantic Kernel\u2019s planner runs a comprehensive system prompt that:<\/p>\n<ul>\n<li>Reviews chat history, latest user message, and current page context (what page the customer is on, etc.).<\/li>\n<li>Applies a shared set of rules to follow as part of its personality and desired functions.<\/li>\n<li>Selects one expert skill or asks a clarifying question.<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td><strong>Expert skill<\/strong><\/td>\n<td><strong>Purpose<\/strong><\/td>\n<td><strong>Key enrichment<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Sales<\/td>\n<td>Product discovery, comparisons, bundle advice, pricing, etc.<\/td>\n<td>Real\u2011time page context and Azure\u00a0AI\u00a0Search product lookup<\/td>\n<\/tr>\n<tr>\n<td>Non\u2011Sales<\/td>\n<td>Technical support, troubleshooting, policies, licensing, general questions<\/td>\n<td>Real\u2011time page context<\/td>\n<\/tr>\n<tr>\n<td>Human\u00a0Transfer<\/td>\n<td>Qualify and hand off to Microsoft Sales Assistance chat<\/td>\n<td>Skill\u2011based routing rules by topic<\/td>\n<\/tr>\n<tr>\n<td>Phone\u00a0Number<\/td>\n<td>Supply official Microsoft phone lines on request<\/td>\n<td>Microsoft\u00a0public phone directory<\/td>\n<\/tr>\n<tr>\n<td>Close\u00a0Conversation<\/td>\n<td>Act on natural conversation ending opportunities<\/td>\n<td>N\/A<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h1>\u00a0Evaluation and safety at scale<\/h1>\n<p>When Store Assistant first launched, the team had to maintain bespoke simulation and evaluation tooling to run and evaluate thousands of simulated conversations for functional and safety performance. With the recent introduction of <strong>Azure AI Foundry<\/strong>, the entire product team are able to add\/edit test cases and run thousands of synthetic conversations for every release, scoring relevance, groundedness, coherence, and other out of box metrics as well as custom evaluators measuring additional aspects of the AI solution. Results are stored centrally in the AI Foundry portal for product managers and engineers, make it easy to compare runs, and the data form part of each Deployment Safety Board submission as part of Responsible AI release mechanisms.<\/p>\n<h2><strong>Conversation Analysis pipeline<\/strong><\/h2>\n<p>In addition to the pre-launch evaluations, Store Assistant leverages online evaluations using Azure Open AI (o3-mini) and the native conversation storage in Azure CosmosDB with its change feed triggers.<\/p>\n<ol>\n<li>Every closed chat is written to Azure\u00a0Cosmos\u00a0DB.<\/li>\n<li>The change\u2011feed triggers an Azure\u00a0Functions app.<\/li>\n<li>The function uses Azure\u00a0Open\u00a0AI o3\u2011mini to classify topic, product, sentiment, resolution, and to redact any personal information detected by Azure Content Safety.<\/li>\n<li>Analysis results are stored back in Cosmos\u00a0DB and visualized in Power\u00a0BI.<\/li>\n<li>Structured telemetry in Azure\u00a0Monitor tracks every step, with Kusto Query Language templates provided for audits and debugging.<\/li>\n<\/ol>\n<h2><strong>Technology stack<\/strong><\/h2>\n<table>\n<tbody>\n<tr>\n<td><strong>Layer<\/strong><\/td>\n<td><strong>Products<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Large language models<\/td>\n<td>Azure\u00a0Open\u00a0AI gpt-4o and o3\u2011mini, with the ability to quickly evolve as new models are released.<\/td>\n<\/tr>\n<tr>\n<td>Orchestration &amp; skills<\/td>\n<td>Semantic\u00a0Kernel with function calling<\/td>\n<\/tr>\n<tr>\n<td>Knowledge retrieval<\/td>\n<td>Real-time page context, Azure\u00a0AI\u00a0Search, Bing CustomSearch<\/td>\n<\/tr>\n<tr>\n<td>Quality &amp; testing<\/td>\n<td>Azure\u00a0AI\u00a0Foundry simulations and custom evaluators<\/td>\n<\/tr>\n<tr>\n<td>Storage<\/td>\n<td>Azure\u00a0Cosmos\u00a0DB<\/td>\n<\/tr>\n<tr>\n<td>Post\u2011conversation processing<\/td>\n<td>Azure\u00a0Functions, Azure\u00a0Monitor, Power\u00a0BI<\/td>\n<\/tr>\n<tr>\n<td>Safety &amp; governance<\/td>\n<td>Azure Content Safety, Microsoft Responsible\u00a0AI practices<\/td>\n<\/tr>\n<tr>\n<td>Front end<\/td>\n<td>React component for Adobe\u00a0Experience\u00a0Manager and non\u2011Adobe pages<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><strong>Impact<\/strong><\/h2>\n<ul>\n<li><strong>Volumes<\/strong>: Several million chats per year<\/li>\n<li><strong>Revenue<\/strong>:\u00a0+142% versus forecast as of March\u00a02025.<\/li>\n<li><strong>Conversion:<\/strong> +31% purchase conversion rate<\/li>\n<li><strong>User satisfaction<\/strong>: AI Conversation CSAT\u00a0over 4.0<\/li>\n<li><strong>Efficiency<\/strong>: Human transfers down -46%; touchless product releases due to real-time detailed context of public pages<\/li>\n<\/ul>\n<h1>Try Store Assistant for yourself<\/h1>\n<p>In the United States, visit <a href=\"https:\/\/www.microsoft.com\/en-us\">https:\/\/www.microsoft.com\/en-us<\/a> and click on the \u2018Need help?\u2019 widget at the bottom right.<\/p>\n<h1><a href=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture3.png\"><img decoding=\"async\" class=\"alignnone wp-image-4713 size-full\" src=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture3.png\" alt=\"Picture3 image\" width=\"279\" height=\"494\" srcset=\"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture3.png 279w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture3-169x300.png 169w\" sizes=\"(max-width: 279px) 100vw, 279px\" \/><\/a><a href=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture2.png\"><img decoding=\"async\" class=\"alignnone wp-image-4714 size-full\" src=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture2.png\" alt=\"Picture2 image\" width=\"278\" height=\"477\" srcset=\"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture2.png 278w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture2-175x300.png 175w\" sizes=\"(max-width: 278px) 100vw, 278px\" \/><\/a><\/h1>\n<h1><\/h1>\n<h1><a href=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture5.png\"><img decoding=\"async\" class=\"alignnone wp-image-4715 size-full\" src=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture5.png\" alt=\"Picture5 image\" width=\"262\" height=\"498\" srcset=\"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture5.png 262w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture5-158x300.png 158w\" sizes=\"(max-width: 262px) 100vw, 262px\" \/><\/a><a href=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture4.png\"><img decoding=\"async\" class=\"alignnone wp-image-4716 size-full\" src=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture4.png\" alt=\"Picture4 image\" width=\"272\" height=\"491\" srcset=\"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture4.png 272w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2025\/04\/Picture4-166x300.png 166w\" sizes=\"(max-width: 272px) 100vw, 272px\" \/><\/a><\/h1>\n<h1><\/h1>\n<h2><strong>Conclusion<\/strong><\/h2>\n<p>Microsoft\u00a0Store\u00a0Assistant demonstrates how Semantic\u00a0Kernel, Azure Open AI, AI Foundry and the broader Azure\u00a0AI platform can transform a site without chat or a legacy scripted help bot into a dynamic assistant that understands an entire enterprise catalog, keeps customers safe, and improves continuously. As the industry quickly evolves and AI Foundry, Azure OpenAI, and Semantic Kernel lead in innovation, assistants like Store Assistant will only improve and increase in value and intelligence for customers.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In October\u00a02024 Microsoft replaced a legacy rule\u2011based chat bot on Microsoft\u00a0Store with Microsoft\u00a0Store\u00a0Assistant, powered by Azure\u00a0Open\u00a0AI, Semantic\u00a0Kernel, and real\u2011time page context. The transformation changed a scripted, button-driven experience into a conversation that comprehends the entire public Microsoft portfolio, including Surface and Xbox products, Microsoft 365 subscriptions, Azure services, and the Dynamics and Power Platform [&hellip;]<\/p>\n","protected":false},"author":149071,"featured_media":4708,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[42],"tags":[48,63,9],"class_list":["post-4707","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-customer-story","tag-ai","tag-microsoft-semantic-kernel","tag-semantic-kernel"],"acf":[],"blog_post_summary":"<p>Introduction In October\u00a02024 Microsoft replaced a legacy rule\u2011based chat bot on Microsoft\u00a0Store with Microsoft\u00a0Store\u00a0Assistant, powered by Azure\u00a0Open\u00a0AI, Semantic\u00a0Kernel, and real\u2011time page context. The transformation changed a scripted, button-driven experience into a conversation that comprehends the entire public Microsoft portfolio, including Surface and Xbox products, Microsoft 365 subscriptions, Azure services, and the Dynamics and Power Platform [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts\/4707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/users\/149071"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/comments?post=4707"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts\/4707\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/media\/4708"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/media?parent=4707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/categories?post=4707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/tags?post=4707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}