> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.getdial.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.getdial.ai/_mcp/server.

# Introduction

> Dial gives your AI agent a phone number — send SMS, place AI voice calls, and receive inbound messages via the CLI, SDKs, and REST API.

Dial gives your AI agent a phone number. With one account and an API key, an agent can **send SMS**, **place AI voice calls**, and **receive inbound messages** such as one-time codes — from the command line, an SDK, or the REST API.

## What you can do

* **Send SMS** — text any phone number from one of your Dial numbers.
* **Place AI voice calls** — dial a number and let an AI voice agent hold the conversation from a system prompt you provide.
* **Receive an SMS** — capture replies and one-time codes by consuming your account's event stream.
* **Manage numbers** — provision and list the phone numbers on your account.

## How agents use Dial

There are two integration styles, both covered in [Using Dial from an agent](/documentation/get-started/using-dial-from-an-agent):

* **CLI** — agents that can run shell commands call `dial`. Every command accepts `--json` for machine-readable output.
* **SDKs** — agents written in code import the [Node](/documentation/sdks/node), [Python](/documentation/sdks/python), or [LangChain](/documentation/sdks/langchain) SDK.

Both go to the same REST API, so you can mix them freely.

#### [Quickstart](/documentation/get-started/quickstart)

Send your first SMS in a few minutes.

#### [Using Dial from an agent](/documentation/get-started/using-dial-from-an-agent)

CLI shell-out vs. in-process SDK.

#### [Core concepts](/documentation/get-started/core-concepts)

Accounts, numbers, messages, calls, events.

#### [Send an SMS](/documentation/capabilities/send-an-sms)

The smallest end-to-end example.