Office / CRM / Database Integration
On this topic
3CX includes a phonebook to manage both company and personal contacts. It is possible to import contacts to the phonebook, or one can link the phonebook to an external data source such as Exchange, LDAP or an ODBC database.
Besides allowing easy dialing of contacts, the phonebook enables you to match incoming calls to customer names, so that callers are shown with their customer name, rather than their caller ID.
The phonebook is synchronized with the 3CX clients and also across the IP Phones.
Import & Export of Phonebook Entries
You can import phonebook entries from a CSV file with each entry on a single line and the fields separated by a comma, as follows:
“First name, Last name, Company, Mobile, Mobile2, Home, Home2, etc”
You can download a sample phonebook.csv and populate it with your phonebook entries. To import the company phonebook entries into the 3CX Phone System log in the 3CX Management Console:
- Click on the “Contacts” function and select “Import”.
- Browse your saved CSV file, select it and click “Open”.
- Your company phonebook entries are imported into the 3CX phonebook.
To export entries from the 3CX Contacts to a CSV file:
- Click on the “Contacts” function and select “Export”.
- Enter the target CSV file and click “Save”.
- Your 3CX phonebook entries are exported into the CSV file.
Note: A maximum of 1000 records can be imported per CSV file.
Caller ID to Customer Matching
Use the “Contacts” > “Options” dialog to configure options relating to caller ID to contact matching:
- Specify the exact or minimum number of matching digits for caller ID. By default 3CX matches at least 6 digits to a phonebook entry to consider it a match.
- Specify caller ID display on your IP Phone: First Name, Last Name or vice versa.
- Specify if the caller name should be appended, prepended or not.
Synchronising with Exchange Server (PRO)
The 3CX Company Directory Service connects the 3CX Phonebook with Microsoft Exchange Server 2013 SP1, 2016 and Office 365 (with Exchange) to import Exchange contacts to either the company or the personal phonebook. You can select a public directory or personal contacts to synchronize.
3CX connects to a Microsoft Exchange Server via an “Impersonated User Account” and imports all Exchange contacts. After this initial import, the connector syncs with the Exchange Server once per day at 4am to check for new contacts, updates to existing contacts and deleted contacts.
- The contact sync process is one way only: from Exchange to 3CX. After setting up the sync process, any contact updates need to be performed on the Exchange level, as the 3CX Phone System does not allow editing of imported contacts.
- Exchange server synchronization limits 3CX to browse only up to 500 objects.
Configuring the Exchange Connector (MS Exchange Sync)
To configure the synchronization of 3CX Phone System with Microsoft Exchange, you first need to “Create an Impersonated Microsoft Exchange User Account” and then proceed with these steps:
- Log in to the 3CX Management Console, select the “Contacts” function and click on the “Office 365” button.
- Fill in the following fields:
- Full FQDN to OWA of the Exchange Server - Office 365 users need to use “https://outlook.office365.com/owa”.
- Insert the impersonated account details in the “Impersonated User Account” and “User Account Password” fields.
- To populate the company phonebook with contacts from a public folder, enter the path to the public folder. For example: “company / contacts”.
- To synchronise a user’s personal phonebook with their Exchange personal contact folder, add the user’s email in the emails to sync section.
- Select what to sync with 3CX:
- Mailboxes: Select the email address and/or the public folders that you want synchronized from the “Sync Users” and click “Apply”.
- Public Folders: Enter the path to the public folder. Use the writing form for a contact as “Company / Contacts” for a contact folder located in the folder company. Note that contacts in the Exchange root directory (e.g just company) cannot be synced.
To review the synchronization status of Exchange contacts with 3CX, go to the “Contacts” function: Exchange contacts are listed with “Office 365” as “Contact Type”.
Information on Local Exchange Server and Linux based 3CX
If you plan on synchronizing 3CX to MS Exchange from a Linux based OS, the following additions in the configuration apply:
- Local Exchange Server cannot be used when a self signed certificate is present by the IIS Web Services. Only publicly trusted certificates are allowed.
- Linux cannot work with the “Windows Authentication”, so these changes need to be applied in the authentication section in the IIS virtual directory for EWS:
- “Windows Authentication”: Disable
- “Basic Authentication”: Enable
Important: The system administrator needs to validate these changes and their effect to other services connecting to the EWS service.
Exchange Calendar Profile Switching
After the successful configuration of the synchronization with MS Exchange, you can automatically change the extension status, based on the Outlook calendar status (requires Exchange version 2013 SP1, 2016 or Office 365 with Exchange). If you have scheduled appointments where your “Show As” status is set to “Working Elsewhere” or “Away”, then your status in 3CX Phone System automatically changes to “Do Not Disturb” or “Away” respectively.
To enable this feature, select “Contacts” > “Office 365” and check the “Presence Integration > Set 3CX status to away” checkbox. You can find more info on this process in how to use Exchange calendar status synchronization.
Configuring LDAP Directory Search (PRO, Windows Only)
LDAP (Lightweight Directory Access Protocol) Directory Search can connect to an external LDAP directory server, which must be a Microsoft Active Directory. When an incoming call is received, 3CX queries the LDAP server and looks for a contact match. If a match is found, the contact is automatically added to the 3CX Company Phonebook and the contact information is displayed for SUBSEQUENT calls made by this caller. The matching process is not possible for the first call, as LDAP is not a real-time protocol and queries cannot be performed quickly enough so as not to delay inbound call processing.
To Configure LDAP Directory Search with 3CX Phone System:
- In the 3CX Management Console, click on “Contacts” and then “LDAP”.
- Specify the LDAP server IP address or FQDN and the port number - default is 389.
- Enter the Username and Password.
- Now enter the LDAP search base. In this example we used “OU=User, DC=test, DC=local” which means that the LDAP search will take place in the User contacts container, in the “test.local” domain.
- Now specify the TTL, i.e. the number of days that these contacts are kept in the 3CX Phone Book - default is 1 year.
- When you receive a call, 3CX Phone System tries to match with entries in the 3CX Company Phonebook and if a match is not found, it contacts the LDAP server. If an LDAP match is found, it is automatically added to the 3CX Company Phonebook for the next call.
Configuring ODBC Database Search (PRO, Windows Only)
The 3CX Phone System (PRO on Windows) includes an ODBC search function that enables connections to any data source accessible via an ODBC driver. In this way any database driven ERP or CRM can import contact data from the shared database when an incoming call is received. See our detailed step-by-step configuration guide on how to setup company directory synchronization - ODBC search.
- See how to create an impersonated Microsoft Exchange user account.
- Find a full guide on how to use Exchange calendar status synchronization.