CRM– Synchronize Service Rep Availability with Presence APIs

Service representatives often work across multiple platforms—attending meetings, trainings, and handling customer interactions through various tools. To prevent overbooking and ensure accurate availability, Presence APIs synchronize their status in real time across all relevant systems.

Dynamics 365 Contact Center Presence APIs

Dynamics 365 Contact Center provides server-to-server presence synchronization APIs that allow you to:

  • Programmatically access and update service representatives’ status.
  • Subscribe to presence change events.
  • Maintain consistent availability across platforms.

This ensures service rep availability is always accurate and prevents scheduling conflicts.

Example: Contoso Bank

Contoso Bank built a collaboration app for managers who handle priority customer calls in Dynamics 365 Contact Center while also using the app for internal communication. By leveraging Presence APIs, Contoso Bank synchronizes manager availability between the collaboration tool and Dynamics apps. When a manager is on a call, their status is reflected in the collaboration tool, preventing interruptions or double-booking.

Microsoft Dynamics 365 ERP interface for supply chain management ERP dashboard showing supply chain optimization metrics

Key Benefits and How It Works

  • Access & update presence: Ensure accurate availability across systems.
  • Avoid overbooking: Prevent reps from receiving multiple tasks simultaneously.
  • Cross-platform synchronization:Maintain consistent status updates across tools.

How It Works

Presence APIs provide methods to manage availability:

  • Get presence: Retrieve a rep’s current status.
  • Modify presence: Update a rep’s status.
  • Subscribe to changes: Receive real-time updates when status changes.

Implementation Details

Prerequisites
  • Dynamics 365 Contact Center license.
  • Omnichannel Agent or Supervisor role for reps.
  • Third-party app (e.g., Teams) allowlisted in Dataverse.
  • Middleware to pass messages between Dynamics apps and external systems.
  • Service rep dictionary in middleware to map IDs across systems.
Webhook Setup

To track presence changes, configure a webhook for the msdyn_agentstatus entity:

  • Create and register a webhook using the plug-in registration tool.
  • Register a synchronous server-side step with parameters:
    • Primary Entity: msdyn_agentstatus
    • Execution Mode: Synchronous
    • Deployment: Server

When a rep’s presence changes, the webhook sends a notification with updated info (e.g., msdyn_agentid and msdyn_currentpresenceid) to sync across systems.

Using APIs

To get or modify presence status:

  • Generate tokens via certificate-based authentication using your app ID.
  • Assign impersonation privileges to the application.
  • Use APIs:
    • CCaaS_GetPresence → Retrieve presence status.
    • CCaaS_ModifyAgentPresence → Update presence status.

Driving Results with Bizalom Group

As a Microsoft focused digital transformation partner, Bizalom Group helps organizations implement, optimize, and scale Microsoft Dynamics 365. Our approach combines strategic advisory, industry aligned solutions, and ongoing optimization to deliver measurable business outcomes.

Contact Us

Partnering with the best to serve you better