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.
Triggers 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.
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.
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, Image block 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.
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, Module can be nested in another Module.
Scripting - Run NodeJS script to perform complicated logic like manupilation of variables, api calls, complex calculations.
JSON API - Send HTTP request and render responses.
In Actions, blocks perform actions in the background instead of rendering messages.
Save to Checkpoint: This action is suitable for captures leads, bookings, orders, price quotes and user enquiries. This action helps you save variables into a Checkpoint record (which can be accessed in Checkpoint menu in app).
Update User Attributes: Update user attribute right within the flow and use them to categorise your audience for later retargeting campaign. For more User Attributes, please read our documentation at here
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.
Add To Campaign: This action helps you add the user in the current chat session to a particular campaign. He/she will start receiving messages defined in the campaign.
Remove from Campaign: The user will no longer receive anymore message from the selected campaign when you use this action.
Let 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 Inbox.
Run Script: Run NodeJS script to perform complicated logic like manupilation of variables, api calls, complex calculations.
Query JSON API: Send HTTP requests.
Send Operator Email: Send an email to an intended address. Email fields (title and body) can contain variables.
Send Email Action
Switch Language Block
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.
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 Variables are defined within the flow and often is used to store user's response. These data can be manipulated further on for more complicated flows.
Global Variables are often used for text that are repeated many times like your brand name, contact number or address, etc.
To create Global Variables, you can head up to Build > Global Variables and proceed to create Global Variables.
Create Global Variables
Note: If the value of your variable is too long, the output message will be cut off by our system
Properties is located on the right-hand side of the Flow Editor, under the Preview 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.
- Location: This button is used to send the user's location to the bot when they choose this button.
- Phone number or Email: When the users select this button, they will send an Email or Phone Number to the bot. If the user's profile does not have a phone number or an email, the quick reply will not be shown.
Note: You can totally change the position of all buttons with Position button.
CMS: Icons and texts can be loaded dynamically into Quick Replies.
Typing Time: Display the time that the message delivers 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
Use CMS Data
CMS (Content Management System) is one of special feature by BotStar. With CMS, you can create and manage digital content for your bot. Also, CMS allows your users browse your products on chatbot easily.
You completely 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.
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 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 value and 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 such as Email, Date, Phone number, Web link, Number. 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 Response Validation.
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.
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. You could manage these different sources within Global Triggers, Block Triggers, External 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.
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
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.me is 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.
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
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 Outline Panel.