Skip to main content

dial-autogen

Official Dial tools for Microsoft AutoGen — give an AutoGen agent the ability to send SMS, receive OTP codes, and place AI voice calls through Dial. Agents automating signups and web tasks get a real phone identity.

It's the AutoGen sibling of dial-langchain and dial-crewai: each tool is an autogen_core.tools.FunctionTool wrapping the dial-sdk client. It adds nothing to the REST contract — it just shapes Dial's operations into AutoGen tools.

Targeting Microsoft's newer Agent Framework instead of AutoGen? Use dial-agentframework.

Install

pip install dial-autogen

This pulls in dial-sdk and autogen-agentchat.

Give the tools to an agent

Build one DialClient, pass it to dial_tools, and hand the result to an AssistantAgent. Every tool shares that one client — a single connection pool for the whole agent session — and you own its lifecycle (await client.close() when done):

from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import AzureOpenAIChatCompletionClient
from dial_sdk import DialClient, DialConfig
from dial_autogen import dial_tools

dial = DialClient(DialConfig(api_key="sk_live_..."))  # close with `await dial.close()`

model_client = AzureOpenAIChatCompletionClient(
    azure_deployment="gpt-4o",
    model="gpt-4o",
    api_version="2024-10-21",
    azure_endpoint="https://<your-resource>.openai.azure.com/",
)

agent = AssistantAgent(
    name="phone_agent",
    model_client=model_client,
    tools=dial_tools(dial),
    system_message="You operate the team's Dial phone number for SMS, OTP, and voice calls.",
)

DialConfig also takes an optional base_url to target a non-default deployment.

Or pick individual tools

Each builder takes the shared DialClient and returns one FunctionTool:

from dial_autogen import send_message_tool, wait_for_message_tool

tools = [
    send_message_tool(dial),
    wait_for_message_tool(dial),
]

Available tools

Each builder takes your shared DialClient:

Builder Tool name Action
list_numbers_tool list_numbers List your phone numbers
purchase_number_tool purchase_number Provision a new number (billable)
set_number_properties_tool set_number_properties Update a number's nickname / inbound instruction
send_message_tool send_message Send an SMS (optionally MMS)
reply_to_message_tool reply_to_message Reply or react to a message
list_messages_tool list_messages List recent messages (contact for one conversation, search by text)
list_contacts_tool list_contacts List the numbers your lines have talked to
make_call_tool make_call Place an AI voice call
list_calls_tool list_calls List recent calls
get_call_tool get_call Fetch one call by id
get_billing_tool get_billing Credit balance, subscription, per-number mode
wait_for_message_tool wait_for_message Block until the next inbound SMS arrives, or time out

OTP flow

The point of phone identity for an agent: send a code and read the reply. wait_for_message blocks until the next inbound SMS arrives, so an agent can:

  1. trigger a signup that texts a code to your Dial number,
  2. call wait_for_message to read the inbound code,
  3. enter it back into the signup form.

See examples/signup_autogen.ipynb for a runnable agent.

Notes

  • AutoGen runs tools in an async loop, so these tools are async-native — no async→sync bridge (the one difference from the CrewAI sibling).
  • send_message is a write action and isn't idempotent — a re-invoke after a failure can send a duplicate. make_call accepts an idempotency_key.
  • wait_for_message is backed by Dial's presence-based event stream — for durable, at-least-once delivery, register a webhook.

See the AutoGen integration docs for the full guide.

Release files for dial-autogen 0.19.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dial-autogen 0.19.1
File Size Uploaded
dial_autogen-0.19.1.tar.gz 105.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dial-autogen 0.19.1
File Interpreter ABI Platform
dial_autogen-0.19.1-py3-none-any.whl Python 3 none any Details

Total release size: 117.2 kB

Release files / dial_autogen-0.19.1.tar.gz

Download URL dial_autogen-0.19.1.tar.gz
Size 105.4 kB
Tags Source
SHA-256 checksum
How to use checksums
6b3f6bd9c8994548efd37445e07f3606b6d5c01ee867187b72ec1b15a62676e4
BLAKE2b-256 checksum
How to use checksums
4f8d0772a30666143f26a32b93efb5744026c0b1a85610d4dd1e5957e655de4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / dial_autogen-0.19.1-py3-none-any.whl

Download URL dial_autogen-0.19.1-py3-none-any.whl
Size 11.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b4eeab121664e4d4738a1089a0475a4d0fef3a7c098cd6d59f9c4c45e1a97b77
BLAKE2b-256 checksum
How to use checksums
f073bb7ae64804a18e7a32d93bdb180e9cbe170465a3ec267974fec5fc0ddcad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release history Release notifications | RSS feed

0.23.0

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.19.2

2 release files

This release

0.19.1 This release

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.15.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page