> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended** (the `-y` flags skip prompts, so the command runs without an interactive terminal):
> ```bash
> npx -y @scalekit-inc/cli setup -y
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup -y
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for other Agent Skills-compatible agents in `~/.agents/skills`.
> Skills: integrate-agentkit, implement-saaskit, add-mcp-oauth, implement-sso, implement-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Connect AI agents to Dialpad

The Dialpad connector lets your AI agent act in each user's Dialpad account. Each user signs in to Dialpad once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 112 tools.

**Authentication:** OAuth 2.0
**Categories:** Communication
**Tools:** 112: 68 read, 42 write, 2 destructive
**Users sign in with:** OAuth
**OAuth app:** Your own Dialpad app
**Built by:** Scalekit connector
**Try it:** [Playground in the Scalekit dashboard](https://app.scalekit.com/ws/signup?sk_intent=playground&provider=DIALPAD)

## Setup

1. ### Install the SDK

   **Node.js**

   ```bash
   npm install @scalekit-sdk/node dotenv
   ```

   **Python**

   ```bash
   pip install scalekit-sdk-python python-dotenv
   ```

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 title=".env"
   SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
   SCALEKIT_CLIENT_ID=<your-client-id>
   SCALEKIT_CLIENT_SECRET=<your-client-secret>
   ```

3. ### Create the Dialpad connection

   In **AgentKit > Connections**, create a Dialpad connection and copy its redirect URI. The name you give it is the `connection_name` your code passes. See [Configure connections](/agentkit/connections/).

4. ### Register an OAuth app

   Dialpad connections use your own OAuth app. Register one with Dialpad and add the redirect URI you copied.

   Then enter the app's Client ID and Client Secret on the Dialpad connection.

5. ### Authorize a user and make your first call

   **Node.js** (`quickstart.mts`)

   ```typescript
   import { ScalekitClient } from '@scalekit-sdk/node'
   import 'dotenv/config'
   import { createInterface } from 'node:readline/promises'

   const scalekit = new ScalekitClient(
     process.env.SCALEKIT_ENVIRONMENT_URL,
     process.env.SCALEKIT_CLIENT_ID,
     process.env.SCALEKIT_CLIENT_SECRET,
   )
   const actions = scalekit.actions

   const connector = 'dialpad'
   const identifier = 'user_123'

   // Generate an authorization link for the user
   const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
   console.log('Authorize Dialpad:', link)
   const rl = createInterface({ input: process.stdin, output: process.stdout })
   await rl.question('Press Enter after authorizing...')
   rl.close()

   // Make your first call
   const result = await actions.executeTool({
     connector,
     identifier,
     toolName: 'dialpad_blocked_numbers_list',
     toolInput: {},
   })
   console.log(result)
   ```

   ```bash
   npx tsx quickstart.mts
   ```

   **Python** (`quickstart.py`)

   ```python
   import os
   from scalekit import ScalekitClient
   from dotenv import load_dotenv
   load_dotenv()

   scalekit_client = ScalekitClient(
       env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),
       client_id=os.getenv("SCALEKIT_CLIENT_ID"),
       client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
   )
   actions = scalekit_client.actions

   connection_name = "dialpad"
   identifier = "user_123"

   # Generate an authorization link for the user
   link_response = actions.get_authorization_link(
       connection_name=connection_name,
       identifier=identifier,
   )
   print("Authorize Dialpad:", link_response.link)
   input("Press Enter after authorizing...")

   # Make your first call
   result = actions.execute_tool(
       tool_input={},
       tool_name="dialpad_blocked_numbers_list",
       connection_name=connection_name,
       identifier=identifier,
   )
   print(result)
   ```

   ```bash
   python quickstart.py
   ```

   Each user signs in once. See [Authorize a user](/agentkit/tools/authorize/) for the full flow and statuses.

## Tools

Pass the exact name to `execute_tool`, with an input like each tool's example. To ask for a tool that's missing, use the [request form](https://scalekitsupport.portal.usepylon.com/forms/request-a-connector-tool).

**Node.js**

```typescript
const result = await actions.executeTool({
  toolName: 'dialpad_agent_group_get',
  toolInput: {
    agent_group_id: '<agent_group_id>',
  },
  connector: 'dialpad',
  identifier: 'user_123',
})
```

**Python**

```python
result = actions.execute_tool(
    tool_name="dialpad_agent_group_get",
    tool_input={
        "agent_group_id": "<agent_group_id>",
    },
    connection_name="dialpad",
    identifier="user_123",
)
```

`result.data` is the app's response as JSON, and `result.execution_id` (`executionId` in Node.js) is the ID of the call.

### `dialpad_agent_group_get`

Get Agent Group · Read-only

Get one Dialpad agent group by ID.
Returns the agent group's details.
Use dialpad_agent_group_get when you already have the agent group ID.
Requires the agent_groups:read scope on the connection.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `agent_group_id` (`string`, required): The agent group ID. Example: 5719029487116288

Example input: `{"agent_group_id":"<agent_group_id>"}`

### `dialpad_blocked_number_get`

Get Blocked Number · Read-only

Check whether one phone number is blocked company-wide in Dialpad.
Returns the number if it is blocked; responds 404 if it is not blocked or was blocked outside the API.
Use dialpad_blocked_number_get for a single check. Use dialpad_blocked_numbers_list to see all.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `number` (`string`, required): The phone number to check, in E.164 format. Example: +14155550123

Example input: `{"number":"<number>"}`

### `dialpad_blocked_numbers_list`

List Blocked Numbers · Read-only

List the phone numbers blocked company-wide through the Dialpad API.
Returns a page of blocked numbers and a cursor. Numbers blocked in the app are not included.
Use dialpad_blocked_numbers_list to review blocks. Use dialpad_blocked_number_get to check one number.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ

Example input: `{}`

### `dialpad_call_ai_recap_get`

Get Call AI Recap · Read-only

Get the Dialpad AI Recap (AI-generated summary) of a call in short, medium, long or bullet format.
Returns the recap text and action items for the call.
Use dialpad_call_ai_recap_get for a summary. Use dialpad_transcript_get for the word-for-word transcript.
Requires the ai_recap scope on the connection.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `call_id` (`integer`, required): The Dialpad call ID, from dialpad_calls_list or a call event. Example: 5719029487116288
- `summary_format` (`string`, optional): Length/format of the recap: short, medium, long or bullet. Defaults to medium. One of: bullet, long, medium, short. One of: `bullet`, `long`, `medium`, `short`. Default: `medium`.

Example input: `{"call_id":5719029487116288}`

### `dialpad_call_assigned_operators_list`

List Assigned Call Operators · Read-only

List the operators assigned to a call waiting in a Dialpad contact center queue.
Returns the assigned operators.
Use dialpad_call_assigned_operators_list after dialpad_call_operator_assign or dialpad_call_operator_unassign.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `call_id` (`integer`, required): The Dialpad call ID, from dialpad_calls_list or a call event. Example: 5719029487116288

Example input: `{"call_id":5719029487116288}`

### `dialpad_call_get`

Get Call · Read-only

Get the details of one Dialpad call by call ID.
Returns direction, participants, duration, recording URLs, CSAT, voicemail data, transcription text and routing breadcrumbs.
Use dialpad_call_get for one call's details. Use dialpad_transcript_get for the full AI transcript and dialpad_call_ai_recap_get for the AI summary.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `call_id` (`integer`, required): The Dialpad call ID, from dialpad_calls_list or a call event. Example: 5719029487116288

Example input: `{"call_id":5719029487116288}`

### `dialpad_call_labels_list`

List Call Labels · Read-only

List the call labels defined for the Dialpad company.
Returns the label names.
Use dialpad_call_labels_list before dialpad_call_labels_add to pick existing labels.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `limit` (`integer`, optional): Maximum number of labels to return. Defaults to 1000. Default: `1000`.

Example input: `{}`

### `dialpad_call_review_share_link_get`

Get Call Review Share Link · Read-only

Get a Dialpad call review share link by ID.
Returns the link's URL, privacy and call ID.
Use dialpad_call_review_share_link_get to read a link. Use dialpad_call_review_share_link_update to change its privacy.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `share_link_id` (`string`, required): The call review share link ID, from dialpad_call_review_share_link_create. Example: ag9zfnV2LXZvaWNlLWFwcHIfCxISQ2Fs

Example input: `{"share_link_id":"<share_link_id>"}`

### `dialpad_call_router_get`

Get Call Router · Read-only

Get one Dialpad API call router by ID.
Returns its name, routing URL, default target, office and state.
Use dialpad_call_router_get when you have the ID. Use dialpad_call_routers_list to find it.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `call_router_id` (`integer`, required): The API call router ID, from dialpad_call_routers_list. Example: 5719029487116288

Example input: `{"call_router_id":5719029487116288}`

### `dialpad_call_routers_list`

List Call Routers · Read-only

List the API call routers in the Dialpad company or one office.
Returns a page of call routers (id, name, routing URL, default target, state) and a cursor.
Use dialpad_call_routers_list to find router IDs. Use dialpad_call_router_get for one router.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `office_id` (`integer`, optional): The office's id. Example: 5719029487116288

Example input: `{}`

### `dialpad_callbacks_list`

List Callbacks · Read-only

List callback requests waiting in a Dialpad call center queue, oldest first.
Returns each callback's number, queued time, status (queued or timed_out) and queue position, plus a cursor.
Use dialpad_callbacks_list to review the queue. Use dialpad_callback_enqueue to add one. Requires admin rights on that call center.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `call_center_id` (`integer`, required): The call center ID to query. Required. Example: 5719029487116288
- `cursor` (`string`, optional): A token used to return the next page of results. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `limit` (`integer`, optional): Maximum results per page (default: 20, max: 100). Default: `20`.

Example input: `{"call_center_id":5719029487116288}`

### `dialpad_callcenter_get`

Get Call Center · Read-only

Get one Dialpad call center by ID.
Returns its name, office, phone numbers, hours, routing and queue settings.
Use dialpad_callcenter_get for configuration. Use dialpad_callcenter_status_get for live availability and queue numbers.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `call_center_id` (`integer`, required): The call center ID, from dialpad_callcenters_list. Example: 5719029487116288

Example input: `{"call_center_id":5719029487116288}`

### `dialpad_callcenter_operators_list`

List Call Center Operators · Read-only

List the operators (users and rooms) assigned to a Dialpad call center.
Returns operator names, roles and on-duty status.
Use dialpad_callcenter_operators_list to see who is in the call center. Use dialpad_operator_duty_status_get for one operator's duty status.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `call_center_id` (`integer`, required): The call center ID, from dialpad_callcenters_list. Example: 5719029487116288

Example input: `{"call_center_id":5719029487116288}`

### `dialpad_callcenter_status_get`

Get Call Center Status · Read-only

Get live metrics for a Dialpad call center.
Returns availability status, available and on-duty operator counts, pending calls and the longest current wait time.
Use dialpad_callcenter_status_get for real-time queue health. Use dialpad_callcenter_get for configuration.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `call_center_id` (`integer`, required): The call center ID, from dialpad_callcenters_list. Example: 5719029487116288

Example input: `{"call_center_id":5719029487116288}`

### `dialpad_callcenters_list`

List Call Centers · Read-only

List Dialpad call centers in the company, optionally filtered by office or by a name substring.
Returns a page of call centers (id, name, office, numbers, settings) and a cursor.
Use dialpad_callcenters_list to find call center IDs. Use dialpad_callcenter_get for one call center and dialpad_callcenter_status_get for live queue metrics.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `include_alerts` (`boolean`, optional): Set to false to leave service-level alert settings out of the response. Defaults to true. Default: `true`.
- `name_search` (`string`, optional): Return call centers whose name contains this text. Example: Support
- `office_id` (`integer`, optional): search call center by office. Example: 5719029487116288

Example input: `{}`

### `dialpad_calls_list`

List Calls · Read-only

List concluded Dialpad calls, most recent first, optionally filtered by start time and by a target (user, office, department, call center and so on).
Returns a page of call records (call ID, direction, numbers, duration, state, target) and a cursor.
Use dialpad_calls_list to browse call history. Use dialpad_call_get for full details of one call.
Requires the calls:list scope on the connection.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `include_anonymized` (`boolean`, optional): If set to true, includes call records that have been anonymized (e.g., calls associated with deleted users). Defaults to false. Default: `false`.
- `started_after` (`integer`, optional): Only include calls that started after this time, as a UTC Unix timestamp in milliseconds. Example: 1735689600000
- `started_before` (`integer`, optional): Only include calls that started before this time, as a UTC Unix timestamp in milliseconds. Example: 1738368000000
- `target_id` (`integer`, optional): ID of a user, office, department, call center or other target to filter calls by. Must be sent with target_type. Defaults to the whole company for admins and to the authorized user otherwise. Example: 5719029487116288
- `target_type` (`string`, optional): Type of the target given in target_id. Required when target_id is set. One of: callcenter, callrouter, channel, coachinggroup, coachingteam, department, office, room, staffgroup, unknown, user. One of: `callcenter`, `callrouter`, `channel`, `coachinggroup`, `coachingteam`, `department`, `office`, `room`, `staffgroup`, `unknown`, `user`.

Example input: `{}`

### `dialpad_channel_get`

Get Channel · Read-only

Get one Dialpad channel by ID.
Returns the channel's name, hashtag, description and privacy type.
Use dialpad_channel_get when you have the channel ID. The hashtag can be passed to dialpad_sms_send as channel_hashtag.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `channel_id` (`integer`, required): The channel ID, from dialpad_channels_list. Example: 5719029487116288

Example input: `{"channel_id":5719029487116288}`

### `dialpad_channel_members_list`

List Channel Members · Read-only

List the members of a Dialpad channel.
Returns a page of members (user ID and name) and a cursor.
Use dialpad_channel_members_list to see who is in a channel. Use dialpad_channel_member_add or dialpad_channel_member_remove to change it.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `channel_id` (`integer`, required): The channel ID, from dialpad_channels_list. Example: 5719029487116288
- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ

Example input: `{"channel_id":5719029487116288}`

### `dialpad_channels_list`

List Channels · Read-only

List Dialpad channels (team messaging channels) in the company.
Returns a page of channels (id, name, hashtag, privacy) and a cursor.
Use dialpad_channels_list to find a channel ID or hashtag. Use dialpad_channel_get for one channel.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `state` (`string`, optional): Channel state to list. Defaults to active. Default: `active`.

Example input: `{}`

### `dialpad_coaching_team_get`

Get Coaching Team · Read-only

Get one Dialpad coaching team by ID.
Returns the team's name, office and settings.
Use dialpad_coaching_team_get for team details. Use dialpad_coaching_team_members_list for its coaches and trainees.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `coaching_team_id` (`integer`, required): The coaching team ID, from dialpad_coaching_teams_list. Example: 5719029487116288

Example input: `{"coaching_team_id":5719029487116288}`

### `dialpad_coaching_team_members_list`

List Coaching Team Members · Read-only

List the members of a Dialpad coaching team, optionally filtered by role (coach or trainee) or availability.
Returns each member's role, contact info and availability.
Use dialpad_coaching_team_members_list for membership. Use dialpad_coaching_team_get for team details.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `coaching_team_id` (`integer`, required): The coaching team ID, from dialpad_coaching_teams_list. Example: 5719029487116288
- `available` (`boolean`, optional): Filter members by availability. Example: true
- `role` (`string`, optional): Only return members with this role: coach or trainee. One of: coach, trainee. One of: `coach`, `trainee`.

Example input: `{"coaching_team_id":5719029487116288}`

### `dialpad_coaching_teams_list`

List Coaching Teams · Read-only

List Dialpad coaching teams in the company, optionally filtered by office or by a name substring.
Returns a page of coaching teams and a cursor.
Use dialpad_coaching_teams_list to find team IDs. Use dialpad_coaching_team_get for one team and dialpad_coaching_team_members_list for its members.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `name_search` (`string`, optional): Return coaching teams whose name contains this text. Example: Sales
- `office_id` (`integer`, optional): Filter coaching teams by office. Example: 5719029487116288

Example input: `{}`

### `dialpad_company_get`

Get Company · Read-only

Get the Dialpad company the connection belongs to.
Returns the company ID, name, primary office, admin contact, plan state and billing address.
Use dialpad_company_get for company info or to get the company ID needed by dialpad_company_sms_opt_out_list.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `dialpad_company_sms_opt_out_list`

List SMS Opt-Outs · Read-only

List external phone numbers that opted out of (or back in to) SMS from the Dialpad company, optionally for one A2P campaign.
Returns a page of numbers with their opt-out state and a cursor.
Use dialpad_company_sms_opt_out_list before dialpad_sms_send to confirm a recipient has not opted out. Requires a company admin.
Get the company ID from dialpad_company_get.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `company_id` (`string`, required): Your Dialpad company ID; must match the connected company. Get it from dialpad_company_get. Example: 5719029487116288
- `opt_out_state` (`string`, required): Required opt-out state to filter results by. Only results matching this state will be returned. One of: opted_back_in, opted_out. One of: `opted_back_in`, `opted_out`.
- `a2p_campaign_id` (`integer`, optional): Only return opt-outs for this A2P campaign ID. When set, opt_out_state must be opted_out. Example: 5719029487116288
- `cursor` (`string`, optional): Optional token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ

Example input: `{"company_id":"<company_id>","opt_out_state":"opted_back_in"}`

### `dialpad_contact_get`

Get Contact · Read-only

Get one Dialpad shared or local contact by ID.
Returns the contact's names, phones, emails, company, job title, URLs and type.
Use dialpad_contact_get when you have the contact ID. Use dialpad_contacts_list to find it.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `contact_id` (`string`, required): The contact's ID, from dialpad_contacts_list. Example: shared_contact_crm_12345

Example input: `{"contact_id":"<contact_id>"}`

### `dialpad_contacts_list`

List Contacts · Read-only

List Dialpad contacts: the company's shared contacts, or a user's local contacts when owner_id is given, optionally filtered by name.
Returns a page of contacts (id, name, phones, emails, company, type) and a cursor.
Use dialpad_contacts_list to browse or search by name. Use dialpad_contact_get when you have the contact ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `include_local` (`boolean`, optional): true to also include local contacts. Defaults to false. Default: `false`.
- `name` (`string`, optional): Filter contacts by name. Example: Jane
- `owner_id` (`string`, optional): ID of a user whose local contacts to list instead of the company's shared contacts. Example: 5719029487116288

Example input: `{}`

### `dialpad_department_get`

Get Department · Read-only

Get one Dialpad department by ID.
Returns the department's name, office, phone numbers, hours and routing settings.
Use dialpad_department_get when you have the department ID. Use dialpad_departments_list to find it.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `department_id` (`integer`, required): The department ID, from dialpad_departments_list. Example: 5719029487116288

Example input: `{"department_id":5719029487116288}`

### `dialpad_department_operators_list`

List Department Operators · Read-only

List the operators (users and rooms) in a Dialpad department, optionally filtered by role or on-duty status.
Returns the operators with names, roles and on-duty status.
Use dialpad_department_operators_list for departments. Use dialpad_callcenter_operators_list for call centers.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `department_id` (`integer`, required): The department ID, from dialpad_departments_list. Example: 5719029487116288
- `on_duty` (`boolean`, optional): Filter operators by on-duty status. Example: true
- `role` (`string`, optional): Only return operators with this role: operator, admin or supervisor. One of: operator, admin, supervisor. One of: `operator`, `admin`, `supervisor`.

Example input: `{"department_id":5719029487116288}`

### `dialpad_departments_list`

List Departments · Read-only

List Dialpad departments in the company, optionally filtered by office or by a name substring.
Returns a page of departments (id, name, office, numbers) and a cursor.
Use dialpad_departments_list to find department IDs. Use dialpad_department_get for one department.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `name_search` (`string`, optional): Return departments whose name contains this text. Example: Sales
- `office_id` (`integer`, optional): filter departments by office. Example: 5719029487116288

Example input: `{}`

### `dialpad_digital_sessions_list`

List Digital Sessions · Read-only

List Dialpad digital (chat and messaging channel) sessions that started or ended within a period shorter than 7 days, optionally for one office, department or call center.
Returns a page of sessions and a cursor.
Use dialpad_digital_sessions_list for digital contact-center activity. Use dialpad_calls_list for voice calls.
Requires the digital_sessions scope on the connection.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `end_date` (`string`, required): End of the range as an ISO 8601 date-time with offset. The range must be shorter than 7 days. Example: 2025-09-30T00:00:00Z
- `start_date` (`string`, required): Start of the range as an ISO 8601 date-time with offset. The range must be shorter than 7 days. Example: 2025-09-25T00:00:00Z
- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `target_id` (`integer`, optional): Optional. The numeric ID of the target to filter by. Must be provided together with target_type. Example: 5719029487116288
- `target_type` (`string`, optional): Optional. The type of the target to filter by. One of: department, office, callcenter. One of: `callcenter`, `department`, `office`.

Example input: `{"end_date":"<end_date>","start_date":"<start_date>"}`

### `dialpad_disposition_get`

Get Disposition · Read-only

Get one Dialpad call disposition by ID.
Returns the disposition's name, targets and settings.
Use dialpad_disposition_get when you have the ID. Use dialpad_dispositions_list to find it.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `disposition_id` (`integer`, required): The disposition ID, from dialpad_dispositions_list. Example: 5719029487116288

Example input: `{"disposition_id":5719029487116288}`

### `dialpad_dispositions_list`

List Dispositions · Read-only

List call dispositions (wrap-up outcomes) defined for a Dialpad office, call center or coaching team.
Returns a page of dispositions and a cursor.
Use dialpad_dispositions_list to see the outcomes agents can pick. Use dialpad_disposition_get for one.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `target_id` (`integer`, optional): The target's id. Example: 5719029487116288
- `target_type` (`string`, optional): The target's type. One of: callcenter, coachinggroup, coachingteam, office, unknown. One of: `callcenter`, `coachinggroup`, `coachingteam`, `office`, `unknown`.

Example input: `{}`

### `dialpad_meeting_get`

Get Meeting · Read-only

Get one scheduled Dialpad Meeting by scheduled conference ID.
Returns the meeting's title, time, duration, recurrence, invitees and join details.
Use dialpad_meeting_get when you have the ID. Use dialpad_meetings_list to find it.
Requires the conference:all scope on the connection.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `scheduled_conference_id` (`integer`, required): The meeting's scheduled conference ID, from dialpad_meetings_list or dialpad_meeting_create. Example: 5719029487116288
- `user_id` (`integer`, optional): ID of the Dialpad user who owns the meeting. Example: 5719029487116288

Example input: `{"scheduled_conference_id":5719029487116288}`

### `dialpad_meeting_rooms_list`

List Meeting Rooms · Read-only

List the Dialpad Meetings conference rooms in the company.
Returns a page of rooms (room ID, name, URL) and a cursor.
Use dialpad_meeting_rooms_list to find a room_id for dialpad_meeting_summaries_list. Not the same as office rooms (dialpad_rooms_list).
Requires the conference:read scope on the connection.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ

Example input: `{}`

### `dialpad_meeting_summaries_list`

List Meeting Summaries · Read-only

List summaries of Dialpad Meetings that took place, optionally for one meeting room and start-date range.
Returns a page of meeting summaries (meeting ID, room, start and end time, participants) and a cursor.
Use dialpad_meeting_summaries_list for past meetings. Use dialpad_meetings_list for scheduled ones.
Requires the conference:read scope on the connection.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `end_date` (`integer`, optional): Only include meetings that started on or before this time, as a UTC Unix timestamp in seconds. Example: 1767830400
- `room_id` (`string`, optional): ID of the meeting room, from dialpad_meeting_rooms_list. Example: acme-sales-room
- `start_date` (`integer`, optional): Only include meetings that started on or after this time, as a UTC Unix timestamp in seconds. Example: 1767225600

Example input: `{}`

### `dialpad_meetings_list`

List Meetings · Read-only

List a Dialpad user's scheduled Dialpad Meetings that start within a time range.
Returns a page of meetings (scheduled conference ID, title, start time, duration, invitees) and a cursor.
Use dialpad_meetings_list to see upcoming meetings. Use dialpad_meeting_summaries_list for meetings that already happened in a room.
Requires the conference:all scope on the connection.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `start_datetime` (`integer`, required): Start of the time range, as a UTC Unix timestamp in seconds. Example: 1767225600
- `user_id` (`integer`, required): ID of the Dialpad user whose meetings to list. Example: 5719029487116288
- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `end_datetime` (`integer`, optional): End of the time range, as a UTC Unix timestamp in seconds. Example: 1767830400

Example input: `{"start_datetime":1767225600,"user_id":5719029487116288}`

### `dialpad_number_get`

Get Number · Read-only

Get one Dialpad phone number's details.
Returns its type, area code, status and the target it is assigned to.
Use dialpad_number_get to find who owns a number. Requires a company admin.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `number` (`string`, required): The phone number to look up, in E.164 format. Example: +14155550123

Example input: `{"number":"<number>"}`

### `dialpad_numbers_list`

List Numbers · Read-only

List the phone numbers in the Dialpad company, optionally filtered by status or area code.
Returns each number with its type, area code, status and assigned target, plus a cursor.
Use dialpad_numbers_list to browse numbers. Use dialpad_number_get for one number. Requires a company admin.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `area_code` (`string`, optional): Area code to filter by, digits only (e.g. "415").
- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `status` (`string`, optional): Only return numbers with this status. Example: available

Example input: `{}`

### `dialpad_office_callcenters_list`

List Office Call Centers · Read-only

List the call centers in one Dialpad office.
Returns a page of call centers and a cursor.
Use dialpad_office_callcenters_list for one office. Use dialpad_callcenters_list for the whole company or to search by name.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `office_id` (`integer`, required): The office ID, from dialpad_offices_list. Example: 5719029487116288
- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ

Example input: `{"office_id":5719029487116288}`

### `dialpad_office_coaching_teams_list`

List Office Coaching Teams · Read-only

List the coaching teams in one Dialpad office.
Returns a page of coaching teams and a cursor.
Use dialpad_office_coaching_teams_list for one office. Use dialpad_coaching_teams_list for the whole company or to search by name.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `office_id` (`integer`, required): The office ID, from dialpad_offices_list. Example: 5719029487116288
- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ

Example input: `{"office_id":5719029487116288}`

### `dialpad_office_departments_list`

List Office Departments · Read-only

List the departments in one Dialpad office.
Returns a page of departments and a cursor.
Use dialpad_office_departments_list for one office. Use dialpad_departments_list for the whole company or to search by name.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `office_id` (`integer`, required): The office ID, from dialpad_offices_list. Example: 5719029487116288
- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ

Example input: `{"office_id":5719029487116288}`

### `dialpad_office_get`

Get Office · Read-only

Get one Dialpad office by ID.
Returns the office's name, phone numbers, timezone, address, routing options and state.
Use dialpad_office_get when you have the office ID. Use dialpad_offices_list to find it.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `office_id` (`integer`, required): The office ID, from dialpad_offices_list. Example: 5719029487116288

Example input: `{"office_id":5719029487116288}`

### `dialpad_office_off_duty_statuses_list`

List Office Off-Duty Statuses · Read-only

List the off-duty status values configured for a Dialpad office.
Returns the office ID and its off-duty status names.
Use dialpad_office_off_duty_statuses_list to pick a valid reason before dialpad_operator_duty_status_update.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `office_id` (`integer`, required): The office ID, from dialpad_offices_list. Example: 5719029487116288

Example input: `{"office_id":5719029487116288}`

### `dialpad_office_operators_list`

List Office Operators · Read-only

List the mainline operators of a Dialpad office.
Returns the operators (users and rooms) with their roles.
Use dialpad_office_operators_list for an office's mainline. Use dialpad_department_operators_list or dialpad_callcenter_operators_list for groups.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `office_id` (`integer`, required): The office ID, from dialpad_offices_list. Example: 5719029487116288

Example input: `{"office_id":5719029487116288}`

### `dialpad_office_primary_get`

Get Primary Office · Read-only

Get the Dialpad company's primary office.
Returns the primary office's details.
Use dialpad_office_primary_get when you need the main office without knowing its ID. Use dialpad_office_get for any other office.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `dialpad_offices_list`

List Offices · Read-only

List Dialpad offices. Company admins get every office; other users get only the offices they belong to.
Returns a page of offices (id, name, numbers, timezone, state) and a cursor.
Use dialpad_offices_list to find office IDs. Use dialpad_office_get for one office and dialpad_office_primary_get for the primary office.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `active_only` (`boolean`, optional): Whether we only return active offices. Example: true
- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ

Example input: `{}`

### `dialpad_operator_duty_status_get`

Get Operator Duty Status · Read-only

Get a Dialpad call center operator's on-duty status and reason.
Returns whether the operator is on duty and the status reason.
Use dialpad_operator_duty_status_get to check availability. Use dialpad_operator_duty_status_update to change it.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `user_id` (`string`, required): The operator's Dialpad user ID. Example: 5719029487116288

Example input: `{"user_id":"<user_id>"}`

### `dialpad_operator_skill_level_get`

Get Operator Skill Level · Read-only

Get an operator's skill level within one Dialpad call center.
Returns the call center ID, user ID and skill level (0-100).
Use dialpad_operator_skill_level_get before dialpad_operator_skill_level_update.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `call_center_id` (`integer`, required): The call center ID, from dialpad_callcenters_list. Example: 5719029487116288
- `user_id` (`integer`, required): The operator's Dialpad user ID. Example: 5719029487116288

Example input: `{"call_center_id":5719029487116288,"user_id":5719029487116288}`

### `dialpad_recording_share_link_get`

Get Recording Share Link · Read-only

Get a Dialpad recording share link by ID.
Returns the link's URL, privacy, recording ID and type.
Use dialpad_recording_share_link_get to read a link. Use dialpad_recording_share_link_update to change its privacy.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `share_link_id` (`string`, required): The recording share link ID, from dialpad_recording_share_link_create. Example: ag9zfnV2LXZvaWNlLWFwcHIfCxISUmVj

Example input: `{"share_link_id":"<share_link_id>"}`

### `dialpad_room_get`

Get Room · Read-only

Get one Dialpad room by ID.
Returns the room's name, office, phone numbers and state.
Use dialpad_room_get when you have the room ID. Use dialpad_rooms_list to find it.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `room_id` (`integer`, required): The room ID, from dialpad_rooms_list. Example: 5719029487116288

Example input: `{"room_id":5719029487116288}`

### `dialpad_rooms_list`

List Rooms · Read-only

List Dialpad rooms (shared spaces such as conference-room phones) in the company, optionally for one office.
Returns a page of rooms (id, name, office, numbers) and a cursor.
Use dialpad_rooms_list for office rooms. Use dialpad_meeting_rooms_list for Dialpad Meetings conference rooms.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `office_id` (`integer`, optional): The office's id. Example: 5719029487116288

Example input: `{}`

### `dialpad_scheduled_message_get`

Get Scheduled Message · Read-only

Get one pending Dialpad scheduled message by ID.
Returns its send time, timezone, recipients, sender and text.
Use dialpad_scheduled_message_get to inspect a schedule. Use dialpad_scheduled_messages_list to find the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `schedule_id` (`string`, required): The scheduled message ID, from dialpad_scheduled_messages_list or dialpad_scheduled_message_create. Example: ag9zfnV2LXZvaWNlLWFwcHIYCxILU2NoZWR1bGU
- `user_id` (`integer`, optional): ID of the user who owns the schedule. Defaults to the authorized user. Example: 5719029487116288

Example input: `{"schedule_id":"<schedule_id>"}`

### `dialpad_scheduled_messages_list`

List Scheduled Messages · Read-only

List the pending scheduled SMS/MMS messages for the authorized Dialpad user (or another user).
Returns a page of scheduled messages (id, send time, recipients, text) and a cursor. Sent or deleted schedules are not included.
Use dialpad_scheduled_messages_list to review pending sends. Use dialpad_scheduled_message_get for one.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): Pagination cursor from previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `limit` (`integer`, optional): Maximum results per page (max 100). Defaults to 20. Default: `20`.
- `user_id` (`integer`, optional): ID of the user whose scheduled messages to list. Defaults to the authorized user. Example: 5719029487116288

Example input: `{}`

### `dialpad_scorecard_get`

Get Scorecard · Read-only

Get one Dialpad scorecard by ID.
Returns the scorecard's name, state, targets and questions.
Use dialpad_scorecard_get for its definition. Use dialpad_scorecards_export_create for graded results.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `scorecard_id` (`string`, required): The scorecard ID, from dialpad_scorecards_list. Example: ag9zfnV2LXZvaWNlLWFwcHIXCxIJU2NvcmVjYXJk

Example input: `{"scorecard_id":"<scorecard_id>"}`

### `dialpad_scorecards_export_get`

Get Scorecards Export Result · Read-only

Get the status and result of a Dialpad scorecards export.
Returns the processing status and, when complete, the download URL.
Use dialpad_scorecards_export_get after dialpad_scorecards_export_create; poll until the status is complete.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `request_id` (`string`, required): The request ID returned by dialpad_scorecards_export_create. Example: ag9zfnV2LXZvaWNlLWFwcHIcCxIPU2NvcmVjYXJkRXhwb3J0

Example input: `{"request_id":"<request_id>"}`

### `dialpad_scorecards_list`

List Scorecards · Read-only

List Dialpad scorecards (call quality review forms), optionally filtered by state or target.
Returns a page of scorecards and a cursor.
Use dialpad_scorecards_list to find scorecard IDs. Use dialpad_scorecard_get for one scorecard's questions.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `state` (`string`, optional): The scorecard's state. One of: active, archived, draft. One of: `active`, `archived`, `draft`.
- `target_id` (`integer`, optional): The target's id. Example: 5719029487116288
- `target_type` (`string`, optional): The target's type. One of: callcenter, coachingteam, office, unknown. One of: `callcenter`, `coachingteam`, `office`, `unknown`.

Example input: `{}`

### `dialpad_stats_export_get`

Get Stats Export Result · Read-only

Get the status and result of a Dialpad stats export.
Returns the processing status and, when complete, the download URL of the CSV.
Use dialpad_stats_export_get after dialpad_stats_export_create; poll until the status is complete.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `request_id` (`string`, required): The request ID returned by dialpad_stats_export_create. Example: 4823573942693888

Example input: `{"request_id":"<request_id>"}`

### `dialpad_transcript_get`

Get Call Transcript · Read-only

Get the Dialpad AI transcript of a call, including the detected moments.
Returns the call ID and transcript lines with speaker, time and text, plus moments.
Use dialpad_transcript_get for the full text. Use dialpad_transcript_url_get for a link to the transcript in Dialpad and dialpad_call_ai_recap_get for a summary.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `call_id` (`integer`, required): The Dialpad call ID, from dialpad_calls_list or a call event. Example: 5719029487116288

Example input: `{"call_id":5719029487116288}`

### `dialpad_transcript_url_get`

Get Call Transcript URL · Read-only

Get the URL of a call's transcript page in Dialpad.
Returns the call ID and transcript URL.
Use dialpad_transcript_url_get to share a link. Use dialpad_transcript_get for the transcript text.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `call_id` (`integer`, required): The Dialpad call ID, from dialpad_calls_list or a call event. Example: 5719029487116288

Example input: `{"call_id":5719029487116288}`

### `dialpad_user_caller_id_get`

Get User Caller ID · Read-only

Get the caller IDs available to a Dialpad user and the one currently active.
Returns the active caller ID and the list of numbers (personal and group) the user may present.
Use dialpad_user_caller_id_get before dialpad_user_caller_id_set to pick a valid number.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `user_id` (`string`, required): The Dialpad user's ID, or 'me' for the user who authorized the connection. Example: 5719029487116288

Example input: `{"user_id":"<user_id>"}`

### `dialpad_user_device_get`

Get User Device · Read-only

Get one registered Dialpad device by ID.
Returns the device's type, display name, phone number and registration dates.
Use dialpad_user_device_get when you have a device ID. Use dialpad_user_devices_list to find it.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `device_id` (`string`, required): The device ID, from dialpad_user_devices_list. Example: DeskPhone-ag9zfnV2LXZvaWNlLWFwcHI

Example input: `{"device_id":"<device_id>"}`

### `dialpad_user_devices_list`

List User Devices · Read-only

List the devices registered to a Dialpad user (desk phones, softphones, mobile apps).
Returns each device's ID, type, display name, phone number and registration dates, plus a cursor.
Use dialpad_user_devices_list to find a device_id for dialpad_call_ring_initiate. Use dialpad_user_device_get for one device.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `user_id` (`string`, optional): The Dialpad user's ID, or 'me' for the user who authorized the connection. Defaults to the authorized user.

Example input: `{}`

### `dialpad_user_get`

Get User · Read-only

Get one Dialpad user by ID, or the authorized user with 'me'.
Returns identity, phone numbers and extension, status (state, do-not-disturb, on-duty), license, office membership and voicemail settings.
Use dialpad_user_get when you have a user ID. Use dialpad_users_list or dialpad_users_search to find the ID first.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `user_id` (`string`, required): The Dialpad user's ID, or 'me' for the user who authorized the connection.

Example input: `{"user_id":"<user_id>"}`

### `dialpad_user_personas_list`

List User Personas · Read-only

List the personas a Dialpad user can call from (targets whose identity the callee sees instead of the user's).
Returns each persona's target type, ID, name and phone number.
Use dialpad_user_personas_list to find a group_id/group_type to pass when placing a call on behalf of a group.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `user_id` (`string`, required): The Dialpad user's ID, or 'me' for the user who authorized the connection. Example: 5719029487116288

Example input: `{"user_id":"<user_id>"}`

### `dialpad_users_list`

List Users · Read-only

List users in the Dialpad company, optionally filtered by state, email, phone number, name prefix or admin flag.
Returns a page of user records (id, name, emails, phone numbers, office, state) and a cursor for the next page.
Use dialpad_users_list to browse or filter by exact email/number. Use dialpad_users_search for a free-text match across names, emails and numbers. Use dialpad_user_get when you already have the user ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `company_admin` (`boolean`, optional): If provided, filter results by the specified value to return only company admins or only non-company admins. Example: true
- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `email` (`string`, optional): Return the user with this email address. Example: jane.doe@example.com
- `first_name` (`string`, optional): Filter by first-name prefix (case-insensitive), e.g. 'jo' matches John and Jose. Cannot be combined with email or number.
- `forwarding_number` (`boolean`, optional): When true, `number` is also matched against the forwarding numbers users have added to their profile, instead of only the numbers assigned to them by Dialpad. Only applies together with `number`.
- `last_name` (`string`, optional): Filter by last-name prefix, e.g. 'sm' matches Smith and Smythe. Cannot be combined with email or number.
- `number` (`string`, optional): Return the user who has this phone number, in E.164 format. Example: +14155550123
- `state` (`string`, optional): Filter results by the specified user state (e.g. active, suspended, deleted). One of: active, all, cancelled, deleted, pending, suspended. Defaults to "active". One of: `active`, `all`, `cancelled`, `deleted`, `pending`, `suspended`. Default: `active`.

Example input: `{}`

### `dialpad_users_search`

Search Users · Read-only

Search Dialpad users with a free-text query matched against names, emails and phone numbers.
Returns a page of matching user records and a cursor for the next page.
Use dialpad_users_search for fuzzy lookups. Use dialpad_users_list to filter by exact email, number or state.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `query` (`string`, required): Text matched against user names, emails and phone numbers. Phone numbers work best in E.164 format. Example: Jane Doe
- `cursor` (`string`, optional): A token used to return the next page of a previous request. Use the cursor provided in the previous response. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `filter` (`string`, optional): Optional filter. The only supported filter is name_only; pass '[name_only=true]' to match the query against names only.

Example input: `{"query":"<query>"}`

### `dialpad_wfm_activity_metrics_get`

Get WFM Activity Metrics · Read-only

Get Dialpad Workforce Management activity-level metrics for agents over a time range.
Returns a page of per-activity metrics per agent and a cursor.
Use dialpad_wfm_activity_metrics_get for time spent per activity. Use dialpad_wfm_agent_metrics_get for overall agent performance.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `end` (`string`, required): End of the range (exclusive), as a UTC ISO 8601 timestamp. Example: 2025-02-23T00:00:00Z
- `start` (`string`, required): Start of the range (inclusive), as a UTC ISO 8601 timestamp. Example: 2025-02-17T00:00:00Z
- `cursor` (`string`, optional): Include the cursor returned in a previous request to get the next page of data. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `emails` (`string`, optional): Comma-separated email addresses of the agents to include. Example: jane@example.com,sam@example.com
- `ids` (`string`, optional): Comma-separated Dialpad user IDs of the agents to include. Example: 5719029487116288,6012345678901234

Example input: `{"end":"<end>","start":"<start>"}`

### `dialpad_wfm_agent_metrics_get`

Get WFM Agent Metrics · Read-only

Get Dialpad Workforce Management agent-level performance metrics over a time range.
Returns a page of per-agent metrics (adherence, occupancy, handle time and more) and a cursor.
Use dialpad_wfm_agent_metrics_get for agent performance. Use dialpad_wfm_activity_metrics_get for activity breakdowns.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `end` (`string`, required): End of the range (exclusive), as a UTC ISO 8601 timestamp. Example: 2025-02-23T00:00:00Z
- `start` (`string`, required): Start of the range (inclusive), as a UTC ISO 8601 timestamp. Example: 2025-02-17T00:00:00Z
- `cursor` (`string`, optional): Include the cursor returned in a previous request to get the next page of data. Example: Cg8KBG5hbWUSBxoFamFuZQ
- `emails` (`string`, optional): Comma-separated email addresses of the agents to include. Example: jane@example.com,sam@example.com
- `ids` (`string`, optional): Comma-separated Dialpad user IDs of the agents to include. Example: 5719029487116288,6012345678901234

Example input: `{"end":"<end>","start":"<start>"}`

### `dialpad_blocked_numbers_add`

Block Numbers · Write

Block phone numbers company-wide in Dialpad so inbound calls and texts from them are rejected for every user.
Returns an empty response on success.
Use dialpad_blocked_numbers_add to block. Use dialpad_blocked_numbers_remove to unblock.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `numbers` (`array`, required): Phone numbers to block, in E.164 format. Example: ["+14155550123"].

Example input: `{"numbers":["+14155550123"]}`

### `dialpad_blocked_numbers_remove`

Unblock Numbers · Write

Unblock phone numbers company-wide in Dialpad, restoring inbound calls and texts from them.
Returns an empty response on success.
Use dialpad_blocked_numbers_remove to undo dialpad_blocked_numbers_add.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `numbers` (`array`, required): Phone numbers to unblock, in E.164 format. Example: ["+14155550123"].

Example input: `{"numbers":["+14155550123"]}`

### `dialpad_call_hangup`

Hang Up Call · Write

Hang up an active Dialpad call.
Returns an empty response on success.
Use dialpad_call_hangup to end a live call. Use dialpad_call_transfer to move it elsewhere instead.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `call_id` (`integer`, required): The Dialpad call ID, from dialpad_calls_list or a call event. Example: 5719029487116288

Example input: `{"call_id":5719029487116288}`

### `dialpad_call_ivr_initiate`

Initiate IVR Call · Write

Start an outbound call that connects a phone number to an office, department or call center IVR workflow.
Returns the initiated call's details.
Use dialpad_call_ivr_initiate to send a callee into an IVR. Use dialpad_call_ring_initiate to connect a callee to a user.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `phone_number` (`string`, required): The phone number to call, in E.164 format. Example: +14155550123
- `target_id` (`integer`, required): ID of the office, department or call center whose IVR workflow the callee is connected to. Example: 5719029487116288
- `target_type` (`string`, required): Type of the group in target_id: office, department or callcenter. One of: callcenter, department, office. One of: `callcenter`, `department`, `office`.
- `custom_data` (`string`, optional): Free-form text attached to the call and passed through to call event subscriptions. Example: campaign-oct
- `outbound_caller_id` (`string`, optional): E.164 number shown to the callee, or 'blocked' to hide it. Example: +14155550199

Example input: `{"phone_number":"<phone_number>","target_id":5719029487116288,"target_type":"callcenter"}`

### `dialpad_call_labels_add`

Add Call Labels · Write

Add labels to a Dialpad call, keeping any labels already on it.
Returns the updated call record.
Use dialpad_call_labels_add to tag calls. Use dialpad_call_labels_list to see the company's label names first. Labels cannot be removed with this tool.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `call_id` (`integer`, required): The Dialpad call ID, from dialpad_calls_list or a call event. Example: 5719029487116288
- `labels` (`array`, required): Label names to add to the call. Existing labels are kept; labels already present are not duplicated. Example: ["follow-up", "billing"].

Example input: `{"call_id":5719029487116288,"labels":["follow-up","billing"]}`

### `dialpad_call_operator_assign`

Assign Call Operator · Write

Assign a specific operator to a call waiting in a Dialpad contact center queue so only that operator can receive it.
Returns the call ID and assigned operators.
Use dialpad_call_operator_assign for queued contact-center calls only. Use dialpad_call_assigned_operators_list to check the result and dialpad_call_operator_unassign to undo it.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `call_id` (`integer`, required): The Dialpad call ID, from dialpad_calls_list or a call event. Example: 5719029487116288
- `operator_ids` (`array`, required): IDs of the operators (users) to assign to the queued call. Dialpad currently accepts one operator per request. Example: [5719029487116288].

Example input: `{"call_id":5719029487116288,"operator_ids":[5719029487116288]}`

### `dialpad_call_operator_unassign`

Unassign Call Operator · Write

Unassign one operator from a call waiting in a Dialpad contact center queue.
Returns the call ID and remaining assigned operators.
Use dialpad_call_operator_unassign for one operator. Use dialpad_call_operators_unassign_all to clear every assignment.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `call_id` (`integer`, required): The Dialpad call ID, from dialpad_calls_list or a call event. Example: 5719029487116288
- `operator_ids` (`array`, required): IDs of the operators to unassign from the queued call. Dialpad currently accepts one operator per request. Example: [5719029487116288].

Example input: `{"call_id":5719029487116288,"operator_ids":[5719029487116288]}`

### `dialpad_call_operators_unassign_all`

Unassign All Call Operators · Write

Unassign every assigned operator from a call waiting in a Dialpad contact center queue, so it routes normally again.
Returns the call ID.
Use dialpad_call_operators_unassign_all to clear all assignments. Use dialpad_call_operator_unassign for one operator.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `call_id` (`integer`, required): The Dialpad call ID, from dialpad_calls_list or a call event. Example: 5719029487116288

Example input: `{"call_id":5719029487116288}`

### `dialpad_call_participant_add`

Add Call Participant · Write

Add a participant to an active Dialpad call by phone number or by target (user, office, department, call center).
Returns the call's details.
Use dialpad_call_participant_add to make a conference. Use dialpad_call_transfer to hand the call off instead.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `call_id` (`integer`, required): The Dialpad call ID, from dialpad_calls_list or a call event. Example: 5719029487116288
- `participant` (`object`, required): Who to add. Pass either a phone number {"number": "+14155550123"} or a user, office, department or call center {"target_id": 5719029487116288, "target_type": "user"}; a target must have a primary phone number.

Example input: `{"call_id":5719029487116288,"participant":{}}`

### `dialpad_call_review_share_link_create`

Create Call Review Share Link · Write

Create a share link to a Dialpad call's review page (recording, transcript and AI insights), visible to the company or public.
Returns the share link's ID, URL and privacy.
Use dialpad_call_review_share_link_create to share a whole call. Use dialpad_recording_share_link_create to share only the audio.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `call_id` (`integer`, required): ID of the call whose review page to share. Example: 5719029487116288
- `privacy` (`string`, optional): Who can open the link: company (people in your Dialpad company) or public (anyone with the link). Defaults to company. One of: company, public. One of: `company`, `public`. Default: `company`.

Example input: `{"call_id":5719029487116288}`

### `dialpad_call_review_share_link_update`

Update Call Review Share Link · Write

Change the privacy level (company or public) of a Dialpad call review share link.
Returns the updated share link.
Use dialpad_call_review_share_link_update on links created with dialpad_call_review_share_link_create.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `privacy` (`string`, required): Who can open the link: company (people in your Dialpad company) or public (anyone with the link). One of: company, public. One of: `company`, `public`.
- `share_link_id` (`string`, required): The call review share link ID, from dialpad_call_review_share_link_create. Example: ag9zfnV2LXZvaWNlLWFwcHIfCxISQ2Fs

Example input: `{"privacy":"company","share_link_id":"<share_link_id>"}`

### `dialpad_call_ring_initiate`

Initiate Call via Ring · Write

Start an outbound call by ringing all of a Dialpad user's devices (or one chosen device); the call connects to the phone number once the user answers.
Returns the new call's ID and URL.
Use dialpad_call_ring_initiate for any device type, including mobile and desk phones. Use dialpad_user_call_initiate to dial straight from the web/desktop app.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `phone_number` (`string`, required): The phone number to call, in E.164 format. Example: +14155550123
- `user_id` (`integer`, required): ID of the Dialpad user whose devices ring and who makes the call. Find it with dialpad_users_list. Example: 5719029487116288
- `custom_data` (`string`, optional): Free-form text attached to the call and passed through to call event subscriptions, for example your own record ID. Example: ticket-4821
- `device_id` (`string`, optional): Ring only this device instead of all of the user's devices. Get it from dialpad_user_devices_list. Example: DeskPhone-ag9zfnV2LXZvaWNlLWFwcHI
- `group_id` (`integer`, optional): ID of an office, department or call center to place the call from (as that group). Must be sent with group_type. Example: 5719029487116288
- `group_type` (`string`, optional): Type of the group in group_id: office, department or callcenter. One of: callcenter, department, office. One of: `callcenter`, `department`, `office`.
- `is_consult` (`boolean`, optional): true to start a second (consult) call, putting the user's current call on hold. Defaults to false. Default: `false`.
- `outbound_caller_id` (`string`, optional): E.164 number shown to the callee for this call, or 'blocked' to hide it. Must be the user's number or a number of a group they belong to. Example: +14155550199

Example input: `{"phone_number":"<phone_number>","user_id":5719029487116288}`

### `dialpad_call_transfer`

Transfer Call · Write

Transfer an active Dialpad call to a phone number, another ongoing call, a user/office/department/call center, or a specific operator.
Returns the transferred call's details.
Use dialpad_call_transfer to hand the call off. Use dialpad_call_participant_add to bring a third party into the call instead.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `call_id` (`integer`, required): The Dialpad call ID, from dialpad_calls_list or a call event. Example: 5719029487116288
- `to` (`object`, required): Where to transfer the call. Pass exactly one shape: a phone number {"number": "+14155550123"}; an ongoing call {"call_id": 5719029487116288}; a user, office, department or call center {"target_id": 5719029487116288, "target_type": "user"}; or a specific operator in a call center {"operator_id": 5719029487116288, "target_id": 6012345678901234}.
- `custom_data` (`string`, optional): Free-form text attached to the call and passed through to call event subscriptions. Example: escalated-to-tier2
- `transfer_state` (`string`, optional): State the call takes when transferred: hold, parked, preanswer or voicemail. Leave empty for a normal transfer. One of: hold, parked, preanswer, voicemail. One of: `hold`, `parked`, `preanswer`, `voicemail`.

Example input: `{"call_id":5719029487116288,"to":{}}`

### `dialpad_call_unpark`

Unpark Call · Write

Unpark a call that was parked on an office mainline and route it to a Dialpad user.
Returns the call's details.
Use dialpad_call_unpark for calls parked with transfer_state 'parked' (see dialpad_call_transfer).

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `call_id` (`integer`, required): The Dialpad call ID, from dialpad_calls_list or a call event. Example: 5719029487116288
- `user_id` (`integer`, required): ID of the Dialpad user the parked call should be routed to. Example: 5719029487116288

Example input: `{"call_id":5719029487116288,"user_id":5719029487116288}`

### `dialpad_callback_enqueue`

Enqueue Callback · Write

Queue a callback to a phone number in a Dialpad call center; it dials out when the next operator is free, respecting business hours.
Returns the callback request with its queue position.
Use dialpad_callback_enqueue to request a callback. Use dialpad_callback_validate first to check it would succeed. International numbers and duplicates are rejected.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `call_center_id` (`integer`, required): The ID of a call center that will be used to fulfill the callback. Example: 5719029487116288
- `phone_number` (`string`, required): The e164-formatted number to call back. Example: +14155550123

Example input: `{"call_center_id":5719029487116288,"phone_number":"<phone_number>"}`

### `dialpad_callback_validate`

Validate Callback · Write

Dry-run a Dialpad callback request without queueing it or placing a call.
Returns whether the request would succeed, with the same failures enqueueing would report (unreachable or international number, duplicate, call center closed).
Use dialpad_callback_validate before dialpad_callback_enqueue.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `call_center_id` (`integer`, required): The ID of a call center that will be used to fulfill the callback. Example: 5719029487116288
- `phone_number` (`string`, required): The e164-formatted number to call back. Example: +14155550123

Example input: `{"call_center_id":5719029487116288,"phone_number":"<phone_number>"}`

### `dialpad_callcenter_operator_add`

Add Call Center Operator · Write

Add a user to a Dialpad call center as an operator, supervisor or admin, with an optional skill level.
Returns the added operator. May consume a call center license if the user needs one; fails if none is available.
Use dialpad_callcenter_operator_add to staff a queue. Use dialpad_callcenter_operator_remove to take someone out.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `call_center_id` (`integer`, required): The call center ID, from dialpad_callcenters_list. Example: 5719029487116288
- `user_id` (`integer`, required): The ID of the user. Example: 5719029487116288
- `keep_paid_numbers` (`boolean`, optional): Whether or not to keep phone numbers when switching to a support license. Note: Phone numbers require additional number licenses under a support license. Defaults to true. Default: `true`.
- `license_type` (`string`, optional): The type of license to assign to the new operator if a license is required. (`agents` or `lite_support_agents`). Defaults to `agents`. One of: agents, lite_support_agents. One of: `agents`, `lite_support_agents`. Default: `agents`.
- `role` (`string`, optional): The role the user should assume. One of: admin, operator, supervisor. Defaults to "operator". One of: `admin`, `operator`, `supervisor`. Default: `operator`.
- `skill_level` (`integer`, optional): Skill level of the operator. Integer value in range 1 - 100. Default 100. Default: `100`.

Example input: `{"call_center_id":5719029487116288,"user_id":5719029487116288}`

### `dialpad_channel_create`

Create Channel · Write

Create a public or private Dialpad channel.
Returns the new channel with its ID and hashtag.
Use dialpad_channel_create for a new channel. Use dialpad_channel_member_add to add people afterwards.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `description` (`string`, required): The description of the channel. Example: Escalations from the support queue
- `name` (`string`, required): The name of the channel. Example: support-escalations
- `privacy_type` (`string`, required): The privacy type of the channel. One of: private, public. One of: `private`, `public`.
- `user_id` (`integer`, optional): ID of the user who owns the channel. Only applies when the connection uses a company-level key; otherwise the authorized user owns it. Example: 5719029487116288

Example input: `{"description":"<description>","name":"<name>","privacy_type":"private"}`

### `dialpad_channel_member_add`

Add Channel Member · Write

Add a Dialpad user to a channel.
Returns the added member.
Use dialpad_channel_member_add to add someone. Use dialpad_channel_member_remove to take them out.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `channel_id` (`integer`, required): The channel ID, from dialpad_channels_list. Example: 5719029487116288
- `user_id` (`integer`, required): The user id. Example: 5719029487116288

Example input: `{"channel_id":5719029487116288,"user_id":5719029487116288}`

### `dialpad_contact_create`

Create Contact · Write

Create a Dialpad contact: a company shared contact, or a user's local contact when owner_id is given.
Returns the new contact with its ID.
Use dialpad_contact_create for a new contact. Use dialpad_contact_upsert to create-or-update a shared contact by your own unique ID, and dialpad_contact_update to change an existing one.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `first_name` (`string`, required): The contact's first name. Example: Jane
- `last_name` (`string`, required): The contact's last name. Example: Doe
- `company_name` (`string`, optional): The contact's company name. Example: Acme Inc
- `emails` (`array`, optional): The contact's emails. The first email in the list is the contact's primary email. Example: ["jane.doe@example.com"]
- `extension` (`string`, optional): The contact's extension number. Example: 1234
- `job_title` (`string`, optional): The contact's job title. Example: Account Executive
- `owner_id` (`string`, optional): The id of the user who will own this contact. If provided, a local contact will be created for this user. Otherwise, the contact will be created as a shared contact in your company. Example: 5719029487116288
- `phones` (`array`, optional): The contact's phone numbers. The phone number must be in e164 format. The first number in the list is the contact's primary phone. Example: ["+14155550123"]
- `urls` (`array`, optional): A list of websites associated with or belonging to this contact. Example: ["https://www.example.com"]

Example input: `{"first_name":"jo","last_name":"sm"}`

### `dialpad_contact_update`

Update Contact · Write

Update fields on an existing Dialpad contact; only the fields you pass change.
Returns the updated contact.
Use dialpad_contact_update when you have the contact ID. Use dialpad_contact_upsert to sync by your own unique ID.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `contact_id` (`string`, required): The contact's ID, from dialpad_contacts_list. Example: shared_contact_crm_12345
- `company_name` (`string`, optional): The contact's company name. Example: Acme Inc
- `emails` (`array`, optional): The contact's emails. The first email in the list is the contact's primary email. Example: ["jane.doe@example.com"]
- `extension` (`string`, optional): The contact's extension number. Example: 1234
- `first_name` (`string`, optional): The contact's first name. Example: Jane
- `job_title` (`string`, optional): The contact's job title. Example: Account Executive
- `last_name` (`string`, optional): The contact's last name. Example: Doe
- `phones` (`array`, optional): The contact's phone numbers. The phone number must be in e164 format. The first number in the list is the contact's primary phone. Example: ["+14155550123"]
- `urls` (`array`, optional): A list of websites associated with or belonging to this contact. Example: ["https://www.example.com"]

Example input: `{"contact_id":"<contact_id>"}`

### `dialpad_contact_upsert`

Create or Update Contact · Write

Create or update a Dialpad shared contact identified by your own unique ID (uid), for example a CRM record ID.
Returns the contact; its ID includes the uid.
Use dialpad_contact_upsert to keep contacts in sync with another system. Use dialpad_contact_create for a one-off contact or a user's local contact.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `first_name` (`string`, required): The contact's first name. Example: Jane
- `last_name` (`string`, required): The contact's last name. Example: Doe
- `uid` (`string`, required): Your own unique ID for the contact, such as a CRM record ID; it becomes part of the contact's Dialpad ID, and calling again with the same uid updates that contact. Example: crm_12345
- `company_name` (`string`, optional): The contact's company name. Example: Acme Inc
- `emails` (`array`, optional): The contact's emails. The first email in the list is the contact's primary email. Example: ["jane.doe@example.com"]
- `extension` (`string`, optional): The contact's extension number. Example: 1234
- `job_title` (`string`, optional): The contact's job title. Example: Account Executive
- `phones` (`array`, optional): The contact's phone numbers. The phone number must be in e164 format. The first number in the list is the contact's primary phone. Example: ["+14155550123"]
- `urls` (`array`, optional): A list of websites associated with or belonging to this contact. Example: ["https://www.example.com"]

Example input: `{"first_name":"jo","last_name":"sm","uid":"<uid>"}`

### `dialpad_meeting_create`

Create Meeting · Write

Schedule a Dialpad Meeting for a user, with title, start time, optional duration, recurrence and contact invitees.
Returns the created meeting with its scheduled conference ID and join details.
Use dialpad_meeting_create to schedule. Use dialpad_meeting_update to change it.
Requires the conference:all scope on the connection.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `start_datetime` (`integer`, required): Meeting start time, as a UTC Unix timestamp in seconds. Example: 1767225600
- `title` (`string`, required): The meeting's title. Example: Quarterly business review
- `user_id` (`integer`, required): ID of the Dialpad user who hosts the meeting. Example: 5719029487116288
- `call_out` (`boolean`, optional): true to have the meeting call participants when it starts.
- `contact_ids` (`array`, optional): IDs of contacts to invite, from dialpad_contacts_list. Example: ["shared_contact_crm_12345"].
- `duration` (`integer`, optional): Length of each occurrence in seconds. Defaults to 3600 (one hour). Example: 1800
- `end_datetime` (`integer`, optional): For recurring meetings only: when the series stops, as a UTC Unix timestamp in seconds. Does not set the length of a meeting (use duration). Example: 1775001600
- `meeting_id` (`string`, optional): Custom meeting URL slug. Required when meeting_type is CUSTOM_UNIQUE_MEETING. Example: acme-qbr
- `meeting_type` (`string`, optional): The meeting's type. If omitted or null, defaults to UNIQUE_MEETING when unique meetings are enabled and supported for the organizer; otherwise, defaults to PERSONAL. One of: CUSTOM_UNIQUE_MEETING, LARGE_MEETING, PERSONAL, UNIQUE_MEETING. One of: `CUSTOM_UNIQUE_MEETING`, `LARGE_MEETING`, `PERSONAL`, `UNIQUE_MEETING`.
- `recurrence` (`string`, optional): How often the meeting repeats, such as an RRULE. Leave empty for a one-off meeting. Example: RRULE:FREQ=WEEKLY;BYDAY=MO

Example input: `{"start_datetime":1767225600,"title":"<title>","user_id":5719029487116288}`

### `dialpad_meeting_update`

Update Meeting · Write

Update a scheduled Dialpad Meeting (title, time, duration, recurrence or invitees).
Returns the updated meeting.
Use dialpad_meeting_update for an existing meeting from dialpad_meetings_list or dialpad_meeting_create.
Requires the conference:all scope on the connection.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `scheduled_conference_id` (`integer`, required): The meeting's scheduled conference ID, from dialpad_meetings_list or dialpad_meeting_create. Example: 5719029487116288
- `user_id` (`integer`, required): ID of the Dialpad user who hosts the meeting. Example: 5719029487116288
- `call_out` (`boolean`, optional): true to have the meeting call participants when it starts.
- `contact_ids` (`array`, optional): Contact IDs that replace the current invitees. Leave empty to keep the current invitees. Example: ["shared_contact_crm_12345"].
- `duration` (`integer`, optional): New length of each occurrence in seconds. Leave empty to keep the current duration. Example: 1800
- `end_datetime` (`integer`, optional): For recurring meetings only: when the series stops, as a UTC Unix timestamp in seconds. Example: 1775001600
- `instance_id` (`string`, optional): ID of one occurrence of a recurring meeting to update instead of the whole series. Example: 20260105T160000Z
- `recurrence` (`string`, optional): How often the meeting repeats, such as an RRULE. Example: RRULE:FREQ=WEEKLY;BYDAY=MO
- `start_datetime` (`integer`, optional): New start time, as a UTC Unix timestamp in seconds. Example: 1767229200
- `title` (`string`, optional): The meeting's title. Example: Quarterly business review (rescheduled)

Example input: `{"scheduled_conference_id":5719029487116288,"user_id":5719029487116288}`

### `dialpad_operator_duty_status_update`

Update Operator Duty Status · Write

Set a Dialpad operator on duty or off duty (with an optional reason) across every call center they belong to.
Returns the operator's resulting duty status.
Use dialpad_operator_duty_status_update for call-center availability. Use dialpad_user_dnd_toggle to block all calls instead.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `on_duty` (`boolean`, required): True if this status message indicates an "on-duty" status. Example: true
- `user_id` (`string`, required): The operator's Dialpad user ID. Example: 5719029487116288
- `duty_status_reason` (`string`, optional): Optional reason for the status, such as one of the office's off-duty statuses from dialpad_office_off_duty_statuses_list. Example: Lunch

Example input: `{"on_duty":true,"user_id":"<user_id>"}`

### `dialpad_operator_skill_level_update`

Update Operator Skill Level · Write

Set an operator's skill level (0-100) within one Dialpad call center; skill-based routing prefers higher levels.
Returns the updated skill level.
Use dialpad_operator_skill_level_update to tune routing. Use dialpad_operator_skill_level_get to read the current value.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `call_center_id` (`integer`, required): The call center ID, from dialpad_callcenters_list. Example: 5719029487116288
- `skill_level` (`integer`, required): New skill level to set the operator in the call center. It must be an integer value between 0 and 100. Example: 80
- `user_id` (`integer`, required): The operator's Dialpad user ID. Example: 5719029487116288

Example input: `{"call_center_id":5719029487116288,"skill_level":80,"user_id":5719029487116288}`

### `dialpad_phone_number_format`

Format Phone Number · Write

Convert a phone number between local and E.164 format.
Returns the E.164 number, the formatted local number, the area code and the ISO country code.
Use dialpad_phone_number_format to normalize a number before passing it to other Dialpad tools that need E.164.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `number` (`string`, required): The phone number to convert, in local or E.164 format. Example: (415) 555-0123
- `country_code` (`string`, optional): ISO 3166-1 alpha-2 country code such as US. Required when number is in local format.

Example input: `{"number":"<number>"}`

### `dialpad_recording_share_link_create`

Create Recording Share Link · Write

Create a share link for a Dialpad call recording, admin call recording or voicemail, with a privacy level.
Returns the share link's ID, URL and privacy.
Use dialpad_recording_share_link_create to share audio. Use dialpad_call_review_share_link_create to share the full call review page.
Get the recording ID from dialpad_call_get.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `recording_id` (`string`, required): ID of the recording or voicemail to share, from the recording details of dialpad_call_get. Example: ag9zfnV2LXZvaWNlLWFwcHI
- `recording_type` (`string`, required): The type of the recording entity shared via the link. One of: admincallrecording, callrecording, voicemail. One of: `admincallrecording`, `callrecording`, `voicemail`.
- `privacy` (`string`, optional): Who can open the link: owner (only the recording's owner), admin (admins), company (people in your Dialpad company), custom, or public (anyone with the link). Defaults to owner. One of: admin, company, custom, owner, public. One of: `admin`, `company`, `custom`, `owner`, `public`. Default: `owner`.

Example input: `{"recording_id":"<recording_id>","recording_type":"admincallrecording"}`

### `dialpad_recording_share_link_update`

Update Recording Share Link · Write

Change the privacy level of a Dialpad recording share link.
Returns the updated share link.
Use dialpad_recording_share_link_update to widen or restrict access to a link created with dialpad_recording_share_link_create.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `privacy` (`string`, required): Who can open the link: owner (only the recording's owner), admin (admins), company (people in your Dialpad company), custom, or public (anyone with the link). One of: admin, company, custom, owner, public. One of: `admin`, `company`, `custom`, `owner`, `public`.
- `share_link_id` (`string`, required): The recording share link ID, from dialpad_recording_share_link_create. Example: ag9zfnV2LXZvaWNlLWFwcHIfCxISUmVj

Example input: `{"privacy":"admin","share_link_id":"<share_link_id>"}`

### `dialpad_scheduled_message_create`

Schedule Message · Write

Schedule an SMS (or MMS with base64 media) from a Dialpad user to phone numbers or a channel, sent at a future time at least 10 minutes ahead.
Returns the scheduled message with its ID.
Use dialpad_scheduled_message_create to send later. Use dialpad_sms_send to send now.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `start_date` (`integer`, required): When to send the message, as a Unix timestamp in seconds; must be at least 10 minutes in the future. Example: 1767225600
- `channel_hashtag` (`string`, optional): Hashtag of a Dialpad channel to send the message to, instead of to_numbers. Example: #support-team
- `from_number` (`string`, optional): The user's own E.164 number to send from. Example: +14155550199
- `is_bulk` (`boolean`, optional): true to mark the message as bulk (max 50 recipients; affects rate limiting and delivery). Defaults to false. Default: `false`.
- `media` (`string`, optional): Optional base64-encoded image or video attachment (max 500 KiB before encoding); sends the message as MMS. Example: iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==
- `text` (`string`, optional): The message text. Provide text, media, or both. Example: Reminder: your appointment is tomorrow at 3pm.
- `timezone` (`string`, optional): IANA timezone name for the schedule. Defaults to US/Pacific. Example: America/Los_Angeles. Default: `US/Pacific`.
- `to_numbers` (`array`, optional): Up to 50 recipient phone numbers in E.164 format. Provide either to_numbers or channel_hashtag. Example: ["+14155550123"].
- `user_id` (`integer`, optional): ID of the Dialpad user who sends the message. Defaults to the authorized user. Example: 5719029487116288

Example input: `{"start_date":1767225600}`

### `dialpad_scheduled_message_send_now`

Send Scheduled Message Now · Write

Send a pending Dialpad scheduled message immediately and remove the schedule.
Returns the send result.
Use dialpad_scheduled_message_send_now to skip the wait. Use dialpad_scheduled_message_update to change the time instead.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `schedule_id` (`string`, required): The scheduled message ID, from dialpad_scheduled_messages_list or dialpad_scheduled_message_create. Example: ag9zfnV2LXZvaWNlLWFwcHIYCxILU2NoZWR1bGU
- `user_id` (`integer`, optional): ID of the user who owns the schedule. Defaults to the authorized user. Example: 5719029487116288

Example input: `{"schedule_id":"<schedule_id>"}`

### `dialpad_scheduled_message_update`

Update Scheduled Message · Write

Update a pending Dialpad scheduled message; only the fields you pass change.
Returns the updated scheduled message.
Use dialpad_scheduled_message_update to change the time, text or recipients. Use dialpad_scheduled_message_send_now to send it immediately.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `schedule_id` (`string`, required): The scheduled message ID, from dialpad_scheduled_messages_list or dialpad_scheduled_message_create. Example: ag9zfnV2LXZvaWNlLWFwcHIYCxILU2NoZWR1bGU
- `channel_hashtag` (`string`, optional): Hashtag of a Dialpad channel to send to instead of phone numbers. Example: #support-team
- `from_number` (`string`, optional): The user's own E.164 number to send from. Example: +14155550199
- `media` (`string`, optional): New base64-encoded image or video attachment (max 500 KiB before encoding). Example: iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==
- `start_date` (`integer`, optional): New send time, as a Unix timestamp in seconds. Example: 1767229200
- `text` (`string`, optional): New message text. Example: Updated: your appointment is now at 4pm.
- `timezone` (`string`, optional): IANA timezone name for the schedule. Example: America/Los_Angeles
- `to_numbers` (`array`, optional): New list of recipient phone numbers in E.164 format; replaces the current list. Example: ["+14155550123"].
- `user_id` (`integer`, optional): ID of the user who owns the schedule. Defaults to the authorized user. Example: 5719029487116288

Example input: `{"schedule_id":"<schedule_id>"}`

### `dialpad_scorecards_export_create`

Start Scorecards Export · Write

Start an asynchronous export of Dialpad scorecard results (calls, questions or leaderboards) for the company or one target over a date range.
Returns a request ID.
Use dialpad_scorecards_export_create to start, then poll dialpad_scorecards_export_get with the request ID for the download link.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `scorecards_type` (`string`, required): The type of scorecards statistics to be returned. One of: scorecard_export_agent_leaderboard, scorecard_export_calls, scorecard_export_calls_questions, scorecard_export_leaderboard, scorecard_export_teamgroup_leaderboard. One of: `scorecard_export_agent_leaderboard`, `scorecard_export_calls`, `scorecard_export_calls_questions`, `scorecard_export_leaderboard`, `scorecard_export_teamgroup_leaderboard`.
- `days_ago_end` (`integer`, optional): End of the date range to get statistics for. This is the number of days to look back relative to the current day. Used in conjunction with days_ago_start to specify a range. Defaults to 30. Default: `30`.
- `days_ago_start` (`integer`, optional): Start of the date range to get statistics for. This is the number of days to look back relative to the current day. Used in conjunction with days_ago_end to specify a range. Defaults to 1. Default: `1`.
- `graded_days_ago_end` (`integer`, optional): End of the graded date range to get statistics for. This is the number of days to look back relative to the current day. Used in conjunction with graded_days_ago_start to specify a range. Example: 30
- `graded_days_ago_start` (`integer`, optional): Start of the graded date range to get statistics for. This is the number of days to look back relative to the current day. Used in conjunction with graded_days_ago_end to specify a range. Example: 1
- `scorecard_grader_id` (`integer`, optional): The scorecard grader's id. Example: 5719029487116288
- `scorecard_ids` (`array`, optional): Only include these scorecard IDs. Example: [5719029487116288].
- `send_to` (`string`, optional): Optional email address to send the export to. Example: qa-lead@example.com
- `target_id` (`integer`, optional): The target's id. Example: 5719029487116288
- `target_type` (`string`, optional): The target's type. One of: callcenter, coachingteam, office, unknown, user. One of: `callcenter`, `coachingteam`, `office`, `unknown`, `user`.
- `timezone` (`string`, optional): Timezone using a tz database name. Defaults to "UTC". Default: `UTC`.

Example input: `{"scorecards_type":"scorecard_export_agent_leaderboard"}`

### `dialpad_sms_send`

Send SMS · Write

Send an SMS (or an MMS with a base64 media attachment) from a Dialpad user or group to up to 10 phone numbers or to a Dialpad channel.
Returns the message ID, status, sender and recipients.
Use dialpad_sms_send to send now. Use dialpad_scheduled_message_create to send later.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `channel_hashtag` (`string`, optional): Hashtag of a Dialpad channel to post the message to, instead of to_numbers. Get it from dialpad_channels_list. Example: #support-team
- `from_number` (`string`, optional): E.164 number to send from; must be assigned to a user or group. Overrides user_id and sender_group_id. Example: +14155550199
- `infer_country_code` (`boolean`, optional): true to treat to_numbers as local numbers in the sender's country instead of requiring E.164. Defaults to false. Default: `false`.
- `media` (`string`, optional): Optional base64-encoded image or video attachment (max 500 KiB before encoding); sends the message as MMS. Example: iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==
- `sender_group_id` (`integer`, optional): ID of an office, department or call center to send on behalf of. Send with sender_group_type. Example: 5719029487116288
- `sender_group_type` (`string`, optional): Type of the group in sender_group_id: office, department or callcenter. One of: callcenter, department, office. One of: `callcenter`, `department`, `office`.
- `text` (`string`, optional): The message text. Provide text, media, or both. Example: Hi Jane, your appointment is confirmed for 3pm tomorrow.
- `to_numbers` (`array`, optional): Up to 10 recipient phone numbers in E.164 format. Provide either to_numbers or channel_hashtag. Example: ["+14155550123"].
- `user_id` (`integer`, optional): ID of the Dialpad user who sends the message. Defaults to the authorized user. Example: 5719029487116288

Example input: `{}`

### `dialpad_stats_export_create`

Start Stats Export · Write

Start an asynchronous Dialpad analytics export (calls, texts, voicemails, recordings, on-duty, CSAT, dispositions or screenshare) as aggregated stats or individual records, for the company, an office or a target.
Returns a request ID.
Use dialpad_stats_export_create to start, then poll dialpad_stats_export_get with the request ID for the download link.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `export_type` (`string`, required): Whether to return aggregated statistics (stats), or individual rows for each record (records). NOTE: For stat_type "csat" or "dispositions", only "records" is supported. One of: records, stats. One of: `records`, `stats`.
- `stat_type` (`string`, required): The type of statistics to be returned. NOTE: if the value is "csat" or "dispositions", target_id and target_type must be specified. One of: calls, csat, dispositions, onduty, recordings, screenshare, texts, voicemails. One of: `calls`, `csat`, `dispositions`, `onduty`, `recordings`, `screenshare`, `texts`, `voicemails`.
- `coaching_group` (`boolean`, optional): Whether or not the statistics should be for trainees of the coach group with the given target_id. Example: true
- `coaching_team` (`boolean`, optional): Whether or not the statistics should be for trainees of the coach team with the given target_id. Example: true
- `days_ago_end` (`integer`, optional): End of the range, as a number of days before today. Used with days_ago_start. Defaults to 30. Ignored when is_today is true. Default: `30`.
- `days_ago_start` (`integer`, optional): Start of the range, as a number of days before today (0 is today). Used with days_ago_end. Defaults to 1. Ignored when is_today is true. Default: `1`.
- `group_by` (`string`, optional): This param is only applicable when the stat_type is specified as call. For call stats, group calls by user per day (default), get total metrics by day, or break down by department and call center (office only). One of: date, group, user. One of: `date`, `group`, `user`.
- `is_today` (`boolean`, optional): Whether or not the statistics are for the current day. NOTE: days_ago_start and days_ago_end are ignored if this is passed in. Example: true
- `office_id` (`integer`, optional): ID of the office to get statistics for. If a target_id and target_type are passed in this value is ignored and instead the target is used. Example: 5719029487116288
- `target_id` (`integer`, optional): ID of a user, office, department, call center or other target to limit stats to. Send with target_type. Required for stat_type csat and dispositions. Example: 5719029487116288
- `target_type` (`string`, optional): Type of the target in target_id. Required for stat_type csat and dispositions. One of: callcenter, coachinggroup, coachingteam, department, office, room, staffgroup, unknown, user. One of: `callcenter`, `coachinggroup`, `coachingteam`, `department`, `office`, `room`, `staffgroup`, `unknown`, `user`.
- `timezone` (`string`, optional): IANA timezone name used for the date range. Defaults to UTC. Example: America/New_York. Default: `UTC`.

Example input: `{"export_type":"records","stat_type":"calls"}`

### `dialpad_user_call_initiate`

Initiate Call for User · Write

Make a Dialpad user's web or desktop app start an outbound call to a phone number.
Returns the initiated call's details.
Use dialpad_user_call_initiate when the user has the web/desktop app or a CTI open. Use dialpad_call_ring_initiate to ring all of the user's devices, including mobile apps and desk phones.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `phone_number` (`string`, required): The phone number to call, in E.164 format. Example: +14155550123
- `user_id` (`string`, required): The Dialpad user whose app should place the call, or 'me' for the user who authorized the connection.
- `custom_data` (`string`, optional): Free-form text attached to the call and passed through to call event subscriptions, for example your own record ID. Example: ticket-4821
- `group_id` (`integer`, optional): ID of an office, department or call center to place the call from (as that group). Must be sent with group_type. Example: 5719029487116288
- `group_type` (`string`, optional): Type of the group in group_id: office, department or callcenter. One of: callcenter, department, office. One of: `callcenter`, `department`, `office`.
- `outbound_caller_id` (`string`, optional): E.164 number shown to the callee for this call, or 'blocked' to hide it. Must be the user's number or a number of a group they belong to. Example: +14155550199

Example input: `{"phone_number":"<phone_number>","user_id":"<user_id>"}`

### `dialpad_user_call_recording_toggle`

Toggle Call Recording · Write

Start or stop recording on a Dialpad user's current active call.
Returns the active call's ID and recording state.
Use dialpad_user_call_recording_toggle during a live call only. Use dialpad_user_call_vi_toggle for live transcription instead of recording.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `is_recording` (`boolean`, required): true to start recording the user's active call, false to stop recording.
- `user_id` (`string`, required): The Dialpad user's ID, or 'me' for the user who authorized the connection. Example: 5719029487116288
- `play_message` (`boolean`, optional): Whether or not to play a message to indicate the call is being recorded (or recording has stopped). Defaults to true. Default: `true`.
- `recording_type` (`string`, optional): Whether or not to toggle recording for the operator call (personal recording), the group call (department recording), or both. Only applicable for group calls (call centers, departments, etc.). One of: all, group, user. Defaults to "user". One of: `all`, `group`, `user`. Default: `user`.

Example input: `{"is_recording":true,"user_id":"<user_id>"}`

### `dialpad_user_call_vi_toggle`

Toggle Call Voice Intelligence · Write

Turn Voice Intelligence (live transcription and real-time assist) on or off for a Dialpad user's current active call, optionally setting the transcription locale.
Returns the active call's ID and Voice Intelligence state. Fails if the user has no active call.
Use dialpad_user_call_vi_toggle for live transcription. Use dialpad_user_call_recording_toggle to record audio.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `enable_vi` (`boolean`, required): true to turn Voice Intelligence (live transcription) on for the user's active call, false to turn it off.
- `user_id` (`string`, required): The Dialpad user's ID, or 'me' for the user who authorized the connection. Example: 5719029487116288
- `announce_vi` (`boolean`, optional): Whether to play an announcement when vi is toggled for this call. If not provided, falls back to the office's (or group's) transcription-announcement setting. When explicitly set, this also overrides the two-party-consent area-code check that would otherwise suppress the announcement in consent-restricted regions. Example: true
- `vi_locale` (`string`, optional): The locale to use for vi. One of: de-de, en-au, en-ca, en-gb, en-mx, en-nz, en-us, es-es, es-mx, es-us, fr-ca, fr-fr, id-id, it-it, ja-jp, ko-kr, nl-nl, pt-br, sv-se, vi-vn, zh-cn. One of: `de-de`, `en-au`, `en-ca`, `en-gb`, `en-mx`, `en-nz`, `en-us`, `es-es`, `es-mx`, `es-us`, `fr-ca`, `fr-fr`, `id-id`, `it-it`, `ja-jp`, `ko-kr`, `nl-nl`, `pt-br`, `sv-se`, `vi-vn`, `zh-cn`.

Example input: `{"enable_vi":true,"user_id":"<user_id>"}`

### `dialpad_user_caller_id_set`

Set User Caller ID · Write

Set the caller ID a Dialpad user presents on outbound calls, or block it.
Returns the user's caller ID settings after the change.
Use dialpad_user_caller_id_set to change the default for all calls. To override for a single call, pass outbound_caller_id to dialpad_user_call_initiate instead.
Run dialpad_user_caller_id_get first to see which numbers are allowed.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `caller_id` (`string`, required): The E.164 phone number to present as the user's caller ID, or 'blocked' to hide it. Must be one of the numbers returned by dialpad_user_caller_id_get. Example: +14155550123
- `user_id` (`string`, required): The Dialpad user's ID, or 'me' for the user who authorized the connection. Example: 5719029487116288

Example input: `{"caller_id":"<caller_id>","user_id":"<user_id>"}`

### `dialpad_user_dnd_toggle`

Toggle User Do Not Disturb · Write

Turn do-not-disturb on or off for a Dialpad user, either for the user overall or for one office, department or call center.
Returns the user's resulting do-not-disturb state.
Use dialpad_user_dnd_toggle to stop or resume incoming calls. Use dialpad_operator_duty_status_update to change call-center on-duty status instead.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `do_not_disturb` (`boolean`, required): Determines if DND is ON or OFF. Example: true
- `user_id` (`string`, required): The Dialpad user's ID, or 'me' for the user who authorized the connection. Example: 5719029487116288
- `group_id` (`integer`, optional): The ID of the group which the user's DND status will be updated for. Example: 5719029487116288
- `group_type` (`string`, optional): The type of the group which the user's DND status will be updated for. One of: callcenter, department, office. One of: `callcenter`, `department`, `office`.

Example input: `{"do_not_disturb":true,"user_id":"<user_id>"}`

### `dialpad_user_screen_pop_trigger`

Trigger Screen Pop · Write

Open a URL (for example a CRM record or ticket) on a Dialpad user's active device as a screen pop.
Returns the device the screen pop was delivered to.
Use dialpad_user_screen_pop_trigger to show an agent the caller's record. Requires the screen_pop scope on the connection.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `screen_pop_uri` (`string`, required): The URL to open on the user's device, starting with a scheme such as https. URLs with embedded credentials (https://user:pass@host) are not supported. Example: https://crm.example.com/contacts/12345
- `user_id` (`string`, required): The Dialpad user's ID, or 'me' for the user who authorized the connection. Example: 5719029487116288

Example input: `{"screen_pop_uri":"<screen_pop_uri>","user_id":"<user_id>"}`

### `dialpad_user_status_update`

Update User Status · Write

Set a Dialpad user's custom status message, optionally with an expiration time.
Returns the user's updated status.
Use dialpad_user_status_update for the status text. Use dialpad_user_dnd_toggle for do-not-disturb and dialpad_operator_duty_status_update for call-center on/off duty.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `user_id` (`string`, required): The Dialpad user's ID, or 'me' for the user who authorized the connection.
- `expiration` (`integer`, optional): When the status expires, as a UTC Unix timestamp in seconds. Leave empty for no expiration. Example: 1767225600
- `status_message` (`string`, optional): The status message to show for the user. Example: In a customer workshop until 3pm

Example input: `{"user_id":"<user_id>"}`

### `dialpad_callcenter_operator_remove`

Remove Call Center Operator · Destructive

Remove an operator from a Dialpad call center. Licenses are not changed or released.
Returns the removed operator.
Use dialpad_callcenter_operator_remove to take someone out of a queue. To pause them temporarily, use dialpad_operator_duty_status_update instead.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `call_center_id` (`integer`, required): The call center ID, from dialpad_callcenters_list. Example: 5719029487116288
- `user_id` (`integer`, required): ID of the operator to remove. Example: 5719029487116288

Example input: `{"call_center_id":5719029487116288,"user_id":5719029487116288}`

### `dialpad_channel_member_remove`

Remove Channel Member · Destructive

Remove a Dialpad user from a channel.
Returns an empty response on success.
Use dialpad_channel_member_remove to take someone out. Use dialpad_channel_member_add to add them back.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `channel_id` (`integer`, required): The channel ID, from dialpad_channels_list. Example: 5719029487116288
- `user_id` (`integer`, required): The user id. Example: 5719029487116288

Example input: `{"channel_id":5719029487116288,"user_id":5719029487116288}`

## Related

Other Communication connectors ([all 73](/agentkit/connectors/?category=communication)):

- [Crisp](/agentkit/connectors/crisp/): Scalekit connector, API key, 50 tools
- [Gmail](/agentkit/connectors/gmail/): Scalekit connector, OAuth, 48 tools
- [Google Calendar](/agentkit/connectors/googlecalendar/): Scalekit connector, OAuth, 30 tools


---

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