dial_agentframework.tools

Dial tools for the Microsoft Agent Framework (agent-framework).

Each builder takes a dial_sdk.DialClient and returns an agent_framework.FunctionTool (via the tool decorator) 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).

The Agent Framework runs tools in an async loop, so — like the AutoGen sibling and unlike CrewAI — every tool is a plain async def with no async→sync bridge.

from agent_framework import Agent from agent_framework.openai import OpenAIChatClient from dial_sdk import DialClient, DialConfig from dial_agentframework import dial_tools

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

OpenAIChatClient(), instructions=”You operate the team’s Dial phone number.”, tools=dial_tools(client),

)

Functions

dial_tools(→ list[agent_framework.FunctionTool])

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

get_billing_tool(→ agent_framework.FunctionTool)

get_call_tool(→ agent_framework.FunctionTool)

list_calls_tool(→ agent_framework.FunctionTool)

list_messages_tool(→ agent_framework.FunctionTool)

list_numbers_tool(→ agent_framework.FunctionTool)

make_call_tool(→ agent_framework.FunctionTool)

purchase_number_tool(→ agent_framework.FunctionTool)

reply_to_message_tool(→ agent_framework.FunctionTool)

send_message_tool(→ agent_framework.FunctionTool)

set_number_properties_tool(→ agent_framework.FunctionTool)

start_typing_tool(→ agent_framework.FunctionTool)

stop_typing_tool(→ agent_framework.FunctionTool)

wait_for_message_tool(→ agent_framework.FunctionTool)

Module Contents

dial_agentframework.tools.dial_tools(client: dial_sdk.DialClient) list[agent_framework.FunctionTool]

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

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

from agent_framework import Agent
from dial_sdk import DialClient, DialConfig
from dial_agentframework import dial_tools

client = DialClient(DialConfig(api_key="sk_live_..."))
agent = Agent(chat_client, tools=dial_tools(client))
...
await client.close()
dial_agentframework.tools.get_billing_tool(client: dial_sdk.DialClient) agent_framework.FunctionTool
dial_agentframework.tools.get_call_tool(client: dial_sdk.DialClient) agent_framework.FunctionTool
dial_agentframework.tools.list_calls_tool(client: dial_sdk.DialClient) agent_framework.FunctionTool
dial_agentframework.tools.list_messages_tool(client: dial_sdk.DialClient) agent_framework.FunctionTool
dial_agentframework.tools.list_numbers_tool(client: dial_sdk.DialClient) agent_framework.FunctionTool
dial_agentframework.tools.make_call_tool(client: dial_sdk.DialClient) agent_framework.FunctionTool
dial_agentframework.tools.purchase_number_tool(client: dial_sdk.DialClient) agent_framework.FunctionTool
dial_agentframework.tools.reply_to_message_tool(client: dial_sdk.DialClient) agent_framework.FunctionTool
dial_agentframework.tools.send_message_tool(client: dial_sdk.DialClient) agent_framework.FunctionTool
dial_agentframework.tools.set_number_properties_tool(client: dial_sdk.DialClient) agent_framework.FunctionTool
dial_agentframework.tools.start_typing_tool(client: dial_sdk.DialClient) agent_framework.FunctionTool
dial_agentframework.tools.stop_typing_tool(client: dial_sdk.DialClient) agent_framework.FunctionTool
dial_agentframework.tools.wait_for_message_tool(client: dial_sdk.DialClient) agent_framework.FunctionTool