Back to Blog

The instinct to "deploy everywhere at once" is usually how channel rollouts fail. You spread configuration effort thin, quality drops across all channels, and you end up with a bot that's mediocre on five channels rather than excellent on two.

This guide is an opinionated framework for thinking about channel priority — then a practical walkthrough for each channel available in Omni. Read the strategy section first, even if you're impatient to get to the implementation.

The Channel Decision Framework

Before deploying anywhere, answer three questions:

  1. Where do your customers already go to ask questions? If your customers email you, deploying on Telegram first is the wrong move. Match deployment to existing behavior, then expand from there.
  2. What are the characteristics of your query types? Structured, short-answer queries work on every channel. Queries that require images, file uploads, or complex back-and-forth degrade more on some channels than others.
  3. Do you have the human bandwidth to monitor escalations on each channel? Every channel you open is a channel that can escalate to a human. Don't add channels faster than you can staff the exceptions.

The rule of thumb: Get excellent on one channel (usually web widget), measure your deflection rate and CSAT for 30 days, then expand. Each new channel adds roughly 20–40% incremental volume with roughly 80% of the quality of your primary channel.

The Channels: Setup & Strategy

🌐

Web Widget

The default starting point. Drop an embed snippet into any webpage. Fully branded, supports rich text responses, typing indicators, and human handoff. Highest quality, most configurable.

Start here
💬

Slack

Ideal for B2B SaaS with enterprise customers. Install the bot in a customer's shared Slack channel to handle support queries in their existing workflow. Extremely high engagement rates.

Grow tier
📱

WhatsApp

Mandatory for consumer businesses in non-US markets (Europe, LATAM, Southeast Asia). Requires WhatsApp Business API access. Exceptionally high open and response rates.

Grow tier
✈️

Telegram

Strong in tech-savvy and developer communities. Setup is the fastest of any channel (bot token + webhook URL). Good for communities, dev tools, and crypto/fintech verticals.

Grow tier
🔌

REST API

Build your own integrations. Useful for mobile apps, custom portals, or any surface not covered by native channels. Requires developer time but gives complete control over UX.

All plans

Web Widget: Implementation

The web widget deploys via a single script tag. Once you've created a bot in the Omni dashboard, grab the embed snippet from the Deploy → Web Widget section and add it to your site's <head> or just before </body>. It will look something like this:

<!-- Omni Web Widget (copy from your dashboard) --> <script src="[your-embed-url-from-dashboard]" data-bot-id="your-bot-id-here" data-position="bottom-right" data-primary-color="#your-brand-color" defer ></script>

The widget respects your theme configuration from the Omni dashboard — colors, logo, bot name, and opening message. No additional CSS required.

Widget configuration checklist

Slack: Implementation

The Slack integration works best for B2B companies with a shared Slack channel per enterprise customer. Setup from the Omni dashboard requires OAuth authorization and selection of which channels the bot should monitor.

The Slack pattern that works: Don't make the bot respond to every message in a channel. Configure it to only respond when directly mentioned (@YourBotName) or when a thread is started in a dedicated #support channel. This prevents it from becoming noise.

Slack-specific considerations

WhatsApp: Implementation

WhatsApp requires Meta Business API access, which has an approval process (typically 2–5 business days). From the Omni dashboard, you connect via a verified business phone number and webhook configuration.

WhatsApp-specific constraints to know before deploying:

REST API: Building Custom Integrations

The REST API exposes the same AI conversation layer available in all channels, letting you build custom integrations for mobile apps, internal tools, or any surface not covered by the native channels.

All conversation API calls follow the same pattern:

// POST /api/v1/chat/message { "botId": "bot_abc123", "sessionId": "user-session-unique-id", // maintain per user "message": "What's your return policy?", "context": { // optional "userId": "user_123", "userEmail": "jane@example.com" } } // Response { "reply": "We offer free returns within 30 days...", "sessionId": "user-session-unique-id", "handoffTriggered": false, "confidence": 0.94 }

The sessionId is critical — it maintains conversation context across messages. Use a stable identifier per user session (can be a UUID you generate client-side, persisted in localStorage). Without this, every message starts a new conversation and the bot loses context.

The Rollout Sequence That Actually Works

Here's the sequencing that tends to produce the best outcomes based on general best practice across multi-channel deployments:

  1. Week 1–2: Launch web widget. Focus entirely on knowledge base quality and human handoff configuration.
  2. Week 3–4: Measure web widget performance. Target: ≥50% deflection rate, ≥4.0 CSAT before expanding.
  3. Month 2: Add the second-highest-traffic channel for your audience. For B2B: Slack. For consumer: WhatsApp.
  4. Month 3: Evaluate performance on both channels, iterate on knowledge gaps, then consider a third channel if volume justifies it.
  5. Month 4+: REST API integrations for custom surfaces, if applicable.

The mistake to avoid: Adding channels before your knowledge base is solid. A chatbot with a 35% deflection rate on the web widget will get a 30% deflection rate on WhatsApp. The quality ceiling is set by the knowledge base, not the channel. Fix the knowledge base first.


Deploy across every channel in one dashboard

Web widget, Slack, WhatsApp, Telegram, and API — all managed from a single Omni workspace.