Documentation

OmniChat product docs

Everything you can run in OmniChat — channels, inbox, AI, lead forms, WhatsApp tools, email API, CRM, teams, billing, and developer endpoints. Built for sellers and agencies who need one inbox across the channels customers already use.

Overview

OmniChat is a multi-channel messaging platform for businesses. Connect your channels, reply from one inbox (web + Android), turn on AI autopilot where you want it, run WhatsApp templates and campaigns, and send transactional or marketing email from your own domain.

  • Unified inbox for WhatsApp, Telegram, Web Chat, Instagram, and Messenger — assign chats, filter Mine / Unassigned / Needs you
  • Gemini-powered AI with confidence thresholds, handoff, and analytics
  • Omni Bot — inbox assistant to build forms, add fields, publish, and verify changes with a live activity log
  • Lead forms— visual Form Builder, public links, embed scripts, leads inbox, logic & scoring
  • WhatsApp Cloud API templates, campaigns, OTP, and order verification helpers
  • SES-backed Email API — domains, DNS, send, branded reply inbox, templates & broadcast
  • Team stores, inbox routing skills, agency client management, Shopify/Woo integrations, outbound webhooks

Getting started

  1. Create an account at /signup.
  2. Open Connect and link at least one channel (WhatsApp or Telegram).
  3. Reply from Inbox. Optionally enable AI under AI.
  4. Add teammates under Team, connect a shop under Integrations, or set up Email for transactional sends.
  5. Optional: create a lead form under Forms or ask Omni Bot in the inbox to generate one.
Permissions are store-scoped. Switch stores from the app header when you belong to more than one business.

Channels

WhatsApp Business (Meta Cloud API)

Connect via Meta: phone number ID, WhatsApp Business Account, and system user token (or guided connect flow). Supports templates, media, campaigns, OTP, and AI autopilot.

Path: /connect-whatsapp

Telegram Bot

Paste a BotFather token. Messages land in the same inbox with AI and presence support.

Path: /connect-telegram

Web Chat (widget + API)

Add a floating chat bubble, fullscreen overlay, popup iframe, or inline embed on any site — or build your own chat UI on top of the same public API. Visitor messages land in Inbox → Web Chat. Turn on AI → Web Chat Autopilot so OmniChat replies automatically; human agents can take over from Inbox and their replies appear in the widget too.

Setup: /connect-webchat · Full API: /developers#webchat-api

1) Floating widget (easiest)

<script
  src="https://www.getomnichat.com/embed/webchat.js"
  data-public-key="pk_wc_YOUR_KEY"
  async
></script>

2) Embed modes

  • data-mode="bubble" (default) — launcher + panel
  • data-mode="popup" — panel only, no bubble
  • data-mode="fullscreen" — covers the viewport
  • data-mode="inline" + data-target="#my-chat" — embed inside a div
  • <!-- Popup iframe (no launcher) -->
    <iframe
      src="https://www.getomnichat.com/embed/webchat/pk_wc_YOUR_KEY"
      title="Chat"
      style="width:400px;height:680px;border:0;border-radius:16px"
      allow="clipboard-write"
    ></iframe>
    
    <!-- Fullscreen overlay -->
    <script
      src="https://www.getomnichat.com/embed/webchat.js"
      data-public-key="pk_wc_YOUR_KEY"
      data-mode="fullscreen"
      async
    ></script>
    
    <!-- Inline in a container -->
    <div id="my-chat" style="min-height:480px"></div>
    <script
      src="https://www.getomnichat.com/embed/webchat.js"
      data-public-key="pk_wc_YOUR_KEY"
      data-mode="inline"
      data-target="#my-chat"
      async
    ></script>

    3) Panel size & visitor resize

    Set a default width/height in Connect → Web Chat → Branding, or pass attributes on the script tag. Visitors can drag the top corner to resize (bubble/popup modes) and use the fullscreen button in the chat header. Size is remembered in localStorage.

    <script
      src="https://www.getomnichat.com/embed/webchat.js"
      data-public-key="pk_wc_YOUR_KEY"
      data-width="520"
      data-height="640"
      async
    ></script>
    
    <script>
      window.OmniWebchat?.setSize(600, 700);
      window.OmniWebchat?.setFullscreen(true);
    </script>

    4) Logged-in visitor identity

    Pass your app's user id so the same person always maps to one thread. Use script attributes, URL query params on the chat page, or OmniWebchat.identify() after login.

    <script
      src="https://www.getomnichat.com/embed/webchat.js"
      data-public-key="pk_wc_YOUR_KEY"
      data-visitor-id="user_12345"
      data-email="alex@example.com"
      data-name="Alex"
      data-metadata='{"plan":"pro"}'
      data-skip-welcome="true"
      async
    ></script>
    
    window.OmniWebchat?.identify({
      visitorId: "user_12345",
      email: "alex@example.com",
      name: "Alex",
      metadata: { plan: "pro" },
      skipWelcome: true,
    });
    
    # Chat page URL:
    https://www.getomnichat.com/embed/webchat/pk_wc_YOUR_KEY?visitor_id=user_12345&email=alex@example.com&skip_welcome=1

    5) Custom chatbot (your UI)

  • Auth: Authorization: Bearer pk_wc_… or X-Api-Key
  • Send: POST https://www.getomnichat.com/api/v1/webchat/messages with visitor_id + body
  • Poll replies: GET …/messages?visitor_id=… — show direction: "outbound" (AI or human via sender_type: seller)
  • Poll includes session_status (ai_active, human_takeover, paused)
  • Upload images/files: POST …/webchat/upload then send with message_type + media_url
  • Use OmniChat Web Chat as the single source of truth for the customer thread. If your site has its own support table, either mirror OmniChat outbound messages into it or render from the Web Chat API directly.
  • Branding & widget features (emoji, uploads): GET …/config and Connect → Web Chat → Branding
  • Sessions resume automatically: the embed script stores a stable visitor id on your site (first-party localStorage). When the same browser returns, the full prior conversation loads — no new thread. For logged-in users, pass your own data-visitor-id / OmniWebchat.identify() so threads follow the account across devices.
  • Personalized data from your backend: configure once under AI → Custom Tools. Visitors can send name + email with messages so AI templates ({{customer_email}}, {{customer_id}}) match rows in your DB. Full flow: /docs#custom-tools
  • All Web Chat conversations appear in Inbox → Web Chat (AI + human replies in one thread)
  • Security: ship only the public key (pk_wc_…) to the browser. Keep any secret key or database credentials on your server only.
  • Instagram DMs

    Sign in with Meta Instagram Login (professional / business account). DMs land in Inbox → Instagram with AI autopilot, assignment, and presence.

    Path: /connect-instagram

    Facebook Messenger

    Sign in with Facebook and pick the Page you manage. Page DMs land in Inbox → Messenger with AI autopilot, assignment, and presence.

    Path: /connect-messenger

    Unified inbox

    One conversation list across connected channels. Filter by channel, search, open a thread, send text/media, use WhatsApp templates when the 24-hour window is closed, and see AI session state per chat.

    • Realtime updates (new messages, read state, AI handoff)
    • Presence so teammates know who is viewing a chat
    • Push notifications for new customer messages (web PWA + Android)
    • Deep links from notifications into the exact thread

    Assignment & team filters

    Assign conversations to teammates so everyone knows who owns a chat. From a thread header, open Assign / Transfer to assign, reassign, unassign, or take the chat yourself.

    • Mine — chats assigned to you
    • Unassigned — no owner yet
    • Needs you — AI escalated to a human (human_takeover session). Push notifications can deep-link with ?filter=needs_you

    Assignee badges appear on conversation rows and in the chat header. Owners configure who is routable under Team → inbox routing.

    Omni Bot (pinned inbox chat)

    Omni Bot is a pinned conversation at the top of Inbox for store operations — especially lead forms, branding, publish links, and analytics. See Omni Bot for prompts, the activity log, and verification.

    Path: /inbox

    AI autopilot

    Per-channel AI settings: brand voice, language rules, confidence threshold, auto-reply on/off, and escalation to a human. Gems (AI credits) are consumed on automated and assisted replies.

    • WhatsApp, Telegram, Web Chat, Instagram & Messenger all supported
    • Analytics under /ai/analytics — volume, handoffs, gem usage
    • Works with Away / Welcome automations (Away only when autopilot is off)
    • When confidence is low or the customer asks for a person, session status becomes human_takeover — use Inbox → Needs you filter

    Path: /ai

    Omni Bot

    Omni Bot is your in-app operations assistant — pinned at the top of Inbox. It uses the same Gemini stack as autopilot but runs tools against your store (forms, fields, publish status, share links, lead analytics). Each reply consumes AI gems.

    Where to open it

    • Web: Inbox → Omni Bot row (first in the list)
    • Android: Inbox → Omni Bot → full-screen panel with streaming activity

    What it can do (forms)

    • Create blank forms, AI-generate from a prompt, or import CSV headers
    • Add or edit fields safely with add_lead_form_fields — merges without wiping existing fields
    • Update logic, scoring, notifications, branding, and JSX layout when you ask for design changes
    • Publish (draft → live), share public link / embed / QR, list submissions & analytics

    Activity log & verification

    Streaming endpoint POST /api/ai/design-agent/stream shows real-time steps while Omni Bot works:

    • Thinking… → Loading form data… → Adding form fields… → Verified saved fields
    • Each step shows ✓ success or ✗ failure with a short summary
    • After the reply, a badge confirms actions completed, warns if no tools ran, or flags partial failures
    Never trust "Done" alone — always check the activity log. If zero tools ran, nothing was saved. Re-prompt: "Run add_lead_form_fields now for form X."

    Field changes vs design changes

    • Add/remove/edit fields → field tools only; layout and colors stay unchanged unless you ask
    • Colors / layout / hero → JSX + branding tools

    Example prompts

    Add these fields to "Get Your Custom Website Built for FREE":
    - Reference Website URL (optional)
    - Design File Upload
    - Design Link (Figma)
    - Additional Project Details (textarea)
    Require either design file OR design link. Do not change the form layout.
    
    List my forms, publish the website form as live, and give me the public link and embed code.

    Custom AI tools (shared)

    Connect your PostgreSQL database or HTTPS merchant API once under AI → Custom Tools. The same tools work on WhatsApp, Telegram, Web Chat, Instagram, and Messenger. Autopilot on/off stays per channel — tools are not duplicated per channel.

    HTTP — paste API URL

    Quick path: paste a full HTTPS URL. Templates are filled per conversation:

    GET https://api.yourshop.com/v1/customers/{{customer_id}}/orders?channel={{channel}}
    
    # Also available: {{customer_phone}} {{store_id}} {{customer_email}} {{customer_name}}
    # Web Chat: customer_id = visitor_id

    PostgreSQL — read-only user (recommended)

    OmniChat only runs SELECT queries, but create a dedicated read-only DB user so nothing can write. In the app, enter host / port / database / user / password (not a connection-string paste).

    A) All tables in public

    CREATE USER omnichat_ro WITH PASSWORD 'strong-password';
    GRANT CONNECT ON DATABASE your_database_name TO omnichat_ro;
    GRANT USAGE ON SCHEMA public TO omnichat_ro;
    GRANT SELECT ON ALL TABLES IN SCHEMA public TO omnichat_ro;
    ALTER DEFAULT PRIVILEGES IN SCHEMA public
      GRANT SELECT ON TABLES TO omnichat_ro;

    B) Only specific tables

    CREATE USER omnichat_ro WITH PASSWORD 'strong-password';
    GRANT CONNECT ON DATABASE your_database_name TO omnichat_ro;
    GRANT USAGE ON SCHEMA public TO omnichat_ro;
    GRANT SELECT ON TABLE public.orders, public.customers TO omnichat_ro;

    C) Only specific columns (via a view)

    CREATE OR REPLACE VIEW public.ai_customer_orders AS
    SELECT id, customer_phone, status, total_amount, created_at
    FROM public.orders;
    
    GRANT SELECT ON TABLE public.ai_customer_orders TO omnichat_ro;
    -- Do not grant SELECT on public.orders itself
    Do not connect as postgres / superuser / table owner. Use omnichat_ro (SELECT only) so data-loss risk stays essentially zero.

    How the AI knows which customer — and looks up your DB

    Yes. The visitor can send identity with the message (or your site can pass it). OmniChat stores it on the conversation and fills tool templates so Autopilot can query your database/API for that person.

    • Always: stable visitor_id (UUID in localStorage) → becomes {{customer_id}}
    • Optional: name + email on send → {{customer_name}} / {{customer_email}}
    • Your Custom Tool SQL/API should match on email, phone, or an id you map to visitor_id
    # Customer (or your website) sends identity with the message
    POST /api/v1/webchat/messages
    Authorization: Bearer pk_wc_...
    {
      "visitor_id": "550e8400-e29b-41d4-a716-446655440000",
      "body": "Where is my order?",
      "name": "Alex Khan",
      "email": "alex@example.com"
    }
    
    # AI Autopilot then can call your tool, e.g. Postgres:
    # SELECT * FROM orders WHERE customer_email = $1
    # with $1 = {{customer_email}}  (alex@example.com)
    
    # Or HTTP:
    # GET https://api.shop.com/orders?email={{customer_email}}&channel={{channel}}
    The customer does not connect to your Postgres directly. They only chat in Web Chat / WhatsApp. OmniChat’s AI uses your Custom Tools (read-only) behind the scenes.

    Do chats show in the web Inbox?

    Yes. Every Web Chat thread appears in the unified Inbox under the Web Chat channel (same place as WhatsApp / Telegram). Staff can read the full history, reply manually, or let Autopilot answer. Filter by channel or open All to see everything together.

    Setup checklist

    1. Create the read-only user (examples above) or prepare an HTTPS GET endpoint
    2. Open AI → Custom Tools: + Postgres or Paste API URL → Test → Save
    3. New tool (Visual / SQL / HTTP) → describe when AI should use it → Test → Enable
    4. Turn on Autopilot per channel you want (settings still separate)

    Also in the signed-in app: /developers → Custom AI data tools.

    WhatsApp templates

    Create and submit Meta message templates (marketing, utility, authentication). Browse Meta's library where available, preview on a phone mock, and send from Inbox when outside the customer care window.

    Paths: /templates, /templates/new

    Campaigns

    Broadcast WhatsApp template campaigns to audiences (lists, CSV, CRM segments). Track send status and respect marketing opt-in where required.

    Path: /campaigns

    Automations

    Preset flows you can enable without building a full workflow builder:

    • Greeting— once on the customer's first inbound message; up to 3 bubbles back-to-back (WhatsApp, Telegram, Web Chat, Instagram, Messenger)
    • Away— when that channel's AI Autopilot is off; once per chat until you reply manually (WhatsApp, Telegram, Web Chat, Instagram, Messenger)
    • Abandoned cart — recover carts via WhatsApp template (with shop integration)

    Path: /automations

    Lead forms & Form Builder

    Multi-step lead capture with a visual builder, public links, embed scripts, conditional logic, scoring, and a leads inbox. Create forms manually, from templates, via AI generate, CSV import, or ask Omni Bot.

    Paths: /forms, /leads, builder at /forms/{id}

    Permissions

    • forms_manage — create and edit forms
    • forms_read — view leads and submissions only

    Builder tabs

    • Design — field catalog, live canvas, branding (title, colors, logo, hero, background)
    • Logic — show / hide / require fields based on answers; tag or assign on submit
    • Integrations — email owner, customer autoresponder, push on new lead
    • Settings — honeypot, password gate, rate limit, availability window
    • Preview — full respondent view with Desktop / Tablet / Mobile frames (device toggle lives here, not on Design)
    • Publish — public link, embed script, QR code; set status to Live before sharing

    Field catalog

    Grouped types: Basic (text, email, phone, URL), Choice (dropdown, radio, checkbox), Files (respondent uploads), Rating, Advanced (signature, hidden), Content (heading, paragraph, divider, alert, image).

    File upload fields are for your customers to attach files when submitting — not for your logo. Upload your logo, hero, and in-form images via Branding or Content → Image with the Upload button or an HTTPS URL.

    Branding uploads

    1. Open Design → deselect any field so the right panel shows Branding
    2. Form logo, Hero image, or Background — paste URL or click Upload (JPEG, PNG, WebP)
    3. Click Save in the top bar; refresh Preview if needed

    Files store in your store media (R2) under assets and count toward storage quota on Billing.

    Require one of several fields

    In form settings you can require at least one field from a group — e.g. design file or Figma link:

    "require_one_of": [
      {
        "field_keys": ["design_file", "design_link"],
        "message": "Please upload a design file or share a design link."
      }
    ]

    Set via Settings JSON, Omni Bot, or API. Enforced on submit (file counts when uploaded).

    Public URLs & embed

    • Direct link: https://www.getomnichat.com/f/{public-key}
    • Embed: /embed/lead-form.js with data-public-key
    • Draft forms return 404 on public URLs — publish first
    <script
      src="https://www.getomnichat.com/embed/lead-form.js"
      data-public-key="lf_YOUR_PUBLIC_KEY"
      async
    ></script>

    Leads inbox

    Every submission lands in Leads. Score hot/warm/cold from form rules, add tags and notes, and get push or email alerts when Integrations are enabled.

    API (authenticated + public)

    # Store auth (session / API key)
    GET  https://www.getomnichat.com/api/forms
    GET  https://www.getomnichat.com/api/forms/{id}
    PATCH https://www.getomnichat.com/api/forms/{id}
    
    # Public (respondents)
    GET  https://www.getomnichat.com/api/v1/lead-forms/{publicKey}
    POST https://www.getomnichat.com/api/v1/lead-forms/{publicKey}/submit
    # multipart/form-data when file fields present
    
    # Media for logo / assets
    POST https://www.getomnichat.com/api/media/upload?kind=assets

    Email platform

    Transactional and marketing email on Amazon SES, from your own domain. One store can hold multiple domains (plan max_domains).

    Domains & DNS

    • Register domain → get DKIM CNAMEs + MAIL FROM MX/TXT
    • MX records show Priority 10 separately — set Priority = 10 in your DNS panel; copy name/value with Copy buttons
    • Optional branded reply inbox on reply.yourdomain.com (apex MX stays on your normal mailbox)

    Send API

    Authenticate with an Email API key:

    Authorization: Bearer omni_email_live_...
    # or
    X-Api-Key: omni_email_live_...
    curl -X POST https://www.getomnichat.com/api/v1/email/send \
      -H "Authorization: Bearer omni_email_live_..." \
      -H "Content-Type: application/json" \
      -d '{
        "from": "updates@yourdomain.com",
        "to": "customer@example.com",
        "subject": "Hello",
        "html": "<p>Hi from OmniChat</p>"
      }'

    SMTP relay

    Prefer SMTP? Point your app at OmniChat's relay (Railway-hosted). Auth with username omnichat and your Email API key as the password. Messages enqueue into the same SES pipeline — verified domains, quotas, and logs apply. This does not replace WhatsApp OTP or hosted-Supabase Auth email. Point Auth Send Email Hook at /api/v1/email/auth-hook/{id} — never at this SMTP host.

    Host: smtp.getomnichat.com
    Port: 51307
    Username: omnichat
    Password: omni_email_live_...
    // Nodemailer
    nodemailer.createTransport({
      host: "smtp.getomnichat.com",
      port: 51307,
      auth: { user: "omnichat", pass: "omni_email_live_..." },
    });
    # Python
    import smtplib
    s = smtplib.SMTP("smtp.getomnichat.com", 51307)
    s.starttls()
    s.login("omnichat", "omni_email_live_...")

    Inbox, templates & broadcast

    • Email inbox for replies to your branded receive domain
    • Reusable HTML templates + AI assist
    • Broadcast campaigns to CSV / lists / order audiences

    Limits

    Stores have daily and monthly send caps. Admins can override store limits and set per-domain daily/monthly caps when a store has many domains.

    In-app: /email, /email/inbox, /email/templates, /email/broadcast

    CRM & commerce helpers

    CRM

    Customer profiles with phone, tags, notes, order count, lifetime value, and marketing opt-in. Editable by roles with crm_edit.

    Leads (form submissions)

    Form submissions sync to the Leads inbox — separate from messaging Inbox but linked to the same store. Filter by form, score, tags, and export for follow-up. See Lead forms.

    Products

    Catalog for AI / shop context — sync or manage products used in conversations.

    Order verify

    Utility WhatsApp flow to confirm orders with customers via approved templates.

    OTP API

    Send and verify one-time passwords over WhatsApp Authentication templates. Configure length, expiry, template language, and API keys under OTP.

    Path: /otp

    Team & stores

    • Invite teammates with role-based permissions
    • Multi-store: operate several businesses from one login
    • Owner vs member views for billing and settings

    Inbox assignment & routing

    Owners and managers assign customer chats from Inbox. Each member can be marked routable for inbox assignment and given routing skills (tags used when logic rules auto-assign leads or chats).

    • Team page → per member: toggle routable, edit skills via PATCH /api/inbox/agents
    • Inbox filters: Mine, Unassigned, Needs you — see Unified inbox
    • Assign / Transfer sheet: assign, reassign, unassign, self-assign

    Form permissions

    Grant forms_manage to builders and forms_read to sales staff who only need the Leads inbox.

    Paths: /team, /team/invites

    Agency

    Agencies can manage client stores: invite a client, accept/decline, switch into client context, and revoke access. Statuses: pending, active, declined, revoked.

    Path: /agency

    Integrations & webhooks

    Shopify & WooCommerce

    Connect shop domain, sync products (or live API mode), and power abandoned-cart / catalog-aware flows.

    Path: /integrations

    Outbound webhooks

    Register HTTPS endpoints under Developers. Events are signed with a secret shown once at creation — verify signatures on your server.

    Notifications

    • In-app notification center
    • Web push (PWA) and Android FCM for inbox & email — owner plus teammates with matching access
    • Seller alerts for AI handoff and low AI gems
    • Inbox deep links: open exact conversation; ?filter=needs_you opens Needs you when AI escalated to a human
    • New lead push when form Integrations → push is enabled

    Billing & plans

    Subscription plans, AI gem packs, storage, WhatsApp message allowances, and Email API plans (daily + monthly send quota, domain slots, bonus gems/storage). Stripe checkout on web; Google Play billing on Android when SKUs are mapped.

    Path: /billing

    Email plan activation may require admin confirmation after payment, depending on how your account was provisioned.

    Developers

    Full interactive docs live inside the signed-in app at /developers. Highlights:

    Omni API keys

    Create scoped server keys on Developers → Omni API keys. Prefix omni_live_ — one credential with assignable access (email send, domains, OTP, order verify, forms read). Legacy per-service keys still work.

    Authorization: Bearer omni_live_...
    # or X-Api-Key: omni_live_...
    
    # Requires scope email:send
    POST https://www.getomnichat.com/api/v1/email/send
    • Web Chat: /api/v1/webchat/messages, /api/v1/webchat/config, /api/v1/webchat/upload (Bearer pk_wc_…)
    • Widget embed: bubble, popup, fullscreen, inline; custom size, visitor resize, identity passthrough, emoji & file uploads
    • Email domains & send: /api/v1/email/domains, /api/v1/email/send
    • OTP send/verify endpoints (WhatsApp Authentication templates)
    • Outbound webhook management & signing secrets
    • Custom AI tools (shared across channels): full setup + Postgres grant examples on /docs#custom-tools · configure in AI → Custom Tools
    • Lead forms: GET /api/v1/lead-forms/{publicKey}, POST …/submit (multipart for files); store CRUD at /api/forms
    • Omni Bot (in-app): POST /api/ai/design-agent/stream (SSE activity log)
    # Web Chat — send + poll (custom bot)
    POST https://www.getomnichat.com/api/v1/webchat/messages
    Authorization: Bearer pk_wc_...
    { "visitor_id": "uuid", "body": "Hello", "name": "Alex" }
    
    GET https://www.getomnichat.com/api/v1/webchat/messages?visitor_id=uuid
    Authorization: Bearer pk_wc_...
    
    # Floating widget + custom size
    <script
      src="https://www.getomnichat.com/embed/webchat.js"
      data-public-key="pk_wc_..."
      data-width="520"
      data-height="640"
      async
    ></script>
    
    # Fullscreen mode
    <script src="https://www.getomnichat.com/embed/webchat.js" data-public-key="pk_wc_..." data-mode="fullscreen" async></script>
    
    # Visitor identity
    <script
      src="https://www.getomnichat.com/embed/webchat.js"
      data-public-key="pk_wc_..."
      data-visitor-id="user_12345"
      data-email="alex@example.com"
      async
    ></script>
    
    # Register email domain
    POST https://www.getomnichat.com/api/v1/email/domains
    Authorization: Bearer omni_email_live_...
    { "domain": "example.com", "from_local_part": "hello" }
    
    # Send email
    POST https://www.getomnichat.com/api/v1/email/send
    { "from": "hello@example.com", "to": "a@b.com", "subject": "Hi", "html": "<p>…</p>" }

    Android app

    The OmniChat Android app mirrors core workflows: inbox (with Mine / Unassigned / Needs you filters, assign & transfer), connect channels, AI, email (compose, inbox, templates, broadcast), billing (including Play purchases), and notifications with deep links into chats and email threads.

    Forms & Omni Bot on mobile

    • Form Editor — same six tabs as web (Design through Publish)
    • Upload logo and branding assets from the mobile branding panel
    • Omni Bot in Inbox with streaming activity log and verification
    • Leads list and per-form analytics

    Support & security

    • Public support: /support — form + email
    • In-app live support chat for logged-in users (Account → Support)
    • Policies: Privacy, Terms
    • Keep API keys secret. Rotate compromised Email/OTP keys immediately from the app.
    • You must comply with Meta, Telegram, and email (CAN-SPAM / local) rules for the channels you use.

    Ready to build?

    Sign up free, connect WhatsApp or Telegram, and open the inbox in minutes.