Uncategorized

Synchronize service rep availability across platforms with Presence APIs in Dynamics 365

Synchronize service rep availability across platforms with Presence APIs

(Achieving a “Single Source of Truth” for agent availability across Dynamics 365, Microsoft Teams, and third-party applications).

Real-time User Journey

This journey illustrates how the Presence APIs eliminate the “Double Work” of managing status across multiple communication tools:

  1. Unified Login: A service representative logs into the Dynamics 365 Contact Center.
  2. Automatic Sync: The Presence API immediately detects the agent’s “Available” status in Dynamics 365 and automatically updates their Microsoft Teams status to “Available.”
  3. External Trigger: The agent receives an urgent call on a third-party legacy desk phone system integrated via the API.
  4. Real-time State Change: The Presence API detects the “Busy” state on the external phone and instantly switches the agent to “Busy – On a Call” in both Dynamics 365 and Teams.
  5. Routing Protection: Because the status is synchronized, the Unified Routing engine sees the “Busy” state and stops routing new chats or cases to the agent, preventing them from being overwhelmed.
  6. Shift Completion: When the agent’s shift ends in the Workforce Management module, the API pushes an “Offline” status to all connected platforms simultaneously.

Step-by-Step: How to Enable This Feature

The Presence APIs are part of the Microsoft Graph and Dynamics 365 developer toolkit. To enable synchronization, follow these steps:

  • Step 1: Admin Center Configuration

Sign in to the Customer Service admin center. Navigate to Operations > Insights > Presence settings.

  • Step 2: Enable Teams Presence Sync

Locate the setting for “Microsoft Teams presence synchronization” and toggle it to On. This enables the native link between the two Microsoft platforms.

  • Step 3: Register Application for External Sync

To sync with 3rd party apps, go to the Azure Portal > App Registrations. Register your external application and grant it Presence.Read.All and Presence.ReadWrite.All permissions.

  • Step 4: Configure API Endpoints

In your external application code, call the Dynamics 365 Presence APIs (GET and SET presence) to pull or push status updates.

  • Step 5: Define Presence Mapping

In Dynamics 365, go to Presence States and ensure your custom statuses (e.g., “In a Meeting”) are mapped to the correct base statuses (e.g., “Busy”) so the API knows how to translate them across platforms.

  • Step 6: Test Synchronization

Change your status in Microsoft Teams and verify that the change reflects in the Dynamics 365 agent dashboard within seconds.

Infographic: The Unified Presence Ecosystem

CapabilityWithout Presence APIsWith Presence APIs
Status ManagementManual update in every app.Automatic Sync: Update once, reflect everywhere.
Routing AccuracyHigh risk of routing to “Busy” agents.100% Accuracy: Routing respects all active states.
Supervisor ViewConflicting data on agent activity.Real-time Visibility: One true view of team capacity.
Agent ExperienceHigh cognitive load and “Status Anxiety.”Seamless Flow: Focus on the customer, not the toggle.
Third-party AppsIsolated silos of information.Integrated Ecosystem: Legacy tools stay in sync.

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

What’s New in Copilot Studio: June 2025 – Enhancing Agent Lifecycle and Enterprise Governance

What’s New in Copilot Studio: June 2025 – Enhancing Agent Lifecycle and Enterprise Governance

The June update focused on maturing the “Pro-dev” experience, specifically introducing Agent Environments, Managed Identities, and Advanced Analytics to help organizations move agents from prototypes to secure, governed production workloads.

Real-time User Journey: Managed Identity Authentication

One of the most significant “real-time” journeys introduced is how agents access secure company data without managing complex user secrets:

  1. Request: An employee asks the agent, “What is the status of the confidential project Alpha in our Azure SQL database?”
  2. Silent Authentication: Instead of prompting the user for a login or using a shared service account password, the agent uses its Managed Identity (a secure, Entra-based ID assigned to the agent itself).
  3. Secure Access: The agent authenticates directly with the Azure SQL database. The database recognizes the agent’s identity and grants access based on the specific permissions set by the IT admin.
  4. Reasoning & Response: The agent retrieves the data, summarizes it using the LLM, and provides the answer—all while ensuring no passwords were ever exposed or stored in the code.

Step-by-Step: How to Enable Agent Environments

This feature allows teams to separate development work from production use:

  • Step 1: Admin Center Setup: Log into the Power Platform Admin Center and navigate to the Environments tab.
  • Step 2: Create “Dev” and “Prod” Environments: Create two separate environments specifically for your Copilot agents to keep experimental features away from live users.
  • Step 3: Move Agents via Solutions: In Copilot Studio, wrap your agent in a Solution (a container for all its topics and tools).
  • Step 4: Export/Import: Export the solution from the Dev environment and import it into the Prod environment.
  • Step 5: Connection Reference Update: Once imported, update the Connection References (e.g., SharePoint or Outlook links) to point to the production-level data sources.

Infographic: Enterprise Agent Readiness

The June update introduced a “checklist” of capabilities that define an enterprise-ready agent:

PillarFeatureValue
SecurityManaged IdentitiesEliminates the need for hard-coded secrets or credentials.
LifecycleSolution IntegrationEnables standard DevOps pipelines (ALM) for agent deployment.
InsightsConversation TranscriptsGA of full transcript logs for auditing and debugging.
ConnectivityEnhanced ConnectorsNew UI for managing 1,400+ connectors with better error handling.
DiscoveryAgent GalleryA central place for employees to find approved agents.

References

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/

Uncategorized

The power of proactive engagement in Dynamics 365 Contact Center

The power of proactive engagement in Dynamics 365 Contact Center (Transitioning from reactive support to anticipatory service through AI-driven outbound interactions).

Real-time User Journey

This journey illustrates how a utility company uses proactive engagement to manage a service outage:

  1. Detection: A power grid sensor triggers an alert in the CRM that a specific neighborhood has lost power.
  2. Automated Trigger: Dynamics 365 Customer Insights – Journeys identifies all customers in that segment.
  3. Proactive Outreach: The system automatically initiates a Copilot Dial campaign.
  4. AI Interaction: A conversational AI bot (Copilot) calls the customer, informs them of the outage, and provides an estimated restoration time.
  5. Option for Human Support: The customer asks a complex question about a specialized medical device needing power. Copilot recognizes the high-priority intent and performs a Seamless Handoff to a human agent.
  6. Agent Context: The human agent receives the call with the full transcript of the bot’s conversation, allowing them to provide immediate specialized assistance without the customer repeating themselves.

Step-by-Step: How to Enable This Feature

Proactive engagement requires the integration of Dynamics 365 Contact Center, Customer Insights, and Copilot Studio:

  • Step 1: Admin Center Configuration Go to the Contact Center admin center. Under Channels, navigate to Voice and ensure the outbound calling voice channel is provisioned and active.
  • Step 2: Integration with Customer Insights Ensure you have a Dynamics 365 Customer Insights – Journeys license. In the settings, link your Contact Center environment to Customer Insights to enable event-driven triggers.
  • Step 3: Define Dial Modes In the outbound settings, configure your preferred Dial Modes:
    • Copilot Dial: Fully automated AI-led calls.
    • Progressive Dial: Calls only placed when an agent is available.
    • Preview Dial: Allows agents to review customer data before the system dials.
  • Step 4: Create Copilot Studio Topics For AI-led calls, open Copilot Studio and design the conversational flow (e.g., payment reminders or service alerts). Use the Answering Machine Detection topic to handle voicemails.
  • Step 5: Design the Journey In Customer Insights – Journeys, use the low-code journey builder to create a new journey. Choose an “Event-based” trigger (like a status change) and set the action to “Place a phone call” via the Contact Center channel.
  • Step 6: Test and Launch Use the simulation tools to verify the call pacing and AI responses before activating the journey for live customers.

Infographic: Dial Modes Comparison

Dial ModeLevel of AutomationBest Use Case
Copilot DialHigh (AI-led)Transactional alerts (Outages, payment reminders).
Preview DialLow (Agent-led)High-value sales or complex follow-ups.
Progressive DialBalancedGeneral service updates where a live agent is preferred.
Predictive DialHigh (Efficiency-led)High-volume campaigns (requires AI availability forecasting).

References

https://www.microsoft.com/en-us/dynamics-365/blog/it-professional/2025/06/10/the-power-of-proactive-engagement-in-dynamics-365-contact-center/