dial_autogen.tools

Dial tools for Microsoft AutoGen (autogen-agentchat / autogen-core).

Each builder takes a dial_sdk.DialClient and returns an autogen_core.tools.FunctionTool that calls it. The client is passed in, not constructed per call — you build one DialClient and share it across every tool, so a whole agent session reuses a single connection pool. You own the client’s lifecycle (call await client.close() when done).

AutoGen runs tools in an async loop, so — unlike the CrewAI sibling — there is no async→sync bridge: every tool is a plain async def.

from autogen_agentchat.agents import AssistantAgent from dial_sdk import DialClient, DialConfig from dial_autogen import dial_tools

client = DialClient(DialConfig(api_key=”sk_live_…”)) agent = AssistantAgent(

name=”phone_agent”, model_client=model_client, tools=dial_tools(client),

)

Functions

dial_tools(→ list[autogen_core.tools.FunctionTool])

Every Dial tool in one list, all sharing the given DialClient.

get_billing_tool(→ autogen_core.tools.FunctionTool)

get_call_tool(→ autogen_core.tools.FunctionTool)

list_calls_tool(→ autogen_core.tools.FunctionTool)

list_messages_tool(→ autogen_core.tools.FunctionTool)

list_numbers_tool(→ autogen_core.tools.FunctionTool)

make_call_tool(→ autogen_core.tools.FunctionTool)

purchase_number_tool(→ autogen_core.tools.FunctionTool)

reply_to_message_tool(→ autogen_core.tools.FunctionTool)

send_message_tool(→ autogen_core.tools.FunctionTool)

set_number_properties_tool(...)

start_typing_tool(→ autogen_core.tools.FunctionTool)

stop_typing_tool(→ autogen_core.tools.FunctionTool)

wait_for_message_tool(→ autogen_core.tools.FunctionTool)

Module Contents

dial_autogen.tools.dial_tools(client: dial_sdk.DialClient) list[autogen_core.tools.FunctionTool]

Every Dial tool in one list, all sharing the given DialClient.

Build one client, hand the tools to an AutoGen AssistantAgent, and close the client yourself when the agent is done:

from autogen_agentchat.agents import AssistantAgent
from dial_sdk import DialClient, DialConfig
from dial_autogen import dial_tools

client = DialClient(DialConfig(api_key="sk_live_..."))
agent = AssistantAgent(name="phone_agent", model_client=mc, tools=dial_tools(client))
...
await client.close()
dial_autogen.tools.get_billing_tool(client: dial_sdk.DialClient) autogen_core.tools.FunctionTool
dial_autogen.tools.get_call_tool(client: dial_sdk.DialClient) autogen_core.tools.FunctionTool
dial_autogen.tools.list_calls_tool(client: dial_sdk.DialClient) autogen_core.tools.FunctionTool
dial_autogen.tools.list_messages_tool(client: dial_sdk.DialClient) autogen_core.tools.FunctionTool
dial_autogen.tools.list_numbers_tool(client: dial_sdk.DialClient) autogen_core.tools.FunctionTool
dial_autogen.tools.make_call_tool(client: dial_sdk.DialClient) autogen_core.tools.FunctionTool
dial_autogen.tools.purchase_number_tool(client: dial_sdk.DialClient) autogen_core.tools.FunctionTool
dial_autogen.tools.reply_to_message_tool(client: dial_sdk.DialClient) autogen_core.tools.FunctionTool
dial_autogen.tools.send_message_tool(client: dial_sdk.DialClient) autogen_core.tools.FunctionTool
dial_autogen.tools.set_number_properties_tool(client: dial_sdk.DialClient) autogen_core.tools.FunctionTool
dial_autogen.tools.start_typing_tool(client: dial_sdk.DialClient) autogen_core.tools.FunctionTool
dial_autogen.tools.stop_typing_tool(client: dial_sdk.DialClient) autogen_core.tools.FunctionTool
dial_autogen.tools.wait_for_message_tool(client: dial_sdk.DialClient) autogen_core.tools.FunctionTool