Introduction to WhatsOmni

Complete Multi-Tenant B2B Omnichannel SaaS Platform

WhatsOmni is an enterprise-grade multi-tenant B2B conversational operating system that unifies 9 omnichannel messaging & social publishing channels, visual flow automation, 2 configurable AI operational models (BYOK and Master Fixed with Central Feature Routing), deal CRM pipelines, multi-host calendar booking, multi-currency billing with GeoIP detection, 5 global payment gateways, enterprise anti-ban broadcast campaigns, and automated e-commerce cart recovery into a single command center.

The Unified Operations Architecture

Modern businesses typically juggle 8–12 disconnected software subscriptions: a WhatsApp marketing tool, an Instagram DM manager, a LinkedIn & TikTok social scheduler, a Calendly appointment scheduler, a third-party AI chatbot builder, an e-commerce cart recovery plugin, fragmented regional payment processors, and a standalone CRM like HubSpot or Salesforce.

WhatsOmni unifies every layer of customer communication and automation into a single platform: every customer interaction across 9 channels, AI-generated response, appointment booking, social media post, deal stage transition, and cart recovery event connects seamlessly into one real-time contact timeline.

1. The 2 AI Operational Models

WhatsOmni provides an adaptable, multi-tier AI Operational Architecture that empowers Super Admins to control LLM credentialing, compute liability, and end-user model flexibility:

Mode 01
Bring Your Own Key (BYOK)
Zero Platform Compute Cost
Tenants securely configure their own encrypted API keys for supported providers (OpenAI, Claude, Gemini, Groq, DeepSeek, xAI, Mistral, or self-hosted Ollama). Credentials are stored encrypted per workspace.
  • Key Source: Supplied by tenant workspace
  • Token Billing: Paid direct to AI provider
  • Model Scope: All models on tenant's account
Mode 02
Master Key (Platform Fixed)
Frictionless Turnkey Onboarding
The Super Admin configures master API keys in the Central AI Vault and assigns fixed, optimized models per feature across a platform-wide Feature Routing Matrix. Tenants enjoy an instant, zero-setup AI experience.
  • Key Source: Central Superadmin Vault
  • Token Billing: Metered via subscription plans & credits
  • Model Scope: Feature-optimized matrix mapping

2. The 10 Native AI Automated Features

WhatsOmni includes a fine-grained AI Feature Routing Matrix that routes specific tasks to the most cost-effective and capable LLM model:

Prompt to Flow Generator
Translates natural language prompts into complete multi-node visual workflows with triggers, actions, and conditional branches.
Flow AI Condition Node
Evaluates customer intent, sentiment, or categorical input and branches visual workflow execution paths (yes/no/multi-choice).
Flow AI Prompt Generator
Generates contextual, dynamic conversational replies and data extractions on-the-fly during visual flow steps.
Flow RAG Query Node
Executes vector similarity search across ingested company documents to return grounded, hallucination-free answers within flow graphs.
Autonomous AI Agents
24/7 autonomous chatbot reasoning with dynamic tool-calling (calendar booking, deal stage movement, tag assignment, live agent escalation).
Inbox AI Copilot & Reply
Suggests high-accuracy reply drafts and tone adjustments (formal, friendly, concise, translate) for live agents in active chats.
Conversation Summarizer
Generates instant one-click executive summaries of lengthy multi-turn chat dialogues for quick agent handoffs.
Sentiment & Intent Analyzer
Scores contact mood, urgency level, and purchasing intent score from incoming messages to prioritize sales pipelines.
Vector Ingestion (RAG)
Extracts, chunks, embeds, and indexes PDFs, DOCX, TXT documents, URLs, and Google Sheets into vector similarity indexes.
Broadcast Copywriter
AI marketing assistant that generates engaging broadcast messages, promotional offers, and WhatsApp template variations.

3. Nine Omnichannel Messaging & Publishing Channels

Connect all customer communication and social publishing channels into one unified multi-tenant shared inbox with real-time WebSocket streaming:

WhatsApp Cloud API
WhatsApp Cloud API
Meta Graph API v21.0, Embedded Signup, approved templates, interactive buttons, list pickers, catalog messages, and read receipts.
WhatsApp Baileys
WhatsApp Baileys (QR)
Multi-device socket connection via real-time browser QR code scanning with automatic reconnect guards and multi-instance management.
Instagram Direct
Instagram Direct & Posts
Direct messaging, story mentions/replies, AI qualification, and social carousel/reel publishing via Meta Graph API.
Facebook Messenger
Facebook Messenger & Pages
Page inbox synchronization, rich generic templates, quick reply buttons, automated comment responses, and feed publishing.
TikTok
TikTok (DMs & Video Kit)
TikTok Login Kit for Web, direct messaging webhook receiver (`tt-security-token`), and Video Kit media post scheduling.
LinkedIn
LinkedIn (Content Publishing)
OAuth2 authentication (`w_member_social`, `w_organization_social`) for automated multi-image & video publishing to Personal Profiles and Company Pages.
Telegram Bot
Telegram Bot
BotFather token pairing, rich markdown formatting, inline keyboards, custom bot commands, and media handling via Telegram Bot API.
Twilio
Vonage
Plivo
MessageBird
SMS (6 Gateways)
Native integration with Twilio, Vonage (Nexmo), Plivo, MessageBird, Sinch, and Telnyx for global 2-way SMS delivery.
Two-Way Email Gateway
Inbound IMAP mailbox listener with HTML email parser and outbound SMTP/Resend mailer with full conversation threading.

4. Supported AI Providers & LLM Ecosystem

WhatsOmni integrates with 8 premier AI inference providers, allowing Super Admins and tenants to connect proprietary and open-weights LLMs seamlessly:

OpenAI
OpenAI
Industry standard models including gpt-4o, gpt-4o-mini, and o1-mini for dynamic tool calling and conversational intelligence.
Anthropic Claude
Anthropic Claude
Deep reasoning and complex instruction following with claude-3-5-sonnet and claude-3-5-haiku for high-precision workflows.
Google Gemini
Google Gemini
Massive context windows and rapid multimodal capabilities powered by gemini-1.5-pro and gemini-1.5-flash.
Groq LPU
Groq LPU™ Engine
Ultra-fast hardware inference (500+ tokens/sec) running open models like Llama 3.3 70B, Qwen 2.5, and Compound models.
DeepSeek
DeepSeek
High-efficiency open architecture models including deepseek-chat (V3) and deepseek-reasoner (R1) at unmatched cost efficiency.
xAI Grok
xAI (Grok)
Real-time contextual intelligence and multimodal reasoning powered by grok-2-1212 and grok-2-vision.
Mistral AI
Mistral AI
European open-weights models optimized for low latency and data privacy, including mistral-large-latest and codestral-latest.
OpenRouter
OpenRouter Gateway
Unified aggregator routing to 200+ proprietary and open LLMs with automatic fallbacks and unified usage tracking.

5. E-Commerce & Abandoned Cart Recovery Engine

Recover lost sales automatically across WhatsApp and SMS with deep store integrations and delayed background queue workers:

Shopify
WooCommerce
Shopify & WooCommerce
Instant 2-way store connection via Shopify OAuth/Custom App and WooCommerce REST API listening to checkout/order webhooks.
30-Min Delayed Recovery
Asynchronous ProcessAbandonedCartJob queued with 30-min delay on Redis, cancelling automatically if customer pays early.
Automated Dynamic Coupons
Generates single-use dynamic coupon codes with customizable percentage or fixed discounts injected into WhatsApp templates.
Live E-Commerce Drawer
Chat panel displays live abandoned cart items, product thumbnails, subtotal, and direct checkout recovery URLs to agents.

6. CRM, External Sync & Pipelines

Manage leads, deals, and sync contact records bi-directionally with global enterprise CRMs:

Visual Kanban Pipelines
Custom deal stages, drag-and-drop cards, deal valuation, stage win probabilities, and deal activity logs.
Custom Fields & Tags
Dynamic JSON contact fields (text, number, date, dropdown), unlimited tags, and multi-filter segment builders.
HubSpot CRM
HubSpot CRM 2-Way Sync
Bi-directional sync of contacts, lead properties, deal creation, and conversation logs via HubSpot API v3.
Salesforce CRM
Salesforce CRM Sync
Real-time lead creation, contact updates, and activity record synchronization with Salesforce REST API.
Zoho CRM
Zoho CRM Sync
Lead ingestion, module record updates, and custom field mapping via Zoho API v2.
Google Sheets Sync
Google Sheets Real-Time
Appends new row data instantly for leads, booking inquiries, flow survey answers, and e-commerce orders.

7. Staff Directory & Multi-Host Calendar Booking

Replace external scheduling tools with built-in multi-host appointment scheduling:

Public Booking Portals
Branded client portals with service selection, duration options, and live slot booking.
Multi-Host Round-Robin
Distribute meetings across team members by availability, working hours, and timezones.
Google Calendar Sync
Google Calendar 2-Way
Real-time sync to prevent double bookings and dispatch calendar invites automatically.
Zoom
Teams
Video Meeting Links
Auto-generates Google Meet, Zoom, and Microsoft Teams links sent in confirmation messages.

8. Visual Flow Builder & Integration Nodes

Build automated conversation trees visually with React Flow, supporting advanced webhook triggers, external HTTP calls, and workflow node integrations:

Trigger Nodes
Keyword Match, Intent Trigger, Inbound Message, Webhook Event, Abandoned Cart listener.
Messaging Action Nodes
Send Message, Media Attachments, Interactive Buttons, List Pickers, Email, and SMS alerts.
AI & RAG Query Nodes
AI Condition branching, AI Text Generator, Vector Knowledge Base Query, and AI Agent Transfer.
n8n
Zapier
n8n, Zapier & HTTP Nodes
Condition Branch (IF/ELSE), Delay/Wait timers, Custom HTTP Webhooks, n8n Webhook, Zapier Node, and Google Sheets Append.
CRM & Deal Action Nodes
Assign Staff, Set Contact Tag, Update Custom Field, Create/Move Deal stage, and Close Conversation.

9. Enterprise Subsystems & Super Admin Control Plane

Complete operational control for platform operators managing multi-tenant subscriptions, global payments, multi-workspace isolation, and broadcast protection:

Stripe
PayPal
Razorpay
Paystack
Flutterwave
5 Global Payment Gateways
Stripe Billing, PayPal Subscriptions, Razorpay (INR), Paystack (Africa), and Flutterwave (Cards & Mobile Money).
Multi-Currency & GeoIP Engine
Dynamic exchange rate synchronization, base currency controls, and Cloudflare GeoIP automatic country-to-currency detection on landing & checkout pages.
Anti-Ban Campaign Engine
Dual-engine pacing jitter (4s–8s random delay, 45s safety cooldown block every 50 msgs), 2-tier non-blocking Redis queues, in-flight pause/resume/cancel, and zero-duplicate crash resumption.
Multi-Workspace Isolation
Single-login multi-brand switching with complete database scoping for contacts, channels, flows, campaigns, staff calendars, and plan quotas.
19-Module Granular RBAC
Custom Role Builder granting fine-grained View, Create, Edit, and Delete access across 19 individual system modules with runtime policy enforcement.
Social Posts & Calendar Studio
Multi-channel composer for Facebook, Instagram, LinkedIn, and TikTok supporting images, carousels, videos, reels, AI captions, and interactive monthly visual calendar scheduling.
10 Languages & Native RTL
100% dictionary parity across English, Hindi, Spanish, Arabic (native RTL), French, Hebrew (native RTL), Indonesian, Italian, Portuguese, and Vietnamese.
Tenant Support Ticket Desk
Integrated customer support portal allowing workspace owners to open prioritized tickets with staff assignment and resolution logs.

10. Platform Technology Stack

Next.js 15
Next.js 15 App Router
TypeScript, React 19, React Flow, next-intl (10 languages with native RTL), clean white design system.
Laravel 11.x REST API
Sanctum token & session auth, multi-tenant Eloquent models, and 44 database migrations.
MySQL 8.0 & Redis
Single shared database with strict tenant_id scoping, 2-tier async campaign queues, and delayed recovery workers.
Laravel Reverb WebSockets
High-performance self-hosted WebSockets for sub-millisecond instant message streaming and live presence.
Baileys Socket
Node.js Baileys Socket
Multi-device unofficial WhatsApp socket engine with real-time QR streaming and disconnect recovery.
Stripe Subscriptions
Multi-currency subscription matrices (USD, EUR, GBP, INR, BRL), usage quotas, and customer billing portal.

Platform Requirements

System dependencies, host hardware resources, network ports configuration, database structures, and third-party API credentials needed to deploy WhatsOmni.

WhatsOmni runs on a high-concurrency multi-tier architecture, utilizing Laravel 11 (PHP 8.2+), Next.js 15 (App Router), Laravel Reverb WebSockets, Redis queues, and Node.js Baileys microservices to coordinate omnichannel messaging gateways, AI agents, visual flow automation, and multi-tenant CRM operations. Ensure your deployment host meets the resource limits and connectivity conditions listed below.

System & Service Specifications

The following table lists the physical resources, database software configurations, and runtime dependencies required to launch the WhatsOmni application stack:

Component Description Minimum Specification Recommended Specification
PHP Runtime
Backend engine for Laravel 11 REST API, Eloquent ORM, multi-tenant isolation, and queue workers. PHP 8.2 PHP 8.2 / 8.3 (CLI & FPM)
Node.js Runtime
JavaScript runtime required to execute Next.js 15 frontend and the Baileys WhatsApp QR WebSocket service. Node.js 18.x Node.js 20.x (LTS)
Server CPU
Processor capacity required to run REST API nodes, AI agent flows, and Reverb WebSocket stream routing. 2 vCPUs 4 vCPUs (or higher)
System RAM
Memory capacity required to handle concurrency queue workers, Redis caching, and active socket sessions. 4GB RAM 8GB RAM
Disk Storage
Host storage space for application code, log indices, export files, local temporary uploads, and MySQL data. 20GB SSD 50GB+ NVMe SSD
Relational Database
Relational database schemas with InnoDB engine and utf8mb4_unicode_ci for multi-tenant data storage. MySQL 8.0 / MariaDB 10.11 MySQL 8.0.36+ (or RDS)
Redis Cache & Queue
In-memory data store for asynchronous Redis queues, Reverb WebSockets pub/sub, and rate limiting. Redis 6.2 Redis 7.x (or Managed Redis)
Web Server & Proxy
HTTP/2 reverse proxy handling SSL termination and WebSocket upgrade headers for Reverb (port 8080). Nginx 1.20+ / Apache 2.4 Nginx 1.24+ with TLS 1.3
Stripe Billing
Commercial subscription gateway configuration required to synchronize tenant pricing plans and portal. Stripe Test Mode API Keys Stripe Live Keys & Webhook
Mail Delivery
Transactional outbound dispatch for tenant verification, password resets, and 2-step OTP codes. SMTP Server Credentials Resend API or SMTP (TLS)

Branding & White-Labeling

Complete White-Labeling & Visual Identity Control

Learn how to fully white-label WhatsOmni, update platform brand names, upload custom logos and favicons, configure color design tokens, and customize transactional email templates.

Super Admin Platform Customization

WhatsOmni provides an intuitive, real-time GUI for platform Super Admins under Super Admin Panel → Settings → Customization (/superadmin/settings/customization). Changes made here instantly synchronize across the entire application stack:

Customization Asset Description & Behavior Admin GUI Route Propagation Target
Brand Name
Sets the official platform name. Replaces all default "WhatsOmni" text across the landing page, navbar, auth pages, copyright notice, and transactional emails. /settings/customization Global (All Pages)
Platform Logo
Upload PNG, JPEG, WEBP, or SVG logo (up to 2MB). Automatically stored in /storage/branding/ and displayed on all headers, sidebars, and splash screens. Upload Logo Button Header & Sidebars
Primary & Accent Colors
Configure the primary action color (default: #4AE54A) and dark foreground token (default: #0A0A0A). Pre-built presets include Neon Green, Royal Blue, Violet Glow, and Sunset Rose. Color Palette Presets UI Buttons & Badges
Email Template Designer
Drag-and-drop visual mail designer to customize transactional email headers, logo embedding, button CTA colors, and footer disclaimers. /superadmin/mail-designer Outbound Emails
Legal & CMS Pages
Publish custom branded Terms of Service, Privacy Policy, Cookie Policy, and Refund Policy pages accessible via public routes (/[slug]). /superadmin/cms-pages Public Legal URLs

Code-Level Configuration & Fallback Tokens

To hardcode default brand settings, fallback logos, and style tokens directly in the codebase before deploying, update the configuration file located at frontend/src/config/branding.ts:

frontend/src/config/branding.ts
export const BRANDING_CONFIG = {
  // Core branding configurations
  defaultName: 'WhatsOmni',
  defaultLogo: '/logo.svg',
  defaultPrimaryColor: '#4AE54A',
  defaultAccentColor: '#0A0A0A',
  defaultDomain: 'whatsomni.com',
  defaultSupportEmail: 'support@whatsomni.com',

  // UI styling tokens (dynamic runtime injects)
  styleTokens: {
    accentGreen: '#4AE54A',
    accentGreenHover: '#3DD43D',
    borderFocus: '#0A0A0A',
    fgPrimary: '#0A0A0A',
  },

  // Copywriting details
  landing: {
    description: 'Bring every conversation into one place. Unified inbox, visual automations, AI agents, and CRM sync.',
    trademarkSymbol: '™',
    copyrightSuffix: 'All rights reserved.',
    sslTag: 'Secure SSL Encrypted',
  }
};

Dynamic Runtime Theme Engine

WhatsOmni uses a centralized React Context Provider (BrandingThemeProvider.tsx) that wraps the entire application. On initial load, it fetches public branding settings from GET /platform/settings and injects the following CSS custom properties onto the :root element:

CSS Custom Property Default Value Target Scope & Elements Styled
--accent-green #4AE54A Active sidebar indicators, highlight SVG underlines, badges, toggles, and live presence pulse dots.
--accent-green-2 #3DD43D Hover states for primary buttons, interactive cards, and active links.
--fg-primary #0A0A0A Main headings, high-contrast title typography, executive buttons, and icon strokes.
--border-focus #0A0A0A Active focus borders for inputs, search modals, dropdown menus, and form controls.

Tenant Workspace & Client Channel Customization

In addition to platform-level white-labeling, individual B2B tenants can personalize their workspace and client-facing communication channels:

Tenant Channel / Area Customizable Attributes Tenant Route Client Viewport
Calendar Booking Portal
Host profile avatar, workspace company logo, custom booking slug (/book/[slug]), meeting duration options, and appointment confirmation screens. /appointments/settings Public Booking URL
Workspace Profile
Tenant business name, company avatar/logo, default currency, time zone, and localized date/time formatting. /settings Tenant Dashboard Shell

Download & Unzip the Package

Extract the WhatsOmni platform release archive and inspect the repository architecture.

The WhatsOmni software distribution package contains the complete multi-tenant platform, including the Laravel 11 backend REST API, Next.js 15 frontend web application, Baileys WhatsApp microservice, Docker container configurations, and database migration schemas. Extract the archive onto your local workstation or server host to get started.

Package Contents & Repository Layout

Once extracted, your root project directory will contain the following primary folders and configuration manifests:

Directory / File Scope & Technological Role Runtime Engine
backend/
Laravel 11.x REST API, Eloquent ORM, Reverb WebSockets daemon, Redis queues, and multi-tenant schema isolation. PHP 8.2 / 8.3 (FPM)
frontend/
Next.js 15 App Router, React 19, Tailwind CSS v4, Lucide icons, React Flow visual builder, and 10-language localized UI. Node.js 20.x (LTS)
baileys-worker/
Node.js Express microservice managing unofficial WhatsApp Multi-Device sockets and QR session handshakes. Node.js 20.x (Port 5001)
docker/
Production Dockerfiles, Nginx reverse proxy templates, PHP-FPM alpine build configurations, and entrypoint scripts. Docker Compose
database/
Database schema archives, factory fixtures, seeders, and multi-tenant migration history files. MySQL 8.0
Makefile
Pre-configured CLI shortcuts for single-command container orchestration, migrations, seeding, and log inspection. GNU Make / Bash

Extracting the Package via Terminal

Execute the following terminal commands to extract the release archive and switch into the project root directory:

Terminal
unzip whatsomni.zip -d whatsomni-saas
cd whatsomni-saas

Setup MySQL Database & Redis

Create the MySQL 8.0 relational database schema and verify the in-memory Redis message broker connection.

WhatsOmni relies on MySQL 8.0 (or MariaDB 10.11+) with full utf8mb4 multibyte character support to store multi-tenant records, visual flow graphs, and message transcripts. In-memory Redis is used as the asynchronous queue broker and WebSockets cache store.

Create MySQL Database

Log in to your MySQL terminal client or server CLI and create the dedicated database instance with strict UTF-8 collation:

Terminal
mysql -u root -p -e "CREATE DATABASE whatsomni_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
Automatic Database Creation in Laravel 11
You can skip manual database creation entirely. When you run php artisan migrate during configuration, Laravel 11 automatically detects if the database does not exist on your MySQL server and prompts: "The database whatsomni_db does not exist on the mysql connection. Would you like to create it? (yes/no)". Simply press Enter (yes) and Laravel will automatically create the database with full utf8mb4_unicode_ci support and execute all migrations for you.

Verify Redis Service Connection

Ensure that the Redis server daemon is running and listening on default port 6379:

Terminal
redis-cli ping
# Expected response: PONG

Using Graphical Database Clients

If you prefer a visual database manager to inspect tables or manage database instances, use any of the following tools:

Database Client Configuration Steps Recommended Driver
TablePlus Create a new MySQL connection with Host: 127.0.0.1, Port: 3306, User: root, and Database: whatsomni_db. MySQL 8.0 Driver
phpMyAdmin Access your phpMyAdmin web dashboard, navigate to Databases, enter whatsomni_db with collation utf8mb4_unicode_ci, and click Create. Web UI
DBeaver Click New Database Connection ➔ MySQL, input credentials, test the connection, and apply. JDBC Connector

Install Required Dependencies

Download and install PHP Composer packages for Laravel 11 and NPM dependencies for Next.js 15 and Baileys worker.

WhatsOmni is architected with modern modular services. Follow the steps below to verify your local CLI runtimes and install required third-party packages for all three layers.

Verify CLI Runtimes

Verify that your system meets the minimum runtime version constraints before proceeding with package installation:

Terminal
php -v        # Must be PHP 8.2 or 8.3
composer -v   # PHP Dependency Manager
node -v       # Must be Node.js 18.18+ or 20.x LTS
npm -v        # Node Package Manager

Install Backend PHP Dependencies

Navigate to the backend/ directory and install Composer dependencies with optimized class mapping:

Terminal
cd backend
composer install --optimize-autoloader

Install Frontend Next.js Dependencies

Switch to the frontend/ directory and install Node.js modules for the React 19 client and UI components:

Terminal
cd ../frontend
npm install

Install WhatsApp Baileys Worker Dependencies

Switch to the baileys-worker/ microservice directory and install its required WebSocket and cryptography packages:

Terminal
cd ../baileys-worker
npm install

Core Package Breakdown

Framework / Layer Primary Libraries & Packages Purpose
Laravel Backend laravel/framework (11.x), laravel/sanctum, laravel/reverb, predis/predis, stripe/stripe-php, resend/resend-php REST API, token authentication, live WebSocket streams, and Stripe billing.
Next.js Frontend next (15.x), react (19.x), @xyflow/react (React Flow), lucide-react, tailwindcss (v4), next-intl, sonner Interactive SSR/ISR dashboard, flow canvas, 10-language translations, and dark mode.
Baileys Worker @whiskeysockets/baileys, express, ws, pino, qrcode-terminal Unofficial WhatsApp Multi-Device session manager and QR stream pairing.

Set Up Configuration Files (.env)

Create your environment settings files to connect database tables, Redis queues, Reverb WebSockets, and external APIs.

Both frontend and backend services utilize standardized .env files to manage runtime environment variables, database credentials, WebSocket broadcast ports, and security encryption keys.

Copy Environment Templates

Run the following commands from the root directory to generate active settings files from templates:

Terminal
# 1. Copy backend environment configuration
cp backend/.env.example backend/.env

# 2. Copy frontend Next.js environment configuration (.env.local or .env)
cp frontend/.env.example frontend/.env.local

# 3. Copy WhatsApp Baileys microservice environment configuration
cp baileys-worker/.env.example baileys-worker/.env

Generate Application Key & Run Migrations

Generate the Laravel 32-byte AES encryption key, create the public storage symbolic link, and execute the database migration and seeder suite:

Terminal
cd backend
php artisan key:generate
php artisan storage:link
php artisan migrate --seed
Automatic Database Creation Prompt
If you have not yet created the database manually, running php artisan migrate --seed will prompt: "The database whatsomni does not exist on the mysql connection. Would you like to create it? (yes/no)". Type yes (or press Enter) and Laravel 11 will automatically create the database and seed the default records.
Dynamic UI vs Static .env Configuration
In WhatsOmni, static .env files are strictly reserved for core infrastructure (Database, Redis, WebSockets, Search Engine, OAuth bridges, and Mail relays). Dynamic integrations—such as Meta (Facebook, Instagram & WhatsApp Embedded), TikTok, LinkedIn, Payment Gateways (Stripe, PayPal, Razorpay, Paystack, Flutterwave), and AI Providers—are managed directly inside the Super Admin Control Panel (stored securely in the database). You do not need to configure them in .env files or restart services when updating them!

Backend Configuration Parameters (backend/.env)

Variable Name Example / Default Value Description & System Role
APP_NAME WhatsOmni Platform name used in email templates and system notifications.
APP_ENV local Application runtime environment mode (local or production).
APP_KEY base64:... 32-byte AES encryption key generated via php artisan key:generate.
APP_DEBUG true Detailed error stack traces (must be false in production).
APP_TIMEZONE UTC Default application server time zone.
APP_URL http://localhost:8000 Full backend REST API origin URL.
FRONTEND_URL http://localhost:3000,http://localhost:3001,http://127.0.0.1:3000,http://127.0.0.1:3001 Comma-separated frontend SPA client origins for CORS policy.
SANCTUM_STATEFUL_DOMAINS localhost:3000,localhost:3001,127.0.0.1:3000,127.0.0.1:3001 Hostnames allowed for stateful Sanctum session cookies.
DB_CONNECTION mysql Database driver engine (mysql, pgsql, or sqlite).
DB_HOST 127.0.0.1 MySQL database server host IP or domain.
DB_PORT 3306 MySQL database listening port.
DB_DATABASE whatsomni Name of your MySQL database schema.
DB_USERNAME root Database user authentication username.
DB_PASSWORD (your_password) Database user authentication password.
SESSION_DRIVER file Session storage driver (file, redis, or database).
BROADCAST_CONNECTION reverb Real-time message broadcasting driver via Laravel Reverb.
QUEUE_CONNECTION sync (or redis) Asynchronous job queue broker (redis recommended for production).
CACHE_STORE database (or redis) Cache repository driver.
REDIS_HOST 127.0.0.1 Redis server hostname or IP address.
REDIS_PORT 6379 Redis server default listening port.
REVERB_APP_ID your_reverb_app_id Reverb WebSocket server application ID.
REVERB_APP_KEY your_reverb_app_key Reverb public application key (must match frontend).
REVERB_APP_SECRET your_reverb_app_secret Reverb backend signing secret.
REVERB_HOST localhost Reverb WebSocket server host binding.
REVERB_PORT 8080 Reverb WebSocket server listening port.
REVERB_SCHEME http Reverb protocol scheme (http or https).
SCOUT_DRIVER meilisearch Laravel Scout search indexing driver.
MEILISEARCH_HOST http://127.0.0.1:7700 Meilisearch vector & full-text search host URL.
MEILISEARCH_KEY masterKey123 Meilisearch master API key.
BAILEYS_WORKER_URL http://localhost:5001 Bridge endpoint to the WhatsApp Baileys microservice.
BAILEYS_SECRET_TOKEN whatsomni_baileys_secret_key Shared HMAC secret token securing microservice communication.
GOOGLE_CLIENT_ID your_google_client_id.apps.googleusercontent.com Google OAuth client ID for Sheets & Calendar integrations.
GOOGLE_CLIENT_SECRET your_google_client_secret Google OAuth client secret key.
GOOGLE_REDIRECT_URI http://localhost:8000/api/integrations/google/callback Authorized redirect callback URI registered in Google Console.
HUBSPOT_CLIENT_ID your_hubspot_client_id HubSpot developer app client identifier.
HUBSPOT_CLIENT_SECRET your_hubspot_client_secret HubSpot developer app client secret.
SALESFORCE_CLIENT_ID your_salesforce_client_id Salesforce Connected App Consumer Key.
SALESFORCE_CLIENT_SECRET your_salesforce_client_secret Salesforce Connected App Consumer Secret.
ZOHO_CLIENT_ID your_zoho_client_id Zoho API Console client ID.
ZOHO_CLIENT_SECRET your_zoho_client_secret Zoho API Console client secret.
ZOOM_CLIENT_ID your_zoom_client_id Zoom Marketplace OAuth Client ID.
ZOOM_CLIENT_SECRET your_zoom_client_secret Zoom Marketplace OAuth Client Secret.
ZOOM_REDIRECT_URI http://localhost:8000/api/integrations/zoom/callback Authorized redirect callback URI registered in Zoom Marketplace.
TEAMS_CLIENT_ID your_teams_client_id Microsoft Entra Application (Client) ID for Teams meetings.
TEAMS_CLIENT_SECRET your_teams_client_secret Microsoft Entra Client Secret Value.
TEAMS_REDIRECT_URI http://localhost:8000/api/integrations/teams/callback OAuth callback endpoint for Microsoft token authorization.
MAIL_MAILER smtp Default mailer driver (smtp, log, or resend).
MAIL_HOST / MAIL_PORT 127.0.0.1 / 2525 SMTP mail server host domain and port.
MAIL_USERNAME / MAIL_PASSWORD null / null SMTP authentication credentials.
MAIL_FROM_ADDRESS / NAME hello@whatsomni.com / WhatsOmni Default sender email address and display name.
AWS_ACCESS_KEY_ID / SECRET (optional) AWS S3 credentials for cloud asset and media file uploads.
AWS_BUCKET / AWS_DEFAULT_REGION (optional) / us-east-1 AWS S3 bucket name and AWS region identifier.
OPENAI_API_KEY / GROQ_API_KEY (optional defaults) Optional default fallback API keys (Primary management in Super Admin UI).

Backend Template File (backend/.env.example)

The complete template manifest provided in the backend/ directory:

backend/.env.example
APP_NAME=WhatsOmni
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_TIMEZONE=UTC
APP_URL=http://localhost:8000
FRONTEND_URL=http://localhost:3000,http://localhost:3001,http://127.0.0.1:3000,http://127.0.0.1:3001
SANCTUM_STATEFUL_DOMAINS=localhost:3000,localhost:3001,127.0.0.1:3000,127.0.0.1:3001

APP_LOCALE=en
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=en_US

APP_MAINTENANCE_DRIVER=file
# APP_MAINTENANCE_STORE=database

PHP_CLI_SERVER_WORKERS=4

BCRYPT_ROUNDS=12

LOG_CHANNEL=stack
LOG_STACK=single
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

# Database Configuration (MySQL / PostgreSQL / SQLite)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=whatsomni
DB_USERNAME=root
DB_PASSWORD=

# Session Configuration
SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null

# Broadcasting, Filesystem & Queues
BROADCAST_CONNECTION=reverb
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync

# Cache Configuration
CACHE_STORE=database
CACHE_PREFIX=

MEMCACHED_HOST=127.0.0.1

# Redis Configuration
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

VITE_APP_NAME="${APP_NAME}"

# Laravel Reverb (Realtime WebSocket Server)
REVERB_APP_ID=your_reverb_app_id
REVERB_APP_KEY=your_reverb_app_key
REVERB_APP_SECRET=your_reverb_app_secret
REVERB_HOST="localhost"
REVERB_PORT=8080
REVERB_SCHEME=http

VITE_REVERB_APP_KEY="${REVERB_APP_KEY}"
VITE_REVERB_HOST="${REVERB_HOST}"
VITE_REVERB_PORT="${REVERB_PORT}"
VITE_REVERB_SCHEME="${REVERB_SCHEME}"

# Meilisearch Scout Vector & Full-Text Search (Knowledge Base)
SCOUT_DRIVER=meilisearch
MEILISEARCH_HOST=http://127.0.0.1:7700
MEILISEARCH_KEY=masterKey123

# Google Sheets & Google OAuth Integration
GOOGLE_CLIENT_ID=your_google_client_id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_REDIRECT_URI=http://localhost:8000/api/integrations/google/callback

# HubSpot CRM Integration
HUBSPOT_CLIENT_ID=your_hubspot_client_id
HUBSPOT_CLIENT_SECRET=your_hubspot_client_secret

# Salesforce CRM Integration
SALESFORCE_CLIENT_ID=dummy-client-id-for-salesforce-crm
SALESFORCE_CLIENT_SECRET=dummy-client-secret-for-salesforce-crm

# Zoho CRM Integration
ZOHO_CLIENT_ID=dummy-client-id-for-zoho-crm
ZOHO_CLIENT_SECRET=dummy-client-secret-for-zoho-crm

# Zoom Integration
ZOOM_CLIENT_ID=your_zoom_client_id
ZOOM_CLIENT_SECRET=your_zoom_client_secret
ZOOM_REDIRECT_URI=http://localhost:8000/api/integrations/zoom/callback

# Microsoft Teams Integration
TEAMS_CLIENT_ID=your_teams_client_id
TEAMS_CLIENT_SECRET=your_teams_client_secret
TEAMS_REDIRECT_URI=http://localhost:8000/api/integrations/teams/callback

# Mail & Resend Configuration
MAIL_MAILER=smtp
MAIL_HOST=127.0.0.1
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@whatsomni.com"
MAIL_FROM_NAME="${APP_NAME}"
RESEND_KEY=
RESEND_API_KEY=

# AI Provider API Keys (Optional defaults / managed via SuperAdmin DB)
OPENAI_API_KEY=
GROQ_API_KEY=
ANTHROPIC_API_KEY=
GEMINI_API_KEY=

# AWS S3 Cloud Storage
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false

# Baileys WhatsApp Microservice Worker
BAILEYS_WORKER_URL=http://localhost:5001
BAILEYS_SECRET_TOKEN=whatsomni_baileys_secret_key

Frontend Configuration Parameters (frontend/.env.local)

The Next.js 15 frontend loads variables from frontend/.env.local (or frontend/.env):

Variable Name Example / Default Value Description & Purpose
NEXT_PUBLIC_BACKEND_URL http://localhost:8000 Base URL pointing to the Laravel backend REST API.
NEXT_PUBLIC_REVERB_APP_KEY whatsomni_reverb_key Public key matching REVERB_APP_KEY in backend .env.
NEXT_PUBLIC_REVERB_HOST localhost WebSocket connection host domain.
NEXT_PUBLIC_REVERB_PORT 8080 WebSocket port (use 443 in live production with SSL).
NEXT_PUBLIC_REVERB_SCHEME http WebSocket transport protocol (http or https in production).

Frontend Template File (frontend/.env.example)

The complete template manifest provided in the frontend/ directory:

frontend/.env.example
# WhatsOmni Frontend Environment Configuration

# Backend API Base URL
NEXT_PUBLIC_BACKEND_URL=http://localhost:8000

# Realtime WebSocket Broadcasting (Laravel Reverb)
NEXT_PUBLIC_REVERB_APP_KEY=whatsomni_reverb_key
NEXT_PUBLIC_REVERB_HOST=localhost
NEXT_PUBLIC_REVERB_PORT=8080
NEXT_PUBLIC_REVERB_SCHEME=http

Baileys Microservice Configuration (baileys-worker/.env)

Variable Name Default Value Description & Purpose
PORT 5001 Internal Express microservice port.
LARAVEL_API_URL http://localhost:8000 Webhook URL for posting incoming WhatsApp events to Laravel.
BAILEYS_SECRET_TOKEN whatsomni_baileys_secret_key Shared HMAC security token matching BAILEYS_SECRET_TOKEN in backend .env.

Baileys Worker Template File (baileys-worker/.env.example)

The complete template manifest provided in the baileys-worker/ directory:

baileys-worker/.env.example
PORT=5001
LARAVEL_API_URL=http://localhost:8000
BAILEYS_SECRET_TOKEN=whatsomni_baileys_secret_key

Start Local Application

Launch the development server stack natively across terminal tabs or using Docker Compose.

WhatsOmni can be started either natively by running development processes across separate terminal tabs or automatically with a single command via Docker Compose.

Option A: Native Multi-Terminal Startup (Manual Mode)

Open 4 separate terminal windows or tabs to run the services concurrently:

Terminal 1: Laravel Backend REST API
cd backend
php artisan serve --port=8000
Terminal 2: Laravel Queue Worker & Reverb WebSockets
cd backend
# Process background jobs, campaigns & AI agent tasks
php artisan queue:listen --tries=1

# In another terminal tab: Start Reverb WebSocket server
php artisan reverb:start --port=8080
Terminal 3: Next.js Frontend Client
cd frontend
npm run dev
Terminal 4: WhatsApp Baileys Microservice
cd baileys-worker
node server.js

Option B: Docker Compose Startup (1-Command)

If you have Docker Desktop or Colima installed, launch the entire containerized ecosystem using the Makefile:

Terminal
# Start all containers in development mode
make dev-up

# Run migrations and initial seeders inside the container
make migrate
make seed

# Stream live container logs
make logs

Local Access Endpoints & Default Credentials

Service / Panel Access URL Role & Notes
Frontend Web Application http://localhost:3000 User signup, workspace onboarding, shared inbox, and visual flow canvas.
SaaS Super Admin Console http://localhost:3000/superadmin/login Platform configuration, multi-currency Stripe plans, and tenant control plane.
Default Login: admin@whatsomni.com / Password123!
Backend REST API http://127.0.0.1:8000/api/health REST API health probe (returns {"status":"healthy"}).
Reverb WebSockets Daemon ws://127.0.0.1:8080 Real-time message streaming server for omnichannel inbox updates.
Baileys WhatsApp Microservice http://127.0.0.1:5001 Internal socket service for WhatsApp QR code pairing.

Production Live Deployment

Deploy WhatsOmni on Ubuntu 22.04 / 24.04 LTS servers with Nginx, PHP 8.3-FPM, Supervisor, PM2, and SSL encryption.

For high-availability production environments on cloud providers like DigitalOcean, AWS EC2, Hetzner, or Linode, follow this hardened production guide.

Server Provisioning & Dependencies

Connect to your clean Ubuntu 22.04 or 24.04 server via SSH and install the system packages:

Server Terminal
# 1. Update system packages
sudo apt update && sudo apt upgrade -y

# 2. Install PHP 8.3-FPM, MySQL drivers, Redis, and extensions
sudo apt install -y php8.3-fpm php8.3-cli php8.3-mysql php8.3-mbstring \
php8.3-xml php8.3-bcmath php8.3-curl php8.3-zip php8.3-gd php8.3-sqlite3 \
php8.3-redis unzip curl git nginx supervisor redis-server

# 3. Install Composer globally
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

# 4. Install Node.js 20 LTS & PM2 process manager
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
sudo npm install -g pm2

Deploy Code & Configure Permissions

Clone the project repository into /var/www/whatsomni and build the backend application:

Server Terminal
# 1. Clone repository
cd /var/www
sudo git clone <YOUR_REPOSITORY_URL> whatsomni
sudo chown -R $USER:www-data /var/www/whatsomni

# 2. Deploy Backend
cd /var/www/whatsomni/backend
composer install --no-dev --optimize-autoloader
cp .env.example .env
nano .env # Fill in production DB, APP_URL, FRONTEND_URL, and Reverb keys

# 3. Initialize Key, Storage Link & Database Migrations
php artisan key:generate
php artisan storage:link
php artisan migrate --force

# 4. Cache configurations for peak production performance
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache

# 5. Set proper file permissions
sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache

Build Frontend & Manage PM2 Services

Build the Next.js frontend production bundle and launch the microservices under PM2:

Server Terminal
# 1. Build and Start Frontend (Port 3000)
cd /var/www/whatsomni/frontend
npm ci
cp .env.example .env.production
nano .env.production # Set NEXT_PUBLIC_BACKEND_URL and Reverb keys
npm run build
pm2 start npm --name "whatsomni-frontend" -- start -- -p 3000

# 2. Start WhatsApp Baileys Worker (Port 5001)
cd /var/www/whatsomni/baileys-worker
npm ci
cp .env.example .env
mkdir -p storage && sudo chown -R $USER:www-data storage
pm2 start server.js --name "baileys-worker"

# 3. Save PM2 state for automatic reboot persistence
pm2 save
pm2 startup

Configure Supervisor Daemons

Create dedicated Supervisor configurations to keep the Laravel Queue Worker and Reverb WebSockets permanently active:

/etc/supervisor/conf.d/whatsomni-worker.conf
[program:whatsomni-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/whatsomni/backend/artisan queue:work redis --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/whatsomni/backend/storage/logs/worker.log
stopwaitsecs=360
/etc/supervisor/conf.d/whatsomni-reverb.conf
[program:whatsomni-reverb]
command=php /var/www/whatsomni/backend/artisan reverb:start --host=0.0.0.0 --port=8080
autostart=true
autorestart=true
user=www-data
redirect_stderr=true
stdout_logfile=/var/www/whatsomni/backend/storage/logs/reverb.log
Enable Supervisor Programs
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start all

Configure System Crontab

Add the Laravel Task Scheduler to the system crontab (`sudo crontab -e -u www-data`):

Crontab
* * * * * cd /var/www/whatsomni/backend && php artisan schedule:run >> /dev/null 2>&1

Nginx VirtualHost & Free Let's Encrypt SSL

Create the Nginx configuration file at /etc/nginx/sites-available/whatsomni:

/etc/nginx/sites-available/whatsomni
# 1. Frontend SPA (yourdomain.com)
server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

# 2. Backend REST API & Reverb WebSockets (api.yourdomain.com)
server {
    listen 80;
    server_name api.yourdomain.com;
    root /var/www/whatsomni/backend/public;
    index index.php;

    # Reverb WebSocket Proxy
    location /app {
        proxy_pass http://127.0.0.1:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 60s;
        proxy_send_timeout 60s;
    }

    # Laravel REST API Routing
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
Enable Site & Obtain Free SSL (Certbot)
sudo ln -s /etc/nginx/sites-available/whatsomni /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

# Issue Let's Encrypt SSL Certificates
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d api.yourdomain.com

Payment Gateways & Global Billing

5 Global Payment Gateways & Multi-Currency Subscriptions

WhatsOmni provides a comprehensive billing architecture with 5 enterprise payment gateways. Platform operators can enable one or multiple gateways simultaneously, allowing global customers to subscribe using their preferred regional currencies, credit cards, mobile wallets, UPI, and instant digital payment systems.

Stripe Billing
1. Stripe Billing
Credit/debit cards, Apple Pay, Google Pay, SEPA, multi-currency subscription lifecycle, and customer billing portal.
PayPal Subscriptions
2. PayPal Subscriptions
PayPal Vault, Smart Buttons, automated recurring subscription plans, and IPN/Webhook instant verification.
Razorpay
3. Razorpay
Seamless Indian payments via UPI (GPay, PhonePe, Paytm), NetBanking, RuPay/Visa/Mastercard, and automatic INR conversions.
Paystack
4. Paystack
Leading African gateway for Nigeria (NGN), Ghana (GHS), South Africa (ZAR), and Kenya with recurring card charging.
Flutterwave
5. Flutterwave
Pan-African card payments, Mobile Money (M-Pesa, MTN, Airtel Money), and global multi-currency checkout across 34+ countries.

Gateway 1: Stripe Setup & Webhooks

01
Obtain Stripe API Credentials
Dashboard → Developers
Log into your Stripe Dashboard. Navigate to Developers → API Keys. Copy the Publishable key (pk_live_...) and reveal the Secret key (sk_live_...). Enter these into Super Admin → Settings → Gateways.
02
Register Stripe Webhook Endpoint
Developers → Webhooks
Click Add endpoint and set the Endpoint URL to:
https://api.yourdomain.com/api/billing/webhook
Select events: checkout.session.completed, customer.subscription.created, customer.subscription.updated, customer.subscription.deleted, invoice.payment_succeeded, invoice.payment_failed. Copy the generated Signing secret (whsec_...).

Gateway 2: PayPal Subscriptions Setup

01
Create PayPal REST App
developer.paypal.com
Log into the PayPal Developer Dashboard. Under Apps & Credentials, create a new REST API app. Copy the Client ID and Secret Key.
02
Configure PayPal Webhook
Subscription Events
In your PayPal App settings, add a webhook with URL https://api.yourdomain.com/api/billing/paypal/webhook and subscribe to BILLING.SUBSCRIPTION.ACTIVATED, BILLING.SUBSCRIPTION.CANCELLED, PAYMENT.SALE.COMPLETED. Copy the Webhook ID.

Gateway 3: Razorpay Setup (India / UPI / Cards)

01
Generate Razorpay API Keys
dashboard.razorpay.com
Navigate to Settings → API Keys → Generate Key. Copy your Key ID (rzp_live_...) and Key Secret.
02
Configure Razorpay Webhook
Settings → Webhooks
Add webhook endpoint: https://api.yourdomain.com/api/billing/razorpay/webhook. Set a secret passkey and subscribe to payment.captured, subscription.charged, subscription.cancelled.

Gateway 4: Paystack Setup (Africa / NGN / GHS / ZAR)

01
Obtain Paystack API Keys
dashboard.paystack.com
Navigate to Settings → API Keys & Webhooks. Copy the Public Key (pk_live_...) and Secret Key (sk_live_...). Set the Live Webhook URL to https://api.yourdomain.com/api/billing/paystack/webhook.

Gateway 5: Flutterwave Setup (Cards & Mobile Money)

01
Obtain Flutterwave Keys & Webhook Hash
dashboard.flutterwave.com
Navigate to Settings → API & Webhooks. Copy your Public Key, Secret Key, and Encryption Key. Under Webhooks, set the URL to https://api.yourdomain.com/api/billing/flutterwave/webhook and define a Secret Hash matching your backend configuration.

Super Admin Payment Gateways Configuration

In WhatsOmni, payment gateway credentials are not stored in static environment files. Super Admins configure each payment gateway dynamically directly in the Super Admin Control Panel → Settings → Payment Gateways (/superadmin/settings/gateways). Settings are saved encrypted in the database and apply instantly without server restarts:

Payment Gateway Super Admin UI Fields (/superadmin/settings/gateways) Capabilities & Webhook Endpoint
Stripe
Stripe
Mode (Test / Live)
Publishable Key (pk_...)
Secret Key (sk_...)
Webhook Secret (whsec_...)
Multi-currency credit/debit card subscriptions, Apple Pay, Google Pay.
Webhook URL: https://api.yourdomain.com/api/billing/stripe/webhook
PayPal
PayPal
Mode (Sandbox / Live)
Client ID
Client Secret
Webhook ID
Global PayPal wallet payments and recurring subscription billing.
Webhook URL: https://api.yourdomain.com/api/billing/paypal/webhook
Razorpay
Razorpay
Mode (Test / Live)
Key ID (rzp_...)
Key Secret
Webhook Secret
Indian Rupee (INR) payments, UPI, NetBanking, and recurring mandate cards.
Webhook URL: https://api.yourdomain.com/api/billing/razorpay/webhook
Paystack
Paystack
Mode (Test / Live)
Public Key (pk_...)
Secret Key (sk_...)
Webhook Secret
African payment processing across Nigeria (NGN), Ghana (GHS), South Africa (ZAR), and Kenya (KES).
Webhook URL: https://api.yourdomain.com/api/billing/paystack/webhook
Flutterwave
Flutterwave
Mode (Test / Live)
Public Key (FLWPUBK_...)
Secret Key (FLWSECK_...)
Secret Hash / Encryption Key
Pan-African payments, Mobile Money (M-Pesa, MTN, Airtel), and international card processing.
Webhook URL: https://api.yourdomain.com/api/billing/flutterwave/webhook

Google Calendar & Sheets Setup

Multi-Host Calendar Sync & Dynamic Sheets Logging

The Google integration provides 2-way Google Calendar synchronization for multi-host appointment scheduling, busy-slot conflict detection, and real-time lead appending to Google Sheets directly from Visual Flows.

Create Google Cloud Project & Enable APIs

  • Go to the Google Cloud Console and create a new project named WhatsOmni Integration.
  • Navigate to APIs & Services → Library.
  • Search for and enable both of the following APIs:
    • Google Calendar API
    • Google Sheets API

Configure OAuth Consent Screen & Credentials

  • Navigate to APIs & Services → OAuth consent screen.
  • Select External User Type and click Create.
  • Fill in the Application Name (WhatsOmni), User Support Email, and Developer Contact Email.
  • Add the required OAuth scopes:
    • https://www.googleapis.com/auth/calendar.events (Manage calendar appointments)
    • https://www.googleapis.com/auth/spreadsheets (Append and update rows in Google Sheets)
  • Go to APIs & Services → Credentials, click Create Credentials → OAuth client ID.
  • Select Web application as the Application Type.
  • Under Authorized redirect URIs, add your backend callback endpoint:
    https://api.yourdomain.com/api/integrations/google/callback
  • Click Create and copy the generated Client ID and Client Secret.

Google Configuration Parameters

Variable Name Example / Default Value Description & System Role
GOOGLE_CLIENT_ID 123456...apps.googleusercontent.com Google Cloud OAuth 2.0 Client ID for tenant authentication.
GOOGLE_CLIENT_SECRET GOCSPX-abc123xyz... Google Cloud OAuth 2.0 Client Secret token.
GOOGLE_REDIRECT_URI http://localhost:8000/api/integrations/google/callback Authorized callback route receiving authorization codes from Google.

Transactional Email (Resend & SMTP)

Database-Driven Email Engine via Super Admin Control Plane

In WhatsOmni, transactional email dispatch is managed dynamically through the Super Admin Control Plane and stored encrypted in the database. You do not need to modify static .env files or restart backend server processes to change mail providers or update credentials.

Super Admin GUI Configuration
All email dispatch parameters are managed in the Super Admin panel under Settings → Mail Configuration. Configuration changes take effect immediately at runtime across all tenant registration flows, password resets, and calendar notifications.

Setup Option 1: Resend API (Recommended)

Resend provides ultra-fast delivery, real-time analytics, and verified domain reputation without legacy SMTP overhead:

  • Create a free account at resend.com.
  • Navigate to Domains and add your sending domain (e.g., yourdomain.com). Add the provided DKIM and SPF DNS records to your DNS provider (Cloudflare, GoDaddy, Route53, etc.).
  • Go to API Keys and create an API key with Full Access permissions (starts with re_...).
  • Log in to your WhatsOmni Super Admin Dashboard, navigate to Settings → Mail Configuration, and select Resend as the driver:
    • API Key: Paste your re_... API token.
    • From Address: Enter your verified sending email (e.g., notifications@yourdomain.com).
    • From Name: Enter your brand/platform name (e.g., WhatsOmni).
  • Enter your personal email in the Test Recipient input and click Send Test Email to verify the connection live.
  • Click Save Settings to activate.

Setup Option 2: Custom SMTP Server Relay

If you use a traditional transactional SMTP relay provider (such as Amazon SES, Postmark, SendGrid, Mailgun, Brevo, or a private Postfix server):

  • Log in to your WhatsOmni Super Admin Dashboard and navigate to Settings → Mail Configuration.
  • Select SMTP as the mail driver and fill in your relay parameters:
    • SMTP Host: Your mail server hostname (e.g., smtp.mailgun.org or email-smtp.us-east-1.amazonaws.com).
    • SMTP Port: 587 (for TLS / STARTTLS) or 465 (for SSL).
    • Encryption: Select TLS, SSL, or None.
    • Username: Your SMTP username or API user.
    • Password: Your SMTP password or relay secret key.
    • From Email Address: The sender address verified on your SMTP account.
    • From Sender Name: The sender display name visible in the inbox.
  • Enter your email into the Test Recipient box and click Send Test Email. WhatsOmni will attempt an immediate live SMTP handshake and confirm success.
  • Click Save Settings to persist your configuration.

Database Storage & Runtime Resolution

Setting Key (Database) Supported Values System Role & Behavior
mail_driver resend | smtp Active transactional mail transport driver loaded by Laravel at runtime.
mail_from_address noreply@yourdomain.com Global sender email address displayed on all transactional emails.
mail_from_name WhatsOmni Notifications Display name shown to recipients in their email client inbox.
mail_resend_api_key re_123456789_... Encrypted Resend API authentication bearer token.
mail_smtp_host smtp.mailgun.org Remote hostname for standard SMTP mail relays.
mail_smtp_port 587 / 465 TCP network port for the SMTP connection.
mail_smtp_username postmaster@yourdomain.com SMTP authentication login credential.
mail_smtp_password •••••••••••• Encrypted SMTP relay password or secret token.
mail_smtp_encryption tls | ssl | none Socket transport layer security protocol.

HubSpot CRM Integration

Bi-Directional Contact Synchronization & Deal Automation

Connect HubSpot CRM to synchronize omnichannel contacts, push conversation summaries, and trigger deal pipeline creation whenever an AI chatbot or visual flow qualifies a new inbound prospect.

Create HubSpot Developer App

  • Log in to your HubSpot Developer Account and click Create app.
  • Enter an App Name (e.g. WhatsOmni CRM Bridge) and set up the logo and description.
  • Navigate to the Auth tab and enter your callback redirect URL:
    https://api.yourdomain.com/api/integrations/crm/callback/hubspot
  • Under Scopes, select the following permissions:
    • crm.objects.contacts.read & crm.objects.contacts.write
    • crm.objects.deals.read & crm.objects.deals.write
    • crm.schemas.contacts.read
  • Save changes and copy the Client ID and Client Secret into your backend environment file.

HubSpot Configuration Parameters

Variable Name Example / Default Value Description & System Role
HUBSPOT_CLIENT_ID 4a81b2c3-... HubSpot App Client ID for OAuth handshake authentication.
HUBSPOT_CLIENT_SECRET 99e8d7c6-... Confidential Client Secret token for token exchange.

Salesforce CRM Integration

Enterprise Lead Pipeline Sync & Deal Stage Triggering

Integrate Salesforce CRM to automatically convert high-intent WhatsApp and Instagram conversations into Salesforce Leads, update Opportunities, and trigger enterprise sales rep assignment.

Create Salesforce Connected App

  • Log in to your Salesforce Setup Console (Setup → App Manager).
  • Click New Connected App in the top right corner.
  • Enter Connected App Name (WhatsOmni Connector) and Contact Email.
  • Check Enable OAuth Settings.
  • Set the Callback URL:
    https://api.yourdomain.com/api/integrations/crm/callback/salesforce
  • Under Selected OAuth Scopes, add:
    • Manage user data via APIs (api)
    • Perform requests at any time (refresh_token, offline_access)
  • Save the app, click Manage Consumer Details, and copy the Consumer Key (Client ID) and Consumer Secret.

Salesforce Configuration Parameters

Variable Name Example / Default Value Description & System Role
SALESFORCE_CLIENT_ID 3MVG9... Salesforce Connected App Consumer Key.
SALESFORCE_CLIENT_SECRET 890123456... Salesforce Connected App Consumer Secret token.

Zoho CRM Integration

Multi-Region Contact & Lead Record Synchronization

Configure Zoho CRM Server-Based Client credentials to synchronize customer contacts, manage deals, and update lead status across US, EU, and IN regional data center clusters.

Create Zoho Server-Based Application

  • Visit the Zoho API Console.
  • Click Add Client and choose Server-based Applications.
  • Enter Client Name (WhatsOmni) and Homepage URL.
  • Under Authorized Redirect URIs, enter:
    https://api.yourdomain.com/api/integrations/crm/callback/zoho
  • Click Create and copy the Client ID and Client Secret from the Client Secret tab.

Zoho Configuration Parameters

Variable Name Example / Default Value Description & System Role
ZOHO_CLIENT_ID 1000.ABCDEF... Zoho Server-Based Client ID.
ZOHO_CLIENT_SECRET a1b2c3d4e5... Zoho Client Secret token.

Meta (WhatsApp, Instagram & Messenger)

Meta Embedded Signup, Direct Messages & Social Publishing

Connect Meta for Developers to manage WhatsApp Cloud API (via seamless Embedded Signup or Manual BYOK), Facebook Page Messenger, and Instagram Direct customer inquiries, plus automated feed and reel publishing via the Social Posts Studio.

WhatsApp Cloud API: Onboarding Modes

Recommended
Option A: Meta Embedded Signup
Frictionless 60-second onboarding. Tenants click "Log in with Facebook", select their Meta Business Account, and pick their WhatsApp number. Tokens, WABA IDs, and webhooks are paired automatically with coexistence support.
Manual BYOK
Option B: Manual BYOK Keys
Tenants manually create a Meta Developer App, generate a Permanent System User Access Token with whatsapp_business_messaging permissions, and supply their Phone Number ID and WABA ID.

Create Meta Business App & Permissions

  • Visit developers.facebook.comMy Apps → Create App.
  • Select Business as the App Type and name it WhatsOmni Suite.
  • Add the WhatsApp, Messenger, and Instagram Graph API products to your app.
  • Navigate to App settings → Basic, copy your App ID and App Secret.
  • Under Facebook Login for Business → Configurations, create a configuration for Embedded Signup with permissions: whatsapp_business_messaging, whatsapp_business_management, pages_show_list, pages_messaging, instagram_basic, instagram_manage_messages, pages_manage_posts, instagram_content_publish.
  • Under Facebook Login for Business → Settings, add the OAuth Redirect URIs:
    https://api.yourdomain.com/api/integrations/messenger/oauth/callback
    https://api.yourdomain.com/api/integrations/instagram/oauth/callback
    https://api.yourdomain.com/api/integrations/whatsapp/embedded/callback
  • Configure Webhooks under WhatsApp & Messenger Webhooks:
    Callback URL: https://api.yourdomain.com/api/webhooks/channel/{connection_id}
    Verify Token: Set your custom secret string matching your channel setup.

Super Admin Meta & Channels Configuration

Meta credentials are not configured in static .env files. The platform administrator sets up the Meta App credentials dynamically in the Super Admin Control Panel → Settings → Meta (or Super Admin → Channels). Settings are saved encrypted in the database and loaded at runtime:

Super Admin Field Location in Super Admin Description & System Role
Meta App ID Settings → Meta & Channels Meta App ID used for WhatsApp Embedded Signup, Facebook Page OAuth, and Instagram Direct messaging.
Meta App Secret Settings → Meta & Channels Confidential App Secret key used to exchange OAuth authorization codes for long-lived system tokens.
Embedded Signup Config ID Settings → Meta & Channels Configuration ID generated in Facebook Login for Business to launch the 1-click WhatsApp onboarding modal.
Webhook Verify Token Settings → Meta & Channels Custom verification token verified during Meta Webhook subscription handshakes.

TikTok (Direct Messages & Video Kit)

2-Way TikTok Customer DMs & Video Content Publishing

Connect TikTok for Developers to manage direct customer conversations in the Unified Inbox with AI Copilot support, and schedule high-impact 9:16 short-form video posts and reels directly from the Social Posts Studio.

Create TikTok Developer App

  • Visit the TikTok for Developers Portal and click Create an App.
  • Add the Login Kit for Web product. Configure the Redirect URI:
    https://api.yourdomain.com/api/integrations/tiktok/oauth/callback
  • Add the Direct Message API and Video Kit for Web products.
  • Request the required permissions:
    • user.info.basic & user.info.profile (Account profile details)
    • im.share & Direct Messaging scopes (2-way chat synchronization)
    • video.upload & video.publish (Automated video scheduling)
  • Copy your Client Key and Client Secret from App Details.
  • Configure the Webhook receiver URL:
    https://api.yourdomain.com/api/webhooks/channel/{connection_id}
    Verify that your server handles TikTok's verification challenge via the tt-security-token header.

Super Admin TikTok Channel Configuration

TikTok credentials are not configured in static .env files. Super Admins configure TikTok developer credentials directly in the Super Admin Control Panel → Channels → TikTok (/superadmin/channels). Credentials are stored encrypted in the database and apply instantly:

Super Admin Field Location in Super Admin Description & System Role
Client Key Channels → TikTok Settings TikTok for Developers App Client Key for Login Kit and DM synchronization.
Client Secret Channels → TikTok Settings Confidential App Client Secret used for OAuth token exchanges and video uploading.
Webhook Security Token Channels → TikTok Settings Signature token passed in tt-security-token headers for webhook event validation.

LinkedIn (Content Publishing & Pages)

Multi-Image, Document & Video Publishing for B2B

Connect LinkedIn Developer Portal to publish and schedule rich text updates, multi-image carousels, and high-definition video posts across Personal Profiles and Organization Company Pages from the WhatsOmni Social Posts Studio.

Create LinkedIn Developer App

  • Sign in to the LinkedIn Developer PortalCreate App.
  • Associate your LinkedIn Company Page and upload your app logo.
  • Under the Products tab, add:
    • Share on LinkedIn (Enables personal member profile publishing)
    • Sign In with LinkedIn using OpenID Connect
    • Community Management API (Required for Company Page administration)
  • Under the Auth tab, configure the Authorized Redirect URL:
    https://api.yourdomain.com/api/integrations/linkedin/oauth/callback
  • Copy the Client ID and Primary Client Secret.
LinkedIn Messaging API Note
LinkedIn strictly restricts 1-on-1 Direct Message APIs to enterprise LinkedIn Recruiter/Sales Navigator partners. WhatsOmni provides complete B2B Social Content Publishing, Carousel & Video scheduling, and post attribution analytics for LinkedIn.

Super Admin LinkedIn Channel Configuration

LinkedIn credentials are not configured in static .env files. Super Admins configure LinkedIn developer credentials directly in the Super Admin Control Panel → Channels → LinkedIn (/superadmin/channels). Credentials are stored encrypted in the database:

Super Admin Field Location in Super Admin Description & System Role
Client ID Channels → LinkedIn Settings LinkedIn OAuth 2.0 Application Client ID.
Primary Client Secret Channels → LinkedIn Settings Confidential Client Secret token for B2B Post and Video publishing access.
Supported Scope Types Channels → LinkedIn Settings Organization Company Pages (Community Management API) and Personal Member Profiles (Share on LinkedIn).

Zoom Video Conferencing

Dynamic Meeting Link Generation for Calendar Bookings

Connect Zoom App Marketplace to automatically create distinct Zoom meeting links, join URLs, and passcodes whenever clients schedule appointments via staff booking pages or chatbot prompts.

Create Zoom OAuth Application

  • Sign in to the Zoom App Marketplace.
  • Click Develop → Build App → General App.
  • Under OAuth, enter your Redirect URL:
    https://api.yourdomain.com/api/integrations/meetings/callback
  • Add the required Scopes:
    • meeting:write:admin & meeting:write (Create and manage video meetings)
    • user:read:admin & user:read (Verify staff host profiles)
  • Copy the Client ID and Client Secret from the App Credentials page.

Zoom Configuration Parameters

Variable Name Example / Default Value Description & System Role
ZOOM_CLIENT_ID abc123xyz... Zoom Marketplace OAuth Client ID.
ZOOM_CLIENT_SECRET secret987654... Zoom Marketplace OAuth Client Secret.
ZOOM_REDIRECT_URI http://localhost:8000/api/integrations/meetings/callback Callback URI receiving OAuth grant tokens from Zoom.

Microsoft Teams Integration

Microsoft 365 Calendar & Teams Online Meetings

Connect Microsoft Entra ID (Azure AD) to enable corporate Microsoft 365 calendar scheduling and automatically generate Microsoft Teams video conference join links for scheduled staff consultations.

Register Application in Azure Portal

  • Sign in to the Azure PortalMicrosoft Entra ID → App registrations.
  • Click New registration, name it WhatsOmni Teams Integration.
  • Under Supported account types, choose Accounts in any organizational directory (Multitenant) and personal Microsoft accounts.
  • Set Redirect URI (Web):
    https://api.yourdomain.com/api/integrations/meetings/callback
  • Go to API permissions → Add a permission → Microsoft Graph → Delegated permissions and add:
    • OnlineMeetings.ReadWrite (Create online meeting links)
    • User.Read (Access user profile)
    • offline_access (Maintain long-lived refresh tokens)
  • Go to Certificates & secrets → New client secret, create a secret and copy its Value.
  • Copy the Application (client) ID from the Overview tab.

Microsoft Teams Configuration Parameters

Variable Name Example / Default Value Description & System Role
TEAMS_CLIENT_ID 12345678-abcd-... Microsoft Entra Application (Client) ID.
TEAMS_CLIENT_SECRET abc~xyz123... Microsoft Entra Client Secret Value.
TEAMS_REDIRECT_URI http://localhost:8000/api/integrations/meetings/callback OAuth callback endpoint for Microsoft token authorization.

Meilisearch Vector & Knowledge Base

Ultra-Fast Hybrid Vector Search for AI Knowledge Retrieval (RAG)

Meilisearch powers the AI Assistant Knowledge Base, vector embeddings, PDF document search, and real-time multi-tenant product catalog lookups with sub-50ms response times.

Install & Start Meilisearch

Install Meilisearch on Ubuntu or run via Docker:

Terminal (Native Linux Binary)
# Download and install binary
curl -L https://install.meilisearch.com | sh
sudo mv meilisearch /usr/local/bin/

# Start Meilisearch with Master Key
meilisearch --http-addr '127.0.0.1:7700' --master-key='your_secure_master_key'

Meilisearch Configuration Parameters

Variable Name Example / Default Value Description & System Role
SCOUT_DRIVER meilisearch Laravel Scout engine driver.
MEILISEARCH_HOST http://127.0.0.1:7700 Host address and port for the Meilisearch instance.
MEILISEARCH_KEY your_secure_master_key Master authorization API key for index management and queries.

Import & Index Knowledge Articles

Sync all knowledge base articles into the search engine:

Terminal
php artisan scout:import "App\Models\KnowledgeArticle"

WhatsApp Microservice & Cloud API

Dual-Mode WhatsApp Architecture: Baileys Socket & Meta Cloud API

WhatsOmni supports a powerful Dual WhatsApp Architecture: instant QR-code device pairing via the native Baileys Microservice, or enterprise official high-volume messaging via the Meta WhatsApp Cloud API.

Mode A: Baileys Microservice (QR Code Pairing)

The Baileys worker is a Node.js microservice running on port 5001 that maintains persistent WebSocket connections with WhatsApp Web:

  • Start the worker microservice:
    cd baileys-worker && npm start
  • In your tenant dashboard, navigate to Channels → Connect WhatsApp.
  • Select Scan QR Code, open WhatsApp on your phone (Linked Devices → Link a Device), and scan the live QR code generated in the dashboard.
  • Session credentials are saved in baileys-worker/sessions/ and synchronized in real-time.

Mode B: Official Meta WhatsApp Business Cloud API

For high-throughput enterprise messaging with green badge verified numbers:

  • Go to Meta for DevelopersWhatsApp → API Setup.
  • Copy your Phone Number ID, WhatsApp Business Account (WABA) ID, and generate a Permanent System User Access Token.
  • Configure Webhooks under WhatsApp → Configuration:
    Callback URL: https://api.yourdomain.com/api/webhooks/channel/{connection_id} (where {connection_id} is the channel connection ID shown on your channel setup screen)
    Verify Token: Enter your configured webhook token matching the channel settings.
  • Subscribe to the messages webhook topic.
  • Enter the credentials into your tenant channel settings in WhatsOmni.

Baileys Worker Configuration Parameters

Variable Name Default Value Description & Purpose
BAILEYS_WORKER_URL http://localhost:5001 Backend .env pointer to the running Node.js Baileys microservice.
BAILEYS_SECRET_TOKEN whatsomni_baileys_secret_key Shared HMAC security token matching between backend and worker.
PORT 5001 HTTP port on which the Baileys Express server listens for requests.
LARAVEL_API_URL http://localhost:8000 Laravel API base URL where the Baileys worker posts incoming WhatsApp events.

Dashboard & Workspace Navigation

Multi-Tenant Workspaces, Roles & Command Center

The WhatsOmni Customer Dashboard provides an intuitive, high-performance command center designed for modern sales, support, and marketing teams to orchestrate customer journeys across all messaging channels from a single unified interface.

Omnichannel
Unified Channels
Consolidate WhatsApp, Instagram, Messenger, Telegram, Email, and SMS into one centralized inbox.
Telemetry
Live Analytics
Track inbound message volume, first response time (FRT), AI resolution rates, and sales conversions.
Governance
RBAC Team Access
Assign granular permission roles (Owner, Admin, Support Agent, Observer) with strict isolation.
Productivity
Command Palette
Instant universal search across contacts, flows, settings, and knowledge base via keyboard shortcut.

Workspace Switcher & Multi-Brand Management

If your subscription plan supports multiple workspaces, you can manage different brands, company subsidiaries, or client accounts under a single login. Click the Workspace Selector in the top-left corner of the sidebar to switch between workspaces instantly without logging out.

01
Isolated Data Architecture
Tenant Scoped
Each workspace operates in strict database isolation with dedicated channels, contacts, CRM pipelines, visual flows, and staff schedules.
02
Seamless Switching
Single Sign-On
Switch brands with one click. Active sessions, socket subscriptions, and notifications re-bind dynamically without page reloads.

Team Member Roles & Permissions Matrix

Invite team members and assign granular permission roles to control data access and security across your organization:

Role Scope & Level Permissions & Capabilities
Workspace Owner Full Workspace Control Manage billing plans, invite/remove admins, delete workspace, configure custom domains, and manage platform API keys.
Administrator Operations & Setup Connect messaging channels, build AI agents, create visual flows, configure CRM pipelines, and manage staff schedules.
Support Agent Support & CRM View assigned unified inbox conversations, send messages, claim chats, update contact tags, and move deal stages.
Observer / Analyst Read-Only Access View analytics reports, review conversation logs, and inspect deal boards without editing or sending permissions.
Pro Tip: Universal Command Palette
Press Ctrl + K (or + K on macOS) from anywhere in the application to jump directly to contacts, visual flow automations, knowledge base articles, or settings.

Multi-Workspace Management

Multi-Brand Data Isolation & Instant Organization Switching

Manage multiple distinct brands, corporate subsidiaries, or agency client accounts from a single user login. Each workspace maintains strict data isolation, dedicated messaging channels, separate CRM deal boards, custom visual flows, and allocated plan quotas.

Isolation
Strict Data Scoping
Every contact, channel, automation flow, and appointment is scoped strictly to workspace_id with zero leakage.
Productivity
Instant Switcher
Switch active workspaces via the sidebar dropdown in 1 click. WebSocket channels and state re-bind dynamically without logout.
Governance
Per-Workspace Quotas
Track and enforce maximum team seats, concurrent channels, active automations, and monthly flow execution credits per workspace.
Team Access
Independent Roles
Users can have different custom roles across workspaces (e.g. Workspace Owner in Brand A, Support Agent in Brand B).

Managing Workspaces Workflow

01
Creating a New Workspace
Top Bar → New Workspace
Click the Workspace Selector in the sidebar and choose Create Workspace. Provide your Brand Name, Default Timezone, and Logo. The workspace is created with independent initial settings and default pipeline stages.
02
Inviting Workspace Members
Settings → Team Members
Invite colleagues directly into the active workspace by email. Assign standard roles (Admin, Agent, Observer) or configure custom roles from your 19-module RBAC matrix.

Channel Management (9 Channels)

Connect 9 Omnichannel Streams in Under 2 Minutes

WhatsOmni unifies customer interactions and social publishing across 9 communication channels into one real-time workspace stream. Connect direct messaging lines, social profiles, email boxes, and SMS carriers effortlessly.

WhatsApp Cloud API
1. WhatsApp Cloud API
Official Meta Graph API, Embedded Signup, verified green badge, templates, catalogs, and read receipts.
WhatsApp Baileys
2. WhatsApp Baileys (QR)
Instant phone QR scan pairing via Node.js microservice with multi-device support and auto-reconnect.
Instagram
3. Instagram Direct & Posts
DMs, story replies, story mentions, and Social Posts carousel/reel publishing via Meta Graph API.
Facebook Messenger
4. Facebook Messenger & Pages
Facebook Page inbox synchronization, quick reply buttons, post comment auto-replies, and feed publishing.
TikTok
5. TikTok (DMs & Video Kit)
TikTok Login Kit for Web, 2-way customer DM synchronization, and automated 9:16 short video/reel publishing.
LinkedIn
6. LinkedIn (Content Publishing)
OAuth2 publishing of carousels, text updates, and videos across Personal Profiles and Organization Company Pages.
Telegram
7. Telegram Bot
Deploy responsive bots via BotFather HTTP tokens with rich markdown, inline keyboards, and command routers.
Twilio
Vonage
Plivo
8. SMS (6 Gateways)
Global 2-way SMS routing via Twilio, Vonage, Plivo, MessageBird, Sinch, and Telnyx with delivery status tracking.
9. Two-Way Email Gateway
Inbound IMAP mailbox listener with HTML email parser and outbound SMTP/Resend mailer with conversation threading.

Channel Assignment & Shared Inbox Isolation

Granular Agent Permissions & Inbox Channel Privacy

In enterprise organizations with multiple brands or specialized departments (e.g. Sales, Technical Support, Billing), administrators can assign specific channels to designated team members. Agents only see and interact with messages from their assigned channels, preventing clutter and ensuring privacy.

Access Control
Agent Channel Scoping
Assign one or multiple channels to an agent (e.g. WhatsApp Line A + Instagram DM). Unassigned channels remain strictly hidden.
Admin Visibility
Workspace Admin View
Workspace Owners and Admins retain full global visibility across all 9 connected channels with quick filter toggles.
Routing
Inbound Workload Routing
New inbound conversations route automatically to agents assigned to that channel using round-robin or manual claim rules.

How to Configure Channel Assignments

01
Open Team Member Permissions
Settings → Team Members → Edit
Select the team member profile. Under the Assigned Channels section, check the specific channels the agent is authorized to manage.
02
Real-Time Policy Enforcement
Instant UI & API Guard
The Unified Inbox dynamically filters conversation feeds, socket notifications, and message dispatch permissions to match the agent's assigned channel list.

Unified Team Inbox

Omnichannel Contact Timelines & AI Agent Collaboration

The Unified Team Inbox consolidates customer messages across all 9 supported channels into a single shared inbox with real-time WebSocket updates, contact CRM drawer, and AI Copilot assistance.

Live Conversation Interface
WhatsApp • Assigned: Sarah Jenkins
JD
Hi! I was checking your Enterprise plan. Can we connect our 14 WhatsApp numbers and sync deals to HubSpot CRM?
10:42 AM • WhatsApp
AI COPILOT SUGGESTION (KNOWLEDGE BASE GROUNDED) 99.4% Match
"Hello John! Yes, our Enterprise plan supports unlimited WhatsApp channels and native bi-directional HubSpot CRM deal sync. Would you like me to book a quick 15-minute live demo with our solution architect?"

Conversation Lifecycle & Status Management

Open
Active Queue
Inquiries awaiting agent reply or currently undergoing live customer chat.
Pending
Waiting on Client
Awaiting client response or third-party integration verification.
Resolved
Completed Inquiry
Successfully addressed. Automatically reopens upon new message.
Snoozed
Timed Reminder
Temporarily hidden from queue until specified reminder time.

Canned Responses, Dynamic Variables & Private Notes

  • Slash Commands (/): Type / into the message composer to open your team's pre-approved library of canned responses. Use dynamic tags like {{contact.first_name}}, {{agent.name}}, or {{workspace.name}} to personalize answers instantly.
  • Private Team Notes (Yellow Mode): Toggle to Private Note mode to post internal comments visible only to team members. Use @colleague mentions to collaborate on complex escalation cases without the customer seeing the thread.

Social Posts Studio & Content Scheduler

Multi-Network Content Publishing, AI Studio & Visual Calendar Scheduler

The Social Posts Studio (/social-posts) empowers marketing teams to compose, preview, AI-generate, and schedule high-performing content across Facebook Pages, Instagram Business, LinkedIn Profiles/Pages, and TikTok from a single interactive calendar command center.

Omni-Publishing
4 Social Networks
Simultaneously target Facebook, Instagram, LinkedIn, and TikTok with channel-specific formatting and character limit validation.
Rich Media
4 Content Formats
Single Image, Multi-Image Carousels, High-Definition Video, and 9:16 Vertical Reels/Shorts with live preview cards.
AI Studio
AI Copy & Hashtags
Generate viral hooks, persuasive captions, targeted hashtags, and translate copy into 10 languages with 1 click.
Scheduling
Visual Calendar
Monthly and weekly interactive calendar view. Drag and drop posts, view upcoming scheduled queues, and monitor publishing status.

Step-by-Step Publishing & Scheduling Workflow

01
Select Target Channels
Multi-Select Checkboxes
Open Social Posts → Create Post. Choose which connected social accounts to publish to (e.g. Facebook Page + LinkedIn Company + Instagram Business).
02
Craft Content with AI Studio
Captions & Hashtags
Enter your topic prompt or click Generate with AI. The AI assistant drafts engaging caption variations, auto-suggests trending hashtags, and provides live character counter validation per network.
03
Upload Rich Media & Preview
Live Visual Rendering
Attach single images, multi-image carousel slides, or videos/reels. The interactive live device preview displays exactly how the post will appear on each social platform's feed.
04
Publish Now or Schedule to Calendar
Asynchronous Dispatch Engine
Click Publish Immediately for real-time dispatch, or pick a future date and time. Scheduled posts appear on your visual calendar and are dispatched automatically by background cron workers (php artisan schedule:run).

Visual Drag-and-Drop Flow Builder

No-Code Conversational Automation & Integration Workflows

The Visual Flow Builder lets you design sophisticated multi-step conversational journeys, automated lead qualification sequences, appointment booking funnels, and CRM synchronizations on an intuitive drag-and-drop canvas without writing code.

Ingress
Trigger Nodes
Inbound Keywords, Webhook triggers, Campaign responses, and Cart Abandonment triggers.
Interactive
Messaging & Questions
Send text, quick reply buttons, list menus, media brochures, and regex-validated questions.
Logic & AI
AI & Conditions
IF/ELSE condition branching, AI intent classification, dynamic LLM prompts, and RAG search.
Execution
CRM & Booking Nodes
Create deals, tag contacts, dispatch webhook payloads (n8n/Zapier), and book calendar slots.

Visual Lead Qualification Architecture

01
Trigger Ingress
Keyword: "DEMO"
Flow activates when customer types keywords like demo, quote, or scans a WhatsApp promotional QR code.
02
Collect & Validate Information
Regex Format Validation
Ask for corporate email and company size with interactive quick reply buttons (1–10, 11–50, 50+). Format is checked automatically with retry prompts on error.
03
AI Intent & Condition Branching
Smart Path Routing
If company size is > 10, the flow automatically creates a $5,000 deal in CRM and routes to the Calendar Booking node; otherwise, it sends self-service product documentation.
04
Instant Publish & Telemetry
Zero-Downtime Engine
Click Publish Flow to push changes immediately across all connected channels without server downtime. Monitor live execution logs and drop-off rates in real time.

AI Agents & Knowledge Base (RAG)

Autonomous 24/7 AI Customer Support Powered by Your Custom Knowledge Base

WhatsOmni features an enterprise Retrieval-Augmented Generation (RAG) AI Engine. Upload your company's product manuals, return policies, pricing documents, and website URLs to train an autonomous AI Assistant that delivers grounded, hallucination-free support across all channels.

Multi-Source
1. 4 Ingestion Source Types
Ingest knowledge via Files (PDF, TXT, DOCX, CSV, JSON, XLSX, Markdown), Web URLs, Direct Q&A pairs, or live Google Sheets sync.
Meilisearch
2. Semantic Vector Chunking
Content is parsed into contextual chunks and vectorized into high-dimensional embeddings for sub-millisecond semantic search.
Foundation LLM
3. Grounded Synthesis
The AI Assistant synthesizes verified factual answers based strictly on retrieved context, ensuring 100% brand safety.

Supported Knowledge Ingestion Sources

Source Type Supported Formats / Connectivity Processing & Sync Pipeline
Document Files
file
PDF, TXT, DOC, DOCX, CSV, JSON, XLSX, Markdown (.md) Automatic OCR, heading extraction, contextual chunking.
Web Documentation
url
Public website URLs, API docs, helpdesk portals, blogs Recursive web crawler with HTML sanitizer & link follower.
Direct Q&A Pairs
qa
Exact question and factual answer pairs Direct vector indexing for guaranteed 100% precision answers.
Google Sheets
sheet
Live Google Sheets spreadsheet synchronization Scheduled automated polling & instant index refreshing.

Configuring an AI Assistant Persona

  • System Prompt & Persona: Define agent identity, tone (e.g. professional, empathetic, concise), refund policy guidelines, and custom greetings.
  • Creativity & Temperature: Set between 0.0 (strictly factual based solely on documents) and 0.7 (creative and conversational).
  • Foundation Model Selection: Choose from OpenAI GPT-4o, Anthropic Claude 3.5 Sonnet, Google Gemini 2.0 Flash, DeepSeek R1, or Groq Llama 3.3.

Autonomous Human Agent Handoff

Configure smart safety triggers that seamlessly transfer conversations to human support agents:

Trigger Type
Keyword Intent
Customer types keywords like human, agent, representative, or speak to person.
Trigger Type
Negative Sentiment
AI detects frustrated or dissatisfied sentiment score falling below established threshold.
Trigger Type
Context Missing
AI cannot locate relevant information in the knowledge base after 2 consecutive attempts.

Deals & CRM Pipelines

Visual Kanban Pipeline & Revenue Forecasting

Track revenue opportunities, manage sales stages, and qualify prospects directly alongside your customer chats with the native WhatsOmni CRM Pipeline and bi-directional external CRM synchronization.

Visual Deal Pipeline (Interactive Kanban)
Total Pipeline: $177,500 • 24 Active Deals
NEW INBOUND 6 Deals
Acme Global SaaS
$12,000 • WhatsApp
QUALIFIED 8 Deals
Apex Retail Logistics
$28,500 • Instagram
PROPOSAL SENT 5 Deals
Nexus E-Commerce
$45,000 • WhatsApp
CLOSED WON 5 Deals
CloudScale Systems
$92,000 • Paid

Automated Deal Progression via Chat Workflows

  • Auto Deal Creation: When a prospect completes a lead qualification flow on WhatsApp, a deal is instantly created with budget estimates.
  • Stage Advancement on Booking: When the client books a meeting slot on the calendar, the deal automatically advances to Demo Scheduled and assigns the staff host.
  • Bi-Directional External Sync: Any update made in WhatsOmni synchronizes automatically with HubSpot, Salesforce, or Zoho CRM.

Calendar & Appointments

Multi-Host Availability & Automated Meeting Links

WhatsOmni eliminates scheduling friction by enabling clients to book consultations, product demos, and support appointments directly inside WhatsApp, conversational DMs, or public booking links with dynamic 2-way Google and Microsoft 365 calendar synchronization.

Multi-Host
Round-Robin Assignment
Distribute meetings across available team members automatically based on workload and schedule.
2-Way Sync
Google & Outlook Sync
Reads personal calendar busy blocks in real time so appointments never double-book.
Video Link
Zoom & Teams Generator
Generates unique Zoom or Microsoft Teams join URLs and passcodes automatically upon booking.
No-Show Shield
WhatsApp Reminders
Reduces no-shows by up to 80% via automated 24-hour and 1-hour interactive WhatsApp reminders.

Automated WhatsApp Reminder Sequence

01
Instant Confirmation
Immediate Dispatch
WhatsApp message sent immediately upon booking with host details, date/time in customer timezone, and video join link.
02
24 Hours Before Reminder
Interactive Buttons
Prompts customer with one-tap Confirm Attendance or Reschedule Slot buttons. Rescheduling re-opens live calendar slots directly.
03
1 Hour Before Direct Join Link
Final Call
Sends direct Zoom / Microsoft Teams one-click join link ensuring high attendance rates.

Cart Recovery Engine

Recover Lost E-Commerce Sales via Automated WhatsApp Sequences

Over 70% of online shopping carts are abandoned before checkout. The WhatsOmni Abandoned Cart Recovery Engine re-engages shoppers on WhatsApp with high-converting personalized sequences and one-click checkout URLs.

15-Min Delay
Stage 1: Friendly Service Prompt
Sends product photo thumbnails, cart summary, and a pre-filled Complete Order button before the shopper leaves their phone.
3-Hour Delay
Stage 2: Incentive Coupon
Dynamically generates a single-use 10% discount code (e.g. SAVE10) automatically applied upon checkout link click.
24-Hour Delay
Stage 3: Urgency & Free Shipping
Final reservation notice offering complimentary express shipping before inventory is released back to stock.

Connecting E-Commerce Stores (Shopify & WooCommerce)

  • Shopify Store Webhooks: In your Shopify Admin, navigate to Settings → Notifications → Webhooks and create webhooks pointing to https://api.yourdomain.com/api/webhooks/ecommerce/shopify for Checkout creation, Checkout update, and Order creation with JSON formatting.
  • WooCommerce REST Webhooks: In WordPress Admin, go to WooCommerce → Settings → Advanced → Webhooks and create webhooks pointing to https://api.yourdomain.com/api/webhooks/ecommerce/woocommerce?connection_id={id} for Order created and Order updated.
  • WhatsOmni automatically ingests abandoned cart items, line-item totals, and customer contact data, triggering automated recovery sequences via SendAbandonedCartRecoveryJob on Redis queues.

Broadcast Campaigns & Anti-Ban Architecture

Intelligent Pacing Jitter, 2-Tier Queues & Zero-Duplicate Resumption

Execute enterprise-grade mass outreach campaigns across WhatsApp (Baileys QR & Meta Cloud API), Telegram, SMS, and Email. WhatsOmni features an intelligent anti-ban rate-limiting engine with randomized jitter, a two-tier non-blocking asynchronous Redis queue pipeline, in-flight pause/resume controls, and zero-duplicate crash resumption.

Protection
Anti-Ban Pacing Jitter
Baileys dispatches with 4s–8s randomized delays + 45s cooldown block every 50 messages. Meta Cloud API uses 0.2s micro-stagger.
Scalability
2-Tier Non-Blocking Queues
Fast Dispatcher ingests 10,000+ recipients in <2s into Redis, while Rate-Limited Delivery Workers safely process in background.
Operational Control
In-Flight Pause & Resume
Pause active campaigns in real time to inspect socket health or update messaging templates, then resume from exact index without restarts.
Fault Tolerance
Zero-Duplicate Resumption
Per-contact database status tracking guarantees zero duplicate messages if a background worker or server restarts mid-campaign.

Baileys vs Meta WhatsApp Cloud API Campaign Comparison

Campaign Feature WhatsApp (Baileys Engine) WhatsApp (Meta Official Cloud API)
Anti-Ban Pacing 4s–8s random delay + 45s cooldown block every 50 msgs 0.2s micro-stagger (Up to 80 msgs/sec tier limit)
Template Approval No pre-approval required. Freeform text, media & variables. Requires official Meta-approved HSM template approval.
Queue Architecture Redis 2-tier asynchronous background worker with mutex lock. Direct bulk REST API payload with asynchronous webhook listener.
In-Flight Controls Instant Pause, Resume from last index, and Abort queue. Instant Pause, Resume, and Abort queue.
Zero-Duplicate Resumption Status checkpointing: resumes uncompleted recipients seamlessly. Status checkpointing: resumes uncompleted recipients seamlessly.

Campaign Launch Workflow

01
Select Channel & Compose Message
Multi-Channel Support
Navigate to Broadcasts → Create Campaign. Choose your target channel (WhatsApp Baileys, WhatsApp Cloud, Telegram, SMS, Email). Enter message text with dynamic tag variables like {{name}}, {{company}}, or {{custom_field}}.
02
Filter Target Audience Segment
Dynamic Smart Filters
Filter your audience by contact tags (e.g. VIP, Black Friday), pipeline deal stages, date added, or import a dedicated CSV recipient list. The system validates phone numbers and deduplicates records automatically.
03
Schedule or Instant Dispatch with Anti-Ban Engine
Protected Delivery
Choose Send Immediately or pick a future execution timestamp. The two-tier Redis queue ingests the campaign instantly and the delivery worker begins dispatching with automated anti-ban pacing jitter.

Custom Roles & 19-Module Granular RBAC

Dynamic Staff Access Control & 19-Module Permission Matrix

Enforce zero-trust operational security across your organization. WhatsOmni’s Custom Role Builder (located at /settings/team under the Roles tab) allows workspace owners to create custom staff roles with granular Read and Write permission scopes across all 19 functional workspace modules grouped into 5 core platform categories.

Security
Zero-Trust Access
Staff members only access routes, inboxes, and features explicitly permitted by their assigned custom role.
Scope
19 Modular Domains
Granular controls over inboxes, CRM deals, visual flows, social posting, knowledge base, billing, and settings.
Staff Binding
Dynamic Staff Binding
Assign roles to team members at /settings/team with instantaneous authorization updates across active browser sessions.
Compliance
Audit Log Trail
All permission modifications, role creations, and member assignments are permanently recorded in the immutable audit log.

The Complete 19-Module Permission Matrix

Category & Module Key Functional Domain & Operational Scope Permission Actions Available
1. Overview Dashboard
dashboard (Analyze & Core)
KPI telemetry, real-time analytics & workspace overview metrics. Read Write
2. Shared Inbox
inbox (Analyze & Core)
Omnichannel customer conversations, real-time chat, and internal notes. Read Write
3. AI ChatBot
chatbot (AI & Automation)
Automated conversational AI bots, qualification funnels, and fallback rules. Read Write
4. Automation Flows
flows (AI & Automation)
Visual workflow canvas, branching decision logic, triggers & webhook actions. Read Write
5. Knowledge Base
knowledge_base (AI & Automation)
Document ingestion (PDF, DOCX, CSV, URLs, Q&A, Google Sheets) & vector search. Read Write
6. AI Agents
agents (AI & Automation)
Autonomous AI execution agents, personas, and specialized task dispatchers. Read Write
7. Channels Connect
channels (Communication)
Connect and configure 9 messaging gateways (WhatsApp, IG, FB, Telegram, TikTok, LinkedIn, SMS, Email). Read Write
8. Social Posts
social_posts (Communication)
Cross-platform content composer, media publisher, AI copywriter & calendar scheduler. Read Write
9. Campaigns
campaigns (Communication)
Outbound bulk broadcasts, drip messaging sequences, jitter pacing & conversion metrics. Read Write
10. Message Templates
templates (Communication)
Pre-approved Meta HSM blueprints, interactive WhatsApp templates & canned snippets. Read Write
11. Contacts Directory
contacts (CRM & Audience)
Customer CRM profiles, custom attributes, tag management & audience segments. Read Write
12. Staff Directory
staff (CRM & Audience)
Staff members directory, departmental assignments, and shift schedules. Read Write
13. CRM Pipeline & Deals
deals (CRM & Audience)
Kanban sales pipeline stages, deal monetary values, stage progression & win/loss tracking. Read Write
14. Calendar & Bookings
calendar (CRM & Audience)
Appointment schedules, staff availability slots, and public booking page links. Read Write
15. Integrations
integrations (Settings)
Connect third-party apps, E-commerce stores (Shopify, WooCommerce), webhooks & REST APIs. Read Write
16. Team & Role Access
team (Settings)
Teammates directory, seat allocations, custom role builder & channel permissions. Read Write
17. Billing & Plans
billing (Settings)
Workspace subscription tier, Stripe payment methods, add-on quotas & invoice history. Read Write
18. Workspace Settings
settings (Settings)
Business profile details, timezone, base currency, white-label branding & device sessions. Read Write
19. Help & Tickets
help (Settings)
Knowledge documentation base, helpdesk ticketing, and support desk requests. Read Write

Custom Role Creation Workflow

01
Create Role Definition
/settings/team
Navigate to Settings → Team & Role Access, select the Custom Roles & Permissions tab, and click Add New Role. Enter a role name (e.g. "Support Specialist", "Marketing Lead", "External Media Contractor") and an optional description.
02
Configure 19-Module Permission Matrix
Read / Write Toggles
Toggle the exact Read and Write checkboxes for each of the 19 platform modules. You can also click Read All or Write All per category for instant one-click provisioning.
03
Assign to Team Members
/settings/team
Switch to the Teammates tab on the same page. When inviting a new user or editing an existing staff member, select your custom role from the dropdown. Authorization scopes apply dynamically in real time.

Dashboard & Platform Telemetry

Master Operational Control, Real-Time Revenue & Security Audit Logs

The Super Admin Dashboard (located at /superadmin/dashboard) provides platform operators with real-time operational telemetry, aggregate revenue metrics, workspace growth rates, channel adoption statistics, and live security audit logs.

Super Admin Authentication & Access Control
Access to the Super Admin Control Plane is restricted to platform operators with is_super_admin = true in the database. Super Admin sessions are protected with distinct cookie authentication (whatsomni_admin_logged_in) and dedicated CSRF tokens.
Financial KPI
Monthly Recurring Revenue
Normalized monthly recurring revenue aggregated from all active tenant Stripe subscriptions in real time.
Tenant Capacity
Active Tenant Organizations
Total registered business workspaces categorized into Active (289), Trial (42), and Suspended (11).
System Health
Gateway Throughput & Uptime
Cumulative message throughput across all gateways with 99.8% delivery success rate and 99.98% server uptime index.
Live Security & Audit Trail (Recent Operations)
Immutable Event Log
tenant.impersonate admin@whatsomni.com impersonated workspace "Apex Logistics" (ID: ws_842a)
Just now • 192.168.1.1
plan.updated admin@whatsomni.com updated monthly pricing for "Enterprise Scale" plan
12m ago • 192.168.1.1
settings.mail_saved admin@whatsomni.com verified Resend API driver connection via live test email
45m ago • 192.168.1.1

Dedicated Analytics & Reports Console

Navigate to Analytics & Reports (/superadmin/analytics) for in-depth platform performance analysis:

Date Filters
Preset Date Selectors
Toggle between 7 Days, 30 Days, 90 Days, 1 Year, or custom calendar ranges with instant chart re-render.
Retention
Conversion Velocity
Track free trial to paid conversion rates and cohort retention curves across marketing campaigns.
Data Portability
Tenant Revenue Export
Download complete CSV reports containing tenant MRR contributions, channel counts, and quota usage.

Tenants & Global Users

Multi-Tenant Provisioning, Ghost Login & Global User Control

The Tenants and Users modules give Super Admins complete operational oversight over all registered business workspaces, workspace team members, and user credentials across the platform.

Provisioning
Manual Provisioning
Create enterprise tenants manually with custom plan quotas, base currency, and initial administrator credentials.
Single Sign-On
1-Click Impersonation
Log into any tenant workspace instantly without credentials to troubleshoot flows or inspect channel health.
Governance
Quota Enforcement
Reassign subscription plans or override channel, campaign, and team seat limits dynamically per tenant.
Lifecycle
Cascade Deletion
Safely delete cancelled workspaces and purge associated database tables, channels, and media storage.

One-Click Ghost Impersonation Architecture

01
Trigger Impersonation
SSO Session Token
Click the Impersonate button next to any tenant on the /superadmin/tenants table. The backend generates an ephemeral SSO session token and sets tenant context.
02
Live Workspace Navigation
Full Administrative Rights
You are redirected directly into the tenant dashboard with full administrative rights to inspect flow logs, channels, and CRM deals. A floating top banner confirms: "Impersonating [Company Name]".
03
Instant Exit & Audit Logging
Immutable Security Audit
Click Exit Impersonation on the floating banner to terminate the token and return immediately to the Super Admin Control Plane. The event is permanently logged in the audit trail.

Plans & Subscriptions

Multi-Currency SaaS Tiers, Feature Quotas & Gateway Price Bindings

The Plans module (/superadmin/plans) enables platform operators to build, price, and manage multi-currency subscription tiers, feature limit matrices, and automated billing integrations across Stripe, PayPal, Razorpay, Paystack, and Flutterwave.

Live Billing
Active Plans
Live subscription tiers visible on the tenant checkout page with active gateway price IDs for recurring billing.
Draft Tier
Draft Plans
Tiers under configuration. Hidden from public billing pages until validated and published by Super Admin.
Grandfathered
Archived Plans
Deprecated tiers grandfathered for existing subscribers but hidden from new registrations.

Multi-Currency Global Pricing Engine

WhatsOmni allows Super Admins to define explicit localized prices per currency or let the dynamic GeoIP engine convert automatically from the base platform currency:

Currency Monthly Rate Annual Rate (Discounted) Gateway Binding Support
USD ($) $49.00 / mo $470.00 / yr (20% off) Stripe, PayPal, Razorpay, Paystack
EUR (€) €45.00 / mo €430.00 / yr Stripe, PayPal, Razorpay
INR (₹) ₹3,999 / mo ₹38,000 / yr Razorpay (UPI / Cards / NetBanking), Stripe
GBP (£) £39.00 / mo £375.00 / yr Stripe, PayPal
NGN (₦) ₦65,000 / mo ₦624,000 / yr Paystack, Flutterwave
KES (KSh) KSh 6,500 / mo KSh 62,400 / yr Flutterwave (M-Pesa / Cards), Paystack

Plan Quotas & Limits Schema

Quota Field Data Type Platform Enforcement & Business Scope
trial_days Integer (e.g. 14) Complimentary trial duration granted upon tenant workspace registration.
max_team_members Integer (e.g. 10) Maximum staff user seats allowed per workspace.
max_channels Integer (e.g. 5) Maximum concurrent messaging channels (WhatsApp, Instagram, Telegram, etc.).
max_automations Integer (e.g. 25) Maximum published visual flow automations.
flow_credits Integer (e.g. 50,000) Monthly execution credit pool for flow builder nodes and AI assistant prompts.
own_crm_access Boolean (true/false) Toggles tenant access to the native Deal Kanban Pipeline & Contact CRM.

Multi-Currency & GeoIP Engine

Dynamic FX Synchronization & Country-To-Currency Auto-Detection

The Currencies module (/superadmin/currencies) and GeoIP Localization Engine provide automated currency rate synchronization, visitor country-to-currency auto-detection, and intelligent gateway payment routing across 150+ countries.

Anchor Base
Base Currency Anchor
Set the master base currency (e.g. USD) from which all dynamic exchange rate multipliers are calculated.
Live Rates
Dynamic FX Sync
Automated cron job updates real-time exchange rates, with full manual override options per currency in Super Admin.
Localization
GeoIP Auto-Detection
Inspects Cloudflare CF-IPCountry or MaxMind IP headers to automatically switch landing & checkout currency.
Routing
Gateway Currency Routing
Dynamically routes checkouts to Stripe, PayPal, Razorpay, Paystack, or Flutterwave based on chosen currency compatibility.

Payment Gateway Currency Routing Compatibility Matrix

Payment Gateway Primary Currencies Supported Recurring Billing Mechanism Webhook Status
Stripe
Stripe
USD, EUR, GBP, CAD, AUD, SGD, JPY Stripe Billing (Cards / SEPA) Auto-Handled
PayPal
PayPal Subscriptions
USD, EUR, GBP, AUD, CAD, BRL PayPal Billing Agreements / Vault Auto-Handled
Razorpay
Razorpay
INR (Primary), USD, AED, EUR Cards, UPI AutoPay, NetBanking Auto-Handled
Paystack
Paystack
NGN, GHS, ZAR, KES, USD Tokenized Card Subscriptions & Bank Debit Auto-Handled
Flutterwave
Flutterwave
NGN, KES, GHS, UGX, TZS, ZAR, USD Cards, M-Pesa Mobile Money, Bank Account Auto-Handled

GeoIP Detection & Price Conversion Pipeline

01
Visitor IP & Country Header Inspection
Sub-Millisecond Edge Inspection
When a user accesses the landing page or checkout, the Next.js edge middleware inspects the cf-ipcountry / x-country-code header (e.g. IN, NG, GB, US).
02
Country-to-Currency Mapping
Automatic Resolution
The engine maps the country code to the registered currency (e.g. IN → INR, NG → NGN, GB → GBP). If no direct match exists, it gracefully falls back to the default Base Currency.
03
Dynamic Price Formatting & Gateway Filtering
Localized Checkout Experience
Plan prices automatically display with appropriate currency symbols and localized pricing multipliers. At checkout, only payment gateways supporting the chosen currency are offered.

Channels & Integrations Switchboard

Global Channel Availability, SMS Gateways & Integration Health

The Channels and Integrations control centers enable Super Admins to globally enable or disable messaging gateways, configure master SMS carrier credentials, and verify external service connectivity across all 9 platform channels.

Global Channel Availability Switchboard (9 Channels)
All 9 Channels Operational
1. WhatsApp (Baileys)
Node Microservice Port 5001
● Active
2. WhatsApp Cloud API
Meta Official WABA
● Active
3. Instagram Direct
Meta Graph API OAuth
● Active
4. Facebook Messenger
Meta Graph API Page Ingress
● Active
5. Telegram Bots
BotFather HTTP API
● Active
6. TikTok DMs & Video Kit
Direct Messages & Video Post API
● Active
7. LinkedIn Publishing
OAuth2 Profile & Company UGC
● Active
8. Two-Way Email Gateway
IMAP Parser & Outbound SMTP
● Active
9. Master SMS Gateway
Twilio / Vonage / Plivo
● Configured

Integrations Health & Environment Diagnostics

Integration Provider Backend Env Requirements Platform Capability & Scope
Google Sheets & Calendar GOOGLE_CLIENT_ID / SECRET Automated lead sync to spreadsheets & 2-way staff schedule booking.
Zoom & Microsoft Teams ZOOM_CLIENT_ID / TEAMS_CLIENT_ID Dynamic online meeting link generation for booked appointments.
HubSpot, Salesforce, Zoho HUBSPOT_CLIENT_ID / SALESFORCE_CLIENT_ID Bi-directional CRM contact and deal stage synchronization.
Shopify & WooCommerce Webhook Receiver (No static key needed) Automated cart abandonment detection & WhatsApp recovery funnels.

AI Providers & Intelligent Routing

2 Operational AI Modes, Master API Keys & Feature Routing Matrix

The AI Providers module (/superadmin/ai-providers) is the central orchestration engine for AI models across WhatsOmni. Super Admins can manage foundation model credentials, switch between the 2 operational architectures (BYOK and Master Fixed), and map individual platform features to specific LLMs.

Direct Billing
1. BYOK (Bring Your Own Key)
Tenants supply their own encrypted API keys (OpenAI, Anthropic Claude, Google Gemini, Groq, DeepSeek, xAI, Mistral, OpenRouter). Token costs are billed directly to the tenant with zero platform liability.
Platform Controlled
2. Master Fixed (Centrally Routed)
Super Admin provides master keys in the Central AI Vault and assigns dedicated models to specific features via the Feature Routing Matrix. Tenants consume bundled plan quotas and flow credits.

Feature Routing Matrix (Master Fixed Mode)

Platform Feature Recommended LLM Model Performance & Cost Rationale
AI Chatbot Conversations OpenAI GPT-4o / Claude 3.5 Sonnet High reasoning fidelity, multi-turn context retention, and strict policy adherence.
Visual Flow AI Execution Gemini 2.0 Flash / Groq Llama 3.3 Sub-300ms ultra-fast inference for rapid conditional branching.
Conversation Summaries Claude 3.5 Haiku / GPT-4o-mini Cost-effective token throughput for high-volume chat summarization.
Sentiment Analysis Groq Llama 3.3 70B Instant classification for automatic human agent handoff triggers.
Knowledge Base Embeddings text-embedding-3-small High-dimensional semantic vector indexing for Meilisearch RAG lookups.

Settings, Gateways & White-Labeling

5 Global Gateways, White-Label Branding & Support Desk Management

The Settings (/superadmin/settings), Payment Gateways (/superadmin/settings/gateways), Support Tickets (/superadmin/tickets), and Pages (/superadmin/pages) modules provide full white-label customization, team delegation, transactional mail management, 5 global payment gateway configurations, and tenant support operations.

Stripe
PayPal
Razorpay
Paystack
Flutterwave
Global Gateways
5 Payment Gateways
Configure Stripe, PayPal, Razorpay, Paystack, and Flutterwave with live/test key toggles & webhook secrets.
White-Labeling
Custom Branding
Brand name, primary/accent color swatches, custom domain, and SVG logo upload synced across all tenant sessions.
Email Engine
Dynamic Mail Engine
Switch between Resend API and SMTP without server restarts. Includes live in-app test sender & visual mail designer.
Support & CMS
Support Tickets & CMS
Threaded ticket console to resolve tenant inquiries and manage public legal pages (Terms, Privacy, About).

Global Payment Gateways Configuration Workflow

01
Access Gateway Settings & Enable Providers
/superadmin/settings/gateways
Navigate to Settings → Payment Gateways. Toggle the active switch for the desired gateways (Stripe, PayPal, Razorpay, Paystack, or Flutterwave).
02
Enter API Credentials & Select Mode
Sandbox / Live Environment
Enter your Public/Secret Keys or Client IDs. Toggle Sandbox Mode for risk-free testing or switch to Live Mode for production payment processing.
03
Bind Webhook Endpoints & Verify Signature
Automatic Subscription Reconciliation
Copy the generated platform webhook URL (e.g. https://api.yourdomain.com/api/v1/webhooks/[gateway]) and paste it into your provider dashboard. Enter the webhook signing secret to enable instant automated subscription provisioning and renewal invoice generation.
ESC
Type to start searching...