---
title: "Dialpad MCP server for AI agents - actionlake"
description: "Give Claude 245 Dialpad actions through one MCP server: users, call, offices. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/dialpad
updated: 2026-10-23
---

Connectors · Email & messaging

# Dialpad MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Dialpad and the rest of your systems. It gives your agent 245 Dialpad actions (107 reads, 98 writes and 40 that wait for a confirmation) and holds the Dialpad credential itself, so the agent never does. It paces Dialpad's limits and records every call.

[Connect Dialpad free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "dialpad.users.list",
  intent: "check which Dialpad account is connected"
}
# User -- List · read · 1 upstream call
```

- 245 actions in one signed file
- 107 read look, never change
- 98 write create and update
- 40 wait for a yes destructive, confirmed first

Set up

## Connect Dialpad in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Dialpad.
   Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `api_key` Dialpad API key: a company admin creates one in the Dialpad admin portal under Admin Settings > My Company >…
   - `region` Your Dialpad region
   ```
   account { op: "connections.requirements", service: "dialpad" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "dialpad.users.list" }
   # user -- list · read · 1 upstream call
   check { action: "dialpad.users.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Dialpad at a glance

**Sign-in**

Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`api_key`

**Setup fields**

`region`

**Limits we pace to**

20 calls a second, per connection

**API covered**

Dialpad API v2 (OpenAPI 3.1, per-operation definitions on developers.dialpad.com), at your Dialpad instance's API base URL, which you enter when connecting

**Built from**

Dialpad's documentation, read 23 October 2026[developers.dialpad.com](https://developers.dialpad.com/llms.txt) [developers.dialpad.com](https://developers.dialpad.com/reference)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

103 of 107 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

5, so ask can line Dialpad up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Dialpad.

245 actions in 67 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **107** read look, never change
- **98** write create and update
- **40** destructive wait for a confirmation

1. ### Users
   18
   5 read · 11 write · 2 destructive
   User -- List · User -- Create · User -- Get · User -- Update
2. ### Call
   13
   4 read · 7 write · 2 destructive
   Call -- List · Call -- Get · Call -- Assign Operator · Call -- Initiate via Ring
3. ### Offices
   10
   6 read · 3 write · 1 destructive
   Dialpad Number -- Assign · Office -- Create · Office -- List · Office -- Get
4. ### Accesscontrolpolicies
   8
   3 read · 3 write · 2 destructive
   Access Control Policies -- Assign · Access Control Policies -- List Assignments · Access Control Policies -- Create · Access Control Policies -- List Policies
5. ### Callcenters operators
   7
   3 read · 3 write · 1 destructive
   Operator -- Add · Operator -- Get Duty Status · Operator -- Get Skill Level · Operators -- List
6. ### Numbers
   7
   3 read · 3 write · 1 destructive
   Dialpad Number -- List · Dialpad Number -- Get · Dialpad Number -- Assign · Dialpad Number -- Auto-Assign
7. ### Rooms
   7
   2 read · 3 write · 2 destructive
   Dialpad Number -- Assign · Room -- Create · Room -- List · Room -- Get
8. ### Callcenters
   6
   3 read · 2 write · 1 destructive
   Call Centers -- Create · Call Centers -- List · Call Centers -- Get · Call Centers -- Status

**59 more areas · 169 actions**

- Callrouters **6**
- Contacts **6**
- Scheduled messages **6**
- Departments **5**
- Dispositions **5**
- Meetings **5**
- Schedule reports **5**
- Webhook agent status event subscription **5**
- Webhook call event subscription **5**
- Webhook change log event subscription **5**
- Webhook channel event subscription **5**
- Webhook contact event subscription **5**
- Webhook fax event subscription **5**
- Webhook SMS event subscription **5**
- Webhooks **5**
- Websockets **5**
- Blockednumbers **4**
- Bulk messages **4**
- Call review share link **4**
- Channels **4**
- Deskphones rooms **4**
- Ivr **4**
- Recording share link **4**
- Channels members **3**
- Company **3**
- Departments operators **3**
- Deskphones users **3**
- Offices operators **3**
- Anonymization **2**
- Callback **2**
- Coaching team **2**
- Coaching team members **2**
- Offices e911 **2**
- Scorecards **2**
- Scorecards export **2**
- Stats export **2**
- Transcripts **2**
- Userdevices **2**
- Users e911 **2**
- WFM metrics **2**
- Agent groups **1**
- Anonymization requests **1**
- App settings **1**
- Call labels **1**
- Call participants **1**
- Callbacks **1**
- Callcenters queue **1**
- Conference meetings **1**
- Conference rooms **1**
- Custom ivrs **1**
- Digital sessions **1**
- Fax **1**
- Faxline **1**
- Meetings room **1**
- Number tags **1**
- Offices callcenters **1**
- Offices coaching teams **1**
- Offices departments **1**
- SMS **1**

Top actions

## The Dialpad API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 35 of Dialpad's 35 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `dialpad.users.list` User -- List | User -- List. | read | `identity.user.list` 474 connectors |
| `dialpad.call.list` Call -- List | Call -- List. | read | `comm.call.list` 44 connectors |
| `dialpad.channels.list` Channel -- List | Channel -- List. | read | `comm.channel.list` 27 connectors |
| `dialpad.contacts.list` Contact -- List | Contact -- List. | read | `crm.contact.list` 177 connectors |
| `dialpad.users.create` User -- Create | User -- Create. | write | `identity.user.create` 262 connectors |
| `dialpad.channels.create` Channel -- Create | Channel -- Create. | write | `comm.channel.create` 16 connectors |
| `dialpad.call.get` Call -- Get | Call -- Get. | read | `comm.call.get` 40 connectors |
| `dialpad.departments.list` Department -- List | Department -- List. | read | `hr.department.list` 40 connectors |
| `dialpad.users.delete` User -- Delete | User -- Delete. | destructive | `identity.user.delete` 253 connectors |
| `dialpad.contacts.create` Contact -- Create | Contact -- Create. | write | `crm.contact.create` 161 connectors |
| `dialpad.numbers.list` Dialpad Number -- List | Dialpad Number -- List. | read | `comm.phone_number.list` 23 connectors |
| `dialpad.departments.create` Departments -- Create | Departments -- Create. | write | `hr.department.create` 32 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Dialpad actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Find the Dialpad contacts with no email address, so we can clean them up.
   calls `dialpad.contacts.list`
2. Write write
   User -- Create in Dialpad. Show me exactly what you will send before you save it.
   calls `dialpad.users.create`
3. Across systems read
   Which contacts are in both Dialpad and HaloPSA, and how many are in only one of them?
   calls `dialpad.contacts.list` `halopsa.users.list`

Across your systems

## Dialpad, joined to the rest of your business.

One `ask` fetches from Dialpad and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

- Which contacts are in both Dialpad and HaloPSA, and how many are in only one of them?
  `dialpad.contacts.list` + `halopsa.users.list`, on `crm.contact` · [HaloPSA](https://actionlake.com/connectors/halopsa)
- Which contacts are in both Dialpad and NetSuite, and how many are in only one of them?
  `dialpad.contacts.list` + `netsuite.views.contacts`, on `crm.contact` · [NetSuite](https://actionlake.com/connectors/netsuite)

Also mapped by other connectors `identity.user` **517** `crm.contact` **192** `hr.department` **36** `comm.call` **33** `comm.channel` **21**

ask

```
ask {
  intent: "which contacts are in both Dialpad and HaloPSA, and how many are in only one of them",
  steps: [
    { action: "dialpad.contacts.list", as: "people", input: {}, limit: 100, max_pages: 5 },
    { action: "halopsa.users.list", as: "people2", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "people",
        right: "people2",
        on: "crm.contact",
        group_by: "people.email",
        select: ["people.email", "count(people2.id) as in_halopsa"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Dialpad

## Destructive actions wait for a yes.

40 Dialpad actions are destructive. The first 10:

- User -- Delete `dialpad.users.delete`
- Channel -- Delete `dialpad.channels.delete`
- Contact -- Delete `dialpad.contacts.delete`
- Departments -- Delete `dialpad.departments.delete`
- Dialpad Meeting -- Delete `dialpad.meetings.delete`
- Webhook -- Delete `dialpad.webhooks.delete`
- Custom IVR -- Delete `dialpad.ivr.delete`
- Room -- Delete `dialpad.rooms.delete`
- Dialpad Number -- Unassign `dialpad.numbers.unassign`
- Websocket -- Delete `dialpad.websockets.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do dialpad.users.delete confirm_policy: **human**

User -- Delete?

**intent:** the user asked me to user -- Delete

run suspended · waiting for a named person · key _dialpad-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "dialpad-agent",
  allowed_actions: ["dialpad.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "dialpad.users.delete", approver: "lead@example.com" },
    { match: "dialpad.channels.delete", approver: "lead@example.com" },
    { match: "dialpad.contacts.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Dialpad only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Dialpad costs on actionlake.

Every Dialpad action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Dialpad refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 245 Dialpad actions
- 245 actions page each page of a long list is one call
- 103 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Dialpad action.

245 actions by area: the id your agent calls, what it does, and its effect.

**Users 18**

- `dialpad.users.assign_number` Dialpad Number -- Assign write
- `dialpad.users.create` User -- Create write
- `dialpad.users.delete` User -- Delete destructive
- `dialpad.users.get` User -- Get read
- `dialpad.users.get_caller_id` Caller ID -- Get read
- `dialpad.users.initiate_call` Call -- Initiate write
- `dialpad.users.list` User -- List read
- `dialpad.users.list_personas` Persona -- List read
- `dialpad.users.move_office` User -- Switch Office write
- `dialpad.users.screen_pop` Screen-pop -- Trigger write
- `dialpad.users.search` User -- Search read
- `dialpad.users.set_caller_id` Caller ID -- Set write
- `dialpad.users.toggle_call_recording` Call Recording -- Toggle write
- `dialpad.users.toggle_call_vi` Call VI -- Toggle write
- `dialpad.users.toggle_dnd` Do Not Disturb -- Toggle write
- `dialpad.users.unassign_number` Dialpad Number -- Unassign destructive
- `dialpad.users.update` User -- Update write
- `dialpad.users.update_status` User Status -- Update write

**Call 13**

- `dialpad.call.add_labels` Label -- Add write
- `dialpad.call.assign` Call -- Assign Operator write
- `dialpad.call.get` Call -- Get read
- `dialpad.call.get_ai_recap` Call -- Get Ai Recap read
- `dialpad.call.get_assigned_operators` Call -- Assigned Operators read
- `dialpad.call.hangup` Call Actions -- Hang up destructive
- `dialpad.call.initiate` Call -- Initiate via Ring write
- `dialpad.call.initiate_ivr_call` Call -- Initiate IVR Call write
- `dialpad.call.list` Call -- List read
- `dialpad.call.transfer_call` Call -- Transfer destructive
- `dialpad.call.unassign_all_call_operators` Call -- Unassign All Call Operators write
- `dialpad.call.unassign_operator` Call -- Unassign Call Operator write
- `dialpad.call.unpark` Call -- Unpark write

**Offices 10**

- `dialpad.offices.assign_number` Dialpad Number -- Assign write
- `dialpad.offices.create` Office -- Create write
- `dialpad.offices.get` Office -- Get read
- `dialpad.offices.get_available_licenses` Licenses -- List Available read
- `dialpad.offices.get_off_duty_statuses` Off-Duty Status -- List read
- `dialpad.offices.get_plan` Billing Plan -- Get read
- `dialpad.offices.get_primary` Office -- Get Primary read
- `dialpad.offices.list` Office -- List read
- `dialpad.offices.unassign_number` Dialpad Number -- Unassign destructive
- `dialpad.offices.update` Office -- Update write

**Accesscontrolpolicies 8**

- `dialpad.accesscontrolpolicies.assign` Access Control Policies -- Assign write
- `dialpad.accesscontrolpolicies.assignments` Access Control Policies -- List Assignments read
- `dialpad.accesscontrolpolicies.create` Access Control Policies -- Create write
- `dialpad.accesscontrolpolicies.delete` Access Control Policies -- Delete destructive
- `dialpad.accesscontrolpolicies.get` Access Control Policies -- Get read
- `dialpad.accesscontrolpolicies.list` Access Control Policies -- List Policies read
- `dialpad.accesscontrolpolicies.unassign` Access Control Policies -- Unassign destructive
- `dialpad.accesscontrolpolicies.update` Access Control Policies -- Update write

**Callcenters operators 7**

- `dialpad.callcenters_operators.add` Operator -- Add write
- `dialpad.callcenters_operators.delete` Operator -- Remove destructive
- `dialpad.callcenters_operators.get_duty_status` Operator -- Get Duty Status read
- `dialpad.callcenters_operators.get_skill_level` Operator -- Get Skill Level read
- `dialpad.callcenters_operators.list` Operators -- List read
- `dialpad.callcenters_operators.update_duty_status` Operator -- Update Duty Status write
- `dialpad.callcenters_operators.update_skill_level` Operator -- Update Skill Level write

**Numbers 7**

- `dialpad.numbers.assign` Dialpad Number -- Assign write
- `dialpad.numbers.auto_assign` Dialpad Number -- Auto-Assign write
- `dialpad.numbers.format` Phone String -- Reformat read
- `dialpad.numbers.get` Dialpad Number -- Get read
- `dialpad.numbers.list` Dialpad Number -- List read
- `dialpad.numbers.swap` Dialpad Number -- Swap write
- `dialpad.numbers.unassign` Dialpad Number -- Unassign destructive

**Rooms 7**

- `dialpad.rooms.assign_number` Dialpad Number -- Assign write
- `dialpad.rooms.create` Room -- Create write
- `dialpad.rooms.delete` Room -- Delete destructive
- `dialpad.rooms.get` Room -- Get read
- `dialpad.rooms.list` Room -- List read
- `dialpad.rooms.unassign_number` Dialpad Number -- Unassign destructive
- `dialpad.rooms.update` Room -- Update write

**Callcenters 6**

- `dialpad.callcenters.create` Call Centers -- Create write
- `dialpad.callcenters.delete` Call Centers -- Delete destructive
- `dialpad.callcenters.get` Call Centers -- Get read
- `dialpad.callcenters.get_status` Call Centers -- Status read
- `dialpad.callcenters.list` Call Centers -- List read
- `dialpad.callcenters.update` Call Centers -- Update write

**Callrouters 6**

- `dialpad.callrouters.assign_number` Dialpad Number -- Assign write
- `dialpad.callrouters.create` Call Router -- Create write
- `dialpad.callrouters.delete` Call Router -- Delete destructive
- `dialpad.callrouters.get` Call Router -- Get read
- `dialpad.callrouters.list` Call Router -- List read
- `dialpad.callrouters.update` Call Router -- Update write

**Contacts 6**

- `dialpad.contacts.create` Contact -- Create write
- `dialpad.contacts.create_with_uid` Contact -- Create or Update write
- `dialpad.contacts.delete` Contact -- Delete destructive
- `dialpad.contacts.get` Contact -- Get read
- `dialpad.contacts.list` Contact -- List read
- `dialpad.contacts.update` Contact -- Update write

**Scheduled messages 6**

- `dialpad.scheduled_messages.create` Schedule -- Create write
- `dialpad.scheduled_messages.delete` Schedule -- Delete destructive
- `dialpad.scheduled_messages.get` Schedule -- Get read
- `dialpad.scheduled_messages.list` Schedule -- List read
- `dialpad.scheduled_messages.send_now` Schedule -- Send Now write
- `dialpad.scheduled_messages.update` Schedule -- Update write

**Departments 5**

- `dialpad.departments.create` Departments -- Create write
- `dialpad.departments.delete` Departments -- Delete destructive
- `dialpad.departments.get` Department -- Get read
- `dialpad.departments.list` Department -- List read
- `dialpad.departments.update` Departments -- Update write

**Dispositions 5**

- `dialpad.dispositions.create` Dispositions -- Create write
- `dialpad.dispositions.delete` Dispositions -- Delete destructive
- `dialpad.dispositions.get` Dispositions -- Get read
- `dialpad.dispositions.list` Dispositions -- List read
- `dialpad.dispositions.update` Dispositions -- Update write

**Meetings 5**

- `dialpad.meetings.create` Dialpad Meeting -- Create write
- `dialpad.meetings.delete` Dialpad Meeting -- Delete destructive
- `dialpad.meetings.get` Dialpad Meeting -- Get read
- `dialpad.meetings.list` Dialpad Meeting -- List read
- `dialpad.meetings.update` Dialpad Meeting -- Update write

**Schedule reports 5**

- `dialpad.schedule_reports.create` schedule reports -- Create write
- `dialpad.schedule_reports.delete` Schedule reports -- Delete destructive
- `dialpad.schedule_reports.get` Schedule reports -- Get read
- `dialpad.schedule_reports.list` Schedule reports -- List read
- `dialpad.schedule_reports.update` Schedule reports -- Update write

**Webhook agent status event subscription 5**

- `dialpad.webhook_agent_status_event_subscription.create` Agent Status -- Create write
- `dialpad.webhook_agent_status_event_subscription.delete` Agent Status -- Delete destructive
- `dialpad.webhook_agent_status_event_subscription.get` Agent Status -- Get read
- `dialpad.webhook_agent_status_event_subscription.list` Agent Status -- List read
- `dialpad.webhook_agent_status_event_subscription.update` Agent Status -- Update write

**Webhook call event subscription 5**

- `dialpad.webhook_call_event_subscription.create` Call Event -- Create write
- `dialpad.webhook_call_event_subscription.delete` Call Event -- Delete destructive
- `dialpad.webhook_call_event_subscription.get` Call Event -- Get read
- `dialpad.webhook_call_event_subscription.list` Call Event -- List read
- `dialpad.webhook_call_event_subscription.update` Call Event -- Update write

**Webhook change log event subscription 5**

- `dialpad.webhook_change_log_event_subscription.create` Change Log -- Create write
- `dialpad.webhook_change_log_event_subscription.delete` Change Log -- Delete destructive
- `dialpad.webhook_change_log_event_subscription.get` Change Log -- Get read
- `dialpad.webhook_change_log_event_subscription.list` Change Log -- List read
- `dialpad.webhook_change_log_event_subscription.update` Change Log -- Update write

**Webhook channel event subscription 5**

- `dialpad.webhook_channel_event_subscription.create` Channel Event -- Create write
- `dialpad.webhook_channel_event_subscription.delete` Channel Event -- Delete destructive
- `dialpad.webhook_channel_event_subscription.get` Channel Event -- Get read
- `dialpad.webhook_channel_event_subscription.list` Channel Event -- List read
- `dialpad.webhook_channel_event_subscription.update` Channel Event -- Update write

**Webhook contact event subscription 5**

- `dialpad.webhook_contact_event_subscription.create` Contact Event -- Create write
- `dialpad.webhook_contact_event_subscription.delete` Contact Event -- Delete destructive
- `dialpad.webhook_contact_event_subscription.get` Contact Event -- Get read
- `dialpad.webhook_contact_event_subscription.list` Contact Event -- List read
- `dialpad.webhook_contact_event_subscription.update` Contact Event -- Update write

**Webhook fax event subscription 5**

- `dialpad.webhook_fax_event_subscription.create` Fax Event -- Create write
- `dialpad.webhook_fax_event_subscription.delete` Fax Event -- Delete destructive
- `dialpad.webhook_fax_event_subscription.get` Fax Event -- Get read
- `dialpad.webhook_fax_event_subscription.list` Fax Event -- List read
- `dialpad.webhook_fax_event_subscription.update` Fax Event -- Update write

**Webhook SMS event subscription 5**

- `dialpad.webhook_sms_event_subscription.create` SMS Event -- Create write
- `dialpad.webhook_sms_event_subscription.delete` SMS Event -- Delete destructive
- `dialpad.webhook_sms_event_subscription.get` SMS Event -- Get read
- `dialpad.webhook_sms_event_subscription.list` SMS Event -- List read
- `dialpad.webhook_sms_event_subscription.update` SMS Event -- Update write

**Webhooks 5**

- `dialpad.webhooks.create` Webhook -- Create write
- `dialpad.webhooks.delete` Webhook -- Delete destructive
- `dialpad.webhooks.get` Webhook -- Get read
- `dialpad.webhooks.list` Webhook -- List read
- `dialpad.webhooks.update` Webhook -- Update write

**Websockets 5**

- `dialpad.websockets.create` Websocket -- Create write
- `dialpad.websockets.delete` Websocket -- Delete destructive
- `dialpad.websockets.get` Websocket -- Get read
- `dialpad.websockets.list` Websocket -- List read
- `dialpad.websockets.update` Websocket -- Update write

**Blockednumbers 4**

- `dialpad.blockednumbers.add` Blocked Number -- Add write
- `dialpad.blockednumbers.get` Blocked Number -- Get read
- `dialpad.blockednumbers.list` Blocked Numbers -- List read
- `dialpad.blockednumbers.remove` Blocked Number -- Remove destructive

**Bulk messages 4**

- `dialpad.bulk_messages.get` Bulk Message -- Get read
- `dialpad.bulk_messages.list` Bulk Message -- List read
- `dialpad.bulk_messages.send` Bulk Message -- Send write
- `dialpad.bulk_messages.update` Bulk Message -- Update write

**Call review share link 4**

- `dialpad.call_review_share_link.create` Call Review Sharelink -- Create write
- `dialpad.call_review_share_link.delete` Call Review Sharelink -- Delete destructive
- `dialpad.call_review_share_link.get` Call Review Sharelink -- Get read
- `dialpad.call_review_share_link.update` Call Review Sharelink -- Update write

**Channels 4**

- `dialpad.channels.create` Channel -- Create write
- `dialpad.channels.delete` Channel -- Delete destructive
- `dialpad.channels.get` Channel -- Get read
- `dialpad.channels.list` Channel -- List read

**Deskphones rooms 4**

- `dialpad.deskphones_rooms.create_international_pin` Room Phone -- Assign PIN write
- `dialpad.deskphones_rooms.delete` Room Phone -- Delete destructive
- `dialpad.deskphones_rooms.get` Room Phone -- Get read
- `dialpad.deskphones_rooms.list` Room Phone -- List read

**Ivr 4**

- `dialpad.ivr.assign` Custom IVR -- Assign write
- `dialpad.ivr.create` Custom IVR -- Create write
- `dialpad.ivr.delete` Custom IVR -- Delete destructive
- `dialpad.ivr.update` Custom IVR -- Update write

**Recording share link 4**

- `dialpad.recording_share_link.create` Recording Sharelink -- Create write
- `dialpad.recording_share_link.delete` Recording Sharelink -- Delete destructive
- `dialpad.recording_share_link.get` Recording Sharelink -- Get read
- `dialpad.recording_share_link.update` Recording Sharelink -- Update write

**Channels members 3**

- `dialpad.channels_members.add` Member -- Add write
- `dialpad.channels_members.delete` Member -- Remove destructive
- `dialpad.channels_members.list` Members -- List read

**Company 3**

- `dialpad.company.get` Company -- Get read
- `dialpad.company.sms_opt_out` Company -- Get SMS Opt-out List read
- `dialpad.company.update_settings` Company -- Update Settings write

**Departments operators 3**

- `dialpad.departments_operators.add` Operator -- Add write
- `dialpad.departments_operators.delete` Operator -- Remove destructive
- `dialpad.departments_operators.list` Operator -- List read

**Deskphones users 3**

- `dialpad.deskphones_users.delete` Desk Phone -- Delete destructive
- `dialpad.deskphones_users.get` Desk Phone -- Get read
- `dialpad.deskphones_users.list` Desk Phone -- List read

**Offices operators 3**

- `dialpad.offices_operators.add` Operator -- Add write
- `dialpad.offices_operators.delete` Operator -- Remove destructive
- `dialpad.offices_operators.list` Operator -- List read

**Anonymization 2**

- `dialpad.anonymization.callcontent` Call Content -- Delete (Bulk) destructive
- `dialpad.anonymization.contacts` Anonymize -- Contacts (Bulk) destructive

**Callback 2**

- `dialpad.callback.enqueue` Call Back -- Enqueue write
- `dialpad.callback.validate` Call Back -- Validate read

**Coaching team 2**

- `dialpad.coaching_team.get` Coaching Team -- Get read
- `dialpad.coaching_team.list` Coaching Team -- List read

**Coaching team members 2**

- `dialpad.coaching_team_members.add` Coaching Team -- Add Member write
- `dialpad.coaching_team_members.list` Coaching Team -- List Members read

**Offices e911 2**

- `dialpad.offices_e911.get` E911 Address -- Get read
- `dialpad.offices_e911.update` E911 Address -- Update write

**Scorecards 2**

- `dialpad.scorecards.get` Scorecards -- Get read
- `dialpad.scorecards.list` Scorecards -- List read

**Scorecards export 2**

- `dialpad.scorecards_export.create` Scorecards export -- Initiate Processing write
- `dialpad.scorecards_export.get` Scorecards export -- Get Result read

**Stats export 2**

- `dialpad.stats_export.create` Stats -- Initiate Processing write
- `dialpad.stats_export.get` Stats -- Get Result read

**Transcripts 2**

- `dialpad.transcripts.get` Call Transcript -- Get read
- `dialpad.transcripts.get_url` Call Transcript -- Get URL read

**Userdevices 2**

- `dialpad.userdevices.get` User Device -- Get read
- `dialpad.userdevices.list` User Device -- List read

**Users e911 2**

- `dialpad.users_e911.get` E911 Address -- Get read
- `dialpad.users_e911.update` E911 Address -- Update write

**WFM metrics 2**

- `dialpad.wfm_metrics.get_activity` Activity Metrics read
- `dialpad.wfm_metrics.get_agent` Agent Metrics read

**Agent groups 1**

- `dialpad.agent_groups.get` Agent Group -- Get read

**Anonymization requests 1**

- `dialpad.anonymization_requests.get` Anonymization Request -- Get read

**App settings 1**

- `dialpad.app_settings.get` App Settings -- Get read

**Call labels 1**

- `dialpad.call_labels.list` Label -- List read

**Call participants 1**

- `dialpad.call_participants.add` Call -- Add Participant write

**Callbacks 1**

- `dialpad.callbacks.list` Call Back -- List read

**Callcenters queue 1**

- `dialpad.callcenters_queue.list` Call Centers -- Queue read

**Conference meetings 1**

- `dialpad.conference_meetings.list` Meeting Summary -- List read

**Conference rooms 1**

- `dialpad.conference_rooms.list` Meeting Room -- List read

**Custom ivrs 1**

- `dialpad.custom_ivrs.list` Custom IVR -- List read

**Digital sessions 1**

- `dialpad.digital_sessions.list` Digital -- Sessions -- List read

**Fax 1**

- `dialpad.fax.send` Fax -- Send write

**Faxline 1**

- `dialpad.faxline.assign` Fax Line -- Assign write

**Meetings room 1**

- `dialpad.meetings_room.create` Meeting Room -- Create write

**Number tags 1**

- `dialpad.number_tags.update` Number Tags -- Update tags for a phone number. write

**Offices callcenters 1**

- `dialpad.offices_callcenters.list` Call Centers -- List read

**Offices coaching teams 1**

- `dialpad.offices_coaching_teams.list` Coaching Team -- List read

**Offices departments 1**

- `dialpad.offices_departments.list` Department -- List read

**SMS 1**

- `dialpad.sms.send` SMS -- Send write

Questions

## The Dialpad MCP server, answered.

**Is there a Dialpad MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 245 Dialpad actions across users, call, offices and accesscontrolpolicies, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Dialpad.

**What do I need to connect Dialpad?**

Dialpad API key: a company admin creates one in the Dialpad admin portal under Admin Settings > My Company >…. Plus your region. The free call account { op: "connections.requirements", service: "dialpad" } lists exactly what to paste.

**Can an AI agent delete or change things in Dialpad?**

Only if its key allows it, and only with an explicit confirmation. 40 Dialpad actions are destructive, including user -- Delete, channel -- Delete and contact -- Delete. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Dialpad API limit?**

actionlake paces every call to the limits in the Dialpad service file: 20 calls a second per connection. Repeated reads are answered from cache (103 Dialpad actions can be), which never reaches Dialpad.

**What does a Dialpad action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (245 Dialpad actions page). Cache hits, searches, dry runs and calls Dialpad refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Dialpad API does it cover?**

The Dialpad API v2 (OpenAPI 3.1, per-operation definitions on developers.dialpad.com) at your Dialpad instance's API base URL, which you enter when connecting. It is built from Dialpad's documentation as read on 23 October 2026. 245 actions in 67 areas, each one in the signed service file (version 1.0.0).

**Can I combine Dialpad with my other systems?**

Yes. ask joins Dialpad to HaloPSA or NetSuite on the same customer and returns the answer rather than every row. Dialpad maps crm.contact, which 192 other connectors also map.

**Does actionlake keep my Dialpad data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Dialpad credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Dialpad

Shares the most action names with

- [Cisco Webex 19](https://actionlake.com/connectors/cisco-webex)
- [Aircall 19](https://actionlake.com/connectors/aircall)
- [Quo (formerly OpenPhone) 14](https://actionlake.com/connectors/quo-formerly-openphone)
- [Sinch 12](https://actionlake.com/connectors/sinch)
- [8x8 10](https://actionlake.com/connectors/8x8)
- [Givebutter 10](https://actionlake.com/connectors/givebutter)

Joins with, on shared entities

- [Odoo 3](https://actionlake.com/connectors/odoo)
- [ERPNext (Frappe) 3](https://actionlake.com/connectors/erpnext-frappe)
- [Microsoft Dynamics 365 3](https://actionlake.com/connectors/microsoft-dynamics-365)
- [3CX 3](https://actionlake.com/connectors/3cx)
- [Freshservice 3](https://actionlake.com/connectors/freshservice)
- [Close 3](https://actionlake.com/connectors/close)

Browse

- [All Email & messaging connectors](https://actionlake.com/connectors/category/email-and-messaging)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Dialpad; the name is the vendor's own. Counts are from the Dialpad service file, version 1.0.0.

## Give your agent Dialpad today.

[Connect Dialpad free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/dialpad
More: https://actionlake.com/llms.txt
