Multi-Channel Orchestration

You shouldn't have to be sitting at your desk to ask your AI assistant a question. Maybe you're at the grocery store and need to check your shopping list. Maybe you're on the couch and want to control a room's lights. Or maybe you're catching up on email and want help drafting a reply.

Meggy makes this possible by letting you interact with the same assistant from WhatsApp, Telegram, Email, or the desktop app. Every channel gets the same capabilities — the same tools, the same memory, the same intelligence. It's one assistant, reachable from wherever you are.

Channel Adapters

Each platform has a dedicated adapter that normalizes messages into a unified internal envelope:

Channel Adapter Protocol Status
Desktop Electron IPC Direct invoke/send Production
WhatsApp Baileys library WebSocket to WhatsApp Web Production
Telegram Telegraf library Telegram Bot API Production
Email IMAP/SMTP Standard email protocols Production

Every adapter implements the same interface: an inbound$ RxJS Observable stream for incoming messages and a reply() method for outbound responses.

Email Integration

The Email adapter connects to your inbox via IMAP and sends replies via SMTP. It ships with presets for Gmail, Outlook, Yahoo, and iCloud — just enter your credentials and Meggy starts monitoring your inbox in real time using IMAP IDLE. Incoming emails are processed through the same orchestration pipeline as any other message, so your assistant can read, summarize, draft, and send emails on your behalf.

Unified Message Envelope

Regardless of which channel a message arrives from, it's normalized into a standard envelope containing:

This normalization ensures that the AI processes every message through the same logic, regardless of its origin.

Tier Classification

The orchestration engine classifies each incoming message into one of four complexity tiers:

Tier Description Execution
T1 — Simple Direct Q&A, factual lookups Single-pass generation, no tools
T2 — Standard Research tasks, analysis requests Multi-step with tool calls
T3 — Complex Multi-part tasks requiring planning DAG decomposition with parallel branches
T4 — Autonomous Long-running agent tasks Full agent delegation with scheduling

Classification happens automatically based on message content analysis, and it determines how much orchestration infrastructure is activated.

DAG Execution

For T3 and T4 tasks, the orchestration engine decomposes the request into a directed acyclic graph (DAG) of sub-tasks:

  1. Decomposition — The message is analyzed and broken into independent sub-tasks
  2. Dependency resolution — Tasks are ordered based on their data dependencies
  3. Parallel execution — Independent branches execute simultaneously
  4. Result aggregation — Outputs from all branches are merged into a unified response
  5. Channel routing — The final response is formatted for the originating channel and delivered

Cross-Channel Question Engine

When the AI needs to ask you a clarifying question, it routes through the appropriate channel:

Questions are persisted in SQLite, so they survive app restarts and can be answered asynchronously — ask from your phone now, answer from your laptop later.