One contract.
Every channel.
The workflow contract does not know what a channel is. The gates, the record and the log are identical wherever the conversation happens.
The widget that closes bookings.
A chat panel on your site, in your colors. Visitors book, file, apply, without leaving the page. Uploads work natively, so evidence fields can be satisfied right in the thread.
[ fig 01 · the agent living in your site ]
Channel-specific: rich cards, file uploads, your branding, deep links into your pages.
Where your regulars already are.
The same agent as a Telegram bot: bookings and follow-ups in the chat app people actually keep open. Perfect for repeat customers; the workflow picks up cleanly on every return.
[ fig 02 · the agent as a bot your customers message ]
Channel-specific: instant notifications, persistent chat history, zero install friction.
The channel your customers ask for.
WhatsApp is live, on the same contract and the same gates. Your existing workflow runs on it without a single rule being rewritten, with the broadest reach in most markets.
[ fig 03 · same agent, same rules, new reach ]
Channel-specific: business verification, template messages, the broadest reach in most markets.
The hardest channel, held by the same gates.
Voice is planned, and it is where deterministic boundaries matter most: no interface, no buttons, just conversation. The commit gate does not care that the yes was spoken.
[ fig 04 · planned: the spoken workflow ]
Channel-specific: speech in, speech out, everything else identical by construction.
Channels multiply reach. Never risk.
Adding a channel adds conversations, not failure modes. The contract is enforced beneath all of them, so the answer to "is it safe on WhatsApp too" is: it is the same gate.