
Messaging
Link a WhatsApp number (we recommend a dedicated company number that sits in your team threads) so Ruby can read your group chats, open the photos shared in them, and draft replies for you to approve. Linking works like WhatsApp Web: scan a QR code. Group threads only by default; you can open up direct messages per number afterwards.
Ask Ruby
Ruby reads from WhatsApp and grounds her answers in your data. Every connection starts read-only: she surfaces, summarizes, and drafts, and your team takes the action.
List chats
List the WhatsApp chats on the linked number, most recent activity first. Returns each chat's name, chat_id, kind, last-activity time, and unread count. Use whatsapp_get_messages with a returned chat_id to read a thread. This connection is scoped to GROUP threads only; 1:1 direct messages are not accessible.
Find chat
Find a WhatsApp chat by (partial) name, e.g. a job or crew thread. WhatsApp has no search API, so use THIS instead of paging whatsapp_list_chats when you need a specific thread; then read it with whatsapp_get_messages. This connection is scoped to GROUP threads only; 1:1 direct messages are not accessible.
Get messages
Read a WhatsApp chat's messages (sender names resolved, oldest first within the page). Attachments appear as markers carrying their ids; open a photo or PDF with whatsapp_view_media. Pass the cursor from a previous result to page back to older messages. This connection is scoped to GROUP threads only; 1:1 direct messages are not accessible.
View media
Open a photo or PDF that was shared in a WhatsApp thread so you can SEE it (e.g. crew job-site photos, a signed form). Pass the attachment_id and message_id from a whatsapp_get_messages transcript. Voice notes and video cannot be opened. This connection is scoped to GROUP threads only; 1:1 direct messages are not accessible.
Let Ruby send messages to your WhatsApp threads, not just read them. Every message is shown to you for approval (and you can edit it) before it goes out.
An admin switches a connection to read-write in Settings > Integrations. From then on every write waits for a human’s approval before it leaves, by default, and every one lands in your audit log with what changed.
Send message
Send a WhatsApp message into a thread on the linked number. This ALWAYS requires approval: the person you are helping sees the target thread and the exact text, can edit either, and nothing is sent until they approve. Use a chat_id from whatsapp_list_chats / whatsapp_find_chat, and pass chat_name so the approval card names the thread. Draft the message as the shop would send it: no assistant preamble. This connection is scoped to GROUP threads only; 1:1 direct messages are not accessible.
Grounded answers
Ruby works from your actual WhatsApp data and cites what she found, so answers reflect your business rather than a stale export.
Reads by default
Every connection starts read-only. Ruby surfaces and drafts while your team takes the action; writes are opt-in per connection, human-approved by default, and always logged.
Managed, secure auth
Connect with one click. Tokens are encrypted and scoped per company; revoke access any time.
Knows restoration
Ruby understands jobs, claims, drying logs, and AR, so WhatsApp data lands in the right operational context.
Connect WhatsApp once in Ruby. Ask in the Ruby app, or bring the same secure connection into the assistant your team already uses.
Ruby
Ask in the Ruby app and get an answer grounded in WhatsApp and the rest of your connected stack.
Claude
Bring the same secure WhatsApp connection into Claude so it can answer with your live data.
ChatGPT
Use WhatsApp from ChatGPT with the same per-company, permissioned access Ruby uses.
Do I need developer credentials to connect WhatsApp?
No. WhatsApp connects with a single click, Ruby handles the OAuth handshake and token refresh for you.
Can Ruby change anything in WhatsApp?
Not unless you turn it on. Every WhatsApp connection starts read-only. An admin can switch a connection to read-write in Settings > Integrations; from then on each write Ruby makes waits for a human's approval before it leaves (by default; the same admin can switch that off) and is recorded in your audit log either way.
Is my WhatsApp data secure?
Credentials are encrypted at rest and access is scoped per company. You can revoke the connection at any time from Settings > Integrations, which immediately cuts Ruby off.
Can I use WhatsApp alongside my other tools?
Yes. Ruby reasons across every tool you connect at once, so she can tie WhatsApp to your CRM, accounting, email, and documentation in a single answer.