Dialpad Logo

Script Dialpad from any terminal with Dialpad CLI

A single command line for calls, messages, meetings, users, and AI—built for scripts, pipelines, and real workflows.

Talk to Sales

Dialpad CLI brings Dialpad into scripts, pipelines, and workflows—so you can automate what used to be clicks.

Turn clicks into commands

Everything you can do in Dialpad, in one command. Automate provisioning, routing, and analytics—without the clicks.

Automate and integrate anywhere

Use Dialpad CLI in scripts, cron jobs, CI pipelines, and internal tools. Pipe Dialpad into Slack, Teams, your warehouse, webhooks, and whatever you build next.

Full platform coverage

Calls, messages, meetings, users, AI, billing, analytics, routing, and more. Dialpad CLI covers 100% of Dialpad's public APIs with the same auth and scopes.

Built for Ops and Platform teams

Not a thin API wrapper—an opinionated toolkit that reflects how Dialpad actually gets used. Fast for day-to-day tasks. Flexible enough for automation.

CI/CD and security ready

Stable exit codes. JSON output. Headless auth. Scoped OAuth tokens. Built for pipelines—and the security review that follows.

Three ways to build with Dialpad CLI

Command lines were built for automation. Dialpad CLI brings that model to business communications.

Best for IT & Ops teams

Automate admin work

Turn repetitive setup and maintenance into reusable scripts.

  • Bulk provision users from CSV
  • Sync teams and deprovision users
  • Apply routing, IVR, and AI settings
  • Re-run safely with dry-run and idempotent workflows
$ dialpad users:bulk-create --from team.csv
Provisioning 47 users...
✓ 47 created · 0 errors
 
$ dialpad routing:apply sales --config ivr.json --dry-run
← 3 changes queued · run --confirm to apply
 
$ dialpad users:deprovision --filter dept=eng
← 12 users matched · run --confirm to apply
Best for Automation & AI workflows

Build communication-aware workflows

Use Dialpad events, transcripts, and outputs inside broader automations.

  • Stream calls and transcripts into scripts
  • Post summaries to Slack
  • Route calls based on CRM state
  • Trigger follow-up workflows from live interactions
$ dialpad calls:stream --on ended \
| jq '.summary' \
| slack post --channel #ops
← streaming call events...
call_9f2b ended
← ✓ Summary posted to #ops
 
$ dialpad calls:transcripts get cl_a4c1
← { "action_items": ["Send pricing deck"] }
Best for Platform & engineering

Run Dialpad in pipelines

Bring Dialpad into CI/CD, cron jobs, and machine workflows.

  • JSON-first output
  • Stable exit codes
  • GitHub Action support
  • Headless auth for non-interactive environments
# .github/workflows/onboarding.yml
- name: Provision new hire
run: |
dialpad users:create \
--email $NEW_HIRE_EMAIL \
--team platform
env:
DIALPAD_TOKEN: '${{ secrets.DIALPAD_TOKEN }}'
 
# exit 0 on success · JSON output piped to next step

FAQs

Dialpad CLI

dialpad — zsh
$ dialpad calls:list --limit 5 --format table
ID DATE DURATION DIRECTION STATUS
─────────────────────────────────────────────────────
cl_9f2b Jan 15 4:32 inbound completed
cl_a4c1 Jan 15 12:18 outbound completed
cl_b7d3 Jan 15 1:05 inbound missed
cl_c9e2 Jan 14 8:44 outbound completed
cl_d1f5 Jan 14 22:01 inbound completed
$ dialpad calls:transcripts get cl_a4c1
{
"call_id": "cl_a4c1",
"duration": 738,
"summary": "Discussed Q4 pricing and enterprise options.",
"action_items": [
"Send pricing deck by Friday",
"Schedule follow-up with procurement"
],
"sentiment": "positive"
}
$ dialpad users:bulk-create --from onboarding.csv
Provisioning 47 users...
47 created · 0 errors · 2 skipped (already exist)
$ dialpad routing:apply sales --config ivr.json --dry-run
Parsing ivr.json...
3 changes queued:
~ queue timeout: 30s → 45s
+ overflow_group: tier2-support
~ greeting: updated to v3
run without --dry-run to apply
$ dialpad ai:summaries list --date today
3 summaries · Jan 15
cl_9f2b "Onboarding call — set up SSO, reviewed admin roles."
cl_a4c1 "Enterprise pricing discussion — send deck by Friday."
cl_c9e2 "Support escalation resolved — follow-up ticket closed."
$

Put Dialpad on autopilot

Run calls, messaging, routing, and analytics from your workflows—not the UI.

Talk to sales Get started