dial_crewai.tools¶
Classes¶
Base for Dial CrewAI tools. |
|
Base for Dial CrewAI tools. |
|
Base for Dial CrewAI tools. |
|
Base for Dial CrewAI tools. |
|
Base for Dial CrewAI tools. |
|
Base for Dial CrewAI tools. |
|
Base for Dial CrewAI tools. |
|
Base for Dial CrewAI tools. |
|
Base for Dial CrewAI tools. |
|
Base for Dial CrewAI tools. |
|
Base for Dial CrewAI tools. |
|
Base for Dial CrewAI tools. |
|
Base for Dial CrewAI tools. |
Functions¶
|
Every Dial tool in one list, all sharing the given |
Module Contents¶
- class dial_crewai.tools.GetBillingTool¶
Bases:
_DialToolBase for Dial CrewAI tools.
Holds a shared
DialClient(passed in, not constructed per call) so every tool reuses one connection pool, and drives the async client from CrewAI’s sync_runvia the background-loop bridge.arbitrary_types_allowedlets the Pydantic-basedBaseToolcarry the non-PydanticDialClientas a field.- description: str = "Get the account's billing status: credit balance, subscription (if any), each number's billing...¶
- name: str = 'get_billing'¶
- class dial_crewai.tools.GetCallTool¶
Bases:
_DialToolBase for Dial CrewAI tools.
Holds a shared
DialClient(passed in, not constructed per call) so every tool reuses one connection pool, and drives the async client from CrewAI’s sync_runvia the background-loop bridge.arbitrary_types_allowedlets the Pydantic-basedBaseToolcarry the non-PydanticDialClientas a field.- args_schema: type[pydantic.BaseModel]¶
- description: str = 'Fetch a single call by its id, including its current status.'¶
- name: str = 'get_call'¶
- class dial_crewai.tools.ListCallsInput¶
Bases:
pydantic.BaseModel- direction: str | None¶
- number_id: str | None¶
- class dial_crewai.tools.ListCallsTool¶
Bases:
_DialToolBase for Dial CrewAI tools.
Holds a shared
DialClient(passed in, not constructed per call) so every tool reuses one connection pool, and drives the async client from CrewAI’s sync_runvia the background-loop bridge.arbitrary_types_allowedlets the Pydantic-basedBaseToolcarry the non-PydanticDialClientas a field.- args_schema: type[pydantic.BaseModel]¶
- description: str = 'List recent inbound and outbound calls on the account.'¶
- name: str = 'list_calls'¶
- class dial_crewai.tools.ListMessagesInput¶
Bases:
pydantic.BaseModel- direction: str | None¶
- number_id: str | None¶
- class dial_crewai.tools.ListMessagesTool¶
Bases:
_DialToolBase for Dial CrewAI tools.
Holds a shared
DialClient(passed in, not constructed per call) so every tool reuses one connection pool, and drives the async client from CrewAI’s sync_runvia the background-loop bridge.arbitrary_types_allowedlets the Pydantic-basedBaseToolcarry the non-PydanticDialClientas a field.- args_schema: type[pydantic.BaseModel]¶
- description: str = 'List recent inbound and outbound messages on the account.'¶
- name: str = 'list_messages'¶
- class dial_crewai.tools.ListNumbersTool¶
Bases:
_DialToolBase for Dial CrewAI tools.
Holds a shared
DialClient(passed in, not constructed per call) so every tool reuses one connection pool, and drives the async client from CrewAI’s sync_runvia the background-loop bridge.arbitrary_types_allowedlets the Pydantic-basedBaseToolcarry the non-PydanticDialClientas a field.- description: str = 'List all available Dial phone numbers on the account.'¶
- name: str = 'list_numbers'¶
- class dial_crewai.tools.MakeCallInput¶
Bases:
pydantic.BaseModel- from_number: str | None¶
- from_number_id: str | None¶
- idempotency_key: str | None¶
- language: str | None¶
- max_call_duration_seconds: int | None¶
- outbound_instruction: str¶
- to: str¶
- transfer_to: str | None¶
- voice_gender: str | None¶
- class dial_crewai.tools.MakeCallTool¶
Bases:
_DialToolBase for Dial CrewAI tools.
Holds a shared
DialClient(passed in, not constructed per call) so every tool reuses one connection pool, and drives the async client from CrewAI’s sync_runvia the background-loop bridge.arbitrary_types_allowedlets the Pydantic-basedBaseToolcarry the non-PydanticDialClientas a field.- args_schema: type[pydantic.BaseModel]¶
- description: str = 'Initiate an AI voice call to a phone number.'¶
- name: str = 'make_call'¶
- class dial_crewai.tools.PurchaseNumberInput¶
Bases:
pydantic.BaseModel- area_code: str | None¶
- explicit_programmatic_consent: str¶
- inbound_instruction: str¶
- inbound_language: str | None¶
- inbound_voice_gender: str | None¶
- include_imessage: bool¶
- class dial_crewai.tools.PurchaseNumberTool¶
Bases:
_DialToolBase for Dial CrewAI tools.
Holds a shared
DialClient(passed in, not constructed per call) so every tool reuses one connection pool, and drives the async client from CrewAI’s sync_runvia the background-loop bridge.arbitrary_types_allowedlets the Pydantic-basedBaseToolcarry the non-PydanticDialClientas a field.- args_schema: type[pydantic.BaseModel]¶
- description: str = 'Provision (buy) a new Dial phone number. Billable.'¶
- name: str = 'purchase_number'¶
- class dial_crewai.tools.ReplyToMessageInput¶
Bases:
pydantic.BaseModel- body: str | None¶
- message_id: str¶
- reaction: str | None¶
- class dial_crewai.tools.ReplyToMessageTool¶
Bases:
_DialToolBase for Dial CrewAI tools.
Holds a shared
DialClient(passed in, not constructed per call) so every tool reuses one connection pool, and drives the async client from CrewAI’s sync_runvia the background-loop bridge.arbitrary_types_allowedlets the Pydantic-basedBaseToolcarry the non-PydanticDialClientas a field.- args_schema: type[pydantic.BaseModel]¶
- description: str = 'Reply in-thread or react to an existing message. The reply goes out from the Dial number the...¶
- name: str = 'reply_to_message'¶
- class dial_crewai.tools.SendMessageInput¶
Bases:
pydantic.BaseModel- body: str¶
- channel: str¶
- force_audio_file: bool¶
- from_number: str | None¶
- from_number_id: str | None¶
- media_urls: list[str]¶
- to: str¶
- class dial_crewai.tools.SendMessageTool¶
Bases:
_DialToolBase for Dial CrewAI tools.
Holds a shared
DialClient(passed in, not constructed per call) so every tool reuses one connection pool, and drives the async client from CrewAI’s sync_runvia the background-loop bridge.arbitrary_types_allowedlets the Pydantic-basedBaseToolcarry the non-PydanticDialClientas a field.- args_schema: type[pydantic.BaseModel]¶
- description: str = 'Send a message to a phone number, optionally with media attachments (MMS). On an iMessage...¶
- name: str = 'send_message'¶
- class dial_crewai.tools.SetNumberPropertiesInput¶
Bases:
pydantic.BaseModel- avatar_url: str | None¶
- first_name: str | None¶
- inbound_instruction: str | None¶
- inbound_language: str | None¶
- inbound_voice_gender: str | None¶
- last_name: str | None¶
- max_call_duration_seconds: int | None¶
- nickname: str | None¶
- number_id: str¶
- class dial_crewai.tools.SetNumberPropertiesTool¶
Bases:
_DialToolBase for Dial CrewAI tools.
Holds a shared
DialClient(passed in, not constructed per call) so every tool reuses one connection pool, and drives the async client from CrewAI’s sync_runvia the background-loop bridge.arbitrary_types_allowedlets the Pydantic-basedBaseToolcarry the non-PydanticDialClientas a field.- args_schema: type[pydantic.BaseModel]¶
- description: str = "Update a Dial phone number's properties: its inbound instruction (the system prompt its AI...¶
- name: str = 'set_number_properties'¶
- class dial_crewai.tools.StartTypingInput¶
Bases:
pydantic.BaseModel- from_number: str¶
- to_number: str¶
- class dial_crewai.tools.StartTypingTool¶
Bases:
_DialToolBase for Dial CrewAI tools.
Holds a shared
DialClient(passed in, not constructed per call) so every tool reuses one connection pool, and drives the async client from CrewAI’s sync_runvia the background-loop bridge.arbitrary_types_allowedlets the Pydantic-basedBaseToolcarry the non-PydanticDialClientas a field.- args_schema: type[pydantic.BaseModel]¶
- description: str = "Show a typing indicator to the recipient, as if composing a message from your number. iMessage...¶
- name: str = 'start_typing'¶
- class dial_crewai.tools.StopTypingInput¶
Bases:
pydantic.BaseModel- from_number: str¶
- to_number: str¶
- class dial_crewai.tools.StopTypingTool¶
Bases:
_DialToolBase for Dial CrewAI tools.
Holds a shared
DialClient(passed in, not constructed per call) so every tool reuses one connection pool, and drives the async client from CrewAI’s sync_runvia the background-loop bridge.arbitrary_types_allowedlets the Pydantic-basedBaseToolcarry the non-PydanticDialClientas a field.- args_schema: type[pydantic.BaseModel]¶
- description: str = "Clear a typing indicator previously shown with start_typing. Delivering a message or reaction...¶
- name: str = 'stop_typing'¶
- class dial_crewai.tools.WaitForMessageInput¶
Bases:
pydantic.BaseModel- phone_number_id: str¶
- timeout_seconds: int¶
- class dial_crewai.tools.WaitForMessageTool¶
Bases:
_DialToolBase for Dial CrewAI tools.
Holds a shared
DialClient(passed in, not constructed per call) so every tool reuses one connection pool, and drives the async client from CrewAI’s sync_runvia the background-loop bridge.arbitrary_types_allowedlets the Pydantic-basedBaseToolcarry the non-PydanticDialClientas a field.- args_schema: type[pydantic.BaseModel]¶
- description: str = "Wait for the next inbound SMS message and return it. Blocks until a message arrives or the...¶
- name: str = 'wait_for_message'¶
- dial_crewai.tools.dial_tools(client: dial_sdk.DialClient) list[crewai.tools.BaseTool]¶
Every Dial tool in one list, all sharing the given
DialClient.Build one client, hand the tools to a CrewAI
Agent:from crewai import Agent from dial_sdk import DialClient, DialConfig from dial_crewai import dial_tools client = DialClient(DialConfig(api_key="sk_live_...")) agent = Agent(role="...", goal="...", tools=dial_tools(client))
The tools share one connection pool. The client lives for the process (its requests run on a background event loop); a sync crew needn’t close it explicitly.