3CX Dialer for macOS
A minimal macOS desktop app that embeds the 3CX web client in a native .app
using Python + PyQt6.
It supports automatic login, clipboard dialing, language switching, and start page selection.
π§ Features
- β
Automatically logs into your 3CX web client using stored credentials
- β
Language selection: English π¬π§ and German π©πͺ
- β
Start on specific 3CX subpages: Chat, Calls, Team, Contacts, Switchboard
- β
Optional clipboard-to-dialer automation
- β
Clean native macOS app experience (no browser needed)
- β
Config reset and editing from the app menu
- β
Packaged as a
.dmg
installer for easy deployment
π¦ How to Install
- Open the
.dmg
and drag 3CX Dialer into your Applications folder.
- The first time you launch the app:
- Right-click β Open
- Confirm the Gatekeeper warning (required because the app is not notarized by Apple)
π§ͺ Usage
π First Launch
You'll be prompted for:
- Your 3CX extension number
- Your password
- The full 3CX web URL (e.g.
https://pbx.company.com/webclient
)
- A custom window title (optional)
- Your preferred language
- Your starting page (Team, Chat, Call History, etc.)
All values are stored locally in ~/Documents/3cx_app/config.json
.
π After Launch
- The app auto-fills your credentials and logs in after the web client loads.
- If clipboard automation is enabled, phone numbers copied to your clipboard will trigger a dial attempt.
β οΈ Gatekeeper warning is expected unless the app is notarized. Right-click β Open β Confirm the first time.
π Supported Pages
You can configure the app to start on any of the following sections:
- Team
- Chat
- Call History
- Switchboard
- Contacts
π Language Support
- English (
EN
)
- Deutsch (
DE
)
π Config & Reset
User data is stored here:
bash
~/Documents/3cx_app/config.json
π Built With
- Python 3.11+
- PyQt6
- PyQt6-WebEngine
- Briefcase by BeeWare