Skip to main content

Overview

Leavo supports multi-channel and multi-agent, allowing the same lead to communicate through different channels (WhatsApp, Telegram, Email) with different AI assistants on each one.

Lead Channels

Each lead can have multiple channel associations. Each association (LeadChannel) tracks:
{
  "id": "uuid",
  "lead_id": "uuid",
  "channel_id": "uuid",
  "assistant_id": "uuid",
  "channel_name": "WhatsApp Business",
  "channel_type": "whatsapp",
  "department_id": "uuid",
  "assigned_user_id": "uuid",
  "is_primary": true,
  "message_count": 42,
  "last_used_at": "2024-01-15T10:00:00Z"
}

How It Works

Lead "John Smith"
├── WhatsApp Business (Channel 1)
│   └── Assistant A (Sales)

├── WhatsApp Support (Channel 2)
│   └── Assistant B (Support)

└── Telegram (Channel 3)
    └── Assistant C (General)
  • Each channel has its own AI assistant
  • Each channel can belong to a different department
  • Message counts and last usage are tracked per channel
  • One channel can be marked as primary (is_primary)

Supported Channels

TypeProviders
whatsappZ-API, Evolution API, Gupshup (Meta)
telegramBot API
emailSMTP/IMAP
smsVarious

WhatsApp Provider Types

ProviderTypeDescription
Z-APIz-apiUnofficial API (Baileys)
Evolution APIevolution-apiUnofficial API
GupshupgupshupOfficial Meta API (WhatsApp Business)
Gupshup (Meta) channels support official templates and are required for sending messages after the 24-hour window.

Human Attendants

When an operator manually sends a message, they are registered as an attendant for that lead on that channel:
GET /backend/leads/{id}/attendants
Response:
[
  {
    "user_id": "uuid",
    "user_name": "Maria Santos",
    "channel_name": "WhatsApp Business",
    "channel_type": "whatsapp",
    "assistant_name": "Sales Assistant",
    "department_name": "Sales",
    "last_message_at": "2024-01-15T10:00:00Z",
    "message_count": 15
  }
]

Agencies

Leavo supports an organization hierarchy:
TypeDescription
Agency (agency)Main organization that manages multiple clients
Client (client)Organization linked to an agency (parent_tenant_id)
Agencies can create and manage their clients, each with their own leads, channels, and assistants.