canonical: https://jentic.com/apis/dialpad.com/dialpad

# Dialpad API

The Dialpad API exposes Dialpad's cloud telephony and contact-centre platform - calls, SMS, contacts, users, offices, call centres, access control policies, and webhooks. Twenty-five endpoints cover the most common operations needed to integrate Dialpad with a CRM or to build automation around inbound and outbound activity. Authentication is Bearer token based and tied to a Dialpad account.

## For AI agents

Place calls, send SMS, manage contacts and users, and configure access control across Dialpad's cloud telephony platform.

## Scope

Does not handle video conferencing, payment processing, or marketing email - use for Dialpad voice, SMS, and user administration only.

## Capabilities

- Place outbound calls and look up call details and recordings
- Send and receive SMS messages from Dialpad numbers
- Manage contact records, including create, update, and search
- Provision users and assign offices, call centres, and policies
- Configure access control policies and assign or unassign users
- Subscribe to webhooks for call, SMS, and contact-centre events

## Use cases

### CRM Click-to-Call Integration

Add click-to-call to a CRM record so reps dial directly from the contact view. The Dialpad calls endpoint accepts a from-user and a destination number, and Dialpad places the call on the rep's device. The integration also pulls call history and recordings back to the CRM record after the call ends.

Example prompt: When a rep clicks call on a contact record, POST to /calls with the rep's user id and the contact's phone number, then post the resulting call id back to the CRM

### SMS Customer Outreach

Send transactional and conversational SMS from Dialpad numbers - appointment reminders, support follow-ups, or two-way conversations. POST /sms takes a from-number, to-number, and body, and Dialpad delivers the message and reports its status. Inbound SMS can be received via webhook for two-way flows.

Example prompt: Send an SMS from the support number to +14155551212 with a templated reminder body, then track delivery via the returned message id

### Call Centre Workforce Management

Manage a Dialpad call-centre workforce - provisioning users, assigning them to call centres, applying access control policies, and pulling call activity for reporting. The users, callcenters, and accesscontrolpolicies endpoints together form a small workforce-management surface for ops teams.

Example prompt: Provision new agent user agent42, assign them to call centre cc-eu-tier1, and apply the standard agent access control policy

### AI Agent Telephony Connector

Give an AI agent a callable telephony layer through Jentic. The orchestrator searches for "send an SMS" or "place a call" and Jentic returns the matching Dialpad operation with its schema, so the agent can dial out or message a customer without integrating the Dialpad SDK directly.

Example prompt: When a support ticket needs a callback, place a Dialpad call from the on-call user to the customer's number and append the call id to the ticket timeline

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/calls` | Place an outbound call |
| GET | `/calls/{call_id}` | Retrieve call details and recording references |
| POST | `/sms` | Send an SMS from a Dialpad number |
| GET | `/contacts` | List or search contacts |
| GET | `/users/{user_id}` | Retrieve a user record |
| POST | `/accesscontrolpolicies/{id}/assign` | Assign an access control policy to a user |

## Key resources

- **Calls** — Place, retrieve, and inspect call records and recordings
- **SMS** — Send SMS messages from Dialpad numbers
- **Contacts** — Create, update, and look up contact records
- **Users** — Provision and manage user accounts and assignments
- **Call Centers** — Manage Dialpad call centres and agent assignments
- **Access Control Policies** — Define and assign role-based access policies
- **Webhooks** — Subscribe to events for calls, SMS, and contact centre activity

## Why Jentic

- **Setup:** Wiring the Dialpad API by hand means setting the bearer header and managing the call, SMS, contact, and user payloads across the v2 surface yourself. Through Jentic you install once, import the Dialpad API from the API Directory, store the bearer token once, and your agent calls it.
- **Permission scoping:** You choose which Dialpad operations the agent may call, so you can limit it to the ones it needs, such as placing a call and reading a contact, and leave state-changing ones like sending an SMS or assigning an access control policy out unless you add them.
- **Credential handling:** Your Dialpad bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'place a call' or 'read a contact', and Jentic returns the matching Dialpad operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Twilio API** — Lower-level telephony platform with broader voice, SMS, and video primitives
- **RingCentral API** — Competing cloud business phone platform with similar contact-centre features
- **HubSpot CRM Objects** — CRM destination for call activity and contact updates from Dialpad

## FAQ

### What authentication does the Dialpad API use?

Dialpad uses HTTP Bearer authentication. The token is generated in the Dialpad admin console and scoped to an account. Through Jentic the token is stored in the encrypted vault and never enters the agent's context.

### Can I send SMS from a Dialpad number with one call?

Yes. POST /sms with a from-number, to-number, and body sends the message and returns its id. Delivery status is reported via the message resource and via webhook subscriptions if registered.

### What are the rate limits for the Dialpad API?

Dialpad applies per-account rate limits roughly in the low hundreds of requests per minute. The exact limit appears in 429 response headers; retry with exponential backoff is recommended for bulk imports.

### How do I place a call through Jentic?

Run a Jentic search for "place a Dialpad call". Jentic returns POST /calls with its input schema (user id, target number). Load the schema, populate the fields, and execute - no need to read the Dialpad OpenAPI spec.

### Does the API expose call recordings?

Yes. GET `/calls/{call_id}` returns metadata including recording references when recording is enabled for the user or call centre. Recordings themselves are fetched from the URLs included in that response.

### How do I install the Jentic SDK to call Dialpad?

Run pip install jentic, set JENTIC_AGENT_API_KEY to your ak_* key, then use Jentic with SearchRequest, LoadRequest, and ExecutionRequest. Get started with Jentic One, the self-hosted execution layer.

### Can I limit what my agent is allowed to do with the Dialpad API?

Yes. Because you run Jentic One yourself, your own rules decide which Dialpad operations the agent may call. You can allow read-only or low-risk operations like placing a call (POST /calls) and reading a contact (GET /contacts) while leaving state-changing ones such as sending an SMS (POST /sms) or assigning an access control policy (POST `/accesscontrolpolicies/{id}/assign`) out unless you add them. The Dialpad bearer token is held by your own instance and injected only for the operations you permit, so the agent never sees the credential or reaches endpoints you have not enabled.
