canonical: https://jentic.com/apis/chorus.ai/chorus

# Chorus API

Jentic publishes the only available OpenAPI specification for Chorus API, keeping it validated and agent-ready. Chorus.ai is a conversation intelligence platform owned by ZoomInfo that records, transcribes, and analyses sales calls and customer meetings. The API exposes call records, full transcripts, and AI-generated insights - themes, objections, talk-time ratios, and competitor mentions - so revenue teams can pipe call data into CRMs, coaching tools, and analytics dashboards. The endpoints are read-only and authenticated via an API key in the Authorization header.

## For AI agents

Retrieve sales call recordings, transcripts, and conversation insights from Chorus.ai for revenue intelligence and coaching workflows.

## Scope

Does not handle live call recording, dialer functionality, or outbound sales outreach - use for reading recorded calls, transcripts, and insights only.

## Capabilities

- List recorded sales calls with metadata via /calls
- Retrieve a specific call by ID through `/calls/{callId}` with participant and recording detail
- Pull a full call transcript with speaker labels and timestamps from `/transcripts/{callId}`
- Surface conversation insights such as themes, objections, and competitor mentions via /insights
- Feed call analytics into CRMs, coaching dashboards, and revenue intelligence pipelines

## Use cases

### CRM Call Logging Integration

Sync recorded sales calls and their transcripts back into the CRM so reps and managers can see conversation history alongside the deal record. The /calls and `/transcripts/{callId}` endpoints provide the raw data; an integration job reads new calls, attaches transcripts to the related opportunity, and writes a summary note. This is the standard pattern for closing the loop between conversation intelligence and pipeline data.

Example prompt: List calls from /calls in the last 24 hours, fetch each transcript via `/transcripts/{callId}`, and post the summary to the related CRM opportunity

### Sales Coaching and Review

Sales managers identify coaching moments by pulling transcripts of specific calls and reviewing how reps handled objections, pricing questions, or competitor mentions. The /insights endpoint surfaces these moments programmatically - themes, talk-time ratios, and mentioned topics - so a coaching app can highlight calls that need review without a manager listening end-to-end.

Example prompt: Fetch /insights for the last 7 days and surface calls where competitor mentions exceed 3 occurrences

### Revenue Intelligence Reporting

Revenue operations teams build dashboards that aggregate call activity - number of calls per rep, average duration, themes discussed - into weekly performance reports. The /calls endpoint provides the activity feed and /insights provides the qualitative layer. This lets RevOps measure conversation patterns alongside pipeline velocity in one view.

Example prompt: Aggregate /calls counts and /insights themes by rep for the last week and emit a weekly RevOps summary

### Agent-Driven Deal Briefing

An AI agent preparing a sales rep for an upcoming call calls Chorus through Jentic to summarise prior conversations with the same account. The agent searches Jentic for 'get sales call transcript', loads the transcripts operation, and pulls the last few calls so it can produce a concise pre-call briefing without the rep manually scrubbing through Chorus.

Example prompt: Search Jentic for 'get sales call transcript', load `/transcripts/{callId}`, and summarise the last three calls for an account into a briefing

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/calls` | List recorded calls |
| GET | `/calls/{callId}` | Get a specific call |
| GET | `/transcripts/{callId}` | Get the transcript for a call |
| GET | `/insights` | Get conversation insights |

## Key resources

- **Calls** — List and retrieve recorded sales calls with metadata
- **Transcripts** — Full speaker-labelled transcripts of recorded calls
- **Insights** — Conversation themes, objections, and competitor mentions

## Why Jentic

- **Setup:** Wiring Chorus by hand means handling its Authorization header key and sequencing calls across calls, transcripts, and insights yourself. Through Jentic you install once, import the Chorus API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Chorus puts the call id in the URL path (`/calls/{callId}` and `/transcripts/{callId}`), so a rule can pin your agent to one call: it reads that call and its transcript and nothing else. Every Chorus operation here reads data, so the agent only retrieves recorded calls, transcripts, and insights.
- **Credential handling:** Your Chorus API key is stored once, encrypted, by your own Jentic One instance and injected into the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get a sales call transcript' or 'read call insights', and Jentic returns the matching Chorus operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Gong** — Conversation intelligence platform with call recording, transcription, and revenue analytics
- **Fireflies** — Meeting transcription and search platform for general business calls
- **Salesloft** — Sales engagement platform that orchestrates the outreach producing the calls Chorus records

## FAQ

### Why is there no official OpenAPI spec for Chorus API?

Chorus.ai does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Chorus API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Chorus API use?

Chorus uses an API key passed in the Authorization header on each request. Through Jentic, the key is stored encrypted in the vault and never enters the agent's context - the agent receives a scoped reference rather than the raw token.

### Can I get call transcripts from Chorus through the API?

Yes. The `/transcripts/{callId}` endpoint returns the full speaker-labelled transcript for a given call ID, including timestamps, which you can use for downstream summarisation, coaching, or CRM logging.

### What conversation insights are available?

The /insights endpoint surfaces machine-derived signals from Chorus's conversation analysis - themes discussed, objections raised, competitor mentions, talk-time ratios, and other call-level metrics that can be used to prioritise coaching and reporting.

### What are the rate limits for the Chorus API?

Specific limits are not declared in the OpenAPI spec. Chorus enforces request throttling at the account level; honour the standard 429 backoff pattern and check your account dashboard for current quotas.

### How do I get a call transcript through Jentic?

Run pip install jentic, search for 'get sales call transcript', load the `/transcripts/{callId}` operation, and execute with the call ID. Jentic injects the Authorization header from the vault and returns the parsed transcript.

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

Yes. Jentic One is self-hosted, so your own rules decide which Chorus operations and credentials your agent may use. Because Chorus puts the call id in the URL path for `/calls/{callId}` and `/transcripts/{callId}`, you can pin the agent to a single call so it reads only that call and its transcript and nothing else. Every operation here is read-only, so the agent can retrieve recorded calls, transcripts, and insights via /insights but can never write, delete, or change anything.
