3CX Integration
This integration pulls data from your 3CX PBX through the XAPI (OData) interface.
What you can sync:
- Call logs: All call history including inbound, outbound, and abandoned queue calls
- Queue performance: Statistics on queue performance, agent queue statistics, ring group statistics, and SLA metrics
- Agent activity: Agent login sessions and queue participation
- Configuration: Users, queues, and trunks configured on your PBX
Prerequisites
Section titled “Prerequisites”You’ll need:
- 3CX administrator access with permissions to create API clients
- 3CX Enterprise license - XAPI access requires an Enterprise license
- 3CX instance URL - Your 3CX FQDN (e.g.,
https://yourcompany.3cx.eu) - API client credentials - Client ID and API Key (Client Secret)
Setup instructions
Section titled “Setup instructions”Step 1: Create an API client in 3CX
Section titled “Step 1: Create an API client in 3CX”- Log in to your 3CX Admin Console
- Go to Integrations > API
- Click New to create a new API client
- Fill in the details:
- Name:
Resplendent Data - Authentication:
Client Credentials - Role: Select a role with sufficient permissions (e.g., System Owner)
- Name:
- Check XAPI Access Enabled
- Click Save
Step 2: Copy your credentials
Section titled “Step 2: Copy your credentials”After saving, copy the Client ID and API Key (this is the Client Secret).
Step 3: Connect in Resplendent Data
Section titled “Step 3: Connect in Resplendent Data”- Go to Settings → Integrations
- Find 3CX and click Connect
- Enter your 3CX URL, Client ID, and Client Secret
- Click Test Connection
Available datasets
Section titled “Available datasets”| Dataset | Description | Sync type |
|---|---|---|
| CallHistory | Full call log with durations, outcomes, and participant details | Incremental |
| InboundCalls | Inbound calls with trunk and DID information | Incremental |
| OutboundCalls | Outbound calls with trunk and cost details | Incremental |
| AbandonedQueueCalls | Queue calls that were abandoned before being answered | Incremental |
| SlaBreaches | Calls that exceeded the queue SLA wait time | Incremental |
| AgentLoginHistory | Agent login and logout sessions per queue | Incremental |
| QueuePerformance | Queue + extension level performance metrics over the last 30 days | Full sync (snapshot) |
| AgentQueueStatistics | Agent statistics per queue over the last 30 days | Full sync (snapshot) |
| RingGroupStatistics | Ring group call counts over the last 30 days | Full sync (snapshot) |
| QueueSlaStatistics | Queue SLA breach counts over the last 30 days | Full sync (snapshot) |
| QueueCallbacks | Queue callback statistics over the last 30 days | Full sync (snapshot) |
| Users | Extensions and users configured on the PBX | Full sync |
| Queues | Call queues with routing strategy and SLA settings | Full sync |
| Trunks | SIP trunks with status and configuration | Full sync |
Sync behavior and refresh rates
Section titled “Sync behavior and refresh rates”| Tier | Refresh rate |
|---|---|
| Free Forever | 60 minutes |
| Starter | 15 minutes |
| Professional / Business / Starship | 60 seconds |
Troubleshooting
Section titled “Troubleshooting”- 401 Unauthorized: Verify your Client ID and API Key (Client Secret) are copied correctly from the 3CX Admin Console.
- 403 Forbidden: The credentials are valid, but XAPI access is denied. In the 3CX Admin Console under Integrations > API, verify that “XAPI Access Enabled” is checked for this client, the assigned role has sufficient permissions (e.g., System Owner), and your PBX has an Enterprise license.
- Connection timed out: Check that your 3CX URL is correct and accessible from the internet, and that it includes
https://.