Dial Python SDK¶
Official Python SDK for Dial — phone numbers, SMS, WhatsApp, and voice calls for AI agents.
This site documents the dial-sdk package. The full API Reference below is
generated directly from the source docstrings. See the other SDK docs from the
docs home, and the product docs at
docs.getdial.ai.
Install¶
pip install dial-sdk
# or
uv add dial-sdk
Requires Python 3.11+.
Quickstart¶
The client is async. Construct it with a DialConfig, then call its methods
inside an async with block:
import asyncio
from dial_sdk import DialClient, DialConfig, SendMessageParams, MakeCallParams
async def main():
async with DialClient(DialConfig(api_key="sk_live_...")) as dial:
# List your numbers
numbers = await dial.list_numbers()
from_id = numbers[0].id
# Send an SMS
await dial.send_message(SendMessageParams(
to="+15551234567",
from_number_id=from_id,
body="Hello from Dial",
))
# Place an AI voice call
call = await dial.make_call(MakeCallParams(
to="+15551234567",
from_number_id=from_id,
outbound_instruction="You are a friendly assistant confirming an appointment.",
))
print(call.id, call.status)
asyncio.run(main())
DialConfig.base_url defaults to https://api.getdial.ai. Override it for local
or self-hosted setups.
Live events¶
Incoming messages and call transcripts stream via an async generator:
async with DialClient(DialConfig(api_key="sk_live_...")) as dial:
async with dial.new_events_connection() as events:
async for event in events:
print(event) # MessageEvent / CallEvent / CallTranscribed / ...