WhatsAppTools enable an Agent to interact with the WhatsApp Business API, allowing it to send text and template messages.Documentation Index
Fetch the complete documentation index at: https://docs-v1.agno.com/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
This cookbook demonstrates how to use WhatsApp integration with Agno. Before running this example, you'''ll need to complete these setup steps:-
Create Meta Developer Account
- Go to Meta Developer Portal and create a new account
- Create a new app at Meta Apps Dashboard
- Enable WhatsApp integration for your app here
- Set Up WhatsApp Business API You can get your WhatsApp Business Account ID from Business Settings
-
Configure Environment
- Set these environment variables:
- Set these environment variables:
- For first-time outreach, you must use pre-approved message templates here
- Test messages can only be sent to numbers that are registered in your test environment
Example
The following agent will send a template message using WhatsApp:cookbook/tools/whatsapp_tool.py
Toolkit Params
| Parameter | Type | Default | Description |
|---|---|---|---|
access_token | Optional[str] | None | WhatsApp Business API access token. If not provided, uses WHATSAPP_ACCESS_TOKEN environment variable. |
phone_number_id | Optional[str] | None | WhatsApp Business Account phone number ID. If not provided, uses WHATSAPP_PHONE_NUMBER_ID environment variable. |
version | str | "v22.0" | API version to use. If not provided, uses WHATSAPP_VERSION environment variable or defaults to “v22.0”. |
recipient_waid | Optional[str] | None | Default recipient WhatsApp ID (e.g., “1234567890”). If not provided, uses WHATSAPP_RECIPIENT_WAID environment variable. |
async_mode | bool | False | Enable asynchronous methods for sending messages. |
Toolkit Functions
| Function | Description |
|---|---|
send_text_message_sync | Sends a text message to a WhatsApp user (synchronous). Parameters: text (str), recipient (Optional[str]), preview_url (bool), recipient_type (str). |
send_template_message_sync | Sends a template message to a WhatsApp user (synchronous). Parameters: recipient (Optional[str]), template_name (str), language_code (str), components (Optional[List[Dict[str, Any]]]). |
send_text_message_async | Sends a text message to a WhatsApp user (asynchronous). Parameters: text (str), recipient (Optional[str]), preview_url (bool), recipient_type (str). |
send_template_message_async | Sends a template message to a WhatsApp user (asynchronous). Parameters: recipient (Optional[str]), template_name (str), language_code (str), components (Optional[List[Dict[str, Any]]]). |