Twilio
TwilioTools enables an Agent to interact with Twilio services, such as sending SMS, retrieving call details, and listing messages.
Prerequisites
The following examples require the twilio library and appropriate Twilio credentials, which can be obtained from here.
1uv pip install twilioSet the following environment variables:
1export TWILIO_ACCOUNT_SID=***2export TWILIO_AUTH_TOKEN=***Example
The following agent will send an SMS message using Twilio:
1from kern.agent import Agent2from kern.tools.twilio import TwilioTools34agent = Agent(5 instructions=[6 "Use your tools to send SMS using Twilio.",7 ],8 tools=[TwilioTools(debug=True)],9 )1011agent.print_response("Send an SMS to +1234567890", markdown=True)Toolkit Params
| Name | Type | Default | Description |
|---|---|---|---|
account_sid | Optional[str] | None | Twilio Account SID for authentication. |
auth_token | Optional[str] | None | Twilio Auth Token for authentication. |
api_key | Optional[str] | None | Twilio API Key for alternative authentication. |
api_secret | Optional[str] | None | Twilio API Secret for alternative authentication. |
region | Optional[str] | None | Optional Twilio region (e.g., au1). |
edge | Optional[str] | None | Optional Twilio edge location (e.g., sydney). |
debug | bool | False | Enable debug logging for troubleshooting. |
enable_send_sms | bool | True | Enable the send_sms functionality. |
enable_get_call_details | bool | True | Enable the get_call_details functionality. |
enable_list_messages | bool | True | Enable the list_messages functionality. |
all | bool | False | Enable all functionality. |
Toolkit Functions
| Function | Description |
|---|---|
send_sms | Sends an SMS to a recipient. Takes recipient phone number, sender number (Twilio), and message body. Returns message SID if successful or error message if failed. |
get_call_details | Retrieves details of a call using its SID. Takes the call SID and returns a dictionary with call details (e.g., status, duration). |
list_messages | Lists recent SMS messages. Takes a limit for the number of messages to return (default 20). Returns a list of message details (e.g., SID, sender, recipient, body, status). |
Developer Resources
- View Tools