Flow Editor is the heart of BotStar platform. Designing a solid main flow is the foremost important task when creating a chatbot before even thinking about how to make it smart.
Within the Flow Editor, you can set up conversation blocks, connect them together, provide instruction on navigation. You can even load data dynamically into the flow, run the code fast and easilly.
BotStar Flow Editor
Above is a simple breakdown of the Interface of Flow Editor:
Library Panel - the library of blocks which you can drag onto the design canvas.
Variables Panel - lists all the variables you define.
Properties Panel - shows settings for each block and these settings can be vised to config contents and appearance of any blocks.
Trigger Panel - the place where you control and manage what will trigger a block such as another block.
Outgoing Connections Panel - shows the next block which is from the selecting block to manage and customize.
Outline Panel - shows all the blocks that appear in Flow Editor. By clicking on the name of block at this panel, you are directed to the block.
Source of Block - shows the source which the blocks is created.
Toggle Menu button - make the menu which appears at the left bottom corner in Facebook Messenger Box visibility.
1. Library Panel
Library is the first tab located in the left column in the Flow Editor.
Library contain blocks that the bot sends to the user or setups actions on behalf of the bot operator.
Regular Blocks - the most basic blocks that render simple content such as text, multimedia, etc.
Text- set up a text only message and send to the end-user.
Horizontal List- display a string of cards that can be swiped horizontally (max. 10 cards). This block is suitable for displaying catalog of products or services that emphasize big thumbnail images.
Vertical List- display a list of items vertically (max. 4 items). This block is suitable for displaying catalog of products or services that emphasize more on all items getting displayed at once.
Button List- display buttons that are stacked together (3 buttons max). This block is suitable for simple navigating purpose such as go to next block, open webview, make a phone call, log in with Facebook, log out from service.
Video- send a playable video embedded in a single message. This block allows the bot operator to use link URL from Internet to insert video, upload a video from computer or load video from a field of the mapped CMS entity.
Image- like the Video Block,
Imageblock also allows the bot operator to use link URL, load image from CMS entity and upload from computer to send a clickable picture in a single message to the end-user.
File- attach a file in a single message by uploading, using a link URL. User can click on the link to download.
Audio- send a playable audio in a single message. User can click on to play audio. Audio can be uploaded from computer or inserted from a link URL.
Advanced Blocks - these are advanced blocks that provide you advance functions to create the bot flow.
Module- can be used to group together blocks that have a common goal, i.e order process, group of blocks: ask for email, ask for customer address, ask for phone number. Besides,
Modulecan be nested in another
Scripting- Run NodeJS script to perform complicated logic like manupilation of variables, api calls, complex calculations.
JSON API- Send HTTP request and render responses.
Actions are blocks that perform actions in the background instead of rendering messages.
Save to Checkpoint: Save variables into a Checkpoint record (which can be accessed in Checkpoint menu in app). This action is suitable for captures leads, bookings, orders, price quotes and user enquiries.
Send Email: Send an email to an intended address. Email fields (title and body) can contain variables.
Send Email Action
Human Takeover: This block is used to transfer the takeover of conversation held by the bot to a bot operator for a short time. Conversations can be taken over in
Run Script: Run NodeJS script to perform complicated logic like manupilation of variables, api calls, complex calculations.
Tag/ Untag: Add a tag to a chat user or Remove a tag from a chat user. For example, when a user completes an order, you can add a tag named "Purchased" for these users to broadcast promotional news in the future. .
Subscribe: Add an user to the list of subscribers of bot. Usually, this may happen after the user had already unsubscribed in the past.
Unsubcribe: Remove a chat user from the list of subscribes of bot.
Query JSON API: Send HTTP requests.
Update User Attributes(For PRO Plan only): Update user attribute right within the flow and use them to categorise your audience for later retargeting campaign.
For more information, please read our User Attributes
Language Switch: This block lets chat user choose the language they want to communicate with your bot in case your bot works with multi-languages.
Switch Language Block
2. Variables Panel
Variables Panel is on the left-hand side of Flow Editor, which lists all the variables.
Variable is a data placeholder that has a pair of label name and value. The value can change over time.
Local Variablesare defined within the flow and often is used to store user's response. These data can be manipulated further on for more complicated flows. To capture data into a variable, click on a block and browse to the
PropertiesPanel on the right-hand side.
Global Variablesare often used for text that are repeated many times like your brand name, contact number or address, etc.
Global Variables, you can click on
Settings and proceed to create
Create Global Variables
Note: If the value of your variable is too long, the output message will be cut off by our system.
3. Properties Panel
Properties is located on the right-hand side of the Flow Editor, under the
Settings button. It shows settings for each block and these settings can be vised to config contents and appearance of any blocks.
Quick Reply is the button that offers the user options to respond promptly for next step.
None: shows no quick replies
Static: are buttons with static text:
Text: BotStar allows you to enter up to 20 characters to create a name for the button, at the same time, you can use a picture link or upload an image for setting button icon.
Create Static Quick Reply Button
Location: is used to send the user's location to the bot when they choose this button.
Create Quick Reply Button (Send Location)
Create Static Quick Reply Button (Send Email)
CMS: Icons and texts can be loaded dynamically into
Create CMS Quick Reply Button
Typing Time is the time to display the message to the user. For example, the typing time of block is 3 seconds meaning that the user has to wait 3 seconds for the bot to compose the message and display it to the user.
Use CMS Data
You can easily insert data from CMS into the Block by turning on the
Use CMS data toggle it provides options to select and filter CMS items by Entity, Query Limit, Sort by, Order by.
Use CMS Data
For more information, please read our documentation about CMS
User Response Handling
Each block before moving on to the next block according to the conditions in outgoing connector will check if a user response is expected. By switching on the toggle
Save Response To Variable, the bot will pause and wait for user to respond and capture the response into a local variable.
By enabling Save Response To Variable in User Response Handling, all the information that the user chats with the bot will be saved and used for the purpose of Checkpoints from this block or insert variable to the answer for the bot continues to reply.
When Variable Already Has A Value: There are 2 options
Override with new valueand
Combine values into a list
Override with new value: By selecting this option, bot will capture the latest answer provided by this user over the time.
Combine values into a list: If this block is visited multiple times, collected variables and values in the Block will be aggregated into an array of object. For example with the block for purchasing products, when this feature is enabled, the product that the user selects will be saved and aggregated once the user answers.
Response Validation: Type of information you want the user to enter.
When choosing one of these formats, users are forced to enter a response that matches each format, otherwise the bot will not continue or report the error.
Validation Error Message: This is where you enter the message you want the bot to reply to the users when they enter an answer that does not match the format you have set up in
Show This Block Again Upon Validation Error: If enabled, bot will display the same Block again with text message that is defined in
Validation Error Message.
User Response Handling
4. Trigger Panel
Trigger Panel let you control and manage what will trigger this block. A block can be triggered via different sources such as another block, a global keyword, a training phrase or external triggers.
Global Triggers- one or more conditions will appear here if you set up. Here, you can set up condition. You can add one or more conditions so that a block appears.
Block Triggers- these are blocks that trigger the block you are selecting. It can be apreceding block or block that has elements connecting to this block.
"Ask for email" Block is a trigger of "Ask for phone number" Block
External Triggers- Triggers that occur not within the bot.
Click-to-Messenger Ads Payload: When a user clicks or taps on the ad in Facebook News Feed or Instagram Feed, a conversation with your bot will trigger the specific block as the first message user will see in the Messenger app.
m.me Referral Link:
m.meis a shortened URl service operated by Facebook that redirects users to a person, page, or bot in Messenger. You can use them on your website, email newsletter, and more. For more detail, click here.
5. Outgoing Connections Panel
This section provides an overview of outgoing connections from this block. For example, block Ask the phone number is the selected block, this block generates a block Choose date and time. Therefore, block Choose date and time appears at the
Outgoing Connections Panel for you to easily manage and customize.
Outgoing Connections Panel
6. Outline Panel
Outline Panel helps you manage all the blocks that appear in
Flow Editor including Regular Blocks, Advanced Blocks and Actions. You will be immediately directed to the block you want by clicking on the name of block in