Messaging Gateway: Let Caiioo Answer on the Apps Your Contacts Already Use

The Messaging Gateway is a service-agnostic way for Caiioo to send and receive messages on the platforms your customers and contacts already use. People message you on WhatsApp, Telegram, or wherever they already are, and the agent answers them autonomously—in their channel, in real time. The same gateway works the other way too: from any thread, the agent can send a message as a tool ("text the team group on Telegram about the meeting").

One gateway, many services. You connect each service once, and Caiioo normalizes everything behind a single interface.

Supported Services

Connect any of these in Settings > Connectivity > Messaging Gateway:

  • WhatsApp Business — stable
  • Telegram — stable
  • Messenger (beta)
  • iMessage (beta)
  • Signal (beta)
  • Viber (beta)
  • Beeper (beta)

WhatsApp Business and Telegram are stable. The rest are in beta—fully usable, still being hardened.

Setup

  1. Turn on Remote Access for this device, in Settings > Connectivity > Connections > Private Relay. This is what actually connects the device to the relay that receives inbound messages—without it, nothing arrives, no matter how the services below are configured. It's off by default and per device (see Platform Support, below).
  2. Go to Settings > Connectivity > Messaging Gateway.
  3. Pick a service.
  4. Enter that provider's standard bot or business credentials—the same token or business account you'd use for any integration on that platform.
  5. Caiioo registers the inbound route. If Remote Access isn't on anywhere yet, Settings > Connectivity > Messaging Gateway tells you so and lets you turn it on right there.

You configure each service once. After that, the agent sees a single messaging capability regardless of how many services are connected.

Per-Conversation Interaction Modes

Every conversation has its own mode, chosen from three buttons at the top of the thread, so you decide exactly how the agent shows up for each contact:

Auto (green)

The agent answers everyone automatically. Anything you type in that same thread is treated as coaching—it shapes the agent's next reply but is not sent to the contact. Use this when you want the agent to handle the conversation but you occasionally want to steer it ("be more formal," "offer the discount").

Chime In (blue)

The agent still auto-answers inbound messages, but anything you type goes straight through to the contact as you. Use this when you want to jump in and talk to the person yourself while the agent keeps the conversation moving in between.

Chat (amber)

The agent pauses and steps back—it stops auto-responding, and you handle the conversation yourself, with your messages going to the contact as you. Use this when a thread needs a human and you want the agent to stay out of the way.

Media Both Directions

Images, audio, and video flow in both directions. When a contact sends a photo, it reaches the model, so you can ask "what's in this picture the customer just sent?" and answer right back in the same channel. Media the agent produces or attaches flows back out to the contact the same way.

Privacy & Architecture

All message processing happens locally, on whichever of your devices has Remote Access on—the desktop app, the browser extension, or both. The agent runs on your machine; conversations, credentials, and media are handled there—not in the cloud.

Cloudflare acts only as a dumb per-user webhook relay. Each user gets a single-tenant Durable Object that forwards the raw inbound webhook to your device over a private connection and nothing more. There is no cloud message storage and no cloud-side processing. Outbound messages bypass Cloudflare entirely—your device calls the service's API directly. Cloudflare is in the loop only because external services need a stable public URL to deliver inbound webhooks to.

Platform Support

What actually determines whether you receive a message is Remote Access (Settings > Connectivity > Connections > Private Relay)—a per-device switch, off by default, that is not synced between your devices on purpose (it's a network-exposure setting, like opening a port). Turn it on for every device you want answering messages; leave it off on the ones you don't.

  • macOS, Windows, Linux — supported. Turn on Remote Access in the desktop app to have it answer.
  • Browser extension (Chrome, Safari) — supported, and works fully on its own—no desktop app required. Turn on Remote Access in the extension's own Settings and it connects directly and answers messages by itself.
  • If you have both a desktop app and the extension with Remote Access on at the same time, the desktop app takes priority; the extension stays on standby as a backup in case the desktop app goes offline.
  • iOS or Androidnot available. Mobile apps don't run the private-relay client the gateway depends on, so incoming messages can't be received or answered there, regardless of Remote Access.

A Note on Slack

Slack is not part of the Messaging Gateway. Slack lives in the Community Hub as its own OAuth package—install it from there. See Community Hub.

Tier

The Messaging Gateway is a Pro feature.

See Also


This guide is maintained by the Caiioo team using Slate, our built-in editor.