> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended**:
> ```bash
> npx @scalekit-inc/cli setup
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for 40+ agents.
> Features: full-stack-auth, agent-auth, mcp-auth, modular-sso, modular-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Chorus connector

Connect to Chorus.ai to sync calls, transcripts, conversation intelligence, and analytics.

**Authentication:** Basic Auth
**Categories:** CRM & Sales, AI, Automation, Transcription
1. ### Install the SDK

   
     ### Node.js

```bash frame="terminal"
npm install @scalekit-sdk/node
```

     ### Python

```bash frame="terminal"
pip install scalekit
```

   

   Full SDK reference: [Node.js](/agentkit/sdks/node/) | [Python](/agentkit/sdks/python/)

2. ### Set your credentials

   Add your Scalekit credentials to your `.env` file. Find values in **[app.scalekit.com](https://app.scalekit.com)** > **Developers** > **API Credentials**.

```sh showLineNumbers=false title=".env"
SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
SCALEKIT_CLIENT_ID=<your-client-id>
SCALEKIT_CLIENT_SECRET=<your-client-secret>
```

## What you can do

Connect this agent connector to let your agent:

- **Search users** — Search Chorus users by free-text query, e.g
- **List users, teams, conversations** — List users in the Chorus account, with optional team or role filters
- **Get user, team, engagement** — Retrieve a single Chorus user by ID
- **Filter engagements** — Search Chorus engagements (calls, meetings, and dialer activity) matching the given type, participant, outcome, and date-range criteria

## Common workflows

export const sectionTitle = 'Common workflows'

## Proxy API call

  ### Node.js

```typescript
const result = await actions.request({
  connectionName: 'chorus',
  identifier: 'user_123',
  path: '/v1/users/me',
  method: 'GET',
});
console.log(result);
```

  ### Python

```python
result = actions.request(
    connection_name='chorus',
    identifier='user_123',
    path="/v1/users/me",
    method="GET"
)
print(result)
```

## Execute a tool

  ### Node.js

```typescript
const result = await actions.executeTool({
  connector: 'chorus',
  identifier: 'user_123',
  toolName: 'chorus_list',
  toolInput: {},
});
console.log(result);
```

  ### Python

```python
result = actions.execute_tool(
    tool_input={},
    tool_name='chorus_list',
    connection_name='chorus',
    identifier='user_123',
)
print(result)
```

## Tool list

Use the exact tool names from the **Tool list** below when you call `execute_tool`. If you're not sure which name to use, list the tools available for the current user first.

## Tool list

### `chorus_conversation_get`

Retrieve a single Chorus conversation by ID, including transcript, tracker matches, participants, linked CRM account/deal, recording details, and engagement metrics.

Parameters:

- `conversation_id` (`string`, required): Unique identifier of the conversation.

### `chorus_conversations_list`

List or search Chorus conversations (calls and meetings), with optional date range, participant, team, and tracker filters.

Parameters:

- `end_date` (`string`, optional): End of the date-time range for filtering conversations (ISO 8601).
- `page_size` (`integer`, optional): Number of results per page.
- `participant_email` (`string`, optional): Filter conversations by participant email address.
- `q` (`string`, optional): Free-text search query.
- `start_date` (`string`, optional): Start of the date-time range for filtering conversations (ISO 8601).
- `team_id` (`string`, optional): Filter conversations by team ID.
- `tracker_name` (`string`, optional): Filter conversations by tracker name.

### `chorus_engagement_get`

Retrieve a single Chorus engagement by ID, including type, date, participants, duration, and outcome.

Parameters:

- `engagement_id` (`string`, required): Unique identifier of the engagement.

### `chorus_engagements_filter`

Search Chorus engagements (calls, meetings, and dialer activity) matching the given type, participant, outcome, and date-range criteria.

Parameters:

- `end_date` (`string`, optional): End of the date-time range for filtering engagements (ISO 8601).
- `outcome` (`string`, optional): Filter engagements by outcome.
- `page_size` (`integer`, optional): Number of results per page.
- `participant_emails` (`array`, optional): Array of participant email addresses to filter by.
- `start_date` (`string`, optional): Start of the date-time range for filtering engagements (ISO 8601).
- `type` (`string`, optional): Filter engagements by type, e.g. MEETING or CALL.

### `chorus_team_get`

Retrieve a single Chorus team by ID, including its member list.

Parameters:

- `team_id` (`string`, required): Unique identifier of the team.

### `chorus_teams_list`

List teams configured in the Chorus account.

Parameters:

- `page_size` (`integer`, optional): Number of results per page.

### `chorus_user_get`

Retrieve a single Chorus user by ID.

Parameters:

- `user_id` (`string`, required): Unique identifier of the user.

### `chorus_users_list`

List users in the Chorus account, with optional team or role filters.

Parameters:

- `page_size` (`integer`, optional): Number of results per page.
- `role` (`string`, optional): Filter users by role.
- `team_id` (`string`, optional): Filter users by team ID.

### `chorus_users_search`

Search Chorus users by free-text query, e.g. matching name or email.

Parameters:

- `q` (`string`, required): Free-text search query.
- `page_size` (`integer`, optional): Number of results per page.


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
