Flow Builder - Creating a Basic Bot
    • 06 Feb 2024
    • 14 Minutes to read
    • Contributors
    • Dark
    • PDF

    Flow Builder - Creating a Basic Bot

    • Dark
    • PDF

    Article summary


    CommBox new Flow Builder presents a gateway to crafting powerful chatbots effortlessly. Our intuitive and user-friendly platform incorporates advanced AI technology and innovative user experience that enables both tech-savvy and non-technical users to create impactful bots.

    In this beginner’s guide, we start with the basics, offering step-by-step instructions that make bot creation accessible to all without the need for coding. We describe the canvas, the different panes, and the functionalities as we build a real bot that can help your organization divert incoming traffic to different departments.

    Bot builders, automation managers, and developers can use our Flow Builder to create an extensive automation system that can integrate API calls, add AI knowledge base items, identify intents, and, coming very soon, enable our Autonomous Agent handle all interactions. Additional automation guides cover those advanced topics.


    Incorporated CommBox Features
    CommBox has many powerful capabilities that the Bot can incorporate. For this guide, we utilized the following capabilities:

    Business Hours
    Chat Channels and Sub-Channels

    If you are not familiar with these features, read the above-linked guides for some general information. You’ll need to set up these modules to enable our demo bot to function.

    Set Up a Chat Channel
    To preview the bot interaction, we use a Chat channel. If you don’t use chat for communication, set one up by navigating to Settings > Chat and clicking the + Chat Channel button at the top. Name the channel and activate the needed features that you want the bot to perform.

    Planning Phase
    Our platform is in itself a great planning tool for the actual bot, laying out the steps in a logical order and then filling in the “details”. However, for the newcomers, we used www.draw.io for our planning phase.

    Our bot will:

    • Let the customers select a category of service
    • Tag the customers
    • Ask open questions
    • Divert the conversations appropriately.

    The Bot Schema:


    Getting Started

    We start with setting up a new building environment and explaining its components.

    To create a new Flow:

    1. At the main menu, click the new Automation Hub icon, or open the old Flow builder and click the banner to transfer to the new Flow builder.

    2. At the Flows tab, click the Create Flow button.

    3. At the new dialog box, enter the name of the new flow and click Create.

    The Flow Builder Canvas

    The bot’s conversation with the customer comprises different dialog Steps, where the bot gives the customer choices in the form of buttons or it reacts to the free text responses typed by the customer. Other Steps act behind the scenes to create different functionalities, such as jumping to a different step or activating an API. All the steps together make up the Flow.

    Building the Flow involves adding Steps to existing ones and modifying each additional Step using the Properties Panel at the side, which appears once you click on a specific step.
    At the top part of the screen is the Flow Settings bar that controls the defaulting behavior of the Steps.

    The steps

    By default, Steps appear as buttons on the customer’s interface only when the previous step has more than one “child”.
    The caption of the button is the title of the step. Once the customer selects a step by clicking a button, the message of the step is displayed.


    Step deactivation – Flow will ignore that step and any branch past it.
    Alternative title – Flow will show those titles and not the step’s headings. See the example below where the customers do not see “Option 1” but rather “Details please,” etc.
    Add comments – Add comments for yourself. Comments will not be shown to customers. Note the icon at step “Option 1”.
    Title editing – Visible once you hover over the title. Edit it at any time.
    Step Visibility – Enables the step’s title to appear as a sole button before the flow continues.

    A new Step is created by hovering next to the desired step you want to build on, clicking the + sign, and selecting the type of Step from the pop-up menu.

    Types of Steps:


    The Properties Panel

    Note: The top part of the Properties Panel includes the Step’s properties.
    The lower part contains the steps’ settings and functionalities.

    Flow Settings

    This menu includes default actions in the Flow that deal with the lack of response by the customer and navigation, different fields used in the data collection, and the AI settings (coming soon!). When building more elaborate bots, the Flow Settings can save time and effort during the creation process.
    We did not use these settings in this guide.


    Building the Bot

    Let’s begin!

    1. Add a new Step by hovering next to the green flag (the desired step you want to build on), clicking the + sign, and selecting the type of Step from the pop-up menu. Choose the Say step, name it “Welcome”, and enter a welcoming message.


    1. Hover next to the “Welcome” step and click the + sign. Use it to create three (3) different Say steps. Note that after the 2nd one, the new steps will move below the “Welcome” step to indicate them as “children”.
      Name them “New customers”, “Tech support”, and “Customer service”.

    2. Availability check: Create two more Say steps for the “New customers” step, calling one “During business hours” and the other “Off business hours”.


    1. At the step’s Properties Panel, select the Entry Conditions section and click +Add Condition.
      Availability Conditions are based on the specific availability status of the channel.
      a. Select the channel and subchannel (sub-stream) if applicable.
      b. Select the operator – whether the channel IS (=) at the selected state or IS NOT (≠) at the selected state.
      c. Select the Channel State:
      • Active – The specific channel is currently Active, within business hours, with available agents.
      • Inactive – The specific channel is currently Inactive.
      • Busy – The channel is Active, within business hours, but there are no available agents (all agents have maximum conversations assigned to them).
      • Off hours – based on the business hours module, the channel is currently after business hours.


    Based on the statuses used at your organization, you may want to add more conditions.
    For the “Off business hours” step, click again on the +Add Condition button and add the “Off hours” channel status.

    Note: The And/Or selection makes a difference when more than one condition exists. “Or” will proceed to the step if either Inactive or Off hours channel status is used.
    “And” will require both statuses to be active simultaneously (impossible in this case) in order to go to the next step.

    1. Add a new Forward step to each of the steps with a condition.

    For Active status:
    a. Select the appropriate channel.
    b. Check the box Transfer to a human agent.
    c. Add a short message.

    For Inactive or Off hours status:
    a. Select the appropriate channel.
    b. Check the box Transfer to a human agent.
    c. Check the box Add Availability Message.
    d. Select the appropriate channel.

    1. Added capability: Tags
      We want to tag the customers based on which division they selected.
      a. Go back to the “New Customer” step (the first level of steps).
      b. Open the Set Tags section at the panel and click +Add Tag.
      c. Select the Customer tag option.
      d. Click on the desired tag(s) followed by OK.
      e. Repeat this process at the “Tech Support” and “Customer Support” steps as well.


    1. Save what has been created so far and try it out.
      Click the Preview button at the top and select Save Changes and Run Preview.

    2. Select the chat communication channel and activate the chatbot that appears.
      image.png{height="" width=""}
      Play the roles of both customer and agent to see the bot’s progression.


    1. Once you finish running the Flow, click on the chat menu and select Logout to reset the conversation. Click the “X” button of the iFrame to close the chat.

    We are ready to go to the next section!

    1. Add an ASK step to the Tech support step (2nd child).
      This type of step (also known as a "question" step) requires the customer to type in the answer.
      Note that the actual question appears in the reply box, so the questions or instructions have to be short (up to 30 characters).
      When asking a “long” question:
      a. Check the “Add a short message…” box.
      b. Enter the question in the text box.
      c. Click the +Add Question.
      d. At the new dialog box, use the Question to ask field to guide the customer’s reply. For example: Type your answer here, Yes / No, Enter your Id, etc.
      e. Enter the answer’s field Type (string, text, etc.) and its Name (as generic as possible).
      f. Click Save in the dialog box.

    2. The answer the customer enters will be recorded in the conversation with the agent.
      The next step in our bot is to transfer the customer to an agent after checking the availability status.
      Since we did that already, we can copy and paste!
      a. Navigate to the “New customers” step, click on the 3-dot menu, and select Copy tree.
      b. Navigate to the new Ask step, click on the 3-dot menu, and select Paste. The board should now have the availability checking and channel forwarding for that section as well.
      c. Clean unwanted information from the steps, like replacing the “New Customers” title with “Tech support”, erasing any buttons, etc.,
      d. Change the forwarding channels to Tech Support and Save.

    3. The last section – Customer Service:
      a. Navigate to the step before the availability checking, click the 3-dot menu, and select Copy single step.
      b. Navigate to the “Customer Service” step, click the 3-dot menu, and select Paste.

    4. Repeat the copy and paste for the “Off business hours” to the “Customer Service” step as well.

    5. For the “During business hours” Say step, add an Ask step.
      This is where customers can tell the reason for calling.
      a. Give the title “Reason_CS” (not visible to the customer).
      b. Check the top check box and ask the customers how we can help them.
      c. Click +Add Question and add the text that will appear in the reply box (Recommended to be under 20 characters)
      d. Select The field Type (abc Text) and enter a Field Name (with no spaces).
      e. Verify that “Mandatory” is checked and click Save.


    1. Add a New forward step:
      a. Select the channel and subchannel to transfer the customer to a customer service agent.
      b. Check the “Transfer to human agent” box.
      c. Add a short message advising the customer.


    1. Last branch!
      a. Add a child to the “Customer Service” step and label it “Off business hours”.
      b. Add the entry condition as before, forwarding the flow to this branch only if the agents are NOT available.

    2. Add an End step to this branch.
      a. Select the Irrelevant status
      b. Check Add Availability Message
      c. Select the appropriate channel

    3. Add a capability: Delay
      We want to add a Delay functionality to the Ask steps to guide the flow in the event the customer is not responding to a question.
      a. Navigate to the “Customer Service” Ask step and select the Delay section in the Properties Panel.
      b. Check the “Jump if customer is idle” option and add 1 minute of response time.
      c. Select the Ending step “Irrelevant” from the list, which is where the flow moves to if the customer is not responding.

    Delay before a step:
    When you want the customer to read a long text before clicking on the next step, check the “Delay before step” option and add the appropriate time.
    Note that entering a long period will make it look like the site is not working properly.

    1. Navigate to the Ask step by the Tech Support section and add the Delay capability there as well.


    Common Steps not used in this flow: Closed question.

    Sometimes, you want the customer to answer a yes/no question or a question where one answer will lead to one outcome, but all the other answers will lead to another.

    Closed questions require an Ask step with a desired value, followed by Steps with entry conditions for the different outcomes.

    1. Create an Ask step:
      a. Title it “Verify choice”.
      b. Add a short message to ask a closed question (Where the answer is Yes/No).
      c. Click the + Add Question button and enter “Yes / No”, which will appear in the reply box.
      d. Select the field Type (Text) and name it “yes_no” (underscore instead of space).
      e. Check the Mandatory selection and click Save.

    2. The answer the customer enters will determine the next step.
      After an ASK step, create an empty Say Step with two children.
      The 1st child will deal with a positive response to the question, while the 2nd child will cover all other answers.

    3. Select the first of the “children”
      a. Open the Entry Conditions section and click +Add Condition.
      b. Select the Field Condition
      c. At the dialog box, enter “{{yes_no}}” in the Data field.
      d. Set the Operator to “= Equals to”.
      e. Enter “yes” as the Value.
      If the customer answers “yes” in the yes_no field, the flow will enter the 1st child.

    4. Select the second of the “children”
      a. Open the Entry Conditions section and click +Add Condition.
      b. Select the Field Condition
      c. At the dialog box, enter “{{yes_no}}” in the Data field.
      d. Set the operator to “≠ Equals to” (Not equal to).
      e. Enter “yes” as the Value.
      If the customer answers anything but “yes”, the flow will continue to the 2nd child.



    1. For the 1st child (answer Yes), create a Say step that will continue the flow.

    2. For the 2nd child, add a a new Jump Step.
      a. Enter the node number at the beginning of the process (n_2).
      b. Add an apologetic comment to the customer for not supplying the correct step.

    Optional: In the Say step before the jump, and an apologetic message for not “getting” what the customer wants.

    More Functionalities


    Working closely with the Business hours module, you can check every step to include a pre-set message regarding the availability of the agents.

    Intents and Keywords

    Working closely with the Intents module, the system detects phrases and keywords entered by the customers while going through the flow and sending them directly to a designated step.
    This capability is beyond the scope of this article.

    Entry Conditions


    The Entry conditions capabilities set conditions for the flow to continue into a specific branch.
    Availability Condition is based on the Business hours module based on available channels (agent statuses). The topic is presented in step 4 above.
    Field Condition is based on input by the customer - discussed in the Closed Question section above.
    The Custom Code is beyond the scope of this article.



    Used and discussed in steps 18 and 19 of the Flow.

    Set Tag


    Tags are used and discussed in step 6 of the flow. Tags are created and managed at the Tags tab of the general settings menu in the CommBox console. You will need to have a few to make use of this feature.

    Set Variables


    At any point of the flow, you can add variables that can affect the behavior of the flow at a later point. For example, a step will establish that the field “customer_retention” is equal to 1. Later on in the FLow, and based on this set variable, a Forward step will determine if this customer should be transferred to the Customer Retention agent or to a regular Customer Service agent.


    When the flow reaches a step with an added Send, a premade email or a Text/SMS message is sent to a designated person. Note that email and/or Text/SMS messages have to be set up in the CommBox system.

    1. At the Send menu, click the +Add Send Item and select the form of communication.
    2. Enter all relevant fields, including the email address and message, and click Save.



    When the Flow reaches a step with an added Remark, the message entered here will be added to the conversation (Visible only to the agent).

    Advance Options


    The advanced options are channel-specific.

    Chat channels only:

    • Disable Free Text Replies – Customer cannot type any free text.

    WhatsApp channels only:

    WhatsApp presents options for selections in the following manner:

    • 1-3 choices as buttons
    • 4-10 choices as a pull-down menu
    • More than 10 options as a numbered list

    When presenting a pull-down menu (4-10 steps from one leading step), users can add the following:

    • A Title – WhatsApp titles for the buttons/options selection are limited to 20 characters (including space). Write the shortened title here in the event the title of the step is longer (or shorten the one at the top for uniformity in all channels).
    • Interactive header and footer – Enter a simple text or an approved URL for an interactive message as part of the bot (header or footer)



    The Design capability is channel-type specific.
    The Items in Row capability is only available in the CommBox Interactive Navigator App. It sets the number of options to choose from that will be displayed in one row.
    The uploading of images as part of the flow is only available on Chat channels.

    Was this article helpful?