dial-cli

Send SMS, place AI voice calls, and receive inbound events via the Dial CLI.

30.7k|12.8k|Updated Jan 31, 2026
One-click install
npx skills add https://github.com/nanocoai/nanoclaw --skill dial-cli
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dial-cli
Source: https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-dial-tool/container-skills/dial-cli
Command: npx skills add https://github.com/nanocoai/nanoclaw --skill dial-cli

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

AI agents often need real phone capabilities—texting users, placing voice calls, or receiving verification codes—but integrating telephony APIs requires HTTP plumbing, credential management, and event handling. This Skill provides the operational reference for the dial CLI, which wraps the Dial platform (getdial.ai) so an agent can perform phone-shaped tasks directly from the command line.

Core Features & Use Cases

  • SMS and Voice Calls: Send text messages with dial message, place AI-handled voice calls with dial call, and poll results with dial call get.
  • Inbound Events and 2FA: Long-poll for inbound texts or call completions with dial wait-for, enabling receipt of OTP and verification codes.
  • Number Management: Purchase numbers, set inbound instructions, languages, and nicknames via dial number commands.
  • Use Case: A user asks the agent to sign up for a service that requires phone verification. The agent sends the signup, runs dial wait-for message.received -f channel=sms, parses the code from the inbound SMS, and completes the registration.

Quick Start

Ask the agent to text a message to a phone number, for example: "Text +14155550123 that the meeting moved to 3pm."

Frequently Asked Questions about dial-cli

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send an SMS from the command line?

Use the dial CLI with the message command: dial message --to +14155550123 --body "your text" --from-number <your wired line>. Phone numbers must be in E.164 format, and adding --json gives machine-readable output for scripting.

How can an AI agent receive a 2FA verification code?

Run dial wait-for message.received -f channel=sms to long-poll the Dial API for an inbound text, then parse the code from the message body. It works without any background daemon since the CLI polls the API directly.

Can the dial CLI place voice calls with an AI agent?

Yes, dial call --to <number> --outbound-instruction "..." places a call handled by an AI voice agent, with an optional --voice-gender flag. Afterward, dial call get <id> retrieves the result, or dial wait-for call.ended notifies you when it finishes.

Why does a dial command fail when I omit the from number?

This environment has no saved default sender, so omitting --from-number causes the command to fail outright. Always pass the install's wired line explicitly rather than picking a number from dial number list, which is ordered newest-first and unrelated to the wired line.

What should I do when dial returns a 401 or 403 error?

A 403 blocked_by_policy means the operator did not grant this agent Dial access, and a 401 means the operator's Dial credential is missing or invalid in the vault. Neither is fixable from inside the sandbox—report it to the operator and stop rather than retrying.