Integrate Dialpad business phone and contact center into the workflow. Ring a rep and dial a lead, hang up calls, send SMS, look up calls with their recordings, transcripts, and Ai Recap, manage contacts, and find users. Can also run workflows on Dialpad call, SMS, and contact events. Requires a Dialpad API key.
Start an outbound call from a Dialpad user: Dialpad rings the user's devices (or one chosen device) and, once they answer, dials the phone number. Limited to 5 calls per minute per user.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Dialpad API key, sent as a Bearer token. Company admins create keys under Admin Settings > My Company > Authentication > API Keys. |
environment | string | No | Dialpad environment the API key belongs to: "production" (dialpad.com, default) or "sandbox" (sandbox.dialpad.com) |
userId | string | Yes | ID of the Dialpad user who makes the call (from List Users) |
phoneNumber | string | Yes | Number to call, in E.164 format (e.g. +14155551234) |
outboundCallerId | string | No | Number shown to the recipient, in E.164 format: the user’s number, the group’s number, or a company number. Use "blocked" to hide it. |
deviceId | string | No | Ring only this device instead of all of the user’s devices |
groupId | string | No | ID of an office, department, or call center to place the call through |
groupType | string | No | Type of the group: callcenter, department, or office |
customData | string | No | Your own reference (e.g. a lead ID), passed through to the call events for this call |
isConsult | boolean | No | Put the user’s ongoing call on hold and start this as a second call |
| Parameter | Type | Description |
|---|
callId | string | ID of the new call |
Get the details of a Dialpad call by ID: state, direction, numbers, target user, contact, timings, duration, and recording and voicemail links. Limited to 10 requests per minute.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Dialpad API key, sent as a Bearer token. Company admins create keys under Admin Settings > My Company > Authentication > API Keys. |
environment | string | No | Dialpad environment the API key belongs to: "production" (dialpad.com, default) or "sandbox" (sandbox.dialpad.com) |
callId | string | Yes | Dialpad call ID |
| Parameter | Type | Description |
|---|
callId | string | Dialpad call ID |
state | string | Call state, e.g. hangup |
direction | string | inbound or outbound |
externalNumber | string | Number of the party outside Dialpad, in E.164 format |
internalNumber | string | Dialpad number used on the call, in E.164 format |
target | object | The Dialpad user, office, or call center that took or placed the call |
↳ id | string | ID |
↳ type | string | Type, e.g. user, office, or callcenter |
↳ name | string | Name |
↳ email | string | Email address |
↳ phone | string | Phone number in E.164 format |
contact | object | The external party (contact) on the call |
↳ id | string | ID |
↳ type | string | Type, e.g. user, office, or callcenter |
↳ name | string | Name |
↳ email | string | Email address |
↳ phone | string | Phone number in E.164 format |
dateRang | number | When the call rang (epoch ms) |
dateStarted | number | When the call started (epoch ms) |
dateConnected | number | When the call connected (epoch ms) |
dateEnded | number | When the call ended (epoch ms) |
duration | number | Talk time in milliseconds, from connect to end |
totalDuration | number | Total call time in milliseconds, including ringing and queueing |
wasRecorded | boolean | Whether the call was recorded |
recordingUrls | array | URLs of the call recordings |
recordingDetails | array | Recording details |
↳ id | string | Recording ID |
↳ url | string | Recording URL |
↳ recordingType | string | callrecording, admincallrecording, or voicemail |
↳ duration | number | Duration in milliseconds |
↳ startTime | number | Start time (epoch ms) |
callRecordingShareLinks | array | Shareable links to the call recordings |
transcriptionText | string | Voicemail transcription text |
voicemailLink | string | Voicemail recording URL |
voicemailShareLink | string | Shareable voicemail link |
customData | string | Custom data passed when the call was initiated |
groupId | string | Group the call went through, as "{type}:{id}", e.g. "Office:124" |
isTransferred | boolean | Whether the call was transferred |
masterCallId | string | ID of the master call |
entryPointCallId | string | ID of the call at the entry point (e.g. the office or call center line) |
labels | array | Labels on the call |
csatScore | string | CSAT score from the post-call survey |
mosScore | number | Mean opinion score (call quality) |
List concluded Dialpad calls, newest first, optionally filtered by start time and by the user, office, department, or call center that handled them.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Dialpad API key, sent as a Bearer token. Company admins create keys under Admin Settings > My Company > Authentication > API Keys. |
environment | string | No | Dialpad environment the API key belongs to: "production" (dialpad.com, default) or "sandbox" (sandbox.dialpad.com) |
startedAfter | string | No | Only calls started after this time: ISO 8601 date or epoch milliseconds (UTC) |
startedBefore | string | No | Only calls started before this time: ISO 8601 date or epoch milliseconds (UTC) |
targetId | string | No | Only calls handled by this target ID. Requires Target Type. |
targetType | string | No | Type of the target: user, office, department, callcenter, callrouter, channel, coachinggroup, coachingteam, room, staffgroup, or unknown |
includeAnonymized | boolean | No | Include anonymized calls |
cursor | string | No | Cursor from a previous response, to fetch the next page |
| Parameter | Type | Description |
|---|
cursor | string | Pass as Cursor to fetch the next page. Empty on the last page. |
calls | array | Concluded calls, newest first |
↳ callId | string | Dialpad call ID |
↳ state | string | Call state, e.g. hangup |
↳ direction | string | inbound or outbound |
↳ externalNumber | string | Number of the party outside Dialpad, in E.164 format |
↳ internalNumber | string | Dialpad number used on the call, in E.164 format |
↳ target | object | The Dialpad user, office, or call center that took or placed the call |
↳ id | string | ID |
↳ type | string | Type, e.g. user, office, or callcenter |
↳ name | string | Name |
↳ email | string | Email address |
↳ phone | string | Phone number in E.164 format |
↳ contact | object | The external party (contact) on the call |
↳ id | string | ID |
↳ type | string | Type, e.g. user, office, or callcenter |
↳ name | string | Name |
↳ email | string | Email address |
↳ phone | string | Phone number in E.164 format |
↳ dateRang | number | When the call rang (epoch ms) |
↳ dateStarted | number | When the call started (epoch ms) |
↳ dateConnected | number | When the call connected (epoch ms) |
↳ dateEnded | number | When the call ended (epoch ms) |
↳ duration | number | Talk time in milliseconds, from connect to end |
↳ totalDuration | number | Total call time in milliseconds, including ringing and queueing |
↳ wasRecorded | boolean | Whether the call was recorded |
↳ recordingUrls | array | URLs of the call recordings |
↳ recordingDetails | array | Recording details |
↳ id | string | Recording ID |
↳ url | string | Recording URL |
↳ recordingType | string | callrecording, admincallrecording, or voicemail |
↳ duration | number | Duration in milliseconds |
↳ startTime | number | Start time (epoch ms) |
↳ callRecordingShareLinks | array | Shareable links to the call recordings |
↳ transcriptionText | string | Voicemail transcription text |
↳ voicemailLink | string | Voicemail recording URL |
↳ voicemailShareLink | string | Shareable voicemail link |
↳ customData | string | Custom data passed when the call was initiated |
↳ groupId | string | Group the call went through, as "{type}:{id}", e.g. "Office:124" |
↳ isTransferred | boolean | Whether the call was transferred |
↳ masterCallId | string | ID of the master call |
↳ entryPointCallId | string | ID of the call at the entry point (e.g. the office or call center line) |
↳ labels | array | Labels on the call |
↳ csatScore | string | CSAT score from the post-call survey |
↳ mosScore | number | Mean opinion score (call quality) |
Hang up an active Dialpad call by ID.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Dialpad API key, sent as a Bearer token. Company admins create keys under Admin Settings > My Company > Authentication > API Keys. |
environment | string | No | Dialpad environment the API key belongs to: "production" (dialpad.com, default) or "sandbox" (sandbox.dialpad.com) |
callId | string | Yes | ID of the call to hang up |
| Parameter | Type | Description |
|---|
callId | string | ID of the call that was hung up |
hungUp | boolean | True when Dialpad accepted the hang-up |
Send an SMS from a Dialpad user, office, department, or call center number to up to 10 phone numbers, or post it to a Dialpad channel.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Dialpad API key, sent as a Bearer token. Company admins create keys under Admin Settings > My Company > Authentication > API Keys. |
environment | string | No | Dialpad environment the API key belongs to: "production" (dialpad.com, default) or "sandbox" (sandbox.dialpad.com) |
toNumbers | string | No | Recipient numbers in E.164 format, comma-separated (up to 10). Required unless Channel Hashtag is set. |
text | string | Yes | Message text |
userId | string | No | ID of the Dialpad user to send as. Required with a company-level API key unless From Number or a sender group is set. |
fromNumber | string | No | Dialpad number to send from, in E.164 format. Overrides the user and sender group. |
senderGroupId | string | No | ID of the office, department, or call center to send as |
senderGroupType | string | No | Type of the sender group: callcenter, department, or office |
channelHashtag | string | No | Dialpad channel to post to instead of phone numbers, e.g. "#sales" |
inferCountryCode | boolean | No | Read numbers without a country code as being in the sender’s country |
| Parameter | Type | Description |
|---|
smsId | string | Dialpad SMS ID |
text | string | Message text |
fromNumber | string | Sender number |
toNumbers | array | Recipient numbers |
direction | string | inbound or outbound |
messageStatus | string | Send status: pending, success, or failed |
messageDeliveryResult | string | Delivery result, e.g. accepted, rejected, or invalid_destination |
contactId | string | ID of the recipient contact |
userId | string | ID of the sending user |
targetId | string | ID of the sending target |
targetType | string | Type of the sending target |
deviceType | string | Device the message was sent from |
createdDate | string | When the message was created |
Create a Dialpad contact. Without an owner it is a shared company contact; with an owner user ID it is a local contact for that user.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Dialpad API key, sent as a Bearer token. Company admins create keys under Admin Settings > My Company > Authentication > API Keys. |
environment | string | No | Dialpad environment the API key belongs to: "production" (dialpad.com, default) or "sandbox" (sandbox.dialpad.com) |
firstName | string | Yes | First name |
lastName | string | Yes | Last name |
phones | string | No | Phone numbers in E.164 format, comma-separated (e.g. "+14155551234,+14155555678"). The first is the primary number. |
emails | string | No | Email addresses, comma-separated. The first is the primary email. |
companyName | string | No | Company name |
jobTitle | string | No | Job title |
extension | string | No | Extension |
urls | string | No | Websites, comma-separated |
ownerId | string | No | ID of the user to create a local contact for. Leave empty for a shared contact. |
| Parameter | Type | Description |
|---|
id | string | Dialpad contact ID |
type | string | shared, local, or lead |
firstName | string | First name |
lastName | string | Last name |
displayName | string | Display name |
companyName | string | Company name |
jobTitle | string | Job title |
extension | string | Extension |
phones | array | Phone numbers in E.164 format |
primaryPhone | string | Primary phone number |
emails | array | Email addresses |
primaryEmail | string | Primary email address |
urls | array | Websites |
ownerId | string | ID of the user who owns a local contact |
Update a Dialpad contact. Only the fields you fill in change; list fields such as phones replace the existing list.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Dialpad API key, sent as a Bearer token. Company admins create keys under Admin Settings > My Company > Authentication > API Keys. |
environment | string | No | Dialpad environment the API key belongs to: "production" (dialpad.com, default) or "sandbox" (sandbox.dialpad.com) |
contactId | string | Yes | Dialpad contact ID |
firstName | string | No | First name |
lastName | string | No | Last name |
phones | string | No | Phone numbers in E.164 format, comma-separated (e.g. "+14155551234,+14155555678"). The first is the primary number. |
emails | string | No | Email addresses, comma-separated. The first is the primary email. |
companyName | string | No | Company name |
jobTitle | string | No | Job title |
extension | string | No | Extension |
urls | string | No | Websites, comma-separated |
| Parameter | Type | Description |
|---|
id | string | Dialpad contact ID |
type | string | shared, local, or lead |
firstName | string | First name |
lastName | string | Last name |
displayName | string | Display name |
companyName | string | Company name |
jobTitle | string | Job title |
extension | string | Extension |
phones | array | Phone numbers in E.164 format |
primaryPhone | string | Primary phone number |
emails | array | Email addresses |
primaryEmail | string | Primary email address |
urls | array | Websites |
ownerId | string | ID of the user who owns a local contact |
Get a Dialpad shared or local contact by ID.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Dialpad API key, sent as a Bearer token. Company admins create keys under Admin Settings > My Company > Authentication > API Keys. |
environment | string | No | Dialpad environment the API key belongs to: "production" (dialpad.com, default) or "sandbox" (sandbox.dialpad.com) |
contactId | string | Yes | Dialpad contact ID |
| Parameter | Type | Description |
|---|
id | string | Dialpad contact ID |
type | string | shared, local, or lead |
firstName | string | First name |
lastName | string | Last name |
displayName | string | Display name |
companyName | string | Company name |
jobTitle | string | Job title |
extension | string | Extension |
phones | array | Phone numbers in E.164 format |
primaryPhone | string | Primary phone number |
emails | array | Email addresses |
primaryEmail | string | Primary email address |
urls | array | Websites |
ownerId | string | ID of the user who owns a local contact |
List Dialpad shared contacts, optionally searched by name, including local contacts or only those owned by one user.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Dialpad API key, sent as a Bearer token. Company admins create keys under Admin Settings > My Company > Authentication > API Keys. |
environment | string | No | Dialpad environment the API key belongs to: "production" (dialpad.com, default) or "sandbox" (sandbox.dialpad.com) |
name | string | No | Search contacts by name |
ownerId | string | No | Only contacts owned by this user ID |
includeLocal | boolean | No | Also include users’ local contacts (default false) |
cursor | string | No | Cursor from a previous response, to fetch the next page |
| Parameter | Type | Description |
|---|
cursor | string | Pass as Cursor to fetch the next page. Empty on the last page. |
contacts | array | Contacts on this page |
↳ id | string | Dialpad contact ID |
↳ type | string | shared, local, or lead |
↳ firstName | string | First name |
↳ lastName | string | Last name |
↳ displayName | string | Display name |
↳ companyName | string | Company name |
↳ jobTitle | string | Job title |
↳ extension | string | Extension |
↳ phones | array | Phone numbers in E.164 format |
↳ primaryPhone | string | Primary phone number |
↳ emails | array | Email addresses |
↳ primaryEmail | string | Primary email address |
↳ urls | array | Websites |
↳ ownerId | string | ID of the user who owns a local contact |
List Dialpad users, or find one by email, phone number, or name prefix. Use it to get the user ID needed to place calls and send SMS.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Dialpad API key, sent as a Bearer token. Company admins create keys under Admin Settings > My Company > Authentication > API Keys. |
environment | string | No | Dialpad environment the API key belongs to: "production" (dialpad.com, default) or "sandbox" (sandbox.dialpad.com) |
email | string | No | Find the user with this email. Cannot be combined with name filters. |
number | string | No | Find the user with this Dialpad number, in E.164 format. Cannot be combined with name filters. |
firstName | string | No | Filter by first-name prefix (e.g. "jo" matches John and Jose) |
lastName | string | No | Filter by last-name prefix |
state | string | No | User state: active, all, cancelled, deleted, pending, or suspended |
companyAdmin | boolean | No | true for only company admins, false for only non-admins |
cursor | string | No | Cursor from a previous response, to fetch the next page |
| Parameter | Type | Description |
|---|
cursor | string | Pass as Cursor to fetch the next page. Empty on the last page. |
users | array | Users on this page |
↳ id | string | Dialpad user ID |
↳ firstName | string | First name |
↳ lastName | string | Last name |
↳ displayName | string | Display name |
↳ emails | array | Email addresses |
↳ phoneNumbers | array | Dialpad numbers assigned to the user |
↳ extension | string | Extension |
↳ jobTitle | string | Job title |
↳ state | string | active, cancelled, deleted, pending, or suspended |
↳ isAdmin | boolean | Whether the user is an admin |
↳ isOnline | boolean | Whether the user is online |
↳ isAvailable | boolean | Whether the user is available |
↳ onDutyStatus | string | Contact center status, e.g. available, busy, or wrapup |
↳ doNotDisturb | boolean | Whether Do Not Disturb is on |
↳ officeId | string | ID of the user’s office |
↳ companyId | string | ID of the company |
↳ timezone | string | Timezone |
↳ language | string | Language |
↳ license | string | License type |
Get a Dialpad user by ID, including their numbers, availability, and contact center status. Use "me" with a user-level API key for its owner.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Dialpad API key, sent as a Bearer token. Company admins create keys under Admin Settings > My Company > Authentication > API Keys. |
environment | string | No | Dialpad environment the API key belongs to: "production" (dialpad.com, default) or "sandbox" (sandbox.dialpad.com) |
userId | string | Yes | Dialpad user ID, or "me" for the owner of a user-level API key |
| Parameter | Type | Description |
|---|
id | string | Dialpad user ID |
firstName | string | First name |
lastName | string | Last name |
displayName | string | Display name |
emails | array | Email addresses |
phoneNumbers | array | Dialpad numbers assigned to the user |
extension | string | Extension |
jobTitle | string | Job title |
state | string | active, cancelled, deleted, pending, or suspended |
isAdmin | boolean | Whether the user is an admin |
isOnline | boolean | Whether the user is online |
isAvailable | boolean | Whether the user is available |
onDutyStatus | string | Contact center status, e.g. available, busy, or wrapup |
doNotDisturb | boolean | Whether Do Not Disturb is on |
officeId | string | ID of the user’s office |
companyId | string | ID of the company |
timezone | string | Timezone |
language | string | Language |
license | string | License type |
Get the transcript of a Dialpad call: each spoken line with the speaker and time, plus AI moments. Also returns the spoken lines joined as plain text.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Dialpad API key, sent as a Bearer token. Company admins create keys under Admin Settings > My Company > Authentication > API Keys. |
environment | string | No | Dialpad environment the API key belongs to: "production" (dialpad.com, default) or "sandbox" (sandbox.dialpad.com) |
callId | string | Yes | Dialpad call ID |
| Parameter | Type | Description |
|---|
callId | string | Dialpad call ID |
lines | array | Transcript lines and AI moments in order |
↳ type | string | transcript, moment, real_time_moment, custom_moment, or ai_question |
↳ name | string | Speaker name |
↳ content | string | What was said |
↳ time | string | When it was said |
↳ userId | string | Speaker’s Dialpad user ID |
↳ contactId | string | Speaker’s contact ID |
text | string | Spoken lines as plain text, one "Speaker: line" per row |
Get the Dialpad Ai Recap of a call: summary, action items, call purposes, and disposition. Requires Ai Recaps on the Dialpad plan. Limited to 12 requests per minute.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Dialpad API key, sent as a Bearer token. Company admins create keys under Admin Settings > My Company > Authentication > API Keys. |
environment | string | No | Dialpad environment the API key belongs to: "production" (dialpad.com, default) or "sandbox" (sandbox.dialpad.com) |
callId | string | Yes | Dialpad call ID |
summaryFormat | string | No | Summary format: bullet, short, medium, or long |
| Parameter | Type | Description |
|---|
callId | string | Dialpad call ID |
summary | string | Recap summary text |
actionItems | array | Action items from the call |
purposes | array | Why the call happened |
disposition | string | Call outcome (disposition) |
isInternalCall | boolean | Whether both parties were inside the company |
source | string | Language model that wrote the recap |
dateCreated | number | When the recap was created (epoch ms) |
dateModified | number | When the recap was last changed (epoch ms) |