TutorialNo-CodeBotBuilderFeatures

Mastering the Visual Flowchart

David Maker
| 3/10/2024
Mastering the Visual Flowchart

The Power of Visual Logic

Gone are the days when building a complex bot required a computer science degree. With BotBuilder’s Flowchart Editor, you are essentially “programming” visually. But simple doesn’t mean simplistic.

In this guide, we’ll build a Customer Support Routing Bot that handles inquiry classification, ticket creation, and human handover—all via drag-and-drop blocks.

Core Concepts

Before we start dragging blocks, let’s define the three pillars of BotBuilder logic:

  1. Triggers: What starts the flow? (e.g., User joins a group, types a specific command, or clicks a button).
  2. Actions: What does the bot do? (e.g., Send message, Assign Role, HTTP Request).
  3. Logic: How does the bot decide? (e.g., If/Else, Wait for Input, Set Variable).

Step 1: Designing the Intake Flow

Imagine a user types /help. We don’t just want to dump a text wall. We want to qualify the request.

The “Ask & Capture” Pattern

Instead of one-way firing, use the Input Block:

Block Configuration:

  • Type: Wait for Input
  • Prompt: “Please describe your issue in a few words.”
  • Save to Variable: {{user_issue}}

Once the user replies, their text is stored in {{user_issue}}. You can now use this variable in every subsequent block.

Step 2: Conditional Routing (The “If” Block)

Now, let’s categorize the issue using keyword detection (or simple strings).

VariableConditionValueAction
{{user_issue}}Contains“refund”Jump to Finance Flow
{{user_issue}}Contains“bug”Jump to Tech Support Flow
{{user_issue}}Else(default)Jump to General FAQ

This structure creates a branching tree. In the Flowchart UI, this looks like a diamond shape with three outgoing lines.

Step 3: Advanced Data Handling

Let’s say the user wants a refund. You need their Order ID.

  1. Message Block: “I can help with that. What is your Order ID?”
  2. Input Block (Validation: Number): Saves to {{order_id}}.
  3. HTTP Request Block:
    • Method: GET
    • URL: https://api.myshop.com/orders/{{order_id}}
    • On Success: Save {{order_status}}.
    • On Failure: Send “Order not found.”

This is the magic. You just integrated an external API without writing a single fetch() or curl command.

Benchmarks: Visual vs. Code

We ran a speed test comparing a senior developer writing a NodeJS bot vs. a product manager using BotBuilder for the exact same “Refund Flow”.

MetricNodeJS DeveloperBotBuilder UserDifference
Setup Time45 mins (Repo service, keys)2 mins (Login)22x Faster
Implementation120 mins15 mins8x Faster
Debugging30 mins (Syntax errors)5 mins (Logic check)6x Faster
Total Time195 mins22 mins~9x Efficiency

Conclusion

BotBuilder isn’t just a toy; it’s a rapid application development environment. By mastering variables and conditions, you can build systems that rival custom-coded solutions in a fraction of the time.

This article was sponsored by