Integrate 3CX Pro with Microsoft Dynamics CRM (2024)

  • Introduction
  • Microsoft Dynamics 365 Online Configuration
  • General
  • 3CX CRM Server-side Configuration
  • Contact Matching Strategy
  • General Settings
  • Call Journaling
  • Chat Journaling
  • Contact Creation
  • Click to Call
  • See Also

Introduction

3CX provides integration with Microsoft Dynamics 365 online CRM via the 3CX API for CRM. The configuration is done server-side, in an easy and straightforward way. This integration provides many benefits to users of 3CX and Microsoft Dynamics 365, including:

  • Contact Synchronization– Inbound / outbound calls from / to external numbers trigger a CRM contact lookup to add to 3CX Contacts, so the contact name is automatically shown on your phone’s display when dealing with a call.
  • Call Pop-ups– when using the 3CX Web Client or Desktop App, the customer record is brought up to you automatically when you receive an inbound call.
  • Call Journals– Calls are logged as call records in the CRM.
  • Chat Journals– Chats are logged as letter records in the CRM.
  • Create a new contactautomatically when a call is made or received from / to an unknown number.
  • Click to Call– Launch calls straight from Microsoft Dynamics 365 via 3CX, using the 3CX Click2Call Browser extensions for Google Chromeand Microsoft Edge.

This guide takes you through the steps required to set up your Microsoft Dynamics 365 with 3CX.

Microsoft Dynamics 365 Online Configuration

General

  1. Go to the Microsoft Azure App Registrationspageusing your Microsoft Dynamics 365 Online account, i.e. “Azure services” > “App registrations”.

Integrate 3CX Pro with Microsoft Dynamics CRM (1)

  1. Click on “New registration” and complete the app information
  1. “Name” - enter the app’s name, e.g. “3CX Server-side”.
  2. “Supported account types” - leave default or update based on your needs.
  3. “Redirect URI (optional)” - select “Public client/native (mobile & desktop)”. For the Redirect URI enter

    https://my-pbx.example.com:5001/api/oauth2crm

    , using the URL for your 3CX Management Console.
  4. Click “Register” to proceed with the app registration.

Integrate 3CX Pro with Microsoft Dynamics CRM (2)

  1. In the app “Overview” page, note the values of these fields for configuring 3CX later:
  1. “Application (client) ID”.
  2. “Directory (tenant) ID”.
  1. To add the required permissions to access the Microsoft Dynamics 365 Online information, click on “API permissions” > “Add a permission” > “Dynamics CRM”.

Integrate 3CX Pro with Microsoft Dynamics CRM (3)

  1. Enable the “user_impersonation” permission and click on “Add permissions”.
  2. Wait for ~10 minutes for the app changes to become available.

Call & Chat Journaling

To report external calls and chats to Microsoft Dynamics 365, the email address configured for the 3CX extension must match the email address of a Microsoft Dynamics 365 user. This way 3CX can map the 3CX extension receiving the call or chat to the Microsoft Dynamics 365 user.

3CX CRM Server-side Configuration

Contact Matching Strategy

To get a match with Microsoft Dynamics 365, the incoming Caller ID must be identicalto the CRM entry, including any prefix. Querying Microsoft Dynamics 365 using a subset of the digits, does not return any data. Microsoft Dynamics 365 can store the numbers in E164 format, so ensure that your SIP Trunk provides the caller’s number in E164 format as well, so both match. Otherwise, you can use Caller ID Reformattingto adjust the caller’s number before being passed on to the CRM.

Integrate 3CX Pro with Microsoft Dynamics CRM (4)

⚠ Important: In 3CX Management Console, open “Advanced” > “Contacts” > “Options”, set the matching strategy to "Match exactly" and click “OK” to save.

⚠ Important: Storing numbers in Microsoft Dynamics 365 with spaces, dashes, or any non-numeric character except by the plus (+) prefix will cause that the contact can’t be matched.

General Settings

  1. Login to the 3CX Management Console and go to “Settings” > “CRM Integration” > “Server Side” tab.
  2. Select Microsoft Dynamics 365 from the dropdown list.

Integrate 3CX Pro with Microsoft Dynamics CRM (5)

  1. Enter the values for the Application ID and Tenant, taken from the previous steps. For the domain, enter the URL you use to access your Microsoft Dynamics 365 Online account.
  2. Press the Authorize button to perform the authorization. A new tab will be opened, and you will be requested to grant access to the application you just created.

Integrate 3CX Pro with Microsoft Dynamics CRM (6)

  1. Press Accept to grant access. The refresh token will be shown under the Authorize button.

Call Journaling

  1. If you want to report external calls to the CRM, check the Enable Call Journaling checkbox and configure the parameters below.

Integrate 3CX Pro with Microsoft Dynamics CRM (7)

  1. Call Journaling parameters are:
  • Call Subject: The subject of the call.
  • Answered Inbound Call: Description for answered inbound calls.
  • Missed Call: Description for missed calls.
  • Answered Outbound Call: Description for answered outbound calls.
  • Unanswered Outbound Call: Description for unanswered outbound calls
  1. Please note that you can use variables in the Call Journaling parameters. Variables are specified between [], for example the external number is specified as [Number]. The available variables are:
  • CallType

    - The type of call, it can be “Inbound”, “Outbound”, “Missed”, or “Unanswered”.
  • Number

    - The external contact number (the number dialed for outbound calls or the caller number for inbound calls).
  • CallDirection

    - The direction of the call, either "Inbound" or "Outbound".
  • Name

    - The name of the matched contact.
  • EntityId

    - The ID of the matched contact.
  • EntityType

    - The type of the matched contact (i.e. "Contacts").
  • Agent

    - The extension number of the agent handling the call.
  • AgentFirstName

    - The first name of the agent handling the call.
  • AgentLastName

    - The last name of the agent handling the call.
  • AgentEmail

    - The email of the agent handling the call.
  • Duration

    - The duration of the call in “hh:mm:ss” format.
  • DurationTimeSpan

    - The duration of the call as a TimeSpan object, which can be formatted as the user wants.
  • DateTime

    - The start date & time of the call, in the local time zone, formatted using the local culture from the 3CX server.
  • CallStartTimeLocal

    - The start date & time of the call, in the local time zone, as a DateTime object, which can be formatted as the user wants.
  • CallStartTimeUTC

    - The start date & time of the call, in UTC time zone, as a DateTime object, which can be formatted as the user wants.
  • CallEstablishedTimeLocal

    - The date & time in which the call was established, in the local time zone, as a DateTime object, which can be formatted as the user wants.
  • CallEstablishedTimeUTC

    - The date & time in which the call was established, in UTC time zone, as a DateTime object, which can be formatted as the user wants.
  • CallEndTimeLocal

    - The end date & time of the call, in the local time zone, as a DateTime object, which can be formatted as the user wants.
  • CallEndTimeUTC

    - The end date & time of the call, in UTC time zone, as a DateTime object, which can be formatted as the user wants.
  • CallStartTimeLocalMillis

    - The start date & time of the call, in the local time zone, expressed as milliseconds since epoch (aka unix time).
  • CallStartTimeUTCMillis

    - The start date & time of the call, in UTC time zone, expressed as milliseconds since epoch (aka unix time).
  • CallEstablishedTimeLocalMillis

    - The date & time in which the call was established, in the local time zone, expressed as milliseconds since epoch (aka unix time).
  • CallEstablishedTimeUTCMillis

    - The date & time in which the call was established, in UTC time zone, expressed as milliseconds since epoch (aka unix time).
  • CallEndTimeLocalMillis

    - The end date & time of the call, in the local time zone, expressed as milliseconds since epoch (aka unix time).
  • CallEndTimeUTCMillis

    - The end date & time of the call, in UTC time zone, expressed as milliseconds since epoch (aka unix time).

Chat Journaling

  1. If you want to report chats to the CRM, check the Enable Chat Journaling checkbox and configure the parameters below.

Integrate 3CX Pro with Microsoft Dynamics CRM (8)

  1. Chat Journaling parameters are:
  • Chat Subject: The subject of the chat session.
  1. Please note that you can use variables in the Chat Journaling parameters. Variables are specified between [], for example the external number is specified as [Number]. The available variables are:
  • Number

    - The external contact number (only available when this is a chat through SMS).
  • Email

    - The external contact email address (only available when this is a chat through Live Chat).
  • Name

    - The name of the matched contact.
  • EntityId

    - The ID of the matched contact.
  • EntityType

    - The type of the matched contact (i.e. "Contacts").
  • QueueExtension

    - The extension number of the queue, only when the chat arrives to the agent through a queue.
  • ChatMessages

    - The messages sent and received during the chat session.
  • Agent

    - The extension number of the agent handling the chat.
  • AgentFirstName

    - The first name of the agent handling the chat.
  • AgentLastName

    - The last name of the agent handling the chat.
  • AgentEmail

    - The email of the agent handling the chat.
  • Duration

    - The duration of the chat in “hh:mm:ss” format.
  • DurationTimeSpan

    - The duration of the chat as a TimeSpan object, which can be formatted as the user wants.
  • DateTime

    - The start date & time of the chat, in the local time zone, formatted using the local culture from the 3CX server.
  • ChatStartTimeLocal

    - The start date & time of the chat, in the local time zone, as a DateTime object, which can be formatted as the user wants.
  • ChatStartTimeUTC

    - The start date & time of the chat, in UTC time zone, as a DateTime object, which can be formatted as the user wants.
  • ChatEndTimeLocal

    - The end date & time of the chat, in the local time zone, as a DateTime object, which can be formatted as the user wants.
  • ChatEndTimeUTC

    - The end date & time of the chat, in UTC time zone, as a DateTime object, which can be formatted as the user wants.
  • ChatStartTimeLocalMillis

    - The start date & time of the chat session, in the local time zone, expressed as milliseconds since epoch (aka unix time).
  • ChatStartTimeUTCMillis

    - The start date & time of the chat session, in UTC time zone, expressed as milliseconds since epoch (aka unix time).
  • ChatEndTimeLocalMillis

    - The end date & time of the chat session, in the local time zone, expressed as milliseconds since epoch (aka unix time).
  • ChatEndTimeUTCMillis

    - The end date & time of the chat session, in UTC time zone, expressed as milliseconds since epoch (aka unix time).

Contact Creation

  1. If you want to create new contacts in the CRM when a call is received from an unknown number (not found in both 3CX and CRM), check the Enable Contact Creation checkbox and configure the parameters below.

Integrate 3CX Pro with Microsoft Dynamics CRM (9)

  1. Contact Creation parameters are:
  • Create Contacts on Call Direction - Select if you want 3CX to create contacts on Inbound calls only, or also on Outbound calls.
  • Create Lead or Contact - The entity to be created (Lead/Contact).
  • New Contact First Name - The first name of the newly created Contact.
  • New Contact Last Name - The last name of the newly created Contact.
  • New Lead Subject - The Lead subject when a Lead is created.
  1. Please note that you can use variables in the parameters. Variables are specified between [], for example the external number is specified as [Number]. The available variables are:
  • Number

    - The external contact number (the number dialed for outbound calls or the caller number for inbound calls).
  • CallDirection

    - The direction of the call, either "Inbound" or "Outbound".

Click to Call

Microsoft Dynamics 365 renders phone numbers as click to call with Skype links by default, which prevents the click to call functionality from working with 3CX.

In order to solve this, the following configuration must be changed in Dynamics 365:

  • On the upper right corner of the screen go to “Settings” > “Advanced Settings”.

Integrate 3CX Pro with Microsoft Dynamics CRM (10)

  • Go to “System” > “Administration”, and then “System Settings” to change the following value:
  • Set the telephony provider > Skype for Business / Lync

Once this configuration has been changed, Microsoft Dynamics 365 will render phone numbers as links using the “tel” protocol. Also the Phone icon that Microsoft Dynamics 365 places on the right side of the phone number when editing a contact, triggers a call using the “tel” protocol. This protocol can be handled by the 3CX Desktop App for Windows, so you can use this client to make outbound calls from Microsoft Dynamics 365.

See Also

  • See how to integrate your CRM with the 3CX API.
  • Learn how to set up Microsoft 365 Integration.

Discuss this article

Integrate 3CX Pro with Microsoft Dynamics CRM (2024)

FAQs

What is 3CX CRM integration? ›

3CX can integrate with any CRM that has a REST API to match an email or a number to a customer account in your CRM, helpdesk or ticketing system. To match caller IDs to customers when 3CX receives an inbound call, it queries the CRM system to look up the customer name.

Does 3CX have an API? ›

The API allows for such functions as launching calls from the application, receiving notifications about call status and more.

How does Salesforce integrate 3CX? ›

Login to the 3CX Management Console and go to “Settings” > “CRM Integration” > “Server Side” tab. Select “SalesforceV2” from the dropdown list.

How does Zoho integrate with 3CX? ›

General Settings. Login to the 3CX management console > Settings > CRM Integration > Server Side tab. Select Zoho from the dropdown list.

What is better than 3CX? ›

Top 10 alternatives to 3CX includes Grasshopper, CallHippo, MightyCall, OpenPhone, AVOXI, Freshdesk Contact Center (formerly Freshcaller), Convoso, RingCentral, Bandwidth and Phone.com. Analyze a range of top Business Phone system that offer similar benefits at competitive prices.

What platform is 3CX on? ›

Although 3CX is designed as a cloud-hosted system, the PBX software can be deployed on a regular desktop PC, or even a Raspberry Pi! A hosted system is a virtual PBX hosted for you by a service provider.

What database does 3CX use? ›

3CX provides integration with SQL databases via the 3CX API for CRM. The configuration is done server side, in an easy and straightforward way.

Is 3CX better than FreePBX? ›

Regarding extensions with 3CX is far better than FreePBX. It integrates with hundreds of excellent applications and websites.

Who is the owner of 3CX? ›

He has made significant contributions to 3CX over the past 13 years. I wish him much success in the future," added Nick Galea, Founder & CEO.

How do you integrate 3CX with Microsoft teams? ›

Log in to your 3CX Management Console and go to “Settings” > “Microsoft 365 Integration” > “Teams Direct Routing” tab and check “Enable Microsoft Teams Direct Routing”. Navigate to your DNS provider and create a new A record to point to the static Public IP address of your 3CX installation.

Do you need a SIP trunk for 3CX? ›

We strongly recommend using a preferred or supported SIP Trunk service provider. The 3CX team makes sure that all templates from listed SIP Trunk Providers are updated and tested with every release ensuring no issues arise for our users. Select your country to view a list of supported SIP Trunk providers.

Does 3CX require static IP? ›

3CX prefers you have a static IP, but you can get away with a dynamic ip address. Under Settings -> Advanced- Network set it to dynamic.

How many companies use 3CX? ›

3cx.com. Used by 12,000,000 users everyday, and trusted by over 600,000 companies, 3CX truly is the no. 1global communications system! To find out more about how great 3CX will be for your business, contact BSAS - we're a platinum partner.

Is 3CX a good system? ›

Most 3CX reviews online match with our analysis, noting that it's an excellent PBX solution for small businesses. It provides users with a robust business communication system at very low per-user fees compared to alternatives like RingCentral.

Is 3CX cloud based? ›

3CX offers a cloud communications solution that gives you complete freedom of choice as to where to host your cloud PBX system, allowing you to always be in complete control of your data. You can choose to host with 3CX or in your own cloud with your choice of Cloud Provider.

Can 3CX work without internet? ›

Can 3CX work without internet? You can set up the network to function without the internet. However, not all features will be available. Video conferencing is a cloud-only feature.

Is 3CX free for life? ›

Get 3CX - Absolutely Free! Hosted or Self-managed. Up to 10 users free forever. No credit card.

Does 3CX work internationally? ›

All the standard PBX(Avaya, Alcatel, Mitel, Cisco, Huawei etc.) has to option to enable International or National or specific outbound dialing rule using a PIN or Password. Unfortunately, 3CX doesn't have this option.

Does 3CX cost money? ›

3CX Video Conferencing – Free for all users. 3CX Live Chat – Free for all users.

Can 3CX calls be recorded? ›

3CX Support

Allow caller to opt-out of being recorded: Callers can press 3 while waiting in the Call Queue to opt-out of call recording but call recording must be enabled on the extension level for the call recording to start in the first place.

How long is 3CX free? ›

Up to 10 users free forever. No credit card. Try risk free.

Where does 3CX store recorded calls? ›

Recordings are always saved in folder "C:\ProgramData\3CX\Instance1\Data\Recordings". The file name depends on the extension number, callId, etc, and can't be determined before the recording starts. You can check that folder and see some recording file names, to undertand the structure it has.

How much data does a 3CX call use? ›

All Users on the 3CX web-client

​Location 1 will require 40MB bandwidth. Bear in mind that there are likely to be many other activities (maybe even simultaneous web-meetings) using the bandwidth at the same time, so bandwidth can very quickly become saturated.

Can 3CX send faxes? ›

3CX is unable to send faxes, it can only receive them, If you want to send faxes, you need a fax machine and a ata convertor box. Use google, plenty of web based fax systems.

Is 3CX PBX free? ›

3CX is free for unlimited users and includes web conferencing, live chat, WhatsApp business messaging, business SMS, and more. Reduce your TCO by eliminating the costs associated with administering FreePBX® with a secure, flexible, zero admin solution.

Is 3CX vulnerable to Log4J? ›

3CX uses nginx so it shouldn't be affected. This is absolutely false information. Log4j has nothing to do with Apache httpd (web server). That being said, 3CX doesn't seem to use any Java at least in our local Debian-based appliance and I found no traces of Log4J being installed on it.

Is 3CX GDPR compliant? ›

With the move to remote working, 3CX has become one of the de facto communication tools, and we have the recording solution for you. Protected: Our call recording solutions are FCA, PCI DSS, MiFID II, GDPR, & HIPAA compliant out of the box. Layered with advanced security policies and features.

How old is 3CX? ›

History. 3CX was founded by Nick Galea in 2005. 3CX's first product release was 3CX Phone System which was developed and released as a free IP PBX in 2006.

How long has 3CX been around? ›

Founded in 2005, when VOIP was an emerging technology, 3CX has gone on to establish itself as a global leader in business communications.

Can 3CX track my location? ›

The powerful location-tracking feature on the 3CX Mobile Device Manager allows you to keep track of all your mobile devices and store a complete location history for each device, helping you to improve customer service and response time.

How do I connect to 3CX? ›

First Time Configuration of 3CX
  1. Step 1: Start the PBX Configuration Wizard.
  2. Step 2: Select New Install or Restore, Admin User and IP Type.
  3. Step 3: Choose an FQDN.
  4. Step 4: Select DNS Type and Ports.
  5. Step 5: Final Configuration Options.
  6. See Also.

Can you integrate with Microsoft teams? ›

Integrate Teams in your external app

You can embed your own experiences into Teams by building Teams apps. If you'd like to reverse this model and integrate Teams or other communication capabilities into your own external app experience, see Azure Communication Services.

What is CFD 3CX? ›

The 3CX Call Flow Designer (CFD) allows you to easily create call flows and voice applications visually – without requiring any programming or scripting knowledge. You can, for example, query a caller for a customer number, validate this number against a database and route the call based on customer type.

How many SIP trunks do I need 3CX? ›

If you use a SIP provider you should have 1 registration and the trunk should support 3 simultaneous calls.

What is the difference between SIP and trunk? ›

A Primary Rate Interface system, or PRI trunk, provides a physical connection to the Public Switched Telephone Network (PSTN), while a SIP trunk offers a virtual connection to the PSTN.

Can I use my own FQDN with 3CX? ›

No you can't. It's built into the 3CX. You will need to upgrade to Pro or stick to the 3CX Provided FQDN.

Does 3CX use WIFI? ›

To answer your question, we have lots of people using 3CX softphones on wifi with great results. Every wifi AP is wired however, as they should be.

What happens when 3CX license expires? ›

It doesnt expire, it reverts to the free license. You dont need a grace period because you can upgrade the license to the desired license size immediately without having to swap out any keys or do anything.

What ports do I need to forward for 3CX? ›

To allow users to use their 3CX apps remotely, on Android, iOS or Windows, you need to ensure that these ports are open: Port 5090 (inbound, UDP and TCP) for the 3CX tunnel. Port 443 or 5001 (inbound, TCP) HTTPS for Presence and Provisioning, or the custom HTTPS port you specified.

Can I text through 3CX? ›

Not only is it very personal, but messages are not monitored and customers could go for days without a reply if an agent is out of the office. SMS messages can be answered using all of the 3CX client options ranging from the desktop app to iOS and Android mobile clients.

What are the benefits of 3CX? ›

5 core benefits of 3CX phone systems for your business
  • Cost savings. Partnering with a 3CX phone provider is a great way to cut down on hardware, administration, and the costs of calls. ...
  • Ease of use. ...
  • Security. ...
  • Increased productivity. ...
  • Improved collaboration.

What does 3CX stand for? ›

According to 3CX CEO, Nick Galea, 3CX stands for Connect, Communicate, and Collaborate.

How can I improve my 3CX call quality? ›

3CX Support

Make sure that the internal codecs of the PBX are also set to the same priority. You can do so by navigating to Settings / General / Codec Priority for Local/Internal Calls. It may be a case of transcribing if PBX delivers audio is enabled on Recording is enabled under extension settings.

Can 3CX backup to OneDrive? ›

Configuring 3CX to backup to the likes of OneDrive, Google Drive, Dropbox, AWS S3, Azure Blob, etc. is a simple task that takes less than two minutes. You can also back up into Team Drives or SharePoint sites.

What is the difference between PBX and VoIP? ›

The key difference between PBX vs VoIP (Voice over IP) is that a standard PBX system uses landline telephones to send/receive calls over the PSTN network, while VoIP sends/receives phone calls over the Internet.

Does 3CX have IVR? ›

3CX has a built-in IVR which allows you to easily record and configure IVR prompts. If your IVR system will require a complex configuration and you also want to include advanced features like speech-to-text and voice recognition, then the 3CX Call Flow Designer is the perfect solution.

What is 3CX and how does it work? ›

3CX is a software-based private branch exchange (PBX) based on the SIP (Session Initiation Protocol) standard. It enables extensions to make calls via the public switched telephone network (PSTN) or via Voice over Internet Protocol (VoIP) services.

What is 3CX app used for? ›

Keep your team connected and productive even when WFH! 3CX is built for mobility with iOS and Android apps that keep your team connected without tying them to the office building. Make and receive calls using your office number, chat with co-workers or start a video call on the fly.

What is CDR in 3CX? ›

3CX Phone System has an inbuilt CDR Service that is able to log phone calls including a record that can be saved to a file, or pushed to another application instantly via TCP. The record contains various call details such as time, date, duration, source and destination numbers as well as the cost.

Who owns 3CX? ›

Nick Galea

Top Articles
Latest Posts
Article information

Author: Margart Wisoky

Last Updated:

Views: 5992

Rating: 4.8 / 5 (78 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Margart Wisoky

Birthday: 1993-05-13

Address: 2113 Abernathy Knoll, New Tamerafurt, CT 66893-2169

Phone: +25815234346805

Job: Central Developer

Hobby: Machining, Pottery, Rafting, Cosplaying, Jogging, Taekwondo, Scouting

Introduction: My name is Margart Wisoky, I am a gorgeous, shiny, successful, beautiful, adventurous, excited, pleasant person who loves writing and wants to share my knowledge and understanding with you.