Dialpad MCP server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AUTH_MODE | No | HTTP authentication mode. 'env' uses DIALPAD_API_KEY; 'gateway' (the image default) expects the X-Dialpad-Api-Key header on every request and does not fall back to the environment. | |
| DIALPAD_API_KEY | No | Dialpad API key sent as Authorization: Bearer <key>. Used for the stdio transport (default) and for HTTP when AUTH_MODE=env. | |
| CONDUIT_S2S_SECRET | No | Required for the HTTP transport; the server refuses to start without a real secret and checks the X-Gateway-S2S header on every /mcp request. | |
| MCP_ALLOW_INSECURE_DEV | No | Set to 1 for local development only; skips the HTTP gateway check and listens on 127.0.0.1. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| dialpad_get_companyA | Get the Dialpad company: name, domain, country, account type, office count and AI settings. |
| dialpad_list_usersA | List Dialpad users (staff) with name, email, phone numbers, extension, office and state. Filter by email, by phone number, or by first/last name prefix. Defaults to active users. |
| dialpad_get_userA | Get one Dialpad user by ID ('me' for the API key's own user, with a user-level key). |
| dialpad_list_officesA | List Dialpad offices (sites) with ID, name, state and main numbers. |
| dialpad_get_officeA | Get one Dialpad office by ID, including its settings and numbers. |
| dialpad_list_departmentsA | List departments (ring groups) across the company, optionally for one office. |
| dialpad_get_departmentA | Get one department by ID, including its routing and hours settings. |
| dialpad_list_callcentersA | List call centers (queues) across the company, optionally for one office. |
| dialpad_get_callcenterA | Get one call center by ID, including its routing, hours and alert settings. |
| dialpad_get_callcenter_statusA | Get live status for one call center: availability, operators on duty, calls waiting and longest wait time. |
| dialpad_list_callsA | List finished calls, newest first: times, direction, duration, internal and external number, contact and target. Filter by start time range and by target (user, office, department, call center...). Returns one page; use next_cursor for more. Contains personal information - admin-gated. |
| dialpad_get_callA | Get one call in detail: timings, routing, recording details, CSAT score and AI transcription text if any. Dialpad allows 10 of these per minute. Contains personal information - admin-gated. |
| dialpad_get_call_transcriptA | Get the Dialpad AI transcript of a call: each line with time, speaker name, type (transcript or moment) and text. Returns up to max_lines lines (default 400). Contains personal information - admin-gated. |
| dialpad_list_contactsA | List company-shared Dialpad contacts (and local contacts with include_local), with name, company, phones and emails. Filter by name. Returns one page; use next_cursor for more. Contains personal information - admin-gated. |
| dialpad_get_contactA | Get one shared or local contact by ID. Contains personal information - admin-gated. |
| dialpad_list_numbersA | List phone numbers in the company with type, status, and what each is assigned to (user, office, department, call center). Needs a company admin API key. |
| dialpad_get_numberA | Get one phone number: type, status and assignment. Needs a company admin API key. |
| dialpad_create_stats_exportA | Start a Dialpad analytics export (calls, texts, voicemails, recordings, on-duty, CSAT, dispositions) as raw records or summary stats, then poll dialpad_get_stats_export with the returned request_id for the download link. Starts a report job only; changes no Dialpad data. Dialpad allows about 200 per hour. Contains personal information - admin-gated. |
| dialpad_get_stats_exportA | Check a stats export started with dialpad_create_stats_export: status (processing, complete, failed) and, when complete, a download URL for the CSV. Contains personal information - admin-gated. |
| dialpad_list_call_subscriptionsA | List call event subscriptions (which call states are sent to which webhook, and whether each is enabled). Used by the N8N call-to-ticket workflow. |
| dialpad_get_call_subscriptionB | Get one call event subscription by ID. |
| dialpad_list_webhooksA | List webhook endpoints registered with Dialpad (ID and URL). The signing secret is never returned. Endpoint URLs are internal - admin-gated. |
| dialpad_create_contactB | Create a company-shared Dialpad contact (or a local contact for one user with owner_id). Same fields the N8N Autotask contact sync sends. Proposal: an administrator must approve it before it runs. |
| dialpad_update_contactB | Update a Dialpad contact. Only the fields given are changed; phones, emails and urls replace the whole list. Proposal: an administrator must approve it before it runs. |
| dialpad_delete_contactA | Delete a Dialpad contact (the N8N sync does this when the Autotask contact is deactivated). Cannot be undone. Proposal: an administrator must approve it before it runs. |
| dialpad_send_smsA | Send a text message, either to a Dialpad channel (channel_hashtag, as the N8N alerts do) or to up to 10 phone numbers. The sender is from_number, user_id or a sender group. Proposal: an administrator must approve it before it is sent. |
| dialpad_update_call_subscriptionA | Turn a call event subscription on or off, or change which call states it sends (the N8N call-to-ticket workflow pauses and resumes its subscription this way). Does not change where events are sent. Proposal: an administrator must approve it before it runs. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 27 tools
Most tools map cleanly to one resource+action (get_call vs get_call_transcript vs list_calls, create_stats_export vs get_stats_export pairs are obvious). The only soft overlaps are call_subscriptions versus webhooks and get_callcenter vs get_callcenter_status, but the descriptions draw clear lines between them. An agent should rarely misselect here.
Every tool uses the dialpad_ prefix plus a consistent verb_noun snake_case pattern (get_/list_/create_/update_/delete_/send_). Singular vs plural on get vs list matches the resource cardinality and stays predictable throughout.
27 tools is heavy, though the domain (users, offices, departments, call centers, calls, contacts, analytics exports, subscriptions, webhooks, SMS) is genuinely broad so nearly every tool maps to a distinct resource. Still, the surface is large enough that it exceeds a comfortable working set and could be consolidated (e.g. subscriptions/webhooks, callcenter status).
Read coverage across the platform is thorough and contacts get full CRUD plus SMS send and subscription toggling, so core workflows are supported. Gaps remain: no message/text history listing despite SMS sending, no webhook create/delete, no number assignment/management, and no write operations for users/offices/departments/call centers.