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:
- The platform finds all bots whose activation rules match the incoming channel.
- Rules are checked in priority order (lower number first).
- The first matching rule's bot claims the conversation.
- 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_idslist (orchannel_idsis empty = any channel). - The current time falls inside the rule's
time_ranges(ifis_schedule_enabledis on). - The "no agents online" requirement (if set) is currently satisfied.
Add an activation rule
- Open your bot in the Automation area.
- Go to the Activation Rules tab.
- Click Add rule.
Fields
| Field | Description |
|---|---|
| Channels | Specific 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 enabled | When on, the rule only fires during the time ranges listed. |
| Timezone | The timezone the schedule is evaluated in (e.g., Europe/Berlin). |
| Time ranges | List of weekday + start/end blocks. E.g., Mon-Fri 09:00–17:00. |
| Require no agents online | When on, the rule only fires if no human agent is marked online. Use for after-hours fallback bots. |
| Priority | Integer (default 100). Lower number wins when multiple rules match. |
| Active | Toggle 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_modebehavior) for longer, formal replies with proper greetings and signatures. - The bot will not loop on auto-reply emails (
Auto-Submitted: auto-repliedheaders are detected and ignored). max_email_replies(default5) 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_languagefield forces output; leave it onAuto-detectfor multi-lingual inboxes. For Keyword Bots, the responses are exactly what you configured — make per-language keyword bots or use Flows.
What's next
- Build an Assistant — review or tune the bot itself.
- Deploy to Widget — for website live chat.
- Prompt Engineering — confidence tuning and escalation.