Skip to content

Chatbot Automation

Chatbot Overview Chatbot Overview

Overview

Whatomate’s chatbot automation allows you to create intelligent, automated responses for your WhatsApp messages. From simple keyword-based replies to complex AI-powered conversations, you have full control over how your business responds to customers.

The Chatbot section in the sidebar provides access to all chatbot features:

  • Overview - Dashboard with statistics and quick access to settings
  • Settings - Configure chatbot behavior, business hours, and AI
  • Keywords - Create keyword-based auto-responses
  • Flows - Design multi-step conversation flows
  • AI Contexts - Configure AI knowledge bases
  • Transfers - View and manage agent transfer queue

Chatbot Settings

Configure global chatbot behavior including greeting messages, fallback messages, and session settings.

Greeting Message

The greeting message is automatically sent to new contacts when they first message your business (or after the session timeout expires). You can optionally add interactive buttons (up to 10) to guide users to common actions.

Fallback Message

When no keyword rules, AI contexts, or conversation flows match an incoming message, the fallback message is sent. Like the greeting message, you can add interactive buttons to help users navigate.

Interactive Buttons

Both greeting and fallback messages support WhatsApp interactive buttons:

  • 1-3 buttons: Displayed as quick reply buttons
  • 4-10 buttons: Displayed as a list menu

Session Timeout

Configure how long a session remains active. When a user messages again after the timeout, they receive the greeting message as if starting a new conversation.

Business Hours

Configure when your chatbot is active and how it behaves outside business hours.

Setting Up Business Hours

  1. Enable Business Hours

    Toggle the business hours feature on in the Business Hours tab.

  2. Configure Daily Schedule

    For each day of the week:

    • Enable or disable the day
    • Set opening and closing times
  3. Out of Hours Message

    Configure a message to send when customers contact you outside business hours.

  4. Automated Responses Outside Hours

    Choose whether to allow flows, keywords, and AI responses to work 24/7 (enabled by default) or restrict them to business hours only.

Keyword Rules

Keyword Rules

Create automated responses triggered by specific keywords or phrases.

Creating a Keyword Rule

Keyword Rule Editor

  1. Define Keywords

    Add one or more keywords or phrases that will trigger the rule.

  2. Set Match Type

    Choose how keywords should be matched:

    • Exact - Message must match exactly
    • Contains - Message contains the keyword
    • Starts with - Message begins with the keyword
    • Regex - Use regular expressions for complex patterns
  3. Configure Response

    Set the response type and content:

    • Text - Send a text message reply
    • Template - Send a pre-approved template message
    • Media - Send image, video, or document
    • Flow - Trigger a conversation flow
    • Transfer to Agent - Transfer the conversation to a human agent
  4. Set Priority

    Assign priority to determine which rule applies when multiple rules match.

AI Settings

Configure AI-powered responses to handle queries that don’t match keywords or flows.

Enabling AI Responses

  1. Choose an AI Provider

    Select from OpenAI, Anthropic, or Google AI.

  2. Select a Model

    Choose the model that best fits your needs and budget.

  3. Configure API Key

    Enter your API key from the provider (stored securely and encrypted).

  4. Set System Prompt

    Define how the AI should behave and what context it should use for responses.

Supported AI Providers

OpenAI

GPT-4o, GPT-4o-mini, GPT-4-turbo

Anthropic

Claude 3.5 Sonnet, Claude 3.5 Haiku

Google AI

Gemini 2.0 Flash, Gemini 1.5 Flash

AI Contexts

AI Contexts

Enhance your chatbot with AI-powered responses using contexts that provide relevant information to the AI.

Creating an AI Context

AI Context Editor

AI Contexts allow you to:

  • Define static knowledge bases
  • Connect to external APIs for dynamic data
  • Set trigger keywords for context activation
  • Configure priority for multiple contexts

Conversation Flows

Conversation Flows

Design multi-step conversation flows with branching logic to guide customers through complex interactions.

Flow Builder

Conversation Flow Builder Conversation Flow Builder

The visual flow builder allows you to:

  • Create multiple conversation steps
  • Define user input types (text, buttons, lists)
  • Store responses in variables
  • Add conditional branching
  • Configure completion actions

Flow Features

FeatureDescription
Input ValidationValidate user responses with regex patterns
Variable StorageStore user inputs for later use in the conversation
Conditional LogicBranch based on user responses
API IntegrationFetch data from external APIs with response mapping
Template EngineFormat messages with variables, conditionals, and loops
Webhook HeadersConfigure custom headers for API calls and completion webhooks
Agent TransferTransfer to human agent when needed
WhatsApp FlowsIntegrate native WhatsApp Flows
Drag & Drop OrderingReorder steps by dragging them to new positions

API Integration

The “Fetch from API” step type allows you to call external APIs and use the response data in your messages.

Configuring an API Step

  1. Set API URL and Method

    Enter the API endpoint URL and select the HTTP method (GET, POST, PUT, PATCH). Use {{variable}} syntax to include session data in the URL.

  2. Add Headers (Optional)

    Configure custom headers like Authorization tokens or API keys.

  3. Configure Request Body (POST/PUT/PATCH)

    Enter JSON body with variables: {"phone": "{{phone_number}}", "name": "{{name}}"}

  4. Set Response Mapping

    Map API response fields to session variables for use in templates:

    • name = data.client.name
    • positions = data.portfolio.items
    • total_pnl = data.summary.pnl
  5. Write Message Template

    Use the template syntax to format the API response data.

Template Syntax

The template engine supports variables, conditionals, and loops for dynamic message formatting.

Variables

Access session data and API response fields:

{{name}} Simple variable
{{user.profile.name}} Nested path
{{items[0].name}} Array index access

Conditionals

Show different content based on conditions:

{{if is_premium}}
Welcome, premium member!
{{else}}
Upgrade to premium for more features.
{{endif}}

Supported operators:

  • {{if variable}} - Truthy check (non-empty, non-zero)
  • {{if amount > 100}} - Greater than
  • {{if amount < 100}} - Less than
  • {{if amount >= 100}} - Greater than or equal
  • {{if amount <= 100}} - Less than or equal
  • {{if status == 'active'}} - String equality
  • {{if status != 'inactive'}} - String inequality

Loops

Iterate over arrays from API responses:

{{for item in items}}
- {{item.name}}: {{item.quantity}} @ ₹{{item.price}}
{{endfor}}

Example: Portfolio Message

Hi {{name}}, here are your positions:
{{for pos in positions}}
📊 {{pos.symbol}}: {{pos.qty}} @ ₹{{pos.avg_price}}
{{if pos.is_loss}} ⚠️ Loss: ₹{{pos.loss}}
{{else}} ✅ Profit: ₹{{pos.profit}}
{{endif}}
{{endfor}}
Total P&L: {{if total_negative}}🔴{{else}}🟢{{endif}} ₹{{total_pnl}}

Contact Info Panel

Display collected session data in a side panel when viewing a contact in the chat view. This allows agents to see customer information collected during chatbot flows at a glance.

How It Works

Data is collected from two sources:

  • User Input - Fields stored via the Store as option in flow steps
  • API Data - Fields extracted via Response Mapping in API fetch steps

All collected data is stored in the session and can be configured to display in the Contact Info Panel.

Configuring the Panel

In the Flow Builder, scroll down to the Panel Display Settings section:

  1. View Available Variables

    The panel shows all variables collected in the flow:

    • Variables from Store as fields in input steps
    • Variables from Response Mapping in API fetch steps
  2. Add Sections

    Click “Add Section” to create display sections. Each section can have:

    • Label - Custom section name (e.g., “Customer Info”, “Order Details”)
    • Columns - 1 or 2 column layout
    • Collapsible - Allow section to be expanded/collapsed
    • Default Collapsed - Start section in collapsed state
  3. Add Fields to Sections

    For each section, add fields from the available variables:

    • Variable - Select from available session variables
    • Label - Display label for the field (e.g., “Name”, “Email”, “Order ID”)
    • Display Type - How to render the value (Text, Badge, or Tag)
    • Color - Color coding for badges/tags
  4. Reorder Sections and Fields

    Drag sections and fields to reorder them as needed.

Display Types

Choose how each field value is displayed:

TypeDescriptionBest For
TextPlain text (default)Names, descriptions, long values
BadgeRounded pill shapeStatus values, categories
TagRectangular labelIDs, codes, short labels

Color Options

For Badge and Tag display types, choose a color:

ColorDescriptionUse Case
DefaultMuted grayNeutral information
SuccessGreenPositive status (completed, active, approved)
WarningYellowAttention needed (pending, processing)
ErrorRedNegative status (failed, cancelled, rejected)
InfoBlueInformational (new, updated)

Panel Features

FeatureDescription
ResizableDrag the left edge to resize the panel width
Auto-OpenPanel automatically opens when viewing contacts with configured data
Collapsible SectionsExpand/collapse sections to focus on relevant information
Multi-Column LayoutDisplay fields in 1 or 2 columns per section
Display TypesShow values as text, badges, or tags with color coding

Example Configuration

For a customer support flow that collects name, email, and order details:

Section 1: Customer Info (1 column)

  • customer_name → “Name” (Text)
  • customer_email → “Email” (Text)

Section 2: Order Details (2 columns, collapsible)

  • order_id → “Order ID” (Tag, Info)
  • order_status → “Status” (Badge, Success/Warning/Error based on value)
  • order_date → “Date” (Text)
  • order_total → “Total” (Text)

Agent Transfers

Hand off conversations from the chatbot to human agents when needed.

How Transfers Work

When a conversation is transferred:

  1. The chatbot stops processing messages for that contact
  2. All messages are visible to the assigned agent
  3. The agent can respond and manage the conversation
  4. When done, the agent can resume chatbot processing

Transfer Triggers

Transfers can be initiated in three ways:

Manual Transfer

Agents/managers can click “Transfer to Agent” from the chat view to manually transfer a conversation.

Conversation Flow

Add a transfer step in your conversation flow to hand off to agents at specific points.

Keyword Rule

Configure keywords like “talk to agent” or “human” to automatically trigger a transfer.

Teams

Teams allow you to organize agents into groups that handle specific types of inquiries (e.g., Sales, Support, Orders). Each team can have its own assignment strategy and queue.

Creating a Team

Navigate to Settings > Teams to manage teams:

  1. Create Team

    Click “Create Team” and provide a name and optional description.

  2. Choose Assignment Strategy

    Select how transfers should be assigned to team members:

    • Round Robin - Distributes transfers evenly across available agents
    • Load Balanced - Assigns to the agent with fewest active transfers
    • Manual - Transfers go to team queue for agents to pick
  3. Add Members

    Click “Manage Members” to add agents to the team. Each member can be assigned a role:

    • Manager - Can manage team settings and members
    • Agent - Can pick and handle transfers from the team queue

Team-Based Routing in Flows

Use the Transfer to Agent/Team step type in conversation flows to route chats to specific teams:

  1. Add Transfer Step

    In the flow builder, add a new step and select “Transfer to Agent/Team” as the message type.

  2. Configure Transfer

    • Transfer Message - Optional message sent to the customer before transfer
    • Assign to Team - Select the target team (or “General Queue” for no team)
    • Transfer Notes - Internal notes for agents (supports variables like {{order_id}})
  3. Test the Flow

    The transfer step will end the flow and create a transfer to the selected team.

Queue Management

For Agents

Agents see the Transfers view in their sidebar with:

  • My Transfers - Conversations currently assigned to them
  • Queue tab - Unassigned transfers from their teams and the general queue
  • Pick Next button - Claim the next available transfer (if enabled)
  • Team Filter - Filter queue by specific team

For Admins/Managers

Admins and managers have full visibility into the queue and can:

  • View all unassigned transfers across all teams
  • Filter by team to see specific queues
  • Assign transfers to specific agents
  • View transfer history
  • Resume transfers (return to chatbot)

Queue Settings

Configure queue behavior in Chatbot > Settings:

  • Allow Agents to Pick from Queue - When enabled, agents can self-assign transfers by clicking “Pick Next”. When disabled, only admins/managers can assign transfers.

  • Assign to Same Agent - When enabled, transfers are automatically assigned to the contact’s existing agent. When disabled, all transfers go to the queue regardless of previous assignments.

Transfer Lifecycle

  1. Transfer Created

    A transfer is created via manual action, flow step, or keyword rule. The contact is assigned to a team queue, general queue, or an existing agent.

  2. Team Assignment

    Based on the team’s assignment strategy:

    • Round Robin/Load Balanced - Automatically assigned to an available team member
    • Manual - Goes to team queue for agents to pick
  3. Agent Handling

    The agent communicates with the customer. The chatbot is paused for this contact.

  4. Resume Chatbot

    When the conversation is complete, the agent clicks the “Resume Chatbot” button (play icon) in the chat header to return the contact to chatbot processing.

Chat View Indicators

When viewing a contact with an active transfer:

  • A “Chatbot Paused” badge appears next to the contact name
  • A Resume Chatbot button (play icon) appears in the chat header
  • The “Transfer to Agent” option is hidden (already transferred)

Auto-Assignment

If a contact already has an assigned agent (from a previous conversation), new transfers for that contact are automatically assigned to the same agent.