8x8 Integration - Setup Guide
Overview
PracBill integrates with 8x8 Work to automatically import Call Detail Records (CDR) so you can bill your customers based on their 8x8 usage. CDR data is pulled from the Analytics for 8x8 Work API and rated against your tariffs.
This guide covers everything an 8x8 administrator needs to do to enable the integration.
How the Integration Works
PracBill connects to 8x8 via the Analytics for 8x8 Work REST API and:
Imports CDR — Call records are pulled in scheduled cycles from the
/analytics/work/v2/call-recordsendpointMatches calls to services — Calls are matched to customer services via the caller ID, callee number, or extension
Rates calls — Imported records are rated against the tariff group configured for the customer or department
Tracks PBXes — Multi-PBX customers are supported; CDR is fetched per
pbxIdor for all PBXes
The integration is read-only — PracBill only fetches call records and does not modify anything in your 8x8 tenant.
What You Need To Provide
To enable the integration we need three pieces of information from your 8x8 tenant:
Item | Description |
|---|---|
8x8 API Key | A key generated in the 8x8 Admin Console under API Keys, for an app of type Analytics for 8x8 Work |
API Username | The username of an 8x8 user with access to Analytics for 8x8 Work |
API Password | The password for that user |
PBX ID(s) | Either a specific PBX name, a comma-separated list, or |
Time Zone | The IANA time zone the data should be queried in (e.g., |
The username and password are the same credentials the user would use to log in to Analytics for 8x8 Work in their browser. We recommend creating a dedicated user for the integration rather than re-using a real employee's account.
Step 1: Create (or Identify) the Analytics User
The API uses a real 8x8 user identity to authenticate, so you need a user with access to Analytics for 8x8 Work.
Recommended Approach: Dedicated Service User
Log in to the 8x8 Admin Console
Go to Users and click Create User (or edit an existing user reserved for integrations)
Set the username to something identifiable, e.g.
pracbill-api@yourcompany.comSet a strong password and disable expiry if your tenant policy allows it (otherwise plan to rotate the password and let us know each time)
Assign the user a licence and role that includes Analytics for 8x8 Work access
Important: Log in to Analytics for 8x8 Work as that user at least once in a browser at https://login.8x8.com — 8x8 requires this before the API will accept the credentials
Note the username and password — you'll provide them to us in Step 3.
Step 2: Generate the 8x8 API Key
The API key identifies your application to 8x8. It is generated from the Admin Console.
Log in to the 8x8 Admin Console at https://login.8x8.com
From the Application Panel, open the API Keys tile
Click Create App
For the application type, select Analytics for 8x8 Work
Name the application
PracBill IntegrationSave — 8x8 will generate a Key and a Secret
Copy the Key value — this becomes your
8x8-apikey
The Key value is what we need. The Secret is not used for Analytics for 8x8 Work but should still be kept private.
Step 3: Identify Your PBX ID(s)
PracBill needs to know which PBX(es) to pull call records for.
In the Admin Console, the PBX name is shown on each user/extension and in the PBX list
Note the exact PBX name for each PBX you want imported (it is case-sensitive)
If you want every PBX in the tenant imported, the special value
allpbxescan be used
Step 4: Provide the Credentials to Us
Please return the following details to us using a secure channel (password manager share or encrypted message — not plain email):
Item | Value |
|---|---|
8x8 API Key |
|
API Username |
|
API Password |
|
PBX ID(s) |
|
Time Zone |
|
Earliest Date | Date you want CDR backfilled from (max 2 years) |
Once we have these details we will configure the integration, run an initial backfill, and confirm with you that calls are being imported and rated.
Required Permissions
The user account used for the API needs at minimum:
Permission | Purpose |
|---|---|
Access to Analytics for 8x8 Work | Required to use the analytics API |
Visibility of all PBXes that should be imported | The user can only query PBXes their role gives them access to |
A standard analytics or supervisor role is usually sufficient. If in doubt, an analytics admin role is the simplest option.
Security & Maintenance
Credentials are stored securely in PracBill and only used to call the 8x8 API
The integration only reads call data — it cannot modify your 8x8 tenant
If you rotate the password or regenerate the API Key, please let us know immediately so we can update the configuration; otherwise CDR imports will fail
If the dedicated user is deactivated or loses Analytics access, imports will stop
The 8x8 API only retains call data for the last 2 years — historical CDR older than that cannot be retrieved
Troubleshooting
Issue | Likely Cause | Resolution |
|---|---|---|
No CDR appearing after setup | User has never logged in to Analytics in a browser | Log in to Analytics for 8x8 Work as the API user once, then re-run the import |
| Password changed, key regenerated, or user lost Analytics access | Provide refreshed credentials to PracBill |
Calls appearing for the wrong PBX | PBX ID mismatch | Confirm the exact PBX name(s) in the Admin Console |
Gaps in older call data | Calls older than 2 years are not retained by 8x8 | None — this is an 8x8 platform limitation |
Calls not matched to a customer | The caller/callee number is not assigned to a service in PracBill | Confirm the service number is set up against the correct customer |
Questions?
If you're not sure about any of the steps above — particularly around creating the API key or identifying the right PBX names — contact us and we can arrange a quick screen-share to set it up together.