Skip to content

Communication Channels

OMD Cleo is channel-agnostic: the same agent and the same workflows operate across all supported communication platforms. Users receive Cleo messages on the tools they already use — no new app required.


Available channels

Channel Status Primary use case
Matrix Available Real-time chat, interactive workflows
Microsoft Teams Available Enterprise team messaging
Email Available Asynchronous digests and summaries
WhatsApp Available Field worker messaging
SMS Roadmap Lightweight notifications
Voice Roadmap Inbound/outbound voice automation
Cleo Chat Roadmap OMD-hosted web chat (cleo.optimizemyday.ai)

How channels work

Each channel has a dedicated client inside omd-agents. The client handles:

  1. Inbound — receiving messages from the channel and normalising them into a common intermediate representation.
  2. Outbound — rendering the agent's response into the channel's native format (Matrix HTML, email MJML, WhatsApp text, etc.) and delivering it.

Message intermediate representation

All channels share the same internal message format. This means a workflow written once can be delivered to Matrix, Teams, Email, or WhatsApp without modification — only the rendering differs.


Channel identity and opt-in

Each tenant has its own sender identity per channel:

  • Teams: dedicated bot app registration
  • Email: dedicated from-address
  • WhatsApp: dedicated business number
  • Matrix: dedicated homeserver alias

Before Cleo sends any message to a user, that user must opt in to the channel. This is configured by the tenant administrator and respected by all workflow invocations.


Enabling channels

Channels are enabled per deployment via the ENABLED_CLIENTS environment variable (comma-separated). Example:

ENABLED_CLIENTS=matrix,teams,email,whatsapp

Refer to the individual channel pages for the environment variables and setup steps required for each channel.