Skip to main content

Deploy a Bot to Channels

Bots run on channels via Activation Rules. A rule is a small piece of logic on the bot that says "fire on this channel, at this time, when these conditions are met." You can attach as many rules as you need; the bot fires when any of them matches.

This guide covers non-widget channels: WhatsApp, Telegram, Messenger, Instagram, and Email. For website widget deployment, see Deploy to Widget.

How activation works

When a contact sends a message:

  1. The platform finds all bots whose activation rules match the incoming channel.
  2. Rules are checked in priority order (lower number first).
  3. The first matching rule's bot claims the conversation.
  4. The bot session runs until it ends, escalates to a human, or the contact stops responding.

A rule matches if all of these are true:

  • The channel is in the rule's channel_ids list (or channel_ids is empty = any channel).
  • The current time falls inside the rule's time_ranges (if is_schedule_enabled is on).
  • The "no agents online" requirement (if set) is currently satisfied.

Add an activation rule

  1. Open your bot in the Automation area.
  2. Go to the Activation Rules tab.
  3. Click Add rule.

Fields

FieldDescription
ChannelsSpecific channel IDs the rule applies to. Pick the actual connected channel rows from your Channels page (e.g., "WhatsApp DE — +49 30…"), not the channel type. Leave empty to apply to all channels the bot has scope on.
Schedule enabledWhen on, the rule only fires during the time ranges listed.
TimezoneThe timezone the schedule is evaluated in (e.g., Europe/Berlin).
Time rangesList of weekday + start/end blocks. E.g., Mon-Fri 09:00–17:00.
Require no agents onlineWhen on, the rule only fires if no human agent is marked online. Use for after-hours fallback bots.
PriorityInteger (default 100). Lower number wins when multiple rules match.
ActiveToggle to disable the rule without deleting it.

Email-specific

For bots running on Email channels, an extra field is available:

  • Recipient email addresses — restrict the rule to messages sent to specific addresses on your inbox (e.g., [email protected] but not [email protected]). Useful when a single Email channel is shared across teams.

Per-channel guidance

WhatsApp

  • WhatsApp Business API channels can have multiple bots with different priorities — common pattern is Keyword Bot (priority 10) + AI Assistant (priority 100).
  • The 24-hour customer service window applies: if the contact hasn't messaged you in the last 24 hours, the bot can only reply with an approved template. Free-text replies fail.
  • See the WhatsApp 24-hour window guide for details.

Telegram

  • Telegram supports inline buttons and rich media, so bots can use the full response toolkit.
  • No 24-hour window restriction.

Messenger (Facebook)

  • Messenger enforces a 24-hour window similar to WhatsApp; outside the window, only approved message tags can be sent.
  • Buttons and quick replies are supported.

Instagram DM

  • Instagram DM uses the same Meta infrastructure as Messenger. Same 24-hour window rules apply.
  • No template messages — outside-window replies aren't possible. Plan your activation schedule accordingly.

Email

  • The Email channel is asynchronous. The bot reply is sent as a normal email.
  • Use the Email Reply template (or is_email_reply_mode behavior) for longer, formal replies with proper greetings and signatures.
  • The bot will not loop on auto-reply emails (Auto-Submitted: auto-replied headers are detected and ignored).
  • max_email_replies (default 5) caps how many emails the bot will send to a single contact in a single thread, to prevent runaway loops.

Contact tag filters (per-rule, optional)

If your contacts are tagged, you can scope a rule to only fire when the contact has — or does not have — specific tags. Common uses:

  • VIP contacts skip the bot and go straight to a human agent.
  • Trial contacts get the sales Assistant; paid contacts get the support Assistant.

Set tag filters on the rule via the Audience sub-section (when present in the rule editor).

Examples

Example 1: AI Assistant on one WhatsApp number, business hours only

Bot: "Support EN" (AI Assistant)
Rule 1:
channels: [WhatsApp EN — +44 20...]
schedule_enabled: true
timezone: Europe/London
time_ranges:
- Mon-Fri 09:00–17:30
require_no_agents_online: false
priority: 100
is_active: true

Example 2: Keyword + AI fallback on the same channel

Bot A: "Keyword FAQ"
Rule:
channels: [WhatsApp DE]
priority: 10
is_active: true

Bot B: "Support DE" (AI Assistant)
Rule:
channels: [WhatsApp DE]
priority: 100
is_active: true

When a contact writes "hours", Bot A matches keyword hours and replies. When they write a free-text question, Bot A doesn't match anything, so Bot B (the AI Assistant) handles it.

Example 3: After-hours fallback bot

Bot: "After Hours"
Rule:
channels: [WhatsApp EN, Telegram EN]
schedule_enabled: true
timezone: Europe/London
time_ranges:
- Mon-Fri 17:30–23:59
- Mon-Fri 00:00–09:00
- Sat-Sun 00:00–23:59
require_no_agents_online: true
priority: 50
is_active: true

This bot only fires outside business hours and only when no agent is online — perfect for a "we're closed, leave a message" autoresponder.

Activate the bot

After adding rules, toggle the bot's Active switch on the bot list page. Rules don't fire on inactive bots.

Troubleshooting

  • Bot doesn't reply on the channel — check the rule includes the right channel ID (not just the channel type), the schedule is in effect, and the bot is active.
  • Two bots both reply — they shouldn't; only one bot wins per inbound message. If you see double replies, check there isn't a Keyword Bot configured to send and hand off, or check for two activation rules with the same priority.
  • Bot replies in the wrong language — for AI Assistants, the response_language field forces output; leave it on Auto-detect for multi-lingual inboxes. For Keyword Bots, the responses are exactly what you configured — make per-language keyword bots or use Flows.

What's next