con un clic
whatsapp-formatting
// Format messages for WhatsApp, including mentions that render as real WhatsApp tags. Use when responding in a WhatsApp conversation (platform_id / chatJid ends with @s.whatsapp.net or @g.us).
// Format messages for WhatsApp, including mentions that render as real WhatsApp tags. Use when responding in a WhatsApp conversation (platform_id / chatJid ends with @s.whatsapp.net or @g.us).
| name | whatsapp-formatting |
| description | Format messages for WhatsApp, including mentions that render as real WhatsApp tags. Use when responding in a WhatsApp conversation (platform_id / chatJid ends with @s.whatsapp.net or @g.us). |
WhatsApp uses its own lightweight markup and a phone-number-based mention syntax. The host's WhatsApp adapter (Baileys) handles markdown conversion automatically, but mentions are only protocol-level mentions if you use the right syntax — otherwise they render as plain text and don't notify the recipient.
You're in a WhatsApp conversation when any of these are true:
@s.whatsapp.net (1-on-1 DM)@g.us (group)chatJid matching the aboveTo tag a user so their name appears bold and clickable in WhatsApp and they get a push notification, write the @ followed by their phone number digits (no +, no spaces, no display name):
@15551234567 can you confirm?
The adapter scans your outgoing text for @<digits> (5–15 digits, optional leading + is stripped) and tells WhatsApp to render them as real mention tags.
The sender's phone JID is always in your inbound message metadata. When a user writes to you, inbound content.sender looks like 15551234567@s.whatsapp.net. The part before the @ is exactly what you put after @ when tagging them back.
| You write | What recipients see |
|---|---|
@Adam can you... | Plain text @Adam. No tag, no notification. |
@15551234567 can you... | Bold/blue @Adam (or whatever name they're saved as), notification fires. |
@+15551234567 ... | Same as above — adapter strips the +. |
participants / inbound content.sender to find the JID of the person you mean. Don't guess from display names — pushNames can collide and are not reliable.@<name> — it won't tag and it will look like a tag that failed.WhatsApp uses single-character delimiters, not doubled like standard Markdown.
| Style | Syntax | Renders as |
|---|---|---|
| Bold | *bold* | bold |
| Italic | _italic_ | italic |
| Strikethrough | ~strike~ | |
| Monospace | `code` | code |
| Block monospace | ```block``` | preformatted block |
The adapter converts standard Markdown (**bold**, [link](url), # heading) to the WhatsApp-native form automatically, so you don't have to think about it — but be aware that single asterisks become italics, not bold.
<@U123> (that's Slack), <@!123> (Discord), or any other channel's mention syntax.@15551234567@s.whatsapp.net in the text — only the digits before the JID's @ go after your @.Add iMessage channel integration via Chat SDK. Local (macOS) or remote (Photon API) mode.
Add Microsoft Teams channel integration via Chat SDK.
Install rtk token-compression proxy into agent containers. Routes Bash tool calls through rtk for 60–90% token savings on dev commands (git, cargo, pytest, docker, kubectl, etc.).
Add WhatsApp channel via native Baileys adapter. Direct connection — no Chat SDK bridge. Uses QR code or pairing code for authentication.
Add Google Calendar as an MCP tool (list calendars, list/search/create events, free/busy queries) using OneCLI-managed OAuth. Multi-calendar and multi-account supported. Mirrors /add-gmail-tool's stub pattern — no raw credentials ever reach the container; OneCLI injects real tokens at request time.
Add Gmail as an MCP tool (read, search, send, label, draft) using OneCLI-managed OAuth. The agent gets Gmail tools in every enabled group; OneCLI injects real tokens at request time so no raw credentials are ever in the container or on disk in usable form.