AI Foundry, contact-centre, copilot-studio, Customer-service, Power Apps

Empowering frontier firms with the Case Management Agent in Dynamics 365 Contact Centre

Empowering frontier firms with the Case Management Agent (Advancing autonomous and semi-autonomous case lifecycle management in Dynamics 365 Customer Service).

Real-time User Journey

This journey illustrates the Fully Autonomous workflow for an email-based customer inquiry:

  1. Inquiry Receipt: A customer sends an email regarding a malfunctioning device.
  2. Autonomous Creation: The Case Management Agent (CMA) detects the intent, creates a new case, and automatically populates fields (Priority, Product Category, etc.) using AI-powered prediction.
  3. Intelligent Triage: The CMA realizes it needs more details. It automatically sends a follow-up email to the customer with specific clarifying questions.
  4. Resolution Logic: Once the customer replies, the CMA searches the knowledge base and triggers a custom agent (configured with the firm’s specific troubleshooting logic).
  5. Proposal & Follow-up: The CMA drafts and sends a resolution email. It then waits for a predefined interval (SLA-based).
  6. Autonomous Closure: After sending a satisfaction confirmation and receiving no further objections within the set timeframe, the CMA closes the case and triggers the Knowledge Management Agent to document the fix.

Step-by-Step: How to Enable This Feature

To enable and configure the Case Management Agent, follow these administrative steps:

  • Step 1: Admin Center Access

Sign in to the Customer Service admin center or Contact Center admin center.

  • Step 2: Navigate to Autonomous Agents

Go to Operations > Insights > Autonomous service agents (preview).

  • Step 3: Configure Case Creation Rules

Under the CMA settings, define the field mappings and business context (e.g., which channels like email or chat should trigger the agent).

  • Step 4: Set Resolution Parameters

Select the Knowledge Bases the agent should access and link any Custom Agents or Power Automate flows required for specialized resolution logic.

  • Step 5: Define Communication Templates

Choose the email templates for “Clarifying Questions” and “Proposed Resolution.” Set the Timing Intervals for follow-ups and the conditions for automatic closure.

  • Step 6: Toggle Autonomy Level

Decide if the agent should run in Semi-autonomous mode (drafting for human review) or Fully autonomous mode (direct interaction with customers).

Infographic: CMA Lifecycle Automation

PhaseCapabilityBenefit
CreationAuto-detection of intent across voice, chat, and email.Eliminates manual data entry and triage.
ResolutionDrafts context-aware emails; triggers custom logic.Accelerates time-to-resolution with expert accuracy.
EscalationProactively identifies when a human or supervisor is needed.Ensures complex issues never fall through the cracks.
Follow-upSLA-based check-ins to ensure customer satisfaction.Improves customer sentiment without agent effort.
ClosureFully automated case resolution and record update.Maintains clean data and closes the “Knowledge Loop.”

References

contact-centre, copilot-studio, Customer-service

Diagnostics and telemetry for Dynamics 365 Contact Center voice channel

Diagnostics and telemetry for Dynamics 365 Contact Center voice channel (Enhanced technical monitoring and troubleshooting tools for IT administrators and supervisors).

Real-time User Journey

This journey illustrates how an IT Administrator uses telemetry to resolve a “poor call quality” issue reported by a remote team:

  1. Alert Notification: The IT Admin receives an automated alert in the Power Platform Admin Center indicating that call quality has dropped below a specific threshold for the “West Coast” region.
  2. Dashboard Investigation: The Admin opens the Voice Diagnostics Dashboard. They see real-time telemetry showing high Packet Loss and Jitter for several active calls.
  3. Granular Drill-down: The Admin clicks on a specific problematic call. They can see the technical path: the agent is using a wireless connection with low signal strength and an uncertified headset.
  4. Proactive Resolution: While the call is still ongoing, the Admin identifies that the issue is local to the agent’s network. They send a quick instruction to the supervisor to have the agent switch to a wired connection.
  5. Post-Call Analysis: After the call ends, the Admin reviews the Historical Telemetry to see if this is a recurring pattern for that specific agent or a broader ISP issue in the region.
  6. SLA Validation: The Admin exports the telemetry data to prove to stakeholders that the voice platform remained stable, but local network conditions were the cause of the disruption.

Step-by-Step: How to Enable This Feature

To enable comprehensive diagnostics and telemetry, administrators must configure the Azure and Power Platform integration:

  • Step 1: Admin Center Access

Sign in to the Contact Center admin center.

  • Step 2: Connect to Azure Application Insights

Navigate to Operations > Insights > Telemetry. Choose the option to “Connect to Azure Application Insights.” This allows the raw voice telemetry to flow into your own Azure instance for long-term storage and analysis.

  • Step 3: Enable Voice Diagnostics

In the Voice Settings section, toggle the “Enable real-time voice diagnostics” switch to On. This enables the live monitoring of packet loss, latency, and jitter.

  • Step 4: Configure Alert Rules

In Azure Monitor, set up “Alert Rules” based on the telemetry data. For example, set an alert to trigger if latency exceeds 200ms for more than 5% of calls in a 10-minute window.

  • Step 5: Grant Permissions

Ensure IT Administrators have the “Environment Admin” or “Service Reader” role in both Power Platform and the associated Azure subscription to view the dashboards.

  • Step 6: Update Agent Profiles

Ensure agents are using the Desktop Companion Application (DCA), as it provides the most accurate local hardware and network telemetry back to the diagnostics engine.

Infographic: Voice Telemetry Metrics

MetricDefinitionImpact on Call Quality
LatencyThe time it takes for voice data to travel from point A to B.High latency causes “talk-over” and awkward silences.
JitterVariation in the delay of received packets.High jitter results in garbled or “robotic” sounding audio.
Packet LossVoice data packets that fail to reach their destination.Causes “drop-outs” where words or parts of sentences are missing.
MOS ScoreMean Opinion Score (1-5 scale) of audio quality.A 4.0+ is considered “toll-quality” (clear and consistent).
Endpoint DataHeadset type, CPU usage, and Browser version.Identifies if the issue is hardware or software-related.

References

Uncategorized

Use least active routing on messaging channels in Dynamics 365 Contact Centre

Use least active routing on messaging channels

(Extending intelligent workload distribution from voice to digital messaging channels to ensure fair agent utilization).

Real-time User Journey

This journey illustrates how the system balances work across a blended workforce (agents handling both voice and chat):

  1. Scenario Setup: Two agents, Oscar and Victoria, have identical skills. Oscar is currently handling 1 chat. Victoria is handling 1 voice call and 1 chat.
  2. New Incoming Request: A new customer starts a chat on the website.
  3. Concurrency Check: The routing engine evaluates current workloads. It identifies that Oscar has fewer concurrent assignments (1) than Victoria (2).
  4. Initial Assignment: The chat is assigned to Oscar to balance the total number of active conversations.
  5. Tie-Breaking (Last Capacity Release): Later, two different agents, Maya and Hailey, both have exactly 1 active assignment.
  6. Time-based Decision: The engine checks their “Last Capacity Release Time” (when they finished their previous task). Maya finished her last chat at 1:55 PM, while Hailey finished at 2:00 PM.
  7. Final Routing: Because Maya has been “inactive” longer, the new chat is routed to her, ensuring Hailey gets a fair amount of “rest” time between tasks.

Step-by-Step: How to Enable This Feature

To implement least active routing in your messaging queues:

  • Step 1: Admin Center Access

Sign in to the Customer Service admin center or Contact Center admin center.

  • Step 2: Select the Queue

Navigate to Customer Support > Queues. Open the specific messaging queue (e.g., Chat, WhatsApp, or SMS) where you want to apply this logic.

  • Step 3: Set Assignment Method

In the Assignment method section, select Least active from the dropdown menu.

  • Step 4: Configure Custom Assignment (Optional)

If you use “Custom” assignment methods, you can add “Least active” as an Order by condition. This allows you to first filter by “Highest Skill” and then use “Least Active” as the tie-breaker.

  • Step 5: Verify Capacity Profiles

Ensure that your agents have Capacity Profiles defined (e.g., an agent can handle 100 points of work, where a chat is 20 points). Least active routing relies on these profiles to calculate concurrent load.

  • Step 6: Data Tracking (Advanced)

To build reports on this, use the Dataverse entity msdyn_agentchannelstateentity. This tracks the lastcapacityreleasetime for each agent, which powers the routing decisions.

Infographic: How Least Active Routing Works

FactorDescriptionBenefit
Concurrent LoadCounts the number of active calls and chats currently assigned.Prevents overloading individual agents.
Last Capacity ReleaseTracks the exact timestamp when the last conversation ended.Ensures fair “breathing room” between tasks.
Cross-Channel AwareConsiders both Voice and Messaging work items together.Perfectly balances a “Blended” workforce.
Fair UtilizationMoves agents toward a consistent utilization percentage (e.g., 85%).Reduces burnout and improves agent satisfaction.
SLA StabilityPrioritizes available capacity over random assignment.Keeps wait times consistent for customers.

References

Uncategorized

Desktop Companion Application (DCA) for Dynamics 365 Contact Center

Desktop Companion Application (DCA) for Dynamics 365 Contact Center (A native Windows application designed to provide voice continuity and reliability by operating independently of the web browser).

Real-time User Journey

This journey illustrates how the DCA protects the customer experience during common technical glitches:

  1. Shift Start: A Customer Service Representative (CSR) logs into their workstation and ensures the Desktop Companion Application is running in the background.
  2. Active Engagement: The CSR accepts an incoming voice call through the Dynamics 365 web workspace. The DCA automatically syncs and mirrors the call status.
  3. Technical Disruption: Mid-conversation, the CSR’s web browser freezes or accidentally refreshes.
  4. Resilient Continuity: Because the voice path is managed by the DCA (not the browser), the call does not drop. The CSR continues speaking to the customer without interruption.
  5. Direct Control: While the browser is reloading, the CSR uses the DCA’s overlay window to mute, unmute, or end the call if necessary.
  6. Re-synchronization: Once the browser recovers and the page reloads, the web workspace automatically re-syncs with the DCA, restoring the full customer context and transcript on the CSR’s screen.

Step-by-Step: How to Enable This Feature

To deploy the DCA, administrators and users must follow these steps:

  • Step 1: Admin Installation The IT administrator must download and install the Desktop Companion Application (MSI/EXE) onto all service representatives’ Windows machines.
  • Step 2: Browser Extension Setup Install the corresponding Dynamics 365 Contact Center browser extension in Microsoft Edge or Google Chrome. This allows the web app and the desktop app to “talk” to each other.
  • Step 3: Admin Center Activation In the Contact Center admin center, navigate to Workforce Management or Voice Settings and ensure that the “Desktop Companion” integration is toggled to On.
  • Step 4: User Sign-in The CSR signs into the Copilot Service workspace. The DCA will detect the login session and display a “Connected” status at the bottom of its interface.
  • Step 5: Device Configuration Inside the DCA Settings tab, the CSR selects their preferred audio devices (headset, microphone) and sets their language preferences to ensure the app is ready to handle calls.

Infographic: Web vs. Desktop Companion Voice Path

FeatureBrowser-Based VoiceDesktop Companion App (DCA)
StabilityCall drops if browser crashes/refreshes.Call persists independently of browser state.
Connection SpeedSubject to browser latency.Faster connections and reduced audio delay.
ControlsHidden if browser tab is lost.Persistent overlay for Mute/End/Hold.
ReliabilitySusceptible to Bluetooth/cookie issues.Direct OS integration for better device handling.
User StatusRequires active browser tab.System tray icon shows connectivity at all times.

References

https://www.microsoft.com/en-us/dynamics-365/blog/it-professional/2025/07/09/try-desktop-companion-application-for-dynamics-365-contact-center/

Uncategorized

Smarter Callbacks with Availability-Aware Scheduling CCAAS APIs in Dynamics 365

Smarter Callbacks with Availability-Aware Scheduling CCAAS APIs (Integration of workforce schedules and real-time capacity into the callback request system).

Real-time User Journey

This journey illustrates how a customer experiences a “guaranteed” callback time rather than a generic “as soon as possible” wait:

  1. High Volume Encounter: A customer calls a support line during a peak period. The system informs them of a 30-minute wait time.
  2. Smart Callback Offer: The system offers a callback. Using the Availability-aware API, it doesn’t just look at current queues; it checks the Shift Schedule for the next few hours.
  3. Specific Slot Selection: The IVR (or bot) says, “We can call you back between 2:15 PM and 2:30 PM today when we have a specialist available. Does that work?”
  4. Confirmed Booking: The customer confirms. The system creates a “Scheduled Callback” record that is pinned to the workforce’s available capacity.
  5. Agent Assignment: At 2:15 PM, the Unified Routing engine identifies an agent who has just started their shift and has the required skills.
  6. The Connection: The system dials the customer first, then connects the agent, fulfilling the promise made during the initial call.

Step-by-Step: How to Enable This Feature

This feature requires a combination of Admin Center configuration and API integration for custom IVRs or Portals.

  • Step 1: Enable Workforce Management Go to Contact Center Admin Center > Operations > Workforce Management. Ensure Shift Planning is active and shifts are published for your agents.
  • Step 2: Activate Callback Channel Navigate to Channels > Voice > Manage. Ensure “Direct Callback” is enabled in your voice channel settings.
  • Step 3: Configure the CCAAS API Access the Developer Resources section in the Admin Center to retrieve your CCAAS (Contact Center as a Service) API endpoints. You will need these to feed availability data into your IVR or Website.
  • Step 4: Map Capacity to Routing In Routing > Queues, select your Voice queue and enable the setting “Consider agent shifts for callback scheduling.”
  • Step 5: Set Buffer and Grace Periods Define your “Schedule Buffers” (e.g., don’t offer a callback 5 minutes before an agent’s shift ends).
  • Step 6: Update IVR/Bot Logic Update your Copilot Studio bot or IVR workflow to call the GetAvailability API action, which will present the available time slots to the customer.

Infographic: Traditional vs. Smarter Callbacks

FeatureTraditional Callbacks (ASAP)Smarter Callbacks (Availability-Aware)
TriggerTriggered by queue length only.Triggered by Shift Schedules + Queue Length.
Timing“We will call you back when it’s your turn.”“We will call you back at 2:15 PM.
Agent ImpactCan hit agents right at shift-end.Respects shift boundaries and breaks.
Customer ExperienceUncertain wait; customer might miss the call.High certainty; customer expects the call at a specific time.
Routing LogicFirst available agent.Best agent starting a shift or with open capacity.

References

https://www.microsoft.com/en-us/dynamics-365/blog/it-professional/2025/06/20/smarter-callbacks-with-availability-aware-scheduling-ccaas-apis/