MS365 and PBX system integration

Devanshi Patel 20 Reputation points
2025-10-07T07:59:45.8+00:00

Hello Team,

We are a VoIP and software development company with an in-house developed PBX solution available both on-premises and in the cloud. We are looking to integrate our PBX with Office 365 and would appreciate your guidance on the required APIs, documentation, and steps to enable this integration.

Our goal is to enable this integration across Outlook, Microsoft Teams, and other related applications. The key features we aim to implement include:

Make and receive calls: Dial directly through the solution while leveraging enhanced Microsoft Dynamics 365 capabilities across all devices.

Click-to-call and SMS: Place calls and send messages from within Dynamics 365 by clicking hyperlinked numbers in contact cards, improving efficiency.

Screen pops: Automatically display caller account records and contact histories for all incoming calls, ensuring teams are well-prepared for interactions.

Automatic call logging: Seamlessly log all calls, text messages, and voicemails to prevent missing any important interactions.

Message hub: Access all text messages, voicemails, and faxes from a single interface.

Create new records: Easily create new accounts, contacts, or leads during active calls.

Could you please provide the necessary API information and outline the steps we need to follow to implement this integration successfully?

Looking forward to your guidance.

Microsoft 365 and Office | Development | Microsoft 365 App Publishing
0 comments No comments
{count} votes

Answer accepted by question author
  1. Gabriel-N 9,965 Reputation points Microsoft External Staff Moderator
    2025-10-07T11:43:53.7333333+00:00

    Hello Devanshi Patel

    Thank you for reaching out to the Q&A Forum. I sincerely appreciate the effort you have invested in outlining your integration objectives. Your plan demonstrates a clear vision for enhancing communication and productivity across Microsoft 365 applications.

    Please note that I serve as a forum moderator, and your question involves advanced technical implementation. While I cannot provide full development support, I have compiled key resources and recommendations that may assist you:

    • To enable calling, consider using Microsoft Teams Phone connected to your PBX through Direct Routing with a certified Session Border Controller (SBC) or via Operator Connect. Relevant documentation includes Plan Direct Routing, Plan for Operator Connect and the list of certified SBCs
    • For click-to-call and SMS capabilities, implement Dynamics 365 Channel Integration Framework (CIF) v2 for embedded softphone and click-to-dial functionality. Additionally, leverage Teams deep links for initiating calls from Teams or Outlook, and use Azure Communication Services (ACS) for global SMS support. Documentation can be found at CIF v2, Teams deep links and ACS SMS
    • To implement screen pop, use CIF notifyEvent to display customer information during incoming calls, and optionally utilize Teams Activity Feed notifications for contextual pop-ups. Documentation is available at CIF notifyEvent and Teams Activity Feed.
    • For automatic call logging, retrieve call details using Microsoft Graph Call Records API and log them in Dynamics through the Dataverse Web API. Documentation: Call Records and Dataverse Web API.
    • To create a message hub, consider building a Teams tab application or a Dynamics page to consolidate SMS (via ACS), voicemail (via Exchange), and fax. Use Microsoft Graph change notifications for voicemail updates. Documentation: ACS SMS and Graph subscriptions
    • Finally, for creating new records during active calls, utilize CIF flows to call the Dataverse Web API for creating contacts, leads, and phone call activities. Documentation: Dataverse Web API

    If you hold the appropriate licenses, I strongly recommend creating support request on Microsoft Entra Admin for advanced assistance, as these APIs require proper configuration and permissions.

    Thank you again for your inquiry, and I hope these resources help guide your integration efforts.


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Devanshi Patel 20 Reputation points
    2025-10-07T13:34:28.68+00:00

    Hello Gabriel,

    Thank you for your prompt response.

    We have an required one more clarification regarding the telephony infrastructure. Since our PBX backend is FreeSWITCH, could you please confirm if we can directly utilize FreeSWITCH in place of the Session Border Controller (SBC) for the proposed integration, effectively eliminating the need for a separate SBC component?

    We appreciate your clarification on this architectural point.


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.