Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WAHA_API_KEY | Yes | Your WAHA API key for authentication | |
| WAHA_SESSION | No | WhatsApp session name | default |
| WAHA_BASE_URL | Yes | Your WAHA server URL (e.g., http://localhost:3000) |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| waha_get_chats | Get overview of recent WhatsApp chats. Returns chat ID, name, last message preview, and unread count. Default limit is 10 chats. |
| waha_get_messages | Get messages from a specific WhatsApp chat. Returns message content, sender, timestamp, and status. Default limit is 10 messages. |
| waha_send_message | Send a text message to a WhatsApp chat. Returns message ID and delivery timestamp. |
| waha_mark_chat_read | Mark messages in a chat as read. Can specify number of recent messages or time range in days. |
| waha_delete_message | Delete a specific message from a chat. This is a destructive operation and cannot be undone. |
| waha_edit_message | Edit a sent message in a chat. Only works for messages sent by the bot. |
| waha_pin_message | Pin a message in a chat. Pinned messages appear at the top of the chat. |
| waha_unpin_message | Unpin a message in a chat. |
| waha_clear_chat_messages | Clear all messages from a chat. WARNING: This is a destructive operation that cannot be undone. |
| waha_delete_chat | Delete a chat completely. WARNING: This is a destructive operation that cannot be undone. |
| waha_archive_chat | Archive a chat. Archived chats are hidden from the main chat list. |
| waha_unarchive_chat | Unarchive a chat. Moves the chat back to the main chat list. |
| waha_mark_chat_unread | Mark a chat as unread. This adds an unread indicator to the chat. |
| waha_get_chat_picture | Get the profile picture URL for a chat. Uses 24-hour cache by default. |
| waha_send_media | Send media files (images, videos, or documents) to a WhatsApp chat. Supports URL or base64 data. |
| waha_send_audio | Send audio/voice messages to a WhatsApp chat. Supports URL or base64 data. |
| waha_send_location | Send location coordinates to a WhatsApp chat. |
| waha_send_contact | Send contact card(s) to a WhatsApp chat using vCard format. |
| waha_react_to_message | Add an emoji reaction to a message. To remove a reaction, send an empty string. |
| waha_star_message | Star or unstar a message. |
| waha_get_groups | List all groups with filtering and pagination options. |
| waha_get_group_info | Get detailed information about a specific group. |
| waha_get_group_picture | Get group profile picture URL. |
| waha_set_group_picture | Set or update group profile picture. |
| waha_delete_group_picture | Remove group profile picture. |
| waha_create_group | Create a new WhatsApp group. |
| waha_update_group_subject | Change group name/subject. |
| waha_update_group_description | Update group description. |
| waha_leave_group | Leave a group. |
| waha_get_group_participants | List all members in a group. |
| waha_add_group_participants | Add member(s) to a group. Requires admin privileges. |
| waha_remove_group_participants | Remove member(s) from a group. Requires admin privileges. |
| waha_promote_group_admin | Promote participant(s) to group admin. Requires admin privileges. |
| waha_demote_group_admin | Remove admin privileges from participant(s). Requires admin privileges. |
| waha_get_group_invite_code | Get group invite link. |
| waha_revoke_group_invite_code | Revoke current invite link and generate a new one. Requires admin privileges. |
| waha_join_group | Join a group using invite code/link. |
| waha_get_group_join_info | Get group information from invite link without joining. |
| waha_set_group_messages_admin_only | Toggle whether only admins can send messages. Requires admin privileges. |
| waha_set_group_info_admin_only | Toggle whether only admins can edit group info. Requires admin privileges. |
| waha_get_groups_count | Get total number of groups. |
| waha_get_contact | Get contact information by ID. |
| waha_get_all_contacts | List all contacts with pagination. |
| waha_check_contact_exists | Check if phone number is registered on WhatsApp. |
| waha_get_contact_about | Get contact's about/status text. |
| waha_get_contact_profile_picture | Get contact's profile picture URL. |
| waha_block_contact | Block a contact. |
| waha_unblock_contact | Unblock a contact. |
| waha_get_presence | Get online/offline/typing status for a chat. Auto-subscribes if not already subscribed. |
| waha_subscribe_presence | Subscribe to presence updates for a chat. |
| waha_set_presence | Set your own presence status (online, offline, typing, recording, or paused). |
| waha_get_all_presence | Get all subscribed presence information. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| WhatsApp Chats Overview | Overview of recent WhatsApp chats with last message previews. Supports parameters: limit (default: 10, max: 100), offset (for pagination), ids (comma-separated chat IDs to filter) |
| WhatsApp Chat Messages | Messages from a specific WhatsApp chat. URI format: waha://chat/{chatId}/messages?limit=10&offset=0 Supports parameters: limit (default: 10, max: 100), offset (for pagination), downloadMedia (true/false), timestampGte, timestampLte, fromMe (true/false) |