ClawLink

How to connect Dialpad to Hermes Agent

Connect Dialpad to Hermes with ClawLink in one click — 192 tools your AI agent can call from chat via hosted OAuth. No API keys, no manual setup.

Get started for free
Hermes Agent
Hermes Agent
ClawLink
ClawLink
Dialpad
Dialpad
DialpadOAUTH2MCP

Business phone, messaging, and video conferencing. Once connected, Hermes Agent can read and act on Dialpad from chat — pairing, token refresh, and tool wiring handled for you.

192 tools

Most guides for giving Hermes Agent Dialpad access start with registering your own OAuth app or pasting API keys into env files, then leave the token refresh and tool wiring to you. ClawLink gives Hermes a more practical Dialpad setup: pair once in the browser and your always-on Hermes agent can act on Dialpad for you, reading and doing real work on your behalf with no auth, token refresh, or tool wiring to build yourself.

Copy this prompt into Hermes to install the plugin and pair your account.

Prompt for Hermes
Set up ClawLink for Hermes and tell me when it's ready.

1. Install the plugin:
hermes plugins install ClawLink-HQ/hermes-plugin --enable

2. Start pairing. It prints an approval link, so show me the link and stop, don't wait:
hermes clawlink begin

3. I'll approve it in my browser, then reply "approved".

4. When I say approved, finish setup:
hermes clawlink finish

5. Then run `hermes clawlink test` and tell me whether ClawLink is ready.

Setup

It takes three steps to connect Hermes to Dialpad.

  1. 1

    Install and pair

    Install the ClawLink plugin, then pair Hermes with a one-time browser approval:

    hermes plugins install ClawLink-HQ/hermes-plugin --enable
  2. 2

    Connect Dialpad

    One-click OAuth in the dashboard.

  3. 3

    Use it from chat

    Ask Hermes Agent: "What can you do with Dialpad?"

Install by command

The prompt above walks Hermes through this. By hand, it is four commands and a browser approval:

hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin    # prints an approval link — open it and approve
hermes clawlink finish   # after approving in the browser
hermes clawlink test

Then connect Dialpad in the ClawLink dashboard — a one-click OAuth approval, no API keys.

Verify the connection by asking Hermes:

Use dialpad_fetch_call_by_id for <call id>, then dialpad_fetch_call_transcript_by_id for the same call and summarise the outcome and the next steps, without dumping the full transcript.

Using a different agent?

The Hermes plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:

npx -y @useclawlink/cli login

login opens the same browser approval and stores a credential locally. Once Dialpad is connected in the dashboard, that agent calls the same 192 Dialpad tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.

Dialpad MCP for Hermes

Looking for a Dialpad MCP server for Hermes Agent? ClawLink connects Dialpad to Hermes Agent and exposes 192 Dialpad tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Dialpad integration works the same way.

Dialpad's official MCP server exists and is sales-gated: the marketing page's only paths are talking to sales and requesting a demo, with no public endpoint and no self-serve install, and Google's AI Overview repeats exactly that on the MCP queries and sends searchers to Composio or Zapier instead. This page is the self-serve route: a hosted OAuth connection, which means no API key exists anywhere in this flow, 192 Dialpad tools callable from chat, and the account is the one you already have. Hermes Agent pairs with hermes clawlink begin and hermes clawlink finish; the manual six-step admin walkthrough search results teach, API keys and a Bearer token, is exactly the part this removes.

What the Hermes Agent Dialpad integration can do

192 Dialpad tools are ready for Hermes Agent once the account is connected. The 30 below are the ones people reach for most; your agent can call all 192.

30 of 192 Dialpad tools for Hermes

ToolWhat it does
Access control policies listing dialpad_access_control_policies_listingRetrieves a list of access control policies for the authenticated Dialpad company
Fetch call by ID dialpad_fetch_call_by_idRetrieves detailed information about a specific call using its unique identifier
Fetch call transcript by ID dialpad_fetch_call_transcript_by_idRetrieves the transcript for a specific call in the Dialpad system
Fetch custom ivrs dialpad_fetch_custom_ivrsRetrieves a list of all custom Interactive Voice Response (IVR) configurations associated with
Fetch operators for office ID dialpad_fetch_operators_for_office_idRetrieves a list of operators associated with a specific office in Dialpad
Fetch scheduled reports dialpad_fetch_scheduled_reportsRetrieves a list of scheduled reports from the Dialpad system
Fetch transcript URL by call ID dialpad_fetch_transcript_url_by_call_idRetrieves the URL of a transcript for a specific call in the Dialpad system
Fetch user details by ID dialpad_fetch_user_details_by_idRetrieves detailed information about a specific user in the Dialpad system
Format phone numbers dialpad_format_phone_numbersThe format_phone_number endpoint is used to standardize and format phone numbers within the
Get available licenses for an office dialpad_get_available_licenses_for_an_officeRetrieves the number of available (unused) licenses for a specific office within a Dialpad
Get call center status by ID dialpad_get_call_center_status_by_idRetrieves the current operational status of a specific call center in the Dialpad system
Get call labels dialpad_get_call_labelsRetrieves a list of all available call labels in the Dialpad system
Get call review share link by ID dialpad_get_call_review_share_link_by_idRetrieves or generates a share link for a specific call review in the Dialpad system
Get call subscription details dialpad_get_call_subscription_detailsRetrieves a list of call subscriptions associated with the authenticated user's account in the
Get channel members by ID dialpad_get_channel_members_by_idRetrieves a list of members for a specific channel in Dialpad
Get departments by office ID dialpad_get_departments_by_office_idRetrieves a list of all departments associated with a specific office in the Dialpad system
Get deskphone by parent ID dialpad_get_deskphone_by_parent_idRetrieves detailed information about a specific deskphone within a designated room or parent
Get deskphones for user parent ID dialpad_get_deskphones_for_user_parent_idRetrieves a list of deskphones associated with a specific user in the Dialpad system
Get deskphones in rooms dialpad_get_deskphones_in_roomsRetrieves a list of deskphones associated with a specific room in the Dialpad system
Get office call centers dialpad_get_office_call_centersRetrieves a list of call centers associated with a specific office in the Dialpad platform
Get operator skills by call center and user dialpad_get_operator_skills_by_call_center_and_userRetrieves the skill information for a specific operator within a designated call center
Get phone number details dialpad_get_phone_number_detailsRetrieves detailed information about a specific phone number associated with the Dialpad account
Get recording share link by ID dialpad_get_recording_share_link_by_idRetrieves detailed information about a specific recording share link in the Dialpad system
Get rooms list dialpad_get_rooms_listRetrieves a list of all available meeting rooms or spaces within the Dialpad system
Get subscription contact by ID dialpad_get_subscription_contact_by_idRetrieves the subscription information for a specific contact in the Dialpad system
Get user caller ID dialpad_get_user_caller_idRetrieves the caller ID information for a specific user in the Dialpad system
Get user deskphones dialpad_get_user_deskphonesRetrieves detailed information about a specific deskphone associated with a particular user in
Get user e911 details dialpad_get_user_e911_detailsRetrieves the Enhanced 911 (E911) information for a specific user in the Dialpad system
Get webhooks information dialpad_get_webhooks_informationRetrieves a list of all webhooks configured for the authenticated user's Dialpad account
List channels API dialpad_list_channels_apiRetrieves a list of all available communication channels in the Dialpad platform

Try it: find the Dialpad tool you need

Browse the 30 Dialpad tools

Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.

Example prompts

Use dialpad_fetch_call_by_id for <call id>, then dialpad_fetch_call_transcript_by_id for the same call and summarise the outcome and the next steps, without dumping the full transcript.

Get the recording share link with dialpad_get_recording_share_link_by_id for <call id> and tell me what access the link grants and who can open it.

Call dialpad_fetch_user_details_by_id and dialpad_get_departments_by_office_id for <office id> and list the departments and their members.

Use dialpad_format_phone_numbers on this list of numbers: <numbers>. Tell me which ones are invalid and what the formatted output looks like.

How the Dialpad tools behave

Details that decide whether a Dialpad prompt is a fast answer or a sensitive-data dump.

  • Call data is the core surface. dialpad_fetch_call_by_id, dialpad_fetch_call_transcript_by_id, dialpad_fetch_transcript_url_by_call_id, and dialpad_get_recording_share_link_by_id cover the record, and the transcript tools need the call id from a call fetch first.
  • The read surface is wide. Users, offices, departments, call centers, IVRs, channels, rooms, deskphones, labels, webhooks, access control policies, and scheduled reports are mostly reads; the writes concentrate in subscription and webhook management.
  • Transcripts and recordings are sensitive. The engines' safety answers all drill into least privilege for transcripts, recordings, and SMS, so prompt the agent to summarise and keep the scope to the call data the work needs.
  • Share links are access grants, not exports. dialpad_get_recording_share_link_by_id and dialpad_get_call_review_share_link_by_id create shareable links with their own access; treat them as credentials, not artifacts.
  • Company-admin boundary. Endpoints like licenses, E911 details, and access control policies sit at company level, so a user-role connection fails them exactly the way the AIO's Company Admin distinction predicts.

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Dialpad working from chat.

ManualClawLink
Connection flowRegister a Dialpad app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift.Users connect Dialpad through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code.
Ongoing maintenanceYou own refresh logic, permission debugging, environment config, and every provider-specific edge case for Dialpad.ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure.
Agent usabilityYou still need to expose the right Dialpad actions to the runtime in a format your agent can reliably use.192 tools for Dialpad are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes Dialpad to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for Hermes Agent users instead. You install the plugin once, connect Dialpad in the browser, and the 192 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full Composio alternatives comparison.

Troubleshooting

Hermes paired but still can't use Dialpad

Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.

Connection succeeds but no tools appear

Reconnect Dialpad from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

"Tool schema not loaded yet" error when calling Dialpad tools

Dialpad tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Dialpad call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

Dialpad returns 403 or "permission denied" on one action while others work

Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

Dialpad returns 403 although the account shows as connected

The AI Overview's answer names the causes precisely, and the old card said them without the names: a missing scope for the endpoint (calls:list, recordings_export, message_content_export are the ones it lists), a user-level key where a Company Admin key is required, and a token that needs regenerating. On a hosted OAuth connection the token-regenerate advice translates to reauthorizing from the dashboard, which re-issues the grant with the current scope set, and the company-admin distinction means a connection approved by a user without admin rights fails company-level endpoints no matter how healthy it looks. The hosted-flow cause still applies on top: a placeholder id, a call id from documentation instead of from the call list tools, which Dialpad answers like a permission error because the object is not in the connection's scope.

Ask the agent to diagnose it:

Call dialpad_fetch_call_by_id for <id> and quote the exact error, including any scope name it mentions. Then tell me which Dialpad account and role approved this connection. Do not retry it yet.
Dialpad starts returning rate-limit errors during a sweep

Dialpad rate-limits per company, with endpoint-specific ceilings, and an agent walking many call ids in one loop is the traffic shape that meets it: each id is a separate call, and a few hundred of them back to back hit the company ceiling quickly. The response is not to retry immediately but to change the shape of the work: summarise the calls you already have before fetching more, and have the agent report its call count as it goes. If a bulk analysis is genuinely needed, running it in stages across a few turns is more reliable than one sweep.

Ask the agent to diagnose it:

Tell me how many Dialpad calls you have made in the last minute and which endpoints they hit. Quote any rate-limit headers from the last response. Do not call Dialpad again until I reply.
Dialpad tools are missing, or one tool name is not found

The fixes search results teach for this symptom are about a local MCP server that does not exist here: the hyphen-versus-underscore naming fix applies to a configured server's tool names, and the AIO's fallback, use a third-party bridge because the official MCP is sales-gated, is the problem this page already solves. Two hosted-flow causes cover it instead: schemas load on demand, so the opening Dialpad call in a fresh session can arrive before the catalog and needs one retry, and if Hermes shows no Dialpad tools at all the pairing is incomplete, so confirm the plugin was installed with --enable and that both hermes clawlink begin and hermes clawlink finish ran.

Ask the agent to diagnose it:

List the Dialpad tools you actually have access to. If there are none, retry once and tell me whether the second call worked, then confirm whether `hermes clawlink test` passes.
OAuth finished in the browser but the account is still missing

Try reconnecting Dialpad and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.

FAQ

Is there a Hermes Agent Dialpad integration?

Yes. ClawLink is the fastest way to connect Hermes to Dialpad: link your Dialpad account once in the browser and Hermes Agent can call the Dialpad API through 192 ready-made tools — no custom code or token handling.

How do I connect Dialpad to Hermes with ClawLink?

Install the plugin with hermes plugins install ClawLink-HQ/hermes-plugin --enable, then pair once: run hermes clawlink begin, approve the link in your browser, and run hermes clawlink finish. Connect Dialpad in the dashboard and Hermes can use it from the next message — no config files or API keys to manage.

How long does it take to connect Dialpad to Hermes Agent?

About two minutes. Sign in, click Connect next to Dialpad in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.

Why use ClawLink instead of wiring Dialpad up myself?

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Dialpad working from chat.

Is Dialpad's official MCP server really sales-gated?

Yes. dialpad.com/mcp is a marketing page whose only forward paths are "Talk to Sales" and "Request a demo", and Google's AI Overview states it on two different queries, telling searchers to use Composio or Zapier MCP instead because there is no self-serve official endpoint. That makes this page the self-serve alternative: hosted OAuth, 192 tools, no sales conversation and no public endpoint to configure. If Dialpad ships a public MCP endpoint later, this comparison changes, but as of this run the sales gate is the fact the engines repeat.

Why does this page say no API keys when most Dialpad integrations use one?

Because this connection is OAuth, not a key. The route the AI Overview teaches for "dialpad api token" is a six-step admin walkthrough: Admin Portal, My Company, Authentication, API Keys, then a Bearer token on every request, and that key carries whatever the admin portal granted it. Here you approve Dialpad's consent screen once and the grant lives server-side: there is no key to generate, no token to rotate by hand, and revoking the connection from the dashboard cuts the agent off immediately. "No API keys" is accurate on this page in a way it is not on most.

What can the agent do with Dialpad?

The call-data surface is the core: dialpad_fetch_call_by_id, dialpad_fetch_call_transcript_by_id, dialpad_fetch_transcript_url_by_call_id, and dialpad_get_recording_share_link_by_id. Around it sits the org surface: users, offices, departments, call centers, custom IVRs, channels, rooms, deskphones, phone numbers and caller id, labels, subscription contacts, webhooks, access control policies, and scheduled reports, plus dialpad_format_phone_numbers for list hygiene. Most of the 192 tools are reads, which matches how this integration is actually used, an agent answering questions about calls and the org that took them.

Is it safe to expose call data to an agent?

The engines' safety answers are "generally safe with guardrails": transcripts, recordings, and SMS are the sensitive surface, least privilege is the taught practice, and the connection should be scoped to the call data the work actually needs. Dialpad's own posture (SOC 2, HIPAA, GDPR, data not used for training) is what the AIO cites. On this connection the grant is revocable from the dashboard, so the practical rule is: connect with the account that should see the calls, and prompt the agent to summarise rather than dump full transcripts into chat.

Why do search results teach Composio for Dialpad?

Because the answer bodies for the Hermes head queries walk searchers through the Composio CLI: install the Dialpad MCP toolkit, authenticate, authorize, and the AIO lists this page second on that query while teaching the competitor's install script. The underlying Dialpad API is the same for both routes; the difference is setup and upkeep, a CLI and a connected MCP endpoint you own versus a pairing handshake and one hosted grant. The pages even cover the same error space, so choose on how much you want to run, not on features.

Hermes paired but still can't use Dialpad

Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.