Skip to content

Bot Flows Feature

Overview

Bot Flows (/flows) is a visual chatbot builder that enables businesses to create automated conversation flows using a drag-and-drop interface. With 40+ node types and a rich set of triggers, flows can handle customer inquiries, collect information, provide responses, create deals and tasks, move contacts through lifecycle stages, log to spreadsheets, and hand off to human agents when needed.

Parity note: ConnectGain's flow builder now covers every node, trigger, and use case offered by respond.io's Workflows — and adds its own deals, tasks, RAG, voice, multi-LLM, and cross-turn merge capabilities on top. See the New & Advanced Nodes and Flow Triggers sections below.


Features

1. Visual Flow Builder

Flow Editor: - Drag-and-drop node placement - Visual flow canvas - Node connections - Flow validation - Real-time preview

Flow Nodes (40+ Node Types):

Trigger Node: - Start of flow - Message received trigger - Keyword trigger - Time-based trigger - Event trigger

Send Message Node: - Send messages - Text messages - Template messages - Variable substitution ({{name}}, {{company}}, etc.) - Media attachments (images, videos, documents)

Collect Input Node: - Gather user input - Text input - Number input - Date input - Choice selection - Validation rules

Condition Node: - Conditional logic - If/else branches - Multiple conditions - Comparison operators (equals, contains, greater than, etc.) - Variable comparisons

Switch Node: - Multi-way branching - Multiple paths - Case matching - Default case

Delay Node: - Add delays - Time-based delays - Duration selection (seconds, minutes, hours, days) - Conditional delays

Create Deal Node: - Create deals from flow - Deal title - Deal value - Pipeline selection - Stage assignment - Contact/company association

Update Deal Node: - Update existing deals - Stage changes - Value updates - Field updates - Probability updates

Create Task Node: - Create tasks from flow - Task title - Priority (Low, Medium, High) - Assignee - Due date - Related contact/deal

Auto Assign Task Node: - Auto-assign tasks - Round-robin assignment - Availability-based assignment - Load balancing

Assign Conversation Node: - Assign conversations - Team member assignment - Round-robin assignment - Availability-based assignment

Add Tag Node: - Add tags to contacts - Tag selection - Multiple tags - Tag management

Update Contact Node: - Update contact information - Field updates - Custom field updates - Contact enrichment

Get Variable Node: - Retrieve variables - Variable storage - Variable retrieval - Variable types (string, number, boolean, object)

Set Variable Node: - Store variables - Variable assignment - Variable types - Variable scope management

Transform Node: - Data transformation - String manipulation (uppercase, lowercase, trim, substring) - Number formatting (round, format currency) - Date formatting (format date, parse date) - Data type conversion

Database Query Node: - Query database - Custom queries (SQL) - Result processing - Data filtering and sorting

HTTP Request Node: - External API calls - GET, POST, PUT, DELETE methods - Headers configuration - Body configuration (JSON, form data) - Response handling - Error handling

AI Response Node: - AI-powered responses - AI integration - Context-aware responses - Natural language understanding - Intent recognition

Error Handler Node: - Error handling - Error catching - Error messages - Fallback actions - Retry logic

Handoff Node: - Transfer to human agent - Agent assignment - Context transfer - Conversation history preservation

Loop Node: - Iteration - For loops - While loops - Loop conditions - Array iteration

End Node: - Flow termination - Flow completion - Final actions - Cleanup operations

New & Advanced Nodes

These nodes bring full respond.io parity (and beyond). All follow the same drag-and-drop, configure-and-connect pattern as the core nodes.

Close Conversation Node: - Marks the conversation as CLOSED (e.g. after the bot resolves an inquiry) - No configuration required

Open (Reopen) Conversation Node: - Reopens a closed conversation (e.g. when the customer replies again) - No configuration required

Add Comment Node: - Writes an internal note onto the contact's activity timeline (not sent to the customer) - Supports {{variable}} interpolation - Useful for leaving context for human agents

Add Tag Node — Add / Remove modes: - The Add Tag node now supports a mode toggle: add a tag or remove a tag from the contact - Multiple tags, {{variable}} supported

Jump To Node: - Redirects execution to any other node in the flow (loop back to a menu, skip ahead, build re-usable sub-sections) - Pick the destination node from a dropdown of the current flow's nodes - Compiles transparently — no extra runtime hop

Date & Time Node: - Branches on whether the current time falls inside configured business-hours windows - Per-day time ranges (e.g. Mon–Fri 09:00–17:00) evaluated in a chosen IANA timezone - Two outputs: In hours / Out of hours - An empty schedule always takes the In hours branch

Sub-flow Node (Trigger Another Workflow): - Starts another published flow for the same contact - Optionally pass the current flow's variables to the child - Fire-and-forget (default) or await-dispatch toggle - Enables modular, reusable flow design

Google Sheets Node: - Appends a row to a Google Sheet (spreadsheet id or URL + tab name) - Ordered cell values, each supporting {{variable}} - Uses the organization's connected Google account (reconnect Google once to grant Sheets access)

Update Lifecycle Node: - Moves the contact to a chosen lifecycle stage (Lead → Customer → …) - Fires the Lifecycle Updated event for downstream flows/automation - Stages are org-customizable in Settings → Lifecycle Stages

Enhanced Condition (Branch) Node: - Full operator set: equals / not equals, contains / does not contain, starts with, ends with, matches regex, >, >=, <, <=, is empty, is not empty - Multiple conditions combined with Match ALL (AND) or Match ANY (OR) - Backward-compatible with existing single-condition nodes

Multilingual Quick Reply: - A single Quick Reply node holds per-language message bodies and button labels, chosen at send time from the customer's {{lang}} / {{language}} variable — one node answers every language, no per-language branching - Missing translations fall back to the Default content per-string; {{variables}} interpolate in every language (and now in button labels) - Fully backward compatible — nodes without translations send their single base text unchanged - Full guide: Building Multilingual Bot Flows

Flow Triggers

A flow starts from a Trigger Node, configured with one of these events:

Conversation & messaging - Message Received / Message Sent (optionally filtered by channel/account) - Conversation Created / Assigned / Status Changed - Broadcast Response — fires when a contact replies to a campaign/broadcast within 72h (carries campaign_id, campaign_name) - Manual Shortcut — agent-launched from the inbox Shortcuts menu (see Inbox Shortcuts)

Contact - Contact Created / Updated / Assigned - Contact Tag Updated — fires when tags change - Field Updated — Contact Updated with an optional watch field, so the flow only runs when that specific field changes - Contact Lifecycle Updated — fires when a contact's lifecycle stage changes

Deals & tasks - Deal Created / Stage Changed / Updated / Assigned - Task Created / Updated / Completed / Overdue

Other - Call Ended — fires when a call recording arrives (carries call id, contact, duration) - Incoming Webhook (HTTP POST) - Zoom Recording Completed

Inbox Shortcuts (Manual Trigger)

Agents can launch a flow on demand from the conversation view: - Build a flow whose trigger is Manual Shortcut and publish it - A Shortcuts menu (⚡) appears in the inbox conversation header listing those flows - Selecting one runs it for the current conversation, passing the conversation/contact context as initial variables - The flow's webhook URL is never exposed to the browser — launches go through a secure, org-validated endpoint

2. Flow Builder

Visual Flow Editor: - Drag-and-drop interface - Node-based design - Connection lines - Zoom and pan - Grid alignment - Snap-to-grid

Flow Management: - Create new flows - Edit existing flows - Delete flows - Duplicate flows - Archive flows - Version control

3. Flow Configuration

Flow Settings: - Configure flow properties - Flow name - Description - Status (Draft, Published, Archived) - Version tracking

Node Configuration: - Configure individual nodes - Node properties - Validation rules - Error handling

Connection Management: - Manage node connections - Add connections - Remove connections - Conditional connections

4. Flow Testing

Test Mode: - Test flows before publishing - Simulate conversations - Debug mode - Step-through execution - Variable inspection

Flow Validation: - Validate flow logic - Error detection - Warning messages - Best practice suggestions

5. Flow Publishing

Publish Flows: - Make flows active - Publish to production - Version management - Rollback capability

Flow Status: - Draft - In development - Published - Active and running - Archived - Disabled

Unpublish Flows: - Disable flows - Temporary disable - Permanent archive

6. Flow Execution

Execution Features: - Automatic flow triggering - Bot session management - Flow state tracking - Execution logs - Error handling - Real-time execution

7. Flow Analytics

Flow Performance: - Track flow metrics - Execution count - Success rate - Average completion time - Drop-off points - User engagement metrics

Node Analytics: - Individual node metrics - Node execution count - Success/failure rates - Average processing time - Bottleneck identification

8. Pagination

50 Flows Per Page: - Efficient loading - Page navigation - Flow search and filtering


Conditional Logic Details

Condition Support: - Text matching (equals, not equals, contains, does not contain, starts with, ends with, matches regex) - Empty checks (is empty, is not empty) - Number comparison (greater than, greater than or equal, less than, less than or equal, equals, not equals) - Date / business-hours branching via the Date & Time node - Variable checks (compare against the incoming message or any upstream node's output field) - Multiple conditions per node combined with Match ALL (AND) or Match ANY (OR) - Switch/case multi-way branching - Loop iterations over arrays

Advanced Logic: - Condition (Branch) Node - if/else branching with a full operator set and multi-condition AND/OR - Switch Node - Multi-case branching with multiple outputs (AI intent classification supported) - Date & Time Node - branch on business-hours windows in any timezone - Jump To Node - redirect execution to any node (loops, skip-ahead, reusable sections) - Loop Node - Iterate over arrays with index tracking

6. Input Collection

Input Types: - Text input - Number input - Date input - Choice selection - File upload

Input Validation: - Required fields - Format validation - Range validation - Custom validation

7. Handoff to Agents

Handoff Features: - Transfer conversation to agent - Notify agent of handoff - Preserve conversation context - Resume flow after handoff

8. Flow Settings

Settings: - Flow name and description - Trigger configuration - Timeout settings - Error handling - Flow variables

9. Variable Management

Variable Features: - Set variables during flow execution - Get variables for use in nodes - Variable scoping (flow-level) - Variable transformation - Use variables in conditions and messages

Variable Usage: - Store user input - Store API responses - Store computed values - Pass data between nodes - Use in message templates

10. Advanced Features

Delay & Timing: - Delay execution for specified duration - Time-based flow control - Scheduled actions

Error Handling: - Error handler nodes - Try-catch flow patterns - Error recovery paths - Error logging

Data Transformation: - Transform data between formats - Data mapping - Data validation - Data enrichment

Database Integration: - Query database tables - Filter and search data - Use query results in flow - Update database records

AI Integration: - AI-powered responses - Natural language processing - Context-aware replies - Smart conversation handling


Use Cases

Use Case 1: Create Welcome Bot Flow

Scenario: Business wants automated welcome message for new conversations.

Steps: 1. Go to Flows 2. Click "Create Flow" 3. Enter name: "Welcome Flow" 4. Add Start Node 5. Add Text Node: "Hello! How can I help you today?" 6. Add Condition Node: Check if message contains "order" 7. Add branches: Order inquiry → Text Node with order info 8. Add default branch: General inquiry → Handoff Node 9. Publish flow 10. Verify flow active

Expected Outcome: Welcome flow automatically responds to new conversations.

Use Case 2: Create Information Collection Flow

Scenario: Business wants to collect customer information via bot.

Steps: 1. Create new flow 2. Add Start Node 3. Add Text Node: "What's your name?" 4. Add Input Node: Collect name 5. Add Text Node: "What's your email?" 6. Add Input Node: Collect email 7. Add Text Node: "Thank you! An agent will contact you." 8. Add Handoff Node 9. Publish flow

Expected Outcome: Bot collects customer information before handoff.

Use Case 3: Create FAQ Bot Flow

Scenario: Business wants bot to answer common questions.

Steps: 1. Create FAQ flow 2. Add Start Node 3. Add Text Node: "What would you like to know?" 4. Add Condition Nodes for each FAQ topic 5. Add Text Nodes with answers 6. Add Handoff Node for complex questions 7. Publish flow

Expected Outcome: Bot answers common questions automatically.


Test Cases

Test Case 1: Create Flow

Test: Verify flow creation

Steps: 1. Go to Flows 2. Click "Create Flow" 3. Enter name and description 4. Save flow 5. Verify flow appears in list 6. Open flow builder 7. Verify flow editor loads

Expected Result: Flow created successfully

Test Case 2: Add Nodes

Test: Verify node addition

Steps: 1. Open flow builder 2. Add Start Node 3. Add Text Node 4. Connect nodes 5. Configure Text Node message 6. Save flow 7. Verify nodes saved

Expected Result: Nodes added and connected correctly

Test Case 3: Publish Flow

Test: Verify flow publishing

Steps: 1. Create flow 2. Add nodes and connections 3. Validate flow 4. Publish flow 5. Verify status changes to PUBLISHED 6. Verify flow active

Expected Result: Flow published and active

Test Case 4: Conditional Logic

Test: Verify conditional branching

Steps: 1. Create flow with Condition Node 2. Set condition: message contains "help" 3. Add True branch: Text Node "I can help!" 4. Add False branch: Text Node "What do you need?" 5. Test with "help" message 6. Test with other message 7. Verify correct branch executed

Expected Result: Conditional logic works correctly


API Integration

Create Flow

Endpoint: POST /rest/v1/bot_flows

Request:

{
 "organization_id": "org-uuid",
 "name": "Welcome Flow",
 "description": "Welcome new customers",
 "status": "DRAFT",
 "nodes": [
 {
 "id": "start-1",
 "type": "START",
 "position": { "x": 100, "y": 100 }
 },
 {
 "id": "text-1",
 "type": "TEXT",
 "message": "Hello!",
 "position": { "x": 200, "y": 100 }
 }
 ],
 "edges": [
 {
 "source": "start-1",
 "target": "text-1"
 }
 ]
}

Publish Flow

Endpoint: PATCH /rest/v1/bot_flows/{id}

Request:

{
 "status": "PUBLISHED"
}


Best Practices

  1. Flow Design
  2. Keep flows simple and focused
  3. Use clear node names
  4. Test flows before publishing
  5. Handle errors gracefully

  6. User Experience

  7. Provide clear instructions
  8. Use friendly language
  9. Offer handoff option
  10. Set appropriate timeouts

  11. Flow Organization

  12. Name flows descriptively
  13. Document flow purpose
  14. Archive unused flows
  15. Version control flows

  16. Performance

  17. Optimize flow complexity
  18. Limit node count
  19. Use efficient conditions
  20. Monitor execution time

Troubleshooting

Flow Not Triggering

Issue: Flow not executing

Solutions: - Check flow status (must be PUBLISHED) - Verify trigger configuration - Check bot session state - Review execution logs

Flow Errors

Issue: Flow execution errors

Solutions: - Validate flow structure - Check node configurations - Review error logs - Test individual nodes



Last Updated: June 2026