8x8 Integration - Setup Guide

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-records endpoint

  • Matches 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 pbxId or 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

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 allpbxes to import every PBX in the tenant

Time Zone

The IANA time zone the data should be queried in (e.g., Australia/Melbourne)

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

  1. Log in to the 8x8 Admin Console

  2. Go to Users and click Create User (or edit an existing user reserved for integrations)

  3. Set the username to something identifiable, e.g. pracbill-api@yourcompany.com

  4. Set a strong password and disable expiry if your tenant policy allows it (otherwise plan to rotate the password and let us know each time)

  5. Assign the user a licence and role that includes Analytics for 8x8 Work access

  6. 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.

  1. Log in to the 8x8 Admin Console at https://login.8x8.com

  2. From the Application Panel, open the API Keys tile

  3. Click Create App

  4. For the application type, select Analytics for 8x8 Work

  5. Name the application PracBill Integration

  6. Save — 8x8 will generate a Key and a Secret

  7. 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.

  1. In the Admin Console, the PBX name is shown on each user/extension and in the PBX list

  2. Note the exact PBX name for each PBX you want imported (it is case-sensitive)

  3. If you want every PBX in the tenant imported, the special value allpbxes can 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

Item

Value

8x8 API Key

( from Step 2 )

API Username

pracbill-api@yourcompany.com

API Password

( from Step 1 )

PBX ID(s)

( from Step 3 — single name, comma list, or "allpbxes" )

Time Zone

Australia/Melbourne (or your IANA 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

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

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

401 Unauthorized errors in the import log

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.