Skip to content

Flow builder overview

This section will give you an overall idea about how to use the UChat flow builder. You can open a flow and try side by side when you learn it.

💡 IMPORTANT - 💁 Please make sure you go through every detail on this page before you start building bots.

Channels, Sub Flow and Step

image.png

Channels

To begin with, you need to create a channel. Currently, Messagingme.app provides you with 17 types of channels:

Facebook

Instagram

Telegram

Whatsapp Cloud

Tiktok

Slack

WeChat

Whatsapp

SMS

RCS

Voice

Line

Viber

Vk

Intercom

JivoChat

ChatWoot

SubFlow type

Flow consists of sub flows. There are 3 types of sub flow:

image.png

Sub Flow Type - General flow for sending messages and other user interactions, most common type of flow used in automations

Function Flow - Used for processing repetitive tasks

Workflow - Used for processing background tasks and tasks that neccesarily dont need user interaction

Step type

Sub Flow consists of steps. There are 8 types of steps:

image.png

💡 The differences among different types of flow are Flow Setup, Send Message Step and Question Step. Each channel has its own limitation of message types. For example, you can display a product gallery in Facebook Messenger while the SMS channel doesn’t support that.

Flow labels

Flow Labels are designed to help users label and organize sub-flows within their Flow Builder. Each label is customizable with its own name and color, making it easier to visually distinguish different flow types.

This feature is especially useful for those managing multiple sub-flows, offering quick identification and filtering options to streamline workflow management.

image.png

Creating a Label and Assigning Color

To create a label:

  1. Go to the Flow Builder.
  2. Enter the label’s name.
  3. Choose a color for the label.

image.png

By assigning labels with different colors, organizing sub-flows becomes effortless. You can easily spot and manage them based on their assigned categories.

Adding a Sub-Flow to a Label

Adding a sub-flow to a label is simple:

  1. Click on the vertical ellipsis (three dots) next to the sub-flow.
  2. Select Manage Labels from the dropdown menu.
  3. Add the sub-flow to your desired label.

image.png

By assigning labels with different colors, organizing sub-flows becomes effortless. You can easily spot and manage them based on their assigned categories.

Adding a Sub-Flow to a Label

Adding a sub-flow to a label is simple:

  1. Click on the vertical ellipsis (three dots) next to the sub-flow.
  2. Select Manage Labels from the dropdown menu.
  3. Add the sub-flow to your desired label.

image.png

image.png

This process ensures that your sub-flows are neatly categorized under the appropriate labels.

Accessing Sub-Flows by Labels

When it comes to filtering sub-flows by labels, you have two options:

  1. All Selected Labels: This filter will display only the sub-flows that contain all of the labels you select.

image.png

2 Any Selected Labels: This option shows all sub-flows that have at least one of the selected labels.

image.png

Managing Sub-Flows in Folders with Flow Labels

When you first access your flows, all flows are displayed, including those inside folders and the Root directory.

image.png

Once you apply a label filter:

  • Only the sub-flows that match the selected labels will be visible.
  • The unselected flows, both in the Root directory and inside folders, will be hidden from view.

image.png

When you open a specific folder after applying a label filter:

  • Only the sub-flows with the chosen labels will be visible inside that folder.
  • All other sub-flows that do not match the label filter will remain hidden, even if they exist within the same folder.

image.png

Bulk Actions for Flow Label Management

Flow Labels also offer bulk management capabilities. You can now:

  • Add or remove labels from multiple sub-flows at once
  • Move them into folders
  • Even delete sub-flows in bulk.

image.png

Field

Field, aka variable, is a container to hold a value.

ClassificationDescription
system field and custom fieldsystem field is created by the system with pre-defined variable name and type, while custom field is defined by yourself
bot field and user fieldbot field is shared in the whole bot, while each user has his/her own set of user fields
text field, number field, boolean field, date field, datetime field and JSON fieldsee variable type

User field

User field belongs to users. For example, each user has their own name and email address. So “name” and “email” are user fields.

Bot field

Bot field belongs to the bot. For example, a restaurant bot holds an address and contact number of the restaurant. So “restaurant_address” and “restaurant_contact” should be created as bot fields. Because you don’t want to manage different addresses or contacts of your restaurant for every user.

System field

System field is created by the system with pre-defined variable name and variable type. There are system bot field and system user field:

Field NameField NameField NameField NameField Name
User Nsuser fieldtextuser identification in MMnon-editable
User Id*user fieldtextuser identification from the channelnon-editable
First Nameuser fieldtextprofile infoin Question Step/Action Step
Last Nameuser fieldtextprofile infoin Question Step/Action Step
User Nameuser fieldtextprofile infoin Action Step
Genderuser fieldtextprofile infoin Action Step
Emailuser fieldtextprofile infoin Question Step/Action Step
Phoneuser fieldtextprofile infoin Question Step/Action Step
Profile Imageuser fieldtextprofile infoin Question Step
Localeuser fieldtextprofile infonon-editable
Timezoneuser fieldtextprofile infonon-editable
Languageuser fieldtextprofile infoin Action Step
Subscribeduser fielddatetimesubscribed timenon-editable
Last Text Inputuser fieldtextuser’s last inputedited by system
Last Interactionuser fielddatetimelast action timeedited by system
Last Button Titleuser fieldtextlast button pressededited by system
Flow Nsbot fieldtextflow(bot) identification in MMnon-editable
Sub Flow Nsbot fieldtextsub flow identification in MMnon-editable
Page Namebot fieldtextconnected Facebook page namenon-editable
Page Idbot fieldtextconnected Facebook page idnon-editable
Page User Namebot fieldtextusername of the page in Facebooknon-editable
Last FB Commentuser fieldtextuser’s last comment text in the Facebook pageedit by system
Last FB Comment Post Iduser fieldtextpost id of where user put the last commentedit by system
Last FB Comment total tagged usersuser fieldnumbertagged users amount in last commentedit by system
Last FB Comment total new tagged usersuser fieldnumbertagged but haven’t subscribed(to bot) users amountedit by system
Last FB Comment is existing usersuser fieldnumberbefore this comment, is he/she an existing user? yes=1,no=0edit by system
Live Chat Urluser fieldtext(for agent) visit to talk to user in live chatedit by system
NOWuser fielddatetimecurrent time in user’s timezone*edited by system
TODAYuser fielddatecurrent date in user’s timezone*edited by system
BOT_CURRENT_TIMEbot fielddatetimecurrent datetime in workspace’s timezoneedited by system
ITEMuser fieldarray (JSON)each item in a JSONin “For Each” message
SELECTuser fieldarray (JSON)selected itemin “Select” new step
SHOPbot fieldarray (JSON)store informationin Ecommerce Integration
CARTuser fieldarray (JSON)user shopping cartin Action Step
ORDERuser fieldarray (JSON)user’s last orderedited by system
Useruser fieldarray (JSON)user’s profileedited by system according to other profile values
DialogFlowuser fieldarray (JSON)DialogFlow responseedited by DialogFlow agent

💡 Note - If the channel doesn’t support timezone in user’s profile, or, the channel supports but the user don’t have a timezone value, workspace timezone will be used instead.

User Id in Different Channels:

ChannelMeaningExample Value
FacebookUnique Id in your Facebook page6288386817841812
InstagramUnique Id in your Instagram bot6570462892993643
TelegramUnique Id in your Telegram bot1173717756
SlackUnique Id in your Slack workspaceU017MKNENH
WeChatUnique Id in your WeChat accountoNzS3wpEjnA3tXmOcNxpqtAnBwWg
WhatsAppUser’s phone number without +61412345678
SMSUser’s phone number+61412345678
VoiceUser’s phone number+61412345678
GoogleConversation Id from Google8095938e-90cf-4347-ab94-9224308672b0
LineUnique Id in your Line botUb02c77c69c59c5be5597d58ce2701ebe
ViberUnique Id in your Viber botmdY9hOWdeQC6J/Sl19Qh8A==
VkUnique Id in your Vk bot705862439

💡 Note - The unique id from the channel is only unique in your Facebook page, Telegram bot, Slack workspace or WeChat account, not the unique id in the whole Facebook, Slack, etc.

Variable Type

There are 6 types of variable in MessagingMe.app :

TypeStorageExampleOperations Supported
Textletters, words, sentences…Hi, UChat.cutting, change case, encode, decode…
Numbernumbers123.45+ - x ÷, mod, power, log, root, round…
Booleaneither “1” or “0”, for true or false1assign
Datedate2021-03-30format, add months/weeks/days
DateTimedate and time2022-01-01T12:00:00+10:00format, add months/weeks/days/hours/minutes
JSON (array)a series of variables{“name”:“Jack”, “age”:“20”}load, get, update, remove, count, sum, average, sort, shuffle, reverse…

Boolean Value

When these values stored in the field, the boolean return false, otherwise it goes true:

  • empty
  • null
  • ‘false’
  • false
  • ‘no’
  • 0

Create Custom Field

Wow, now you are a master 👨‍🎓 of field! Let’s try it out! 😎😎

You can create variables in 2 ways:

PlaceType Supported
in Contents sectionuser field & bot field
anywhere you need to map result to variable, e.g. Question step, Integration, etcuser field only

Create Custom Field in Contents Section

image.png

  1. go “Contents” from the left sidebar
  2. select User Fields or Bot Fields
  3. use folder to organize your fields if needed

image.png

Click the blue ”+ New User/Bot Field” button on the right side to create a field. “Field Name” is a must. You can use any character to separate words like underline or space. We suggest you keep the field name as concise as possible, to avoid any possible display issue.

After that, pick a variable type. Add default value or description if needed. (default value is for bot fields only)

Folders can be used to organize variables. Trust me, you will need it when your flow goes big. 🧐

Create Custom Field in Question and Action Step

To create new fields in for example, the question step:

image.png

Type in a new variable name in the “Enter Field Name” box and click it in the drop-down list. Select correspond variable type and here you go.

image.png

Another example, create in an integration:

image.png

Publish Version & Draft Version

In MessagingMe.app, each flow has a Publish Version and a Draft Version.

  • Publish Version

    your bot talk to clients using the publish version.

  • Draft Version

    any editing of steps will be saved automatically to the draft version. you can edit your flow without influencing the bot and test the draft version before you “Publish”.

From Publish Version to Draft Version, 1 way:

Click “Edit Flow” on the upper left/right corner of the flow to enter the draft version

image.png

From Draft Version to Publish Version, 3 ways:

  • click “Publish” to save your draft to a new Publish Version
  • discard changes and revert to the newest Publish Version
  • keep draft and switch to Publish Version (by doing this, you can have a look at your publish version and when you click edit and come back, your draft is still here)

image.png

💡 Don’t worry if you accidentally quit during your editing, the system will keep all your modifications in Draft Version. So when you come back, simply enter Draft Version again and you can see your modifications remain intact.

Navigation Bar, Sidebar & Flow Builder

💡 TIP - You might want to create a flow first, then open the flow side by side when you read the following instruction (Facebook flow used as an example).

After entering a flow, this is what you will see:

image.png

On the top, there is a navigation bar. From left to right there are:

PartUsage
”Demo Account”current workspace, click to go back to UChat dashboard
”Support”flow type and flow name, click to go back to “All Bots"
"Main Flow”current sub flow
”Preview”preview the current subflow from the Start Step
”Build a bot…“tutorial video widget
”Joyce”current user, click for user settings, support and logout

💡 Preview Feature - Please note that “Preview” feature is not supported in all channels. Channels support “Preview”: Facebook, Telegram, WhatsApp, Line and Viber. For channels without Preview, search “talk to bot” in the documentation.

On the left-hand side, there is a sidebar. From top to bottom there are:

SectionUsage
Flow Builderbuild subflows here
Flowsmanage all your subflows
Analyticsbot data analysis
Live Chatinbox for all the conversations, make a human reply here
Bot Usersmanage bot user profile. import, export, search or delete bot users
Automationmanage keywords, sequences, triggers and comments
Contentsmanage custom fields, tags, OTN, personas, user menus and customer feedback
Toolsmanage error logs, draft version tester, bot admins, widgets, multiple language and shortcuts, Facebook Ads, inbound webhooks
Broadcastssend/manage broadcasts
Settings(some are owner only) manage bot users limit, Facebook greeting text, chat widget customization, ice breakers and authorized websites

💡 Note - Features in Automation, Contents, Tools and Settings can be different from channel to channel. In Settings, usually owner can see all the settings like bot user limit while admin and member only see part of them

Flow Builder

image.png

Apart from those in the above screenshot, there are a couple of more tips for using the flow builder:

image.png

image.png

image.png

Change Themes

Before you start, you can pick your favourite theme by clicking “Change Theme”:

image.png

choose one of them and “Apply Change”.

image.png

Hide Mini-map or Tooltips

image.png

Mini-map is useful when you need to move your workspace in some situations. For example, when you click and drag inside a canvas, you are moving the canvas as a whole instead of everything in the builder:

image.png

You can hide the mini-map by clicking the “Hide Flow Overview” option.

With tooltip, you can see description for every feature you see in the flow builder like this:

image.png

The tooltip includes a title, description, image, video link and documentation link. It is friendly to new users. For users who are already familiar with the system, you can choose to disable the tooltip by clicking the “Hide Flow Tooltips” option.

Basic Operations to Build Flows

Edit step

Click on a step to edit it, “Edit Panel” will show next to the sidebar.

image.png

Click step name to edit it. You can choose the next step at the bottom of the edit panel or drag connectors from the circle to the tile of another step.

Connect Steps:

image.png

Create a new step or choose an existing one to be the next step. For dragging connectors, see below:

image.png

image.png

💡 When you choose an existing next step, a line will be connected from the current step to the next. Too many lines can be messy, get a Goto step to help you organize! In a Goto step, you can nominate the next step without creating a line connector.

Select Multiple Steps (Move to Canvas/Sub Flow)

We’ve just learned how to move the builder by clicking and dragging. For selecting multiple steps, it’s a bit similar. Hold the Shift key then click and drag to cover the steps you would like to select:

image.png

Alternatively, ctrl + click them one by one:

image.png

The selected step has a green border. After selecting multiple steps, click “Create New Canvas” to organize these steps in a canvas box, or move them to an existing sub flow. To delete multiple steps, hit the “delete” button on your keyboard after choosing several steps:

image.png

💡 Delete on Mac - On Mac OS computer, hold fn and hit Delete to remove steps. Or use the “Delete Selected button in the editing panel.

💡 TIP - The green start point is the entrance of a sub flow. It can’t be moved to other sub flows or deleted even you include it in a group of steps.

Copy and Paste Steps

After you select a step or multiple steps, use Ctrl + C to copy and Ctrl + V to paste it to:

  • the same subflow
  • different subflows in the same bot/flow
  • different bots/flows but the same channels (associate custom fields will be created automatically)
  • different channels (unsupported features will be removed)

💡 TIP - Please note that you can only paste ONCE. Copy again for another paste. This is to prevent bulk pasting which can quickly blow up the flow.