
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…
The final agent in this series is a generative web chat agent, designed around how this organization supports civilians seeking guidance and health-related advisory services. Unlike the previous agents, which rely on deterministic input patterns, this one is intentionally conversational; but still carefully constrained. The purpose of the agent is twofold. First, it answers general…
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,…
Modern contact centers are sprawling systems. Even when product consolidated as a CCaaS, you might see Azure PSTN calling, direct routing via an SBCaaS and carriers forwarding SIP to Azure-hosted numbers for ACS (yes, I’ve worked with customers using all three infrastructures simultaneously). On top of that, there’s live chat, Exchange-synced email, Copilot Studio agent-run…
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…