3CX Multi-Company / Multi-Tenant Setup Guide

Introduction

This guide walks you through setting up and configuring a multi-company environment within your 3CX Phone System.

Switch to Multi-Company Mode

After your 3CX is fully deployed, you can to switch it to Multi Company mode:

  • In the Admin Console, navigate to "System → Multi Company"
  • Some configurations are not compatible with Multi-Company mode:

  • if you have users in multiple departments, you will need to:
  • check each department and ensure each user listed in the Warning dialog is is assigned to ONLY one department
  • check the View tab for each user listed in the Warning dialog, and remove any permissions relating to departments that the user is not a member of

  • if you have any department publishing information to all extensions, then for each of the departments listed in the Warning dialog:
  • click on the department link
  • click the Options button for the department
  • disable the option Publish department information to all extensions
  • if enabled, you will need to disable each of Teams Integration, CRM Integration, and M365 Integration

  • When you have cleared all Warnings, you can proceed to switch on Multi Company mode; click on the Proceed button to perform the switch

Creating Companies

You have two methods for creating companies:

Manually as System Owner

Creation of Companies in a Multi-Company system is restricted to the System Owner and the System Administrator roles.

Step 1: Set Up the "Default" Department

  • In the Admin Console, navigate to "Admin → Departments"

  • Click on the Default department
  • Click on the Add button:
  • add the following system extensions:

  • *0
  • *1
  • *777
  • *888
  • SP0
  • SP1
  • click the OK button

Step 2: Create a New Company

  • In the Admin Console, navigate to "Admin → Departments":
  • Click the Add button

  • In the Add Department dialog:
  • enter the Department Name for your new company
  • select the Department Prompt Set which your company will use (for example for IVR and Voicemail prompts)
  • select the Department Language which your company will use (for notifications such as welcome emails and meeting invitations)
  • select the User Extension Range; in this example, the company will have 20 user extension numbers available in the range 3000-3019
  • select the System Extension Range; in this example, the company will have 20 system extension numbers available in the range 8000-8019
  • set the Trunk Limit to define the maximum number of trunks that the Department Owner for this company will be allowed to create
  • set the Transcription option to define whether or not to transcribe voicemails and/or recordings for your company

Step 3: Assign Shared Parking Slots to the Company

To add shared parking spaces to this new company:

  • In the Admin Console, navigate to "Admin → Departments"
  • Select your company
  • Click the Add button to add members to the company

  • In the Add Members dialog, select the Shared Parking Slots that will be assigned to the company
  • Keep in mind that Shared Parking Slots must be unique for every new company you create
  • In this example, SP2 and SP3 are being assigned to the company; these Shared Parking Slots must NOT be assigned to any other company
  • Click the OK button to confirm

Step 4: Create Users as Members of the Company

Create your users from the Admin Console by navigating to "Admin → Users" and clicking on the Add User button; you can get more information about Creating Users Extensions here

You can also import a batch of extensions from a CSV file / Spreadsheet:

  • Download a sample spreadsheet import file here
  • You can see the full list of importable fields in the document entitled Importing Extensions in Bulk
  • Here is a simplified example using a subset of the available fields:

Number,FirstName,LastName,EmailAddress,MobileNumber,OutboundCallerID,DID,Role,Department

3000,Jules,Verne,[email protected],12223334444,12224446667,12224446666,"<role name=""group_owners"" />",Company01 - ACME Ltd

3001,John,Smith,[email protected],12223334445,12224446668,12224446667,"<role name=""group_admins"" />",Company01 - ACME Ltd

3002,Johannes,Brahms,[email protected],12223334446,12224446669,12224446668,"<role name=""users"" />",Company01 - ACME Ltd

The example also shows Role assignment syntax; you can get more information about Access Roles here.

Following the import, the new company members are added to the system.

Once these steps are completed, the owner will receive an email with an explanation of how to log in to the System. From the Admin Console, the owner will be able to configure and manage the company, setting up Office hours and Holidays, managing users, Ring Groups and Queues, and also assign numbers to each one.

Keep in mind that owners and department admins only get to see and/or configure elements (users, queues, and so on) that are in their Department.

Step 5: Setup a Trunk and Call Handling for the Company

Create a SIP Trunk for this company and, from the Options tab, select the company you want to “Limit To” so this trunk can be dedicated to this company.

Similarly, you can also do this for Call Handling by creating Ring Group, Queues and IVRs and assigning them to the company directly.

Step 6: Company Phone Book

Starting with Update 8 of version 20, each company can have its own Company phonebook. These are available directly, without any special configuration. Like the main Company phone book, contacts can be uploaded via CSV or added individually. You can get more information on Company and Department Phonebooks here.

3CX Configuration API

Another way is to use our 3CX RestAPI to manage and configure your system programmatically, which is particularly useful if you need automation for company deployment.

To create an application:

  • In the Admin Console, navigate to "Integrations → API"
  • In the Service Principals page, click the Add button, and:
  • set the Client ID
  • enable the checkbox labeled Enable access to the 3CX Configuration API (XAPI) for this application
  • set the Department to Default
  • set the Role to System Owner
  • click the Save button

  • in the API Key dialog, copy the API Key and store it:
  • you will need the Client ID and the API Key for authentication

You can now manage, add, and delete programmatically all of the following:

  • Departments
  • Users
  • Call Handling
  • Live Chat
  • Configuration

You can get more information on the 3CX Configuration API here.

Last updated

This document was last updated 28 May 2026

https://www.3cx.com/docs/multi-tenant-configuration/