Deploy 3CX Softphone App via AD Group Policy
Introduction
The new 3CX Softphone for Windows can be centrally deployed to domain-joined PCs using Active Directory Group Policy (GPO). This guide shows how to host the MSIX package on a network share, create and link a compute-based GP, and use a startup PowerShell script (sample provided by 3CX) to install the application automatically on your Windows 11 clients.
Prerequisites
- Windows Server 2025, fully updated.
- Client PCs on Windows 11, fully updated.
- Download the latest 3CX Softphone MSIX from the provided link here.
- A PowerShell deployment script is required. 3CX provides a sample script you can use or modify.
Create a Distribution Point
- Log on to the server as an Administrator
- Create a shared network folder that will be used for the distribution of the application
- Set read access for the users or computers that package will be distributed to
- Copy the 3CX Softphone MSIX and PowerShell script in the shared folder
Create a Group Policy Object
- Open Start menu > “Group Policy Management”
- Expand Forest: [your forest] > Domains > [your domain]
- Right-click on “Group Policy Objects” and select “New”
- Enter a name for your policy (e.g. 3CX Softphone) and leave Source Starter GPO as “(none)”
Assign an MSIX Package
- Expand “Group Policy Objects”, right-click on your previously created policy and select “Edit..”
- Expand “Computer Configuration > Policies > Windows Settings > Scripts (Startup/Shutdown)”
- Double click on Startup > PowerShell Scripts > Add > Browse and locate the script from the shared network drive where the 3CX Softphone MSIX is also located
- On the existing Group policy navigate to User Configuration > Policies > Windows Settings > Scripts (Logon/Logoff)
- Double click on Logon > PowerShell Scripts > Add > Browse and locate the script from the shared network drive where the 3CX Softphone MSIX is also located
- In the Group Policy Management left panel, right-click on [your domain] and click on “Link an existing GPO...”
- Select the previously created policy and click OK
Install Application to Domain Computers
- On a domain computer, on the next restart, the updated group policies will be deployed
- In case that is not applied, users can force the update by running ‘’gpupdate /force“. On prompt to restart, they should type “Y” to proceed
Additional: Command-line Argument support
The following command-line options are currently supported:
- --restore-defaults, -R: Restores all CLI-configurable settings to their default values. If additional options are provided, they are applied after defaults are restored.
- --host: Pre-load the PBX URL when provisioning manually via credentials or 2FA.
- --echo-cancellation, -e: Enable or disable echo cancellation (true | false).
- --ringer-volume, -r: Set the ringer volume (25, 50, 75, 100).
- --mic-gain, -m: Set microphone gain (100–400).
- --crm: Enable or disable CRM integration (true | false).
- --crm-action: Set CRM integration behavior (OpenBrowser | OpenApp).
- --crm-exe-path: Define the executable path for CRM integration.
- --crm-exe-params: Define parameters passed to the CRM executable.
- --crm-notify-when: Set when CRM notifications are triggered (Ringing | Connected).
- --tapi: Enable or disable TAPI integration (true | false).
- –provision-via-desktop-app: Migrate existing Desktop app account to the new Softphone
Note: For settings to apply successfully, the Softphone client must be installed and fully closed before running commands. Executing the commands will automatically launch the application. Administrators deploying these settings via scripts should terminate any existing instance beforehand. Example PowerShell command: Stop-Process -Name "3CXSoftphone" -Force
Full PowerShell Example:
Start-Process "shell:AppsFolder\3CXDMCC.3CX_bhm4yemhnd70e!App" -ArgumentList "--host https://my3cxpbxurl.domain.tld --echo-cancellation true --ringer-volume 50 --mic-gain 250 --crm true --crm-action OpenApp --crm-exe-path ""C:\Program Files\App.exe"" --crm-exe-params ""%CallerNumber% %CallerDisplayName%"" --crm-notify-when Connected --tapi true"
See also
Last Updated
This document was last updated on 27 July 2026