Dialpad for AI agents
Dialpad is a cloud phone and contact center platform that handles calls, messages, and meetings for business teams over their existing devices. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.
What agents do in Dialpad.
Route a call to an operator
Add an operator to a call center queue so incoming calls reach the right person during a shift change.
Look up a contact record
Read a contact's details before an agent returns a call, without editing the directory.
Approve before blocking numbers
Flag a request to add blocked phone numbers for review, since it can cut off a legitimate caller.
192 Dialpad actions, graded by risk.
Every Dialpad action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.
read
80Look things up. Allowed by default.
- dialpad.list_usersList users
- dialpad.get_rooms_listGet rooms list
- dialpad.get_call_labelsGet call labels
- dialpad.list_channels_apiList channels api
- dialpad.get_user_caller_idGet user caller id
- dialpad.get_user_deskphonesGet user deskphones
- dialpad.get_user_e911_detailsGet user e911 details
- dialpad.list_conference_roomsList conference rooms
- dialpad.list_offices_endpointList offices endpoint
- dialpad.get_deskphones_in_roomsGet deskphones in rooms
- dialpad.get_office_call_centersGet office call centers
- dialpad.get_phone_number_detailsGet phone number details
- dialpad.get_webhooks_informationGet webhooks information
- dialpad.get_channel_members_by_idGet channel members by id
- dialpad.get_deskphone_by_parent_idGet deskphone by parent id
- dialpad.get_call_center_status_by_idGet call center status by id
write
81Create and change things. Allow, or ask the user first.
- dialpad.create_callbackCreate callback
- dialpad.update_room_detailsUpdate room details
- dialpad.add_member_to_channelAdd member to channel
- dialpad.add_operator_to_officeAdd operator to office
- dialpad.add_participant_to_callAdd participant to call
- dialpad.create_channel_endpointCreate channel endpoint
- dialpad.create_secondary_officeCreate secondary office
- dialpad.create_new_contact_entryCreate new contact entry
- dialpad.post_users_screenpop_uriPost users screenpop uri
- dialpad.update_ivr_details_by_idUpdate ivr details by id
- dialpad.add_blocked_phone_numbersAdd blocked phone numbers
- dialpad.post_recording_share_linkPost recording share link
- dialpad.update_contact_informationUpdate contact information
- dialpad.add_member_to_coaching_teamAdd member to coaching team
- dialpad.add_operator_to_call_centerAdd operator to call center
- dialpad.update_operator_duty_statusUpdate operator duty status
destructive
31Delete, cancel or archive. Ask first, or deny outright.
- dialpad.delete_room_by_idDelete room by id
- dialpad.delete_user_by_idDelete user by id
- dialpad.delete_channel_by_idDelete channel by id
- dialpad.delete_contact_by_idDelete contact by id
- dialpad.delete_webhook_by_idDelete webhook by id
- dialpad.delete_number_via_apiDelete number via api
- dialpad.remove_blocked_numbersRemove blocked numbers
- dialpad.delete_call_center_by_idDelete call center by id
- dialpad.delete_call_router_by_idDelete callrouter by id
- dialpad.delete_deskphone_in_roomDelete deskphone in room
- dialpad.delete_agent_status_by_idDelete agent status by id
- dialpad.delete_department_resourceDelete department resource
- dialpad.delete_channel_member_by_idDelete channel member by id
- dialpad.delete_deskphone_by_user_idDelete deskphone by user id
- dialpad.delete_office_operator_by_idDelete office operator by id
- dialpad.delete_schedule_report_by_idDelete schedule report by id
Dialpad in three steps.
- 01Your users connect DialpadThey sign in to Dialpad on Arc0 Connect, under your brand, and approve the access you ask for.
- 02You set the rulesReads run, writes like “create callback” can wait for the user, and “delete room by id” can be denied outright.
- 03Any agent can actYour agent calls Dialpad through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
await arc0.policies.set('dialpad', { read: 'allow', write: 'ask', // create_callback destructive: 'deny', // delete_room_by_id }) # Claude Code: the same connection, one URL $ claude mcp add --transport http arc0 \ https://mcp.arc0.ai/u/u_8f2
How Dialpad connects.
Users sign in to Dialpad on Arc0 Connect and approve the scopes you request. Build with Arc0’s Dialpad OAuth app, or bring your own so the Dialpad consent screen names you. Tokens refresh automatically, and you can export them whenever you want.
The same Dialpad connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →
- AUTH
- API key · OAuth 2.0
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use Dialpad from any agent.
Dialpad and Arc0, answered.
Can I use Dialpad with Claude, ChatGPT or Cursor?
Yes. Connect Dialpad to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Dialpad actions you allow.
How do users connect Dialpad?
Users sign in to Dialpad on Arc0 Connect and approve the scopes you request. Build with Arc0’s Dialpad OAuth app, or bring your own so the Dialpad consent screen names you. Tokens refresh automatically, and you can export them whenever you want.
Which Dialpad actions can my agent take?
192 in total: 80 read, 81 write and 31 destructive, such as “create callback”. Your policies decide which of them each agent may call.
Can I stop my agent from deleting things in Dialpad?
Yes. Actions like “delete room by id” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.
Can my own backend call Dialpad too?
Yes. The same Dialpad connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.
Plug Dialpad into your agent.
Your users connect Dialpad once, under your brand. Your agent gets 192 actions behind your policies, with every call on the record.
Free to build · MCP + REST · Audit log on every plan