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:
- Unified Login: A service representative logs into the Dynamics 365 Contact Center.
- Automatic Sync: The Presence API immediately detects the agent’s “Available” status in Dynamics 365 and automatically updates their Microsoft Teams status to “Available.”
- External Trigger: The agent receives an urgent call on a third-party legacy desk phone system integrated via the API.
- 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.
- 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.
- 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
| Capability | Without Presence APIs | With Presence APIs |
| Status Management | Manual update in every app. | Automatic Sync: Update once, reflect everywhere. |
| Routing Accuracy | High risk of routing to “Busy” agents. | 100% Accuracy: Routing respects all active states. |
| Supervisor View | Conflicting data on agent activity. | Real-time Visibility: One true view of team capacity. |
| Agent Experience | High cognitive load and “Status Anxiety.” | Seamless Flow: Focus on the customer, not the toggle. |
| Third-party Apps | Isolated silos of information. | Integrated Ecosystem: Legacy tools stay in sync. |
References