How can I create extensions in bulk?
3CX administrators need to plan ahead on how to construct their 3CX Phone System. Now it is very time consuming to create 1 extension at a time for each user, with their settings and provisioning. There is a very simple way to achieve this – creating a .csv file and importing it. You can create any number of extensions in seconds.
You can download a sample import file in Microsoft Excel format for 3CX Phone System Version 10
You can also download sample import files for 3CX PhoneSystem V8 and 3CX PhoneSystem V9.
Download this sample file and create your PBX configuration to your specifications. Each column is hardcoded in the 3CX Import function and the position of the column must remain as is. The spreadsheet provides the structure of the columns and how they should be named in Row 1. Row 2 contains an example which will create an extension with provisioning.
A total of 28 fields are allowed as part of the import process. They start from column1 Left to right. Extension number is always first.
The table below explains the field requirements and importer expectations. This matches all the fields available for 3CX Phone System Version 10
| Field | Info / values | Version | Enable | Disable |
| Extension number | Extension number to be assigned | 10 | ||
| First Name | Users first name (max 50) | 10 | ||
| Last Name | Users last name (max 50) | 10 | ||
| Email address | Users email address (max 255) | 10 | ||
| Extension ID | The Login ID for the extension | 10 | ||
| Extension Password | The Password for the extension | 10 | ||
| Enable Voicemail | Do you want to enable voicemail | 10 | 1 | 0 |
| Play Caller ID | Play Caller ID in Voicemail | 10 | 1 | 0 |
| Read date / time | Read date and time of Voicemail 0 do not read 1 read in Am/PM format 2 Read in 24 hour format |
10 | ||
| PIN Number | The Voicemail PIN and VOIP Client password | 10 | ||
| Email options | How to notify users of voicemail0= no email notification 1= send email not only 2= send vmail as attachment 3= send as attachment and delete from Mail box |
10 | ||
| Busy Detection | What will determine the extensions busy status0= Use phone status 1= Use PBX status |
10 | 1 | 0 |
| User Status | Assign the user status 0 Available, 1 away, 2 out of office, 3 custom 1, 4 custom 2 | 10 | ||
| Queue Status | Assign the queue login status when phone is booted0= logged out 1= logged in |
10 | 1 | 0 |
| Outbound Caller ID | What number should appear on outbound calls made by the user. (max 50) | 10 | ||
| SIP ID | The direct SIP ID for the user (max 50) example sy | 10 | ||
| PBX deliver audio | Should the PBX handle all audio transmission | 10 | 1 | 0 |
| Supports Reinvites | Does the extension support reinvites | 10 | 1 | 0 |
| Supports Replaces | Does the extension support replaces | 10 | 1 | 0 |
| Disable external | Disable external calls | 10 | 1 | 0 |
| Record all call | Record all calls | 10 | 1 | 0 |
| Disable extension | Disable extension completely | 10 | 1 | 0 |
| MAC address | MAC address of the extension (max 12) | 10 | * | |
| Phone model | The make and model of the phone as it appears in the dropdown. This MUST be copied exactly as seen in the dropdown for PHONE MODEL
—- Aastra TipTel 28xs
TipTel 280
TipTel 284
TipTel 286
Yealink |
10 | * | |
| Interface | Specify the IP on which the phone shall request the provisioning file | 10 | * | |
| UNUSED | LEAVE THIS COLUMN BLANK – will be used later | 10 | ||
| MobileNumber | Extension’s Mobile Number | 10 | ||
| tcxprovisioningtunnel | Provision 3CX Assistant / Phone with Tunnel Functionality | 10 | 1 | 0 |
*These fields are all required for provisioning. Failure to input one field, or with incorrectly formatted data will bypass the whole provisioning procedure.
Notes
- Once you had updated the .CSV file with all your entries, you will need to delete the header row and the example in the extension template file and save the file as a .CSV
- If the extension number already exists in the 3CX Phone System, the existing extension settings shall remain intact without any changes or updates. This is by design therefore you cannot edit an existing extension using the import function. If you want to make an edit you need to delete the extension and then re-import it otherwise edit the changes manually.
- Provisioning information will be generated only if the file name in column 24 is exactly identical to the file names provided in this article. You can check any other phones we add as we release newer versions. The naming convention has to be the same as it is shown in the Extensions section / Provisioning Tab / Model Dropdown.
- Provisioning information will not be generated if the IP Address Interface in field 25 does not match a valid IP on which the phone shall request the provisioning file. So this entry must match one of the entries shown in the Extensions section / Provisioning tab / Select interface dropdown.
- It is normal when you import the sample template file to get an error Line 1. This is because of the excel sheet column headers. You can safely ignore this message.
What about existing installations of 3CX with 50 or more extensions.
There is no export function to export extensions defined and make editing.
The ability to create a template extension in 3CX and apply to many selected existing extensions is also welcome (Specially for settings like enable/diasble external calls, status, queue,..)
What you can do is
you have a master template file with your 50 extensions.
Delete the 50 extensions
Make the edits you need and re-import them.