Dial Agent Framework Tools

Official Dial tools for the Microsoft Agent Framework — give a ChatAgent the ability to send SMS, receive OTP codes, and place AI voice calls through Dial.

This site documents the dial-agentframework 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.

Targeting the original AutoGen (autogen-agentchat) instead? Use dial-autogen.

Install

pip install dial-agentframework

This pulls in dial-sdk and agent-framework-core. The Agent Framework keeps each model provider in its own package, so also install a chat client — e.g. agent-framework-openai.

Quickstart

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

from agent_framework import Agent
from agent_framework.openai import OpenAIChatClient  # pip install agent-framework-openai
from dial_sdk import DialClient, DialConfig
from dial_agentframework import dial_tools

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

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

Each builder (send_message_tool, wait_for_message_tool, …) takes the shared DialClient and returns one agent_framework.FunctionTool (an AIFunction, built with the tool decorator). These tools are async-native — no async→sync bridge.