Skip to main content

Getting Started

BETA

The Contact Center Campaigns API is currently in Beta. See the Overview for details.

This guide walks through a minimal end-to-end flow: build a campaign, start it, add a record, and pause it. Each step links to the endpoint reference for full request and response detail.

Prerequisites​

You will need:

  1. Your 8x8 tenant name (not the customer site — see below)
  2. An Admin Console API Key with the Contact Center Campaigns API Product attached to its app — see Authentication
  3. An existing dynamic campaign — create and configure the campaign in Contact Center Configuration Manager first, and note its campaign ID
  4. Your customer site identifier — one of US1, US2, or UK3, based on your tenant configuration

Base URL​

All requests use the following pattern:

https://api.8x8.com/cc/{customer-site}/campaigns/v1/{campaignId}

Where {customer-site} is your tenant's customer site:

Customer siteRegion
US1US East
US2US West
UK3UK

📘 Customer site vs tenant name

The {customer-site} value identifies the region your tenant is deployed in and appears in the URL path. Your tenant name is a separate value sent in the X-8x8-Tenant request header. If you're unsure of either value, contact 8x8 support.

Required headers​

Every request must include:

X-API-Key: eght_your_admin_console_key
X-8x8-Tenant: your-tenant-name

Any request with a body must additionally include:

Content-Type: application/vnd.campaigns.v1+json

Quick start​

Step 1 — Build the campaign​

Call PATCH /campaigns/{campaignId} with action: "BUILD". The campaign moves CREATED → BUILDING → READY. BUILDING is transient — wait a few seconds before the next step (future API enhancements will have an API to poll, to confirm when the Campaign has finished building).

📘 Build-and-start in one call

Steps 1 and 2 can be collapsed into a single request by sending action: "START" with buildOnStart: true from CREATED.

Step 2 — Start the campaign​

Once the campaign is in READY, call PATCH /campaigns/{campaignId} with action: "START". The campaign moves to RUNNING — or to PENDING first if a future startTime is configured, transitioning to RUNNING when its scheduled window opens.

Step 3 — Add records​

Call POST /campaigns/{campaignId}/records with a records array of 1-100 entries. Each record needs at minimum a crmRecordId (your identifier, unique within the campaign); priority, scheduleAt, and rank are optional.

Record addition is atomic — if any record in the batch is invalid or its crmRecordId collides with an existing one, the whole request is rejected and nothing is persisted.

Step 4 — Pause the campaign​

Call PATCH /campaigns/{campaignId} with action: "PAUSE". Resume with "RESUME", or end the campaign early with "CANCEL".

Next steps​

Need help?​

  1. Check the Troubleshooting guide
  2. Confirm the Admin Console API Key has the Contact Center Campaigns API Product attached
  3. Contact 8x8 support for credentials or access issues