Dialpad
Place calls and pull call/SMS records for sales reps via the Dialpad REST API.
This InTouch tool wraps four core Dialpad operations so you can pull a rep's call history into a job, look up a specific call, send an SMS follow-up, or kick off an outbound call — all without writing any HTTP plumbing.
- Base URL:
https://dialpad.com(Dialpad also offershttps://sandbox.dialpad.com) - Auth:
Authorization: Bearer <apiKey>— a static API key, no OAuth exchange needed.
Operations
| operation | method & path | what it does |
|---|---|---|
list-calls |
GET /api/v2/call |
Paginated, reverse-chronological list of concluded calls. Filter by time range and target. (Needs a company-admin key with the calls:list scope.) |
get-call |
GET /api/v2/call/{callId} |
Detailed info for one concluded call: direction, duration, recording URLs, routing, voicemail, transcript text. |
send-sms |
POST /api/v2/sms |
Send an SMS to one or more E.164 numbers. |
place-call |
POST /api/v2/users/{userId}/initiate_call |
Ring a user's device and place an outbound call to a destination number. |
API key setup
- Sign in to the Dialpad admin console.
- Go to Company Settings → Authentication → API Keys (a company-admin key is
required for
list-calls; a user-scoped key is enough forplace-call/send-sms). - Create a key and copy it. You can also view your keys at https://developers.dialpad.com ("Log in to see your API keys").
- Pass that key as the
apiKeyinput. It is sent asAuthorization: Bearer <key>.
Examples
List a rep's recent calls
{
"apiKey": "your-dialpad-api-key",
"operation": "list-calls",
"targetId": "4912345678",
"targetType": "user",
"limit": "25"
}
Look up one call
{
"apiKey": "your-dialpad-api-key",
"operation": "get-call",
"callId": "5566778899"
}
Send an SMS follow-up
{
"apiKey": "your-dialpad-api-key",
"operation": "send-sms",
"toNumbers": "+15558675310",
"text": "Thanks for the call — sending over that proposal now.",
"userId": "4912345678"
}
Place an outbound call
{
"apiKey": "your-dialpad-api-key",
"operation": "place-call",
"userId": "me",
"phoneNumber": "+15558675310",
"outboundCallerId": "+15551112222"
}
Output
Every operation publishes:
result— the raw Dialpad response body as a JSON string.status— the HTTP status code (e.g.200).
On error the tool prints {"error": "..."} and exits non-zero, marking the step
failed. HTTP 4xx/5xx responses from Dialpad are returned in result with the
matching status so you can inspect the error payload.
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
errorresultstatus
Input Properties
Every property this tool accepts, from its own tool.iml.
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
apiKey |
string | yes | — | DEPRECATED — bind an API Key credential to the task with credentialName instead. A key pasted here is stored in the workflow definition in clear and appears in every export of it. Still honoured for workflows built before the change. |
operation |
string | yes | — | One of: list-calls, get-call, send-sms, place-call |
callId |
string | no | — | Numeric call ID. Required for 'get-call'. |
toNumbers |
string | no | — | Comma-separated recipient phone numbers in E.164 format (e.g. +15558675310). Required for 'send-sms'. |
text |
string | no | — | SMS message body. Required for 'send-sms'. |
phoneNumber |
string | no | — | E.164 destination number to dial. Required for 'place-call'. |
userId |
string | no | — | Dialpad user ID. Sender for 'send-sms'; caller for 'place-call' (defaults to 'me' for a user-scoped API key). |
fromNumber |
string | no | — | E.164 sender number for 'send-sms' (overrides the user's default number). |
outboundCallerId |
string | no | — | E.164 caller ID shown to the recipient for 'place-call' (or 'blocked'). |
groupId |
string | no | — | Group ID used to initiate a 'place-call'. |
groupType |
string | no | — | Group type for 'place-call': office, department, or callcenter. |
startedAfter |
string | no | — | Filter 'list-calls' to calls started after this UTC millisecond timestamp. |
startedBefore |
string | no | — | Filter 'list-calls' to calls started before this UTC millisecond timestamp. |
targetId |
string | no | — | Filter 'list-calls' by target ID (e.g. a user's ID). |
targetType |
string | no | — | Filter 'list-calls' by target type (user, department, callrouter, etc.). |
cursor |
string | no | — | Pagination cursor from a previous 'list-calls' response. |
limit |
string | no | — | Max number of calls to return per page for 'list-calls'. |