Skip to content

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.

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
  • 245actionsin one signed file
  • 107readlook, never change
  • 98writecreate and update
  • 40wait for a yesdestructive, 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_keyDialpad API key: a company admin creates one in the Dialpad admin portal under Admin Settings > My Company >…
    • regionYour 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 callcheck { 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 2026developers.dialpad.comdevelopers.dialpad.com
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.

  • 107readlook, never change
  • 98writecreate and update
  • 40destructivewait 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.

ActionWhat it doesEffectSame name in
dialpad.users.listUser -- ListUser -- List.readidentity.user.list474 connectors
dialpad.call.listCall -- ListCall -- List.readcomm.call.list44 connectors
dialpad.channels.listChannel -- ListChannel -- List.readcomm.channel.list27 connectors
dialpad.contacts.listContact -- ListContact -- List.readcrm.contact.list177 connectors
dialpad.users.createUser -- CreateUser -- Create.writeidentity.user.create262 connectors
dialpad.channels.createChannel -- CreateChannel -- Create.writecomm.channel.create16 connectors
dialpad.call.getCall -- GetCall -- Get.readcomm.call.get40 connectors
dialpad.departments.listDepartment -- ListDepartment -- List.readhr.department.list40 connectors
dialpad.users.deleteUser -- DeleteUser -- Delete.destructiveidentity.user.delete253 connectors
dialpad.contacts.createContact -- CreateContact -- Create.writecrm.contact.create161 connectors
dialpad.numbers.listDialpad Number -- ListDialpad Number -- List.readcomm.phone_number.list23 connectors
dialpad.departments.createDepartments -- CreateDepartments -- Create.writehr.department.create32 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. Readread

    Find the Dialpad contacts with no email address, so we can clean them up.

    callsdialpad.contacts.list

  2. Writewrite

    User -- Create in Dialpad. Show me exactly what you will send before you save it.

    callsdialpad.users.create

  3. Across systemsread

    Which contacts are in both Dialpad and HaloPSA, and how many are in only one of them?

    callsdialpad.contacts.listhalopsa.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

  • 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

Also mapped by other connectorsidentity.user 517crm.contact 192hr.department 36comm.call 33comm.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 -- Deletedialpad.users.delete
  • Channel -- Deletedialpad.channels.delete
  • Contact -- Deletedialpad.contacts.delete
  • Departments -- Deletedialpad.departments.delete
  • Dialpad Meeting -- Deletedialpad.meetings.delete
  • Webhook -- Deletedialpad.webhooks.delete
  • Custom IVR -- Deletedialpad.ivr.delete
  • Room -- Deletedialpad.rooms.delete
  • Dialpad Number -- Unassigndialpad.numbers.unassign
  • Websocket -- Deletedialpad.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.

dodialpad.users.deleteconfirm_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: "[email protected]" },    { match: "dialpad.channels.delete", approver: "[email protected]" },    { match: "dialpad.contacts.delete", approver: "[email protected]" }  ]}
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.

  • 1upstream call per actionall 245 Dialpad actions
  • 245actions pageeach page of a long list is one call
  • 103reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Dialpad action.

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

Users18
  • dialpad.users.assign_numberDialpad Number -- Assignwrite
  • dialpad.users.createUser -- Createwrite
  • dialpad.users.deleteUser -- Deletedestructive
  • dialpad.users.getUser -- Getread
  • dialpad.users.get_caller_idCaller ID -- Getread
  • dialpad.users.initiate_callCall -- Initiatewrite
  • dialpad.users.listUser -- Listread
  • dialpad.users.list_personasPersona -- Listread
  • dialpad.users.move_officeUser -- Switch Officewrite
  • dialpad.users.screen_popScreen-pop -- Triggerwrite
  • dialpad.users.searchUser -- Searchread
  • dialpad.users.set_caller_idCaller ID -- Setwrite
  • dialpad.users.toggle_call_recordingCall Recording -- Togglewrite
  • dialpad.users.toggle_call_viCall VI -- Togglewrite
  • dialpad.users.toggle_dndDo Not Disturb -- Togglewrite
  • dialpad.users.unassign_numberDialpad Number -- Unassigndestructive
  • dialpad.users.updateUser -- Updatewrite
  • dialpad.users.update_statusUser Status -- Updatewrite
Call13
  • dialpad.call.add_labelsLabel -- Addwrite
  • dialpad.call.assignCall -- Assign Operatorwrite
  • dialpad.call.getCall -- Getread
  • dialpad.call.get_ai_recapCall -- Get Ai Recapread
  • dialpad.call.get_assigned_operatorsCall -- Assigned Operatorsread
  • dialpad.call.hangupCall Actions -- Hang updestructive
  • dialpad.call.initiateCall -- Initiate via Ringwrite
  • dialpad.call.initiate_ivr_callCall -- Initiate IVR Callwrite
  • dialpad.call.listCall -- Listread
  • dialpad.call.transfer_callCall -- Transferdestructive
  • dialpad.call.unassign_all_call_operatorsCall -- Unassign All Call Operatorswrite
  • dialpad.call.unassign_operatorCall -- Unassign Call Operatorwrite
  • dialpad.call.unparkCall -- Unparkwrite
Offices10
  • dialpad.offices.assign_numberDialpad Number -- Assignwrite
  • dialpad.offices.createOffice -- Createwrite
  • dialpad.offices.getOffice -- Getread
  • dialpad.offices.get_available_licensesLicenses -- List Availableread
  • dialpad.offices.get_off_duty_statusesOff-Duty Status -- Listread
  • dialpad.offices.get_planBilling Plan -- Getread
  • dialpad.offices.get_primaryOffice -- Get Primaryread
  • dialpad.offices.listOffice -- Listread
  • dialpad.offices.unassign_numberDialpad Number -- Unassigndestructive
  • dialpad.offices.updateOffice -- Updatewrite
Accesscontrolpolicies8
  • dialpad.accesscontrolpolicies.assignAccess Control Policies -- Assignwrite
  • dialpad.accesscontrolpolicies.assignmentsAccess Control Policies -- List Assignmentsread
  • dialpad.accesscontrolpolicies.createAccess Control Policies -- Createwrite
  • dialpad.accesscontrolpolicies.deleteAccess Control Policies -- Deletedestructive
  • dialpad.accesscontrolpolicies.getAccess Control Policies -- Getread
  • dialpad.accesscontrolpolicies.listAccess Control Policies -- List Policiesread
  • dialpad.accesscontrolpolicies.unassignAccess Control Policies -- Unassigndestructive
  • dialpad.accesscontrolpolicies.updateAccess Control Policies -- Updatewrite
Callcenters operators7
  • dialpad.callcenters_operators.addOperator -- Addwrite
  • dialpad.callcenters_operators.deleteOperator -- Removedestructive
  • dialpad.callcenters_operators.get_duty_statusOperator -- Get Duty Statusread
  • dialpad.callcenters_operators.get_skill_levelOperator -- Get Skill Levelread
  • dialpad.callcenters_operators.listOperators -- Listread
  • dialpad.callcenters_operators.update_duty_statusOperator -- Update Duty Statuswrite
  • dialpad.callcenters_operators.update_skill_levelOperator -- Update Skill Levelwrite
Numbers7
  • dialpad.numbers.assignDialpad Number -- Assignwrite
  • dialpad.numbers.auto_assignDialpad Number -- Auto-Assignwrite
  • dialpad.numbers.formatPhone String -- Reformatread
  • dialpad.numbers.getDialpad Number -- Getread
  • dialpad.numbers.listDialpad Number -- Listread
  • dialpad.numbers.swapDialpad Number -- Swapwrite
  • dialpad.numbers.unassignDialpad Number -- Unassigndestructive
Rooms7
  • dialpad.rooms.assign_numberDialpad Number -- Assignwrite
  • dialpad.rooms.createRoom -- Createwrite
  • dialpad.rooms.deleteRoom -- Deletedestructive
  • dialpad.rooms.getRoom -- Getread
  • dialpad.rooms.listRoom -- Listread
  • dialpad.rooms.unassign_numberDialpad Number -- Unassigndestructive
  • dialpad.rooms.updateRoom -- Updatewrite
Callcenters6
  • dialpad.callcenters.createCall Centers -- Createwrite
  • dialpad.callcenters.deleteCall Centers -- Deletedestructive
  • dialpad.callcenters.getCall Centers -- Getread
  • dialpad.callcenters.get_statusCall Centers -- Statusread
  • dialpad.callcenters.listCall Centers -- Listread
  • dialpad.callcenters.updateCall Centers -- Updatewrite
Callrouters6
  • dialpad.callrouters.assign_numberDialpad Number -- Assignwrite
  • dialpad.callrouters.createCall Router -- Createwrite
  • dialpad.callrouters.deleteCall Router -- Deletedestructive
  • dialpad.callrouters.getCall Router -- Getread
  • dialpad.callrouters.listCall Router -- Listread
  • dialpad.callrouters.updateCall Router -- Updatewrite
Contacts6
  • dialpad.contacts.createContact -- Createwrite
  • dialpad.contacts.create_with_uidContact -- Create or Updatewrite
  • dialpad.contacts.deleteContact -- Deletedestructive
  • dialpad.contacts.getContact -- Getread
  • dialpad.contacts.listContact -- Listread
  • dialpad.contacts.updateContact -- Updatewrite
Scheduled messages6
  • dialpad.scheduled_messages.createSchedule -- Createwrite
  • dialpad.scheduled_messages.deleteSchedule -- Deletedestructive
  • dialpad.scheduled_messages.getSchedule -- Getread
  • dialpad.scheduled_messages.listSchedule -- Listread
  • dialpad.scheduled_messages.send_nowSchedule -- Send Nowwrite
  • dialpad.scheduled_messages.updateSchedule -- Updatewrite
Departments5
  • dialpad.departments.createDepartments -- Createwrite
  • dialpad.departments.deleteDepartments -- Deletedestructive
  • dialpad.departments.getDepartment -- Getread
  • dialpad.departments.listDepartment -- Listread
  • dialpad.departments.updateDepartments -- Updatewrite
Dispositions5
  • dialpad.dispositions.createDispositions -- Createwrite
  • dialpad.dispositions.deleteDispositions -- Deletedestructive
  • dialpad.dispositions.getDispositions -- Getread
  • dialpad.dispositions.listDispositions -- Listread
  • dialpad.dispositions.updateDispositions -- Updatewrite
Meetings5
  • dialpad.meetings.createDialpad Meeting -- Createwrite
  • dialpad.meetings.deleteDialpad Meeting -- Deletedestructive
  • dialpad.meetings.getDialpad Meeting -- Getread
  • dialpad.meetings.listDialpad Meeting -- Listread
  • dialpad.meetings.updateDialpad Meeting -- Updatewrite
Schedule reports5
  • dialpad.schedule_reports.createschedule reports -- Createwrite
  • dialpad.schedule_reports.deleteSchedule reports -- Deletedestructive
  • dialpad.schedule_reports.getSchedule reports -- Getread
  • dialpad.schedule_reports.listSchedule reports -- Listread
  • dialpad.schedule_reports.updateSchedule reports -- Updatewrite
Webhook agent status event subscription5
  • dialpad.webhook_agent_status_event_subscription.createAgent Status -- Createwrite
  • dialpad.webhook_agent_status_event_subscription.deleteAgent Status -- Deletedestructive
  • dialpad.webhook_agent_status_event_subscription.getAgent Status -- Getread
  • dialpad.webhook_agent_status_event_subscription.listAgent Status -- Listread
  • dialpad.webhook_agent_status_event_subscription.updateAgent Status -- Updatewrite
Webhook call event subscription5
  • dialpad.webhook_call_event_subscription.createCall Event -- Createwrite
  • dialpad.webhook_call_event_subscription.deleteCall Event -- Deletedestructive
  • dialpad.webhook_call_event_subscription.getCall Event -- Getread
  • dialpad.webhook_call_event_subscription.listCall Event -- Listread
  • dialpad.webhook_call_event_subscription.updateCall Event -- Updatewrite
Webhook change log event subscription5
  • dialpad.webhook_change_log_event_subscription.createChange Log -- Createwrite
  • dialpad.webhook_change_log_event_subscription.deleteChange Log -- Deletedestructive
  • dialpad.webhook_change_log_event_subscription.getChange Log -- Getread
  • dialpad.webhook_change_log_event_subscription.listChange Log -- Listread
  • dialpad.webhook_change_log_event_subscription.updateChange Log -- Updatewrite
Webhook channel event subscription5
  • dialpad.webhook_channel_event_subscription.createChannel Event -- Createwrite
  • dialpad.webhook_channel_event_subscription.deleteChannel Event -- Deletedestructive
  • dialpad.webhook_channel_event_subscription.getChannel Event -- Getread
  • dialpad.webhook_channel_event_subscription.listChannel Event -- Listread
  • dialpad.webhook_channel_event_subscription.updateChannel Event -- Updatewrite
Webhook contact event subscription5
  • dialpad.webhook_contact_event_subscription.createContact Event -- Createwrite
  • dialpad.webhook_contact_event_subscription.deleteContact Event -- Deletedestructive
  • dialpad.webhook_contact_event_subscription.getContact Event -- Getread
  • dialpad.webhook_contact_event_subscription.listContact Event -- Listread
  • dialpad.webhook_contact_event_subscription.updateContact Event -- Updatewrite
Webhook fax event subscription5
  • dialpad.webhook_fax_event_subscription.createFax Event -- Createwrite
  • dialpad.webhook_fax_event_subscription.deleteFax Event -- Deletedestructive
  • dialpad.webhook_fax_event_subscription.getFax Event -- Getread
  • dialpad.webhook_fax_event_subscription.listFax Event -- Listread
  • dialpad.webhook_fax_event_subscription.updateFax Event -- Updatewrite
Webhook SMS event subscription5
  • dialpad.webhook_sms_event_subscription.createSMS Event -- Createwrite
  • dialpad.webhook_sms_event_subscription.deleteSMS Event -- Deletedestructive
  • dialpad.webhook_sms_event_subscription.getSMS Event -- Getread
  • dialpad.webhook_sms_event_subscription.listSMS Event -- Listread
  • dialpad.webhook_sms_event_subscription.updateSMS Event -- Updatewrite
Webhooks5
  • dialpad.webhooks.createWebhook -- Createwrite
  • dialpad.webhooks.deleteWebhook -- Deletedestructive
  • dialpad.webhooks.getWebhook -- Getread
  • dialpad.webhooks.listWebhook -- Listread
  • dialpad.webhooks.updateWebhook -- Updatewrite
Websockets5
  • dialpad.websockets.createWebsocket -- Createwrite
  • dialpad.websockets.deleteWebsocket -- Deletedestructive
  • dialpad.websockets.getWebsocket -- Getread
  • dialpad.websockets.listWebsocket -- Listread
  • dialpad.websockets.updateWebsocket -- Updatewrite
Blockednumbers4
  • dialpad.blockednumbers.addBlocked Number -- Addwrite
  • dialpad.blockednumbers.getBlocked Number -- Getread
  • dialpad.blockednumbers.listBlocked Numbers -- Listread
  • dialpad.blockednumbers.removeBlocked Number -- Removedestructive
Bulk messages4
  • dialpad.bulk_messages.getBulk Message -- Getread
  • dialpad.bulk_messages.listBulk Message -- Listread
  • dialpad.bulk_messages.sendBulk Message -- Sendwrite
  • dialpad.bulk_messages.updateBulk Message -- Updatewrite
Call review share link4
  • dialpad.call_review_share_link.createCall Review Sharelink -- Createwrite
  • dialpad.call_review_share_link.deleteCall Review Sharelink -- Deletedestructive
  • dialpad.call_review_share_link.getCall Review Sharelink -- Getread
  • dialpad.call_review_share_link.updateCall Review Sharelink -- Updatewrite
Channels4
  • dialpad.channels.createChannel -- Createwrite
  • dialpad.channels.deleteChannel -- Deletedestructive
  • dialpad.channels.getChannel -- Getread
  • dialpad.channels.listChannel -- Listread
Deskphones rooms4
  • dialpad.deskphones_rooms.create_international_pinRoom Phone -- Assign PINwrite
  • dialpad.deskphones_rooms.deleteRoom Phone -- Deletedestructive
  • dialpad.deskphones_rooms.getRoom Phone -- Getread
  • dialpad.deskphones_rooms.listRoom Phone -- Listread
Ivr4
  • dialpad.ivr.assignCustom IVR -- Assignwrite
  • dialpad.ivr.createCustom IVR -- Createwrite
  • dialpad.ivr.deleteCustom IVR -- Deletedestructive
  • dialpad.ivr.updateCustom IVR -- Updatewrite
Recording share link4
  • dialpad.recording_share_link.createRecording Sharelink -- Createwrite
  • dialpad.recording_share_link.deleteRecording Sharelink -- Deletedestructive
  • dialpad.recording_share_link.getRecording Sharelink -- Getread
  • dialpad.recording_share_link.updateRecording Sharelink -- Updatewrite
Channels members3
  • dialpad.channels_members.addMember -- Addwrite
  • dialpad.channels_members.deleteMember -- Removedestructive
  • dialpad.channels_members.listMembers -- Listread
Company3
  • dialpad.company.getCompany -- Getread
  • dialpad.company.sms_opt_outCompany -- Get SMS Opt-out Listread
  • dialpad.company.update_settingsCompany -- Update Settingswrite
Departments operators3
  • dialpad.departments_operators.addOperator -- Addwrite
  • dialpad.departments_operators.deleteOperator -- Removedestructive
  • dialpad.departments_operators.listOperator -- Listread
Deskphones users3
  • dialpad.deskphones_users.deleteDesk Phone -- Deletedestructive
  • dialpad.deskphones_users.getDesk Phone -- Getread
  • dialpad.deskphones_users.listDesk Phone -- Listread
Offices operators3
  • dialpad.offices_operators.addOperator -- Addwrite
  • dialpad.offices_operators.deleteOperator -- Removedestructive
  • dialpad.offices_operators.listOperator -- Listread
Anonymization2
  • dialpad.anonymization.callcontentCall Content -- Delete (Bulk)destructive
  • dialpad.anonymization.contactsAnonymize -- Contacts (Bulk)destructive
Callback2
  • dialpad.callback.enqueueCall Back -- Enqueuewrite
  • dialpad.callback.validateCall Back -- Validateread
Coaching team2
  • dialpad.coaching_team.getCoaching Team -- Getread
  • dialpad.coaching_team.listCoaching Team -- Listread
Coaching team members2
  • dialpad.coaching_team_members.addCoaching Team -- Add Memberwrite
  • dialpad.coaching_team_members.listCoaching Team -- List Membersread
Offices e9112
  • dialpad.offices_e911.getE911 Address -- Getread
  • dialpad.offices_e911.updateE911 Address -- Updatewrite
Scorecards2
  • dialpad.scorecards.getScorecards -- Getread
  • dialpad.scorecards.listScorecards -- Listread
Scorecards export2
  • dialpad.scorecards_export.createScorecards export -- Initiate Processingwrite
  • dialpad.scorecards_export.getScorecards export -- Get Resultread
Stats export2
  • dialpad.stats_export.createStats -- Initiate Processingwrite
  • dialpad.stats_export.getStats -- Get Resultread
Transcripts2
  • dialpad.transcripts.getCall Transcript -- Getread
  • dialpad.transcripts.get_urlCall Transcript -- Get URLread
Userdevices2
  • dialpad.userdevices.getUser Device -- Getread
  • dialpad.userdevices.listUser Device -- Listread
Users e9112
  • dialpad.users_e911.getE911 Address -- Getread
  • dialpad.users_e911.updateE911 Address -- Updatewrite
WFM metrics2
  • dialpad.wfm_metrics.get_activityActivity Metricsread
  • dialpad.wfm_metrics.get_agentAgent Metricsread
Agent groups1
  • dialpad.agent_groups.getAgent Group -- Getread
Anonymization requests1
  • dialpad.anonymization_requests.getAnonymization Request -- Getread
App settings1
  • dialpad.app_settings.getApp Settings -- Getread
Call labels1
  • dialpad.call_labels.listLabel -- Listread
Call participants1
  • dialpad.call_participants.addCall -- Add Participantwrite
Callbacks1
  • dialpad.callbacks.listCall Back -- Listread
Callcenters queue1
  • dialpad.callcenters_queue.listCall Centers -- Queueread
Conference meetings1
  • dialpad.conference_meetings.listMeeting Summary -- Listread
Conference rooms1
  • dialpad.conference_rooms.listMeeting Room -- Listread
Custom ivrs1
  • dialpad.custom_ivrs.listCustom IVR -- Listread
Digital sessions1
  • dialpad.digital_sessions.listDigital -- Sessions -- Listread
Fax1
  • dialpad.fax.sendFax -- Sendwrite
Faxline1
  • dialpad.faxline.assignFax Line -- Assignwrite
Meetings room1
  • dialpad.meetings_room.createMeeting Room -- Createwrite
Number tags1
  • dialpad.number_tags.updateNumber Tags -- Update tags for a phone number.write
Offices callcenters1
  • dialpad.offices_callcenters.listCall Centers -- Listread
Offices coaching teams1
  • dialpad.offices_coaching_teams.listCoaching Team -- Listread
Offices departments1
  • dialpad.offices_departments.listDepartment -- Listread
SMS1
  • dialpad.sms.sendSMS -- Sendwrite

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.

Give your agent Dialpad today.

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