| name | whatsapp |
| description | WhatsApp Web messaging via Playwright |
| triggers | ["whatsapp","message","send message","text","chat"] |
| url | https://web.whatsapp.com |
WhatsApp
What it does
Sends and reads WhatsApp messages via WhatsApp Web in Playwright.
Use when
- User says "send a message to [contact]"
- User says "open WhatsApp"
- User says "message [name]"
Security
- Only ever navigate to
https://web.whatsapp.com
- Never read, log, or store message content unless user explicitly asks
- Never send a message without confirming contact and content with the user first
- Never extract contact lists or chat history to external sources
- User must be pre-logged in
Tab reuse — critical
playwright_focus_tab(url_contains="web.whatsapp.com") — match by URL, NOT window title (titles change with notifications)
- Only open new tab if no existing WhatsApp tab found
How to send a message
playwright_focus_tab(url_contains="web.whatsapp.com") — try existing tab
- If no tab →
playwright_open_url(url="https://web.whatsapp.com")
playwright_click(selector="[data-testid='chat-list-search']") — click search box
playwright_type(selector="[data-testid='chat-list-search']", text="<contact_name>") — type contact name
playwright_wait_for(selector="[data-testid='cell-frame-container']", timeout_ms=5000) — wait for results
playwright_click(selector="[data-testid='cell-frame-container']") — click contact
playwright_type(selector="[data-testid='conversation-compose-box-input']", text="<message>") — type message
keyboard_press(key="Enter") — send
How to read messages
playwright_get_text(selector="[data-testid='conversation-panel-messages']") — only when user explicitly asks
Primitives used
playwright_focus_tab(url_contains) — switch to WhatsApp tab
playwright_open_url(url) — open WhatsApp Web
playwright_click(selector, strategy) — click elements
playwright_type(selector, text) — type into search/compose
playwright_wait_for(selector, timeout_ms) — wait for results
playwright_get_text(selector) — read messages
keyboard_press(key) — send message with Enter