Key Concepts
This page explains the fundamental concepts used throughout OMD Cleo documentation.
Tenant
A tenant is an isolated OMD customer environment within the Cleo platform. All data — conversation history, memory, documents, and user records — is strictly scoped to a single tenant. Cross-tenant data access is impossible by design.
Each tenant has its own:
- Communication channel identities (Teams app, email address, WhatsApp number, etc.)
- LLM configuration (catalog entries or custom endpoints)
- Active MCP servers and workflow templates
- System prompt and guardrail settings
Channel
A channel is a communication platform through which Cleo delivers messages to your users. Cleo is channel-agnostic: the same agent and the same workflows work across all channels.
Currently available channels:
| Channel | Type |
|---|---|
| Matrix | Real-time chat (reactive + workflow-triggered) |
| Microsoft Teams | Enterprise messaging via Bot Framework |
| Asynchronous, threaded email | |
| Personal/business messaging via Baileys bridge |
Channels in development: SMS, Voice, Cleo Chat (web UI).
Users opt in per channel before Cleo will contact them there.
Workflow
A workflow is a reusable, automatable process that combines an LLM, one or more tools, optional memory, and a delivery channel. Workflows can be:
- Scheduled — triggered on a cron-like schedule (e.g. every Friday afternoon).
- Event-triggered — started by an inbound message, an MCP server event, or a manual API call.
Workflows produce a message (or a thread of messages) delivered to the specified users on the specified channel. See the Workflows section for the full list.
Tool
A tool is a Python function that the LLM can call during a workflow to fetch or write data. The agentic loop gives the LLM access to a set of tools and lets it decide which tools to invoke in order to satisfy the user's request.
Examples: query OMD Go task data, retrieve a Superset dashboard, search the document hub, remember a fact about a user.
MCP Server
A Model Context Protocol (MCP) server is an HTTP service that exposes a set of tools in a standard format that MCP-compatible AI agents can call. OMD ships MCP servers for OMD Go and OMD Powerhouse; more are in development.
MCP servers authenticate callers using JWT Bearer tokens issued by the OMD OAuth 2 identity provider. This means any standard MCP client — not just OMD Cleo — can connect to these servers if it holds a valid token.
Memory
Cleo maintains several layers of memory for each user and tenant:
| Layer | Scope | Technology |
|---|---|---|
| Short-term (session) | One conversation | PostgreSQL message history |
| Long-term (user) | Across all conversations for one user | mem0 + ChromaDB / Memgraph |
| Long-term (organisation) | Across all users in a tenant | mem0 + ChromaDB / Memgraph |
| Document store | Searchable knowledge base | ChromaDB vector embeddings |
Long-term memory allows Cleo to remember preferences, decisions, and context from previous interactions and apply them in future conversations.
System Prompt
The system prompt is a text fragment injected into the LLM context at the start of every conversation. It defines the assistant's role, tone, and constraints. OMD admins configure a global default; tenant admins can customise it per tenant.
System prompts are versioned: every save creates a new version, and previous versions can be restored.
Manifest
A manifest (also called a role-specific prompt) is an additional system prompt fragment bound to a specific tenant and scope (e.g. worker, manager, admin). It is appended to the base system prompt to tailor the assistant's behaviour for different user roles.