How to integrate Dialpad MCP with Hermes

Connect Hermes to Dialpad MCP. Block these spam numbers on our phone system, add a new operator to the support call center, and more using natural language, with authentication handled for you.

Dialpad logoDialpad
Oauth2Api Key

Dialpad is a cloud-based business phone and contact center system for teams. It unifies voice, video, messaging, and meetings across your devices.

192 Tools

Introduction

Hermes is a 24/7 autonomous agent that lives on your computer or server — it remembers what it learns and evolves as your usage grows.

This guide explains the easiest and most robust way to connect your Dialpad account to Hermes. You can do this through either Composio Connect CLI or Composio Connect MCP. For personal use we recommend the CLI, but you won't go wrong with MCP either.

Also integrate Dialpad with

What is Composio Connect?

Composio Connect is a consumer offering that lets anyone plug 1,500+ applications directly into their agent harness — including Hermes. It can:

  • Search and load tools from relevant toolkits on-demand, reducing context usage.
  • Chain multiple tools to accomplish complex workflows via a remote workbench, without excessive back-and-forth with the LLM.
  • Manage app authentication end-to-end with zero manual overhead.

Integrating Dialpad with Hermes

Using Composio Connect CLI

1. Install the Composio CLI

Run the install script directly, or paste https://composio.dev/hermes into your Hermes chat box to have it installed for you.

bash
curl -fsSL https://composio.dev/install | bash
Hermes authenticating with Composio

2. Authenticate

Once the CLI is installed, ask Hermes to authenticate with Composio.

3. Connect to Dialpad

Ask your agent to connect to Dialpad, or simply request any Dialpad-related task. Hermes will prompt you to authenticate and authorize access.

4. Done. You're all set with a new Dialpad connection.


Using Composio Connect MCP

1. Get your MCP URL and API Key

Go to dashboard.composio.dev and copy your Connect MCP URL and API key.

Copy MCP URL and API key from Composio dashboard

2. Open the Hermes config file

bash
nano ~/.hermes/config.yaml

3. Add the Composio Connect MCP server

bash
mcp_servers:
  composio:
    url: "https://connect.composio.dev/mcp"
    headers:
      x-consumer-api-key: "YOUR_COMPOSIO_API_KEY"
    connect_timeout: 60
    timeout: 180

Save with Ctrl + O, Enter, then exit with Ctrl + X.

4. Restart your Hermes agent

Once restarted, ask your agent to connect to Dialpad or request any Dialpad-related task. It will prompt you to authenticate and authorize access.

5. Done!

What is the Dialpad MCP server, and what's possible with it?

The Dialpad MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Dialpad account. It provides structured and secure access to your company’s phone system, giving your agent the ability to manage calls, operators, channels, and communication workflows—all without you lifting a finger.

  • Automated call and participant management: Have your agent add participants to ongoing calls or assign phone numbers to call routers to streamline real-time communications.
  • Channel and team membership control: Let your agent add members to channels or coaching teams, making onboarding and team adjustments effortless.
  • Operator assignment and role management: Easily direct your agent to add or update operators for departments, offices, or call centers, ensuring the right people are always in the right roles.
  • Phone and fax line provisioning: Empower your agent to create and assign fax lines or phone numbers to users, departments, or call routers, keeping your communications infrastructure flexible and up-to-date.
  • Access policy and security oversight: Enable your agent to list and audit access control policies, helping administrators maintain secure and compliant operations within Dialpad.

Way Forward

With Dialpad connected, Hermes can now act on your behalf whenever it detects a relevant task or you ask it to.

From here, you can extend Hermes further:

  • Connect more apps: Calendar, Slack, Notion, Linear, and hundreds of others are available through the same Composio Connect setup. Each new integration compounds what Hermes can do for you.
  • Build workflows across tools: Once multiple apps are connected, Hermes can chain actions together — turn an email into a calendar invite, a Slack message into a Linear ticket, or a meeting note into a follow-up draft.
  • Let it learn your patterns: The more you use Hermes, the better it gets at anticipating how you'd handle recurring tasks. Give it feedback on drafts and decisions, and it will adapt.

If you run into trouble or want to share what you've built, join the community or check out the Docs for deeper configuration options.

TOOLS

Supported Tools

Every Dialpad action and event your agent gets out of the box.

Access control policies listing

Lists the authenticated company's access control policies, including their permission sets.

Add blocked phone numbers

Adds specified phone numbers to the company-wide blocked list, rejecting inbound calls and texts from them for every user.

Add department operator by id

Adds a new operator to a specific department in Dialpad.

Add member to channel

Adds a new member to a specified channel within the Dialpad communication platform.

Add member to coaching team

Adds a new member to a specific coaching team in Dialpad.

Add operator to call center

This endpoint adds a new operator to a specified call center in the Dialpad system.

Add operator to office

Adds a user or room as an operator to an office's mainline, with an optional operator or admin role.

Add participant to call

Adds a new participant to an existing call in the Dialpad system.

Assign fax line to target

Creates and assigns a new fax line to a specified target (user or department) in the Dialpad system.

Assign number to call router

This endpoint assigns a phone number to a specific call router in the Dialpad system.

Assign phone number to office

This endpoint assigns a phone number to a specific office in the Dialpad system.

Assign phone number to room

Assigns a phone number to a specified room in Dialpad.

Assign phone number to target

Assigns a specific phone number to a Dialpad target, such as a user or department.

Assign phone number to user

This endpoint assigns a phone number to a specific Dialpad user.

Assign policy to user by id

Assigns an access control policy to a user at company, office, or contact center level.

Attach labels to call

Adds labels to a specified call, preserving existing labels.

Configure call center settings

Creates a new call center in a specified office, with options for call handling, routing, hours, recording, queues, alerts and voice intelligence.

Create access control policy

Creates a new access control policy in Dialpad, defining a set of permissions and their application scope.

Create agent status subscription

Creates or updates an agent status subscription for real-time monitoring of contact center agent statuses in Dialpad.

Create callback

Creates a callback request in a Dialpad call center.

Create call review share link

Creates a shareable link for a specific call review in the Dialpad platform.

Create call router configuration

Creates a new call router in the Dialpad system, allowing for custom call routing logic based on a specified URL.

Create channel endpoint

Creates a new communication channel within the Dialpad platform.

Create custom ivr with audio file

Creates a custom IVR recording for a specified Dialpad target and IVR type using a Base64-encoded MP3.

Create new contact entry

The CreateContact endpoint adds a new contact to Dialpad's system.

Create new department record

Creates a department in a specified office with optional call handling, operating hours, routing, and voice intelligence settings.

Create pin for international room calls

Creates a PIN for protected international calls from Dialpad room phones, optionally associating a customer reference for usage reporting.

Create room in office via post

Creates a new room within a specified office in the Dialpad system.

Create schedule reports endpoint

Creates a scheduled report in the Dialpad system for various types of communication data.

Create secondary office

Creates a secondary Dialpad office with billing information and optional operational, routing, and communication settings.

Create sms event subscription

Creates a new SMS event subscription in the Dialpad API, allowing users to receive notifications for inbound and/or outbound SMS messages.

Create user with auto assign

Creates a new user account in the Dialpad system with the specified details.

Create webhook post endpoint

Creates a Dialpad webhook endpoint with a URL and optional signing secret.

Deauthorize oauth2 session

Deauthorizes (revokes) an OAuth2 access token, effectively terminating the application's access to the Dialpad API.

Delete access control policy by id

Deletes an access control policy by ID, marking it deleted and removing its associated users.

Delete agent status by id

Deletes a specific agent status subscription identified by its unique ID.

Delete call center by id

Deletes a specified Dialpad call center by ID.

Delete callreviewsharelink by id

This endpoint deletes a specific call review share link in the Dialpad system.

Delete callrouter by id

Deletes a specific call router from the Dialpad system.

Delete call subscription by id

Deletes a specific call subscription from the Dialpad system.

Delete channel by id

Deletes a specific channel from the Dialpad communication platform.

Delete channel member by id

Removes a specified member from a Dialpad channel.

Delete contact by id

Deletes a specific contact from the Dialpad system using the provided contact ID.

Delete customivr by targettype and ivrtype

Unassigns and deletes a custom IVR recording for a specified target and IVR type.

Delete department resource

Permanently deletes a Dialpad department by ID, removing the department and all its configuration.

Delete deskphone by user id

Deletes a specific deskphone associated with a user in the Dialpad system.

Delete deskphone in room

Deletes a specific Dialpad room desk phone by room ID and desk phone ID.

Delete number via api

Deletes a specific phone number from the user's Dialpad account.

Delete office operator by id

Removes a specified user or room operator from an office's mainline using the operator ID and type.

Delete operator from call center

Removes a specified operator from a call center in the Dialpad system.

Delete operator from department

Removes a specified operator from a department in the Dialpad system.

Delete recording share link by id

Deletes a specific recording share link in the Dialpad system.

Delete room by id

Deletes a specific room from the Dialpad system using its unique identifier.

Delete schedule report by id

Deletes a scheduled report subscription by ID, stopping its recurring report schedule.

Delete sms subscription by id

Deletes an SMS event subscription by its subscription ID.

Delete subscription changelog by id

Deletes a change log event subscription by ID.

Delete subscription contact by id

Deletes a contact event subscription by its subscription ID.

Delete user by id

Deletes a user from the Dialpad system based on the provided user ID.

Delete webhook by id

Deletes a Dialpad webhook by its ID, stopping delivery to that webhook endpoint.

Delete websocket connection by id

Closes and removes a specific WebSocket connection in the Dialpad system.

Fetch call byid

Retrieves detailed information for a concluded Dialpad call by ID, including call status, duration, and available recording and transcription information.

Fetch call transcript by id

Retrieves the transcript for a specific call in the Dialpad system.

Fetch custom ivrs

Lists custom IVR recordings for a specified Dialpad target, with cursor pagination.

Fetch operators for office id

Retrieves the mainline operators for a specified Dialpad office, including available operator details and status.

Fetch scheduled reports

Lists scheduled report subscriptions for the company, with a cursor for pagination.

Fetch transcript url by call id

Retrieves the URL of a transcript for a specific call in the Dialpad system.

Fetch user details by id

Retrieves detailed information about a specific user in the Dialpad system.

Format phone numbers

Reformats a phone number supplied in local or E.

Get available licenses for an office

Retrieves the number of available (unused) licenses for a specific office within a Dialpad organization.

Get call center status by id

Retrieves the current operational status of a specific call center in the Dialpad system.

Get call labels

Retrieves a list of all available call labels in the Dialpad system.

Get call review share link by id

Retrieves an existing call review share link, including its access link and privacy state when available.

Get call subscription details

Lists Dialpad call event subscriptions for the company or a specified target.

Get channel members by id

Retrieves a list of members for a specific channel in Dialpad.

Get departments by office id

Retrieves a list of all departments associated with a specific office in the Dialpad system.

Get deskphone by parent id

Retrieves detailed information about a specific deskphone within a designated room or parent entity in the Dialpad system.

Get deskphones for user parent id

Lists deskphones associated with a specified Dialpad user.

Get deskphones in rooms

Lists deskphones associated with a specified Dialpad room, including available name, state, and phone number information.

Get office call centers

Retrieves a list of call centers associated with a specific office in the Dialpad platform.

Get operator skills by call center and user

Retrieves an operator's skill level for a specified call center.

Get phone number details

Retrieves details for a specific Dialpad phone number, including its status and assignment when available.

Get recording share link by id

Retrieves a recording share link by ID, including its access link, associated call ID, and privacy state when available.

Get rooms list

Lists company rooms, optionally filtered by office, with cursor pagination.

Get subscription contact by id

Retrieves a contact event subscription by its subscription ID, including its enabled state and available delivery endpoint configuration.

Get user caller id

Retrieves the caller ID information for a specific user in the Dialpad system.

Get user deskphones

Retrieves detailed information about a specific deskphone associated with a particular user in the Dialpad system.

Get user e911 details

Retrieves the Enhanced 911 (E911) information for a specific user in the Dialpad system.

Get webhooks information

Lists webhooks associated with the company, with cursor pagination.

Hangup call via id

Terminates an active call in the Dialpad system.

Initiate ivr call api endpoint

Initiates an outbound call to ring an IVR workflow, using a specified phone number and a call center, department, or office target.

Initiate outbound call via api

Initiates an outbound call on behalf of a Dialpad user by ringing all devices or a specified device.

Initiate user call with group options

Causes a specified user's Dialpad application to initiate an outbound call, with optional caller ID, group, and custom data.

List channels api

Lists company channels, optionally filtered by state.

List conference rooms

Lists Dialpad meeting rooms with cursor pagination.

List offices endpoint

Lists accessible Dialpad offices, optionally filtering for active offices; results may be paginated and office entries contain IDs.

List users

Retrieves a list of users from the Dialpad system.

Modify contact details using id

Updates an existing contact's information in the Dialpad system.

Modify custom ivr settings

Assigns an existing IVR recording to a target for a specified IVR type, replacing the previous assignment.

Modify operator skill level

Updates the skill level of a specific operator in a designated call center.

Modify webhook configuration

Updates an existing webhook configuration in the Dialpad API.

Move user to specified office

Moves a Dialpad user to a different office.

Oauth2 authorize endpoint

Initiates the OAuth 2.

Patch access control policy by id

Updates an access control policy by ID, including its name, description, permissions, or state.

Patch agent status event subscription

Updates an agent status event subscription by ID, including its enabled state and logging endpoint.

Patch call router by id

Updates an existing call router in the Dialpad system.

Patch department details by id

Updates the settings and configuration of a specific department in the Dialpad system.

Patch subscription changelog endpoint

Updates a change log event subscription's enabled state and logging endpoint by ID; enabled defaults to true when omitted.

Patch user active call recording

Updates recording for a user's active call, including recording indication playback and recording scope for group calls.

Patch user status

Updates a user's status message, optionally specifying an expiration time, and returns the user's status if the user exists.

Patch websocket signature secret

Updates the signature secret for a specified Dialpad WebSocket endpoint, for example to rotate the secret used to verify event payloads.

Post call event subscription

Creates a new call event subscription in the Dialpad system, allowing real-time notifications for various call states and actions.

Post recording share link

Creates a shareable link for a specific recording in Dialpad, such as a call recording or voicemail.

Post subscription change log event

Creates a company change log event subscription for a webhook or websocket endpoint, with an enabled setting.

Post users screenpop uri

Triggers a screen pop for a specific Dialpad user, displaying relevant information during a call or communication event.

Post websocket connection secret

Creates a Dialpad websocket endpoint for receiving event notifications, optionally specifying a signature secret.

Reassign phone number to target

Assigns or reassigns a phone number to a specific target within the Dialpad system.

Redeem access or refresh token

Sends a request to Dialpad's OAuth token endpoint.

Remove blocked numbers

Unblocks specified phone numbers company-wide, restoring inbound calls and texts from them.

Retrieve access control policy assignments

Lists users assigned to a specified Dialpad access control policy, along with their associated policy targets.

Retrieve access control policy by id

Retrieves detailed information about a specific access control policy in the Dialpad system.

Retrieve agent status by id

Retrieves an agent status event subscription by ID, including its agent type, enabled state, and webhook or websocket configuration.

Retrieve agent status subscription

Lists the company's agent status event subscriptions for auditing or managing event notifications.

Retrieve app settings

Retrieves OAuth app settings for a specified target, or company app settings when target type and ID are not provided.

Retrieve blocked number details

Checks whether a phone number is blocked company-wide.

Retrieve blocked phone numbers

Lists company-wide phone numbers blocked through the Dialpad API.

Retrieve call center by id

Retrieves detailed information about a specific call center in the Dialpad system.

Retrieve callcenter operators by id

Retrieves a list of operators associated with a specific call center in Dialpad.

Retrieve call centers information

Lists call centers in the company, optionally filtered by office or name.

Retrieve call information

Lists Dialpad calls in reverse chronological order, optionally filtered by start time or target.

Retrieve callrouter by id

Retrieves detailed information about a specific call router in the Dialpad system.

Retrieve call routers v2 api

Retrieves a list of call routers configured in the Dialpad system.

Retrieve call subscription by id

Retrieves a call event subscription by ID, including its enabled status and associated webhook or websocket configuration when available.

Retrieve channel by id

Retrieves a Dialpad channel by its unique identifier, returning its ID and name.

Retrieve coaching stats v2

Starts asynchronous processing of Dialpad statistics for a selected statistics type and export type, with date and target options.

Retrieve coaching team by id

Retrieves a coaching team by ID, including its name, associated office and company, and available descriptive metadata.

Retrieve coaching teams information

Lists coaching teams in the company, with team identifiers, names, office and company identifiers, and available descriptive metadata.

Retrieve company data

Retrieves detailed information about a specific company within the Dialpad platform.

Retrieve conference meetings

Lists summaries of past Dialpad meetings for a meeting room, with cursor pagination.

Retrieve contact by id

Retrieves a single Dialpad contact by ID, including available contact details.

Retrieve contact list

Lists Dialpad company shared contacts or a user's local contacts, with cursor pagination and an option to include local contacts.

Retrieve department by id

Retrieves a Dialpad department by ID, including its name, company and office IDs, and creation and update timestamps when available.

Retrieve department operators by id

Retrieves a list of operators associated with a specific department in Dialpad.

Retrieve e911 office details

Retrieves the Enhanced 911 (E911) settings for a specific office within the Dialpad communication platform.

Retrieve list of departments

Lists company departments, optionally filtered by office or department name.

Retrieve members of coaching team by id

Lists members of a specified coaching team, including available user identity, contact, and availability information.

Retrieve numbers via api v2

Retrieves a list of phone numbers associated with the user's Dialpad account.

Retrieve off duty status by office id

Lists the off-duty status options configured for a specified office.

Retrieve office by id

Retrieves a specified Dialpad office by ID.

Retrieve office plan by id

Retrieves an office's billing plan, including purchased license counts by line type, remaining calling credit, and the start of the next billing cycle.

Retrieve operator duty status

Retrieves the current duty status of a specific call center operator in Dialpad.

Retrieve room information by id

Retrieves information about a Dialpad room by ID, including its name, state, office, group details, and phone settings when available.

Retrieve schedule report by id

Retrieves a scheduled report subscription by ID, including its frequency and delivery endpoint ID when available.

Retrieve sms opt out by company id

Lists a company's external phone numbers filtered by SMS opt-out or opt-back-in state, optionally by A2P campaign.

Retrieve sms subscription by id

Retrieves an SMS event subscription by ID, including its direction and available delivery endpoint and target settings.

Retrieve sms subscriptions

Lists SMS event subscriptions for a company or target, with optional target filtering and cursor pagination.

Retrieve specific webhook by id

Retrieves a webhook configuration by ID, including its URL and available signature settings.

Retrieve stat by id

Retrieves the progress and result of a previously initiated statistics request by its request ID.

Retrieve subscription change log

Lists a company's change log event subscriptions with cursor pagination.

Retrieve subscription change log by id

Retrieves a change log event subscription by ID.

Retrieve subscription contacts

Lists a company's contact event subscriptions, with cursor pagination.

Retrieve teams for office id

Lists coaching teams associated with a specified Dialpad office, with cursor-based pagination.

Retrieve user device by id

Retrieves detailed information about a specific user device associated with a Dialpad account.

Retrieve user devices list

Lists registered user devices, such as desk phones, softphones, and mobile apps.

Retrieve user personas by id

Retrieves all personas associated with a specific user in the Dialpad system.

Retrieve websocket by id

Retrieves detailed information about a specific WebSocket connection using its unique identifier.

Retrieve websocket connection

Lists the company's Dialpad WebSockets, with cursor pagination.

Send sms with optional media and group sender

The SendSMS endpoint allows you to send SMS or MMS messages through the Dialpad platform to one or multiple recipients.

Set user caller id by id

Sets or blocks the Caller ID for a specific Dialpad user.

Subscribe contact event

Creates a new contact event subscription in the Dialpad platform, allowing you to receive real-time updates about changes to contacts.

Toggle user do not disturb status

The ToggleUserDoNotDisturb endpoint allows you to update the Do Not Disturb (DND) status for a specific user in the Dialpad system.

Toggle vi call for user by id

Turns Voice Intelligence on or off for a user's currently active call.

Transfer call to destination

Transfers an active call within the Dialpad system to a new destination.

Unassign access control policy from user

Unassigns one or all target groups associated with a user for a Dialpad access control policy.

Unassign office number

Unassigns a phone number from an office mainline.

Unassign room phone number

Unassigns a phone number from a room.

Unassign user phone number

Unassigns a specified phone number from a user.

Unpark call by user id

Unparks a call previously parked on an office mainline, routing it to the specified user.

Update call center settings by id

Updates a call center's settings by ID, including hours, routing, hold queues, alerts, recording, and voice intelligence.

Update call review share link privacy

Updates the privacy settings of an existing call review share link in Dialpad.

Update call subscription by id

Updates a call event subscription's call states, active status, logging endpoint and event filters.

Update contact information

Creates or updates a shared Dialpad contact using a unique identifier.

Update contact subscription by id

Updates a Dialpad contact event subscription by ID, setting its contact type and enabled status and optionally associating a different logging endpoint.

Update e911 address for office

This endpoint updates the Enhanced 911 (E911) address for a specific office in Dialpad.

Update e911 address for user

Updates the E911 address for a specified user in the Dialpad system.

Update ivr details by id

Updates the name and/or description of a custom IVR recording by ID.

Update operator duty status

Updates an operator's duty status and optionally its reason for all call centers the user belongs to.

Update recording share link privacy

Updates the privacy settings of a specific recording share link in Dialpad.

Update room details

Updates the configuration of a specific Dialpad room identified by its ID.

Update schedule report settings

Updates an existing scheduled report subscription's frequency, timing, type, target, and delivery settings.

Update sms subscription settings

Updates an SMS event subscription by ID, including direction, endpoint and target settings.

Update user information by id

This endpoint allows you to update various aspects of a user's profile and settings in the Dialpad system.

Validate callback request

Validates a callback request for the Dialpad system.

FAQ

Frequently asked questions

With a standalone Dialpad MCP server, the agents and LLMs can only access a fixed set of Dialpad tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Dialpad and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. Hermes fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Dialpad tools.

Yes, absolutely. You can configure which Dialpad scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Dialpad data and credentials are handled as safely as possible.

Start with Dialpad.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Dialpad tool your agent needs.Free to start.

Start building