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

create_group_tool(client) → autogen_core.tools.FunctionTool

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

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

get_billing_tool(client) → autogen_core.tools.FunctionTool

get_call_tool(client) → autogen_core.tools.FunctionTool

list_calls_tool(client) → autogen_core.tools.FunctionTool

list_contacts_tool(client) → autogen_core.tools.FunctionTool

list_groups_tool(client) → autogen_core.tools.FunctionTool

list_messages_tool(client) → autogen_core.tools.FunctionTool

list_numbers_tool(client) → autogen_core.tools.FunctionTool

lookup_number_tool(client) → autogen_core.tools.FunctionTool

make_call_tool(client) → autogen_core.tools.FunctionTool

purchase_number_tool(client) → autogen_core.tools.FunctionTool

reply_to_message_tool(client) → autogen_core.tools.FunctionTool

send_message_tool(client) → autogen_core.tools.FunctionTool

set_number_properties_tool(client) → autogen_core.tools.FunctionTool

start_typing_tool(client) → autogen_core.tools.FunctionTool

stop_typing_tool(client) → autogen_core.tools.FunctionTool

wait_for_message_tool(client) → autogen_core.tools.FunctionTool

Module Contents

dial_autogen.tools.create_group_tool(client: dial_sdk.DialClient) → autogen_core.tools.FunctionTool
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_contacts_tool(client: dial_sdk.DialClient) → autogen_core.tools.FunctionTool
dial_autogen.tools.list_groups_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.lookup_number_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