Skip to content

Bot Flow

This documentation explains the entire process of managing Bot Flows in WhatsMark SaaS — starting from the Bot Flow list page, through component usage, flow creation, and activation.

1. Bot Flow List Page

The Bot Flow List page is where you can see all your existing bot flows. From here, you can:

  • Create a new bot flow by clicking the + Bot Flow button.
  • View existing flows with details like name, description, and activation status.
  • Activate or deactivate flows using the toggle in the "Is active" column.
  • Edit or delete existing flows with the Edit and Delete buttons.
  • Enter a flow to see or modify it by clicking the green Flow button.

Bot Flow List Page

2. Creating A New Bot

After clicking the + Bot Flow button on the Bot Flow List page, a popup appears prompting you to enter details for the new flow.

Bot Flow Creation Popup

  • Name: Enter the name of your bot flow. For example, Customer Support Flow.
  • Description: Provide a brief description of the flow. Example: "Provide end-to-end customer support for Corbital Technologies' WhatsMark SaaS product."

Click Submit to create the flow and move to the flow builder interface.

Bot Flow Creation Popup

3. Creating Flow

Clicking the + Bot Flow button takes you to the bot flow creation interface.

Interface Overview

  • Available Components (Left Panel): Components you can add to your flow include:

    • Text Message
    • Button Message
    • Call To Action
    • List Message
    • Media Message
    • Location
    • Contact Card
    • API Request
    • Delay Node
    • Update Contact
  • Start Trigger (Center Block): This is the flow’s entry point. You must configure:

    • Contact Type: Type of contact who will trigger the flow (e.g., Customer)
    • Trigger Type: Trigger condition (e.g., on exact match)
    • Trigger Keywords: Keywords users send to start this flow
  • Save Flow Button: Located at the top right, it activates once mandatory fields are filled.

4. Bot Flow Components Overview

Each component can be added to the flow canvas to build your conversation. Below is a summary of the key components:

4.1 Text Message

Used to send plain text messages.

Text Message Component


4.2 Button Message

Sends a message with interactive buttons for users to choose from.

Button Message Component


4.3 Contact Card

Shares contact information with the user.

Contact Card Component


4.4 Call To Action (CTA)

Sends a clickable button with a link for the user to take an action.

Call To Action Component


4.5 List Message

Sends a list with header, body, footer, and selectable options.

List Message Component


4.6 API Request

Sends data from your bot flow to external sources and automation platforms. This component enables you to push conversation data, user responses, and flow variables to external systems like n8n or any other software that can process and utilize the flow data.

Key Features:

  • Request URL: Specify the webhook or API endpoint URL of your external system
  • HTTP Method: Support for POST, PUT, PATCH methods for sending data
  • Headers: Add custom headers (Accept-Charset, Authorization, Content-Type, etc.)
  • Request Body: Send JSON data with dynamic variables from the conversation flow
  • Data Integration: Pass user responses, contact information, and flow context to external systems

Common Use Cases:

  • Send conversation data to n8n workflows for automation
  • Push lead information to CRM systems
  • Trigger external workflows based on user interactions
  • Submit form data collected during the bot conversation
  • Integrate with zapier, make.com, or custom automation platforms

API Request Component


4.7 Delay Node

The Delay Node is a powerful feature that allows you to add time intervals between messages in your automation flow. This helps create more natural conversation patterns and prevents overwhelming users with multiple messages at once.

When to Use Delay Node:

  • Add pauses between consecutive messages for better user experience
  • Create timed sequences for drip campaigns
  • Allow processing time between automated responses

How to Connect Delay Node:

Important Connection Rules

The Delay Node can only be connected after:

  • Start Trigger Node
  • Button Response Nodes
  • List Selection Nodes

These nodes support back connections, which are required for the delay functionality to work properly.

Delay Node Component

Performance Requirements:

The Delay Node operates using cron jobs and queue management, which requires proper server configuration:

  1. Cron Job Setup:

    • Set up a cron job to run every minute for optimal performance
    • This ensures delays are processed accurately and messages are sent on time
  2. Queue Management (Optional but Recommended):

    • Configure Laravel Horizon for Redis-based queue management
    • This provides better performance, monitoring, and reliability
    • Horizon dashboard allows you to track delayed jobs in real-time

Best Practice

For production environments, we strongly recommend using Redis with Horizon for queue management. This ensures reliable message delivery and provides visibility into your automation performance.

Setup Guides:


4.8 Update Contact Node

The Update Contact Node allows you to automatically update contact information during flow interactions. This is useful for maintaining accurate customer data and segmenting contacts based on their interactions.

Update Contact Component

What Can Be Updated:

Using the Update Contact Node, you can modify:

  • Relation Type: Change contact classification (e.g., Lead, Customer, Guest)
  • Status: Update contact status (e.g., Contacted, Qualified, Converted)
  • Source: Track where the contact came from (e.g., WhatsApp, Website, Campaign)
  • Groups: Add contacts to specific groups for segmentation

Configuration Requirements:

Minimum Selection Required

When adding an Update Contact Node to your flow, you must select at least one field to update. You cannot add an empty Update Contact Node.

Choose at least one of the following:

  • Status update
  • Relation Type update
  • Source update
  • Group assignment

Group Management Behavior:

When updating contact groups through this node:

  • Adding Groups: Contacts will be added to the specified groups
  • Preserving Existing Groups: If a group doesn't exist, the node will skip it without errors
  • No Removal: This node will not remove contacts from existing groups
  • Multi-select Supported: You can add a contact to multiple groups simultaneously

Use Cases:

Example 1: Lead Qualification Flow

Start Trigger → User responds → Update Contact Node
  - Status: "Contacted"
  - Relation Type: "Lead"
  - Source: "WhatsApp"

5. Example: Complete Bot Flow

This is an example flow where:

  • The start trigger listens for keywords from Customers.
  • A welcome text message is sent.
  • A button message allows users to choose between "Technical Issue" or "Talk to Agent."
  • If "Technical Issue" is selected, a list message with common issues appears.
  • A call to action directs users to SaaS documentation.
  • An image message shows a bot flow creation screenshot.
  • A contact card shares an agent's contact info.

Complete Bot Flow Example

6. Activating Your Bot Flow

After creating and saving your flow, you return to the Bot Flow List page.

  • Activate your flow by toggling the Is active switch to ON.
  • This enables the flow so it can start responding to user messages based on your triggers.

7. Import & Export Bot Flows

The Import and Export functionality allows you to migrate bot flows between different tenants or WhatsMark SaaS installations. This is useful for:

  • Transferring flows from development to production environments
  • Sharing flows between different tenant accounts
  • Backing up your bot flow configurations
  • Replicating flows across multiple WhatsMark SaaS setups

7.1 Exporting a Flow

To export a bot flow:

  1. Navigate to the Bot Flow List page
  2. Click the three-dot menu (⋮) next to the flow you want to export
  3. Select Export from the dropdown menu
  4. The flow configuration will be downloaded as a JSON file to your computer

This exported file contains all the flow structure, components, settings, and configurations.

Export Flow Option

7.2 Importing a Flow

To import a bot flow:

  1. Navigate to the Bot Flow List page
  2. Click the Import button at the top of the page
  3. Select the exported JSON file from your computer
  4. The flow will be imported and added to your bot flow list

Verify After Import

After importing a flow, always verify all configurations before activating it. Some dynamic parameters may differ between installations, including:

  • Contact Types: May have different IDs in the new installation
  • Groups: Group IDs and names might not match
  • Custom Fields: Custom field mappings may differ
  • API Endpoints: External URLs or webhook endpoints need updating
  • Phone Numbers: Contact card numbers may need adjustment
  • Media Files: Images and media will need to be re-uploaded if paths differ

Important: Review each node carefully and update any installation-specific parameters before activating the imported flow.

7.3 Best Practices for Import/Export

  • Test First: Always import flows to a test tenant or environment first
  • Document Changes: Keep notes on what needs to be updated after import
  • Update Variables: Check all dynamic variables and placeholders
  • Verify Connections: Ensure all node connections are intact after import
  • Test Thoroughly: Run complete tests before activating imported flows in production

7.4 Clone Bot Flow

Use the Clone feature to quickly duplicate an existing flow within the same tenant. Click the three-dot menu (⋮) next to any flow and select Clone to create an exact copy, which you can then modify as needed without affecting the original flow.

Summary

  1. Start at Bot Flow List: Create or manage flows.
  2. Create New Flow: Configure start trigger and add message components.
  3. Design Flow: Use text, buttons, lists, CTAs, images, and contact cards.
  4. Save Flow: Make sure all required fields are completed.
  5. Activate Flow: Toggle the active switch to enable.

© 2024 - Corbital Technologies. All rights reserved.