canonical: https://jentic.com/apis/googleapis.com/contactcenterinsights

# Google Contact Center AI Insights API

Google Contact Center AI Insights API turns recorded customer conversations into structured analytics. It ingests audio or transcript files, runs speaker diarisation, transcription, sentiment, entity, and topic detection, and surfaces the results as conversation, analysis, and issue model resources. Operators can build issue models that auto-classify calls, extract phrase matchers and smart highlighters, and run aggregate metric queries across millions of conversations. The API is region-scoped and supports both batch upload and streaming ingestion patterns.

## For AI agents

Upload contact centre conversations and let an agent retrieve transcripts, sentiment scores, detected issues, and aggregate metrics for analytics workflows.

## Scope

Does not place calls, route conversations, or run live agent assistance - use only for retrospective analysis, transcription, and metrics over recorded conversations.

## Capabilities

- Ingest audio recordings or pre-existing transcripts as conversation resources
- Run analyses that produce transcription, diarisation, sentiment, and entity data per conversation
- Train issue models that automatically tag conversations with recurring topics
- Define phrase matchers to flag calls containing specific compliance language
- Query aggregate metrics such as average sentiment, talk ratio, and silence duration
- Export conversation data and analyses to BigQuery for downstream BI
- Manage views and saved queries for analyst dashboards

## Use cases

### Compliance Call Auditing

A regulated contact centre uploads every recorded call to CCAI Insights and runs analyses with phrase matchers tuned to required disclosures and prohibited language. Conversations missing a required phrase are flagged for human review. The API surfaces both per-conversation hits and aggregate compliance rates.

Example prompt: Upload conversation 'call-2026-06-10-9921', run an analysis with the 'mandatory-disclosure' phrase matcher, and return whether the disclosure was detected.

### Issue Model Driven Topic Discovery

A support team trains an issue model on a representative sample of last quarter's conversations to discover the recurring root causes of escalations. CCAI Insights returns issues with statistics, sample conversations, and trends over time. The team uses the output to redirect macros, scripts, and self-service flows.

Example prompt: Calculate issue model stats for 'support-q2-model' and return the top five issues by conversation count.

### Live Sentiment Dashboard

An analytics dashboard queries CCAI Insights every minute to refresh average sentiment, silence ratio, and longest hold time across the past 24 hours. The queryMetrics endpoint returns aggregates by location, agent, or issue. Dashboards built on top spot agent coaching opportunities while shifts are still in progress.

Example prompt: Query metrics for the last 24 hours grouped by agentId and return the three agents with the lowest average customer sentiment.

### BigQuery Export for BI

Daily, an automation triggers conversations.bulkAnalyze and then exports completed conversations to BigQuery. Analysts join the exported tables with CRM data in Looker Studio to attribute revenue impact to call topics. CCAI Insights handles transcription, redaction, and structured analysis upstream.

Example prompt: Trigger bulkAnalyze on all conversations created yesterday, then export them to BigQuery dataset 'support_analytics'.

### AI Agent Conversation Lookup

A customer service AI agent, when handling an inbound chat, asks Jentic to fetch the customer's last call transcript and sentiment from CCAI Insights so it can pick up context. Jentic isolates the Google service account credential and returns only the matching conversation resource.

Example prompt: Find the most recent conversation for customer 'cust-554', return the transcript and the customer sentiment score.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /v1/{+parent}/conversations | Upload a new conversation |
| POST | /v1/{+location}/conversations:calculateStats | Calculate aggregate stats over a filtered set of conversations |
| POST | /v1/{+issueModel}:calculateIssueModelStats | Compute stats for a trained issue model |
| POST | /v1/{+location}:queryMetrics | Query aggregate metrics across conversations |
| GET | /v1/{+name} | Get a conversation, analysis, or issue model resource |

## Key resources

- **Conversations** — Individual call or chat sessions with audio, transcript, and metadata
- **Analyses** — Per-conversation outputs including sentiment, entities, topics, and silence ratios
- **Issue Models** — Trained classifiers that auto-tag conversations with topic categories
- **Phrase Matchers** — Rule-based detectors for required or prohibited language in calls
- **Views** — Saved filter sets used to power dashboards and segment metric queries

## Why Jentic

- **Setup:** Wiring Contact Center AI Insights by hand means setting up Google OAuth, minting short-lived cloud-platform access tokens from a service account instead of shipping a long-lived JSON key, and pointing at the contactcenterinsights.googleapis.com host. Through Jentic you install once, import the Contact Center AI Insights API from the API Directory, store the Google credential once, and your agent calls it.
- **Permission scoping:** The API carries the location and conversation id in the URL path (/v1/{location}/conversations and /v1/{name}), so a rule can pin your agent to one location or conversation resource. You choose the operations it may call, so it can create conversations and calculate stats while operations you leave out stay unavailable.
- **Credential handling:** Your Google service account credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'analyse customer call sentiment' or 'calculate conversation stats', and Jentic returns the matching Contact Center AI Insights operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Contact Center AI Platform API** — Provisions the contact centre tenant whose conversations Insights analyses
- **Dialogflow API** — Provides live virtual agent conversations that Insights can later analyse
- **Google BigQuery API** — Destination warehouse for exported CCAI Insights conversations

## FAQ

### What authentication does the CCAI Insights API use?

The CCAI Insights API uses Google OAuth 2.0 with the cloud-platform scope. Through Jentic the service account credentials are stored encrypted in your Jentic One instance and short-lived access tokens are minted per request.

### Can I run sentiment analysis on existing transcripts with CCAI Insights?

Yes. Upload the transcript text as a conversation resource, then call conversations.create followed by analyses.create. CCAI Insights will run sentiment, entity, and topic detection without needing the original audio.

### What are the rate limits for the CCAI Insights API?

CCAI Insights enforces per-project quotas on conversations.create, analyses.create, and queryMetrics, with stricter caps on bulk analyse jobs because they spawn long-running operations. Inspect the Cloud Console Quotas page for the exact per-method limits in your project.

### How do I calculate issue model stats through Jentic?

Run pip install jentic, search Jentic for 'calculate ccai issue model stats', load the schema for issueModels.calculateIssueModelStats on contactcenterinsights.googleapis.com, and execute it with the issueModel resource name.

### Does CCAI Insights store the raw call audio?

CCAI Insights references audio you provide via Cloud Storage URIs and writes its own transcript and analysis resources. You retain control of the original audio in Cloud Storage and can apply lifecycle rules independently.

### Can I limit what my agent is allowed to do with the CCAI Insights API?

Yes. Because you run Jentic One self-hosted, your own rules decide which CCAI Insights operations and which Google credential the agent may use. Since the API carries the location and conversation id in the URL path, you can pin the agent to a single location or conversation resource, and you choose the exact operations it may call, so it can create conversations and calculate stats while any operation you leave out stays unavailable. The stored Google service account credential is injected only at execution time and never enters the agent's prompt or logs.
