Manual triage is one of those small operational tasks that adds up quickly. An email comes in and a case is created. Someone opens the case, reads the email, decides whether it is a question, a problem, a request, or something else, and then updates the case categorization manually. That works when volumes are low.…
As AI capabilities mature within Dynamics 365 Contact Center, one topic that increasingly surfaces in architecture discussions is prompt handling. Not all prompts are created equal. The difference between Microsoft’s default prompts, administrator-configured prompts in the Customer Service Admin Center (CSAC), and fully extensible Copilot prompt plugins is not cosmetic, it is architectural. At its…
In many service and Contact Center scenarios, the value of AI isn’t about building the most advanced assistant; it’s about solving real problems quickly, reliably, and with minimal overhead. In this blog post, I’ll share an SMS agent I’ve designed and deployed for a nationwide organization working with community outreach and health referral services, and…
In many service and Contact Center scenarios, the value of AI isn’t about building the most advanced assistant; it’s about solving real problems quickly, reliably, and with minimal overhead. In this blog post, I’ll share a voice call agent I’ve designed and deployed for a nationwide organization working with community outreach and health referral services,…
When a case is created directly from a conversation in Dynamics 365, the Case Origin field (caseorigincode) doesn’t always reflect the channel the conversation came from. Instead, it defaults to Web. This is the expected system behaviour; if no default value is set in entity metadata when getting data from Channel Integration Framework, the system…
Every release wave comes with a flood of excellent community write-ups breaking down what’s new in Dynamics 365 and Power Platform. This will not be one of those posts. Instead, I want to take a different spin, not on listing the new features, but on exploring their risk–opportunity balance. The 2025 Wave 2 release is…
Welcome to “Custom-Fit Customer Service” — a two-part exploration in how core Dynamics 365 Customer Service features, including Copilot, can be used in a custom model-driven app instead of Copilot Service Workspace. Based on a recently worked on customer pilot project, this two-post series highlights what works out of the box, what needs extra attention, and…
Welcome to “Custom-Fit Customer Service” — a two-part exploration in how core Dynamics 365 Customer Service features, including Copilot, can be used in a custom model-driven app instead of Copilot Service Workspace. Based on a recently worked on customer pilot project, this two-post series highlights what works out of the box, what needs extra attention, and…
Copilot for Service is undoubtedly one of the most exciting additions to the Dynamics 365 toolkit (says me working almost exclusively with the DCCP). But with great AI power comes great… architectural nuance? If you’ve explored the Copilot experience within a model-driven app, you might have noticed a curious limitation: the sources used for the…
Recently, I had the privilege of being invited by one of the Solution Architects from the FastTrack team, to provide feedback on the Omnichannel Chat Deep Dive Review; a specialized asset under the broader Dynamics 365 Success by Design framework. As someone who focuses on helping organizations implement and fine-tune their Contact Center experiences using…