When a customer rings and their name appears on the handset before anyone answers, the call gets off to a better start. Staff know who is calling, and they can dial suppliers by name instead of hunting through a spreadsheet. In 3CX this comes from the phonebook.
3CX has three kinds of phonebook: the Company phonebook, shared by everyone; Department phonebooks; and each user's personal phonebook. For customers and suppliers you want the Company phonebook. It is available in the 3CX apps and on supported, correctly provisioned IP phones.
This guide is based on 3CX V20. Menus can change between versions, so if something does not match what you see, check the current 3CX documentation. You will need an administrator account with the relevant permissions to make these changes.
Start by tidying your contacts
Whichever method you use, the phonebook is only as good as the data you put in.
- Agree one format for phone numbers, ideally international, such as +44161...
- Remove duplicates, especially the same company entered twice under slightly different names.
- Delete personal mobile numbers of staff who have left.
- Keep it to business contacts.
Think about UK GDPR as well. Business contact details can still be personal data, and everyone on the phone system can see the Company phonebook. Be clear about your lawful basis, include only what staff need to handle calls, keep entries accurate and remove contacts you no longer have reason to hold. Your privacy notice should cover it too. A phonebook entry is not permission to make marketing calls.
The simplest way: import a CSV file
If your contacts live in a spreadsheet, accounts package or CRM that can export a CSV, this is the quickest start. 3CX accepts up to 1000 entries per import, so split larger lists into several files.
The first line must be column headers, followed by one contact per line, comma separated. The headers are:
FirstName,LastName,Company,Mobile,Mobile2,Home,Title,Business,Business2,Email,Other,BusinessFax,Department,Pager
You do not need to fill every column. 3CX offers a sample CSV to download, which is the easiest way to get the layout right. Format the number columns as text before saving, otherwise spreadsheet software may strip leading zeroes or mangle international numbers.
- In the 3CX Admin console, go to System > Phonebook.
- Export the existing phonebook as a backup. Exporting with nothing selected gives you everything.
- Use the dropdown on the right to choose the Company phonebook, or a Department if the contacts only concern one team.
- Click Import and choose a small test file of a few contacts.
- Check that names and numbers landed in the right fields.
- Import the full list.
A CSV is a snapshot, so you will need to repeat it as your contacts change. Before you do, check the current 3CX documentation for whether a re-import updates existing entries or adds duplicates, and how best to remove obsolete contacts. Then test with a small file and look for duplicates afterwards.
Microsoft 365, Google and CRM integrations
If 3CX is integrated with Microsoft 365, you can keep business contacts in a shared mailbox and let 3CX pull them in. Follow the current 3CX setup instructions for the integration and check what mailbox permissions it needs, as being integrated does not guarantee access to the contacts.
- In the Admin console, go to System > Phonebook.
- Click the M365 button.
- Enable Sync Share Mailbox Contacts.
- Add the shared mailboxes that hold your contacts.
The sync covers First Name, Last Name, Company, Mobile, Home, Home 2, Business, Business 2 and Email Address. Other Outlook fields will not come across. The trade-off is that staff maintain contacts in Outlook rather than in your main system.
3CX can also sync contacts with Google and M365 accounts, and integrates with CRMs such as HubSpot, Salesforce, Zoho, Pipedrive, Bitrix24, Freshdesk, Zendesk and Kommo for caller lookup. Contact caching, under Admin > Integrations > CRM, stores CRM matches in the Company phonebook, but cached records are then visible to all users. External sync and lookup are not supported in Multi-Company (multi-tenant) mode.
Your situation may be slightly different. ask a question below ↓ and our editorial team will reply with our advice.
Using your own server or database
Plenty of small firms keep customers in an in-house system: a bespoke database, an older job management package or something a developer built years ago. The practical starting points are CSV import and a supported CRM integration.
- Regular CSV export and import. Have your system export contacts in the 3CX column format on a schedule, then import the file. It is manual at the 3CX end, but dependable and easy to understand.
- Live lookup through a CRM template. 3CX can look up callers against a compatible system with a REST API that returns a contact for a phone number. You describe that API in an XML CRM template, made with the 3CX CRM Template Generator or integration wizard. A small script on your own server can then answer lookups from your customer database. This avoids maintaining a separate CSV, but check how the integration caches and refreshes contacts, and allow for developer time to build and maintain it.
How we do it. In our office the company phonebook is published from our own system to an internal web page, and the handsets are set to fetch the phonebook from that address every hour and update themselves. Nobody has to import anything, and a new customer added in the morning shows up on the phones by the next hour. Most business handsets support a remote phonebook like this, though the file format and settings differ between makes, so check your handset's documentation. For Yealink phones, see How to Push a Company Phonebook to Yealink Desk Phones Automatically. Keep the page on your internal network, or protect it, because it holds your customer list.
Developer note: there is no officially documented API for bulk importing phonebook entries. Some people script the undocumented XAPI call the web console uses, but forum users report it can silently import nothing, and it may break between builds. It is not a sound basis for an everyday workflow.
Make sure the names actually appear
A common snag: the contacts are in the phonebook, but calls still show only a number. Usually the cause is the caller ID format. The same customer might arrive as 0161... from one carrier and +44161... from another.
In Contacts Options you can set how many digits 3CX uses to match a caller to a contact. 3CX recommends 7 digits, which copes with different prefixes. Matching on trailing digits can occasionally pick the wrong contact, though, so it is a safety net rather than a substitute for consistent formatting. The same options let you add the Department, Queue or DID name to the displayed caller ID.
Then test it:
- Ring the main number from a mobile in your contacts and check the name on a desk phone, in the 3CX app and in the web client.
- If you can, call from a number with similar final digits that is not in the phonebook, and confirm no name appears.
- Dial a supplier by name.
If a name does not appear, check the number format and the matching setting before anything else.
Ask Technology for Small Business a question
Ask our editorial team a question and we will reply with our advice. Tell us as much about your situation as you can: the more detail you give, the more useful our answer can be.
You do not need to use your real name. Please do not include your full address, phone number, email address, or the names of other people. We may edit or remove identifying details for privacy and legal reasons.
Comments are moderated before publication.