Skip to main content
Message routing lets you send different types of messages to different AI agents. For example, direct messages go to your personal assistant, while group messages go to a support agent.

How Routing Works

1

Message Arrives

A user sends a message on Telegram, Discord, or Slack.
2

Context Detection

The gateway detects where the message came from — a DM, group, or channel.
3

Route Lookup

The gateway checks the routes table in gateway.yaml for that context.
4

Agent Handles Message

The matched agent receives the message and responds.

Route Contexts

ContextDescriptionExample
dmDirect / private messageUser sends a DM to your bot
groupGroup chat messageMessage in a Telegram group or Discord server
channelChannel messageMessage in a Slack channel
defaultFallback for any unmatched contextAny message that doesn’t match above
Always define a default route. It acts as a safety net — if a message comes from an unexpected context, the default agent handles it.

Configuration

Define routes in the channels section of gateway.yaml:
channels:
  telegram:
    token: ${TELEGRAM_BOT_TOKEN}
    routes:
      dm: personal        # DMs → personal agent
      group: support      # Groups → support agent
      default: personal   # Everything else → personal agent

  discord:
    token: ${DISCORD_BOT_TOKEN}
    routes:
      dm: personal
      group: support
      default: personal

  slack:
    token: ${SLACK_BOT_TOKEN}
    app_token: ${SLACK_APP_TOKEN}
    routes:
      dm: support
      channel: support
      default: support

Routing Examples

Route DMs to a personal assistant and group messages to support:
agents:
  personal:
    instructions: "You are a helpful personal assistant"
    model: gpt-4o-mini
  support:
    instructions: "You are a customer support agent"
    model: gpt-4o

channels:
  telegram:
    token: ${TELEGRAM_BOT_TOKEN}
    routes:
      dm: personal
      group: support
      default: personal

Routing Flow Diagram

Routing is configured per channel. Each platform can have completely different routing rules — Telegram DMs can go to one agent while Discord DMs go to another.