Skip to content

Building blocks & steps

In our flow builder, if you right click anywhere in the flow builder, you will see the building blocks that we offer:

Send message

Question step

Basic actions

Advanced actions

Send message

After creating your first flow, open it, click “Edit Flow”, have your bot side by side and here we go! 😆

Let’s take Facebook as an example. Other flows share similar processes where the main difference is message type.

image.png

A few simple steps to send out your first message:

  1. click the green start point
  2. in the edit panel, “Select Next Step”
  3. choose “Send Message” step
  4. click the “Send Message” step
  5. click text type message
  6. enter your message
  7. “Publish”

image.png

That’s it! Let’s test!

image.png

Click “Preview” from the navigation bar and “Open the flow in Messenger”. Click “Get Started” if it’s the fist time you talk to the bot.

💡 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 for guidance.

Congrats! Your bot is working now. 🤖🤖

Let me show you some more details about Send Message step. These are the message type in common for all/some of the Channels.

Send text / Variable

image.png

Messagingme.app has integrated with Grammarly to help you get your expression perfect.

image.png

Insert Custom Field Value and Emoji

Wherever you see ”</>”, you can insert emojis or variable values to the text.

image.png

Or simply type ”{{” to call the field list:

image.png

Send Image / Audio / Video / File

There are 4 ways in total:

image.png

• upload from your computer (size limited)

Media TypeMaximum Upload Size
video10MB
audio5MB
file5MB
others(e.g. image)2MB
  • From a URL link (recommended)

    You can search pictures online and copy their direct URL links. But this direct link might change. Alternatively, you can upload photos to your server or other third-party photo storages like Imgur:, then get your direct URL links from that. Direct URL link means the link is pointing to a specific photo, not a website, ending with .jpg or .png, etc. Take the link in the above picture for an example.

  • search from GIFs gallery

    UChat provides you with a GIFs gallery, you can search what you need here.

  • from Library

    Library is the place you can see all the photos, GIFs, audios and videos you have uploaded before. So that you don’t need to re-upload the same media, just find them in your library.

    Send Card

image.png

Card is used to display a serious of information nicely like product information. There are 4 factors in a card, picture, title, subtitle and button.

💡 Please note that to show a card, you must have a title and at least one other factor, picture, subtitle or button.
If you want to send card in WhatsApp channel, you will need to create “Carousel Template” and then use “Carousel template” instead.

Send “For Each”

This message type is also showing cards but in a more automatic way. With “For Each”, you don’t need to type in each card yourself. It automatically displays all items in a JSON variable. Check Action step / JSON operation if you have no idea about what is JSON variable.

image.png

  1. choose a JSON variable first
  2. click ”</>” or type ”{{” in the text box
  3. choose “ITEM” to get a sample item from the JSON variable

Value in the JSON variable:

image.png

Value in “ITEM”:

image.png

The “Sample data” is to quickly fill in the “JSON Path” field. For example, as shown in the picture, click the “price” row, and “$.price” appears in the “JSON Path” itself. This means that, we are displaying the price of each item here. If there is no sample data prompted, you can fill in the path yourself by typing ”$.”, which refers to each item in the JSON variable, followed by the key of a value.

Value Format

Moreover, for numbers like percentage and price, for date value and time value, UChat has different formats listed for you. For example, in the above picture, the price value is “5” and after choosing a “F03” format, the bot will display it as “$5”. While the value in the variable is still the number “5” so that you are able to use it in math calculation or condition comparison without malfunction.

Hidden Keys

Great! Now you see how to use the “For Each”. Apart from the keys in the JSON variable, there are 3 hidden key you might need:

image.png

Key NameDescription
INDEXindex of the item started from 1
KEYkey name of the item
VALUEvalue of the item = the item itself

INDEX Example

When you have a JSON with a list of JSONs in it, use INDEX for checking the sequence number of an item. Let’s add an index number before the item name:

image.png

Testing result:

image.png

KEY/VALUE Example

When you have a JSON as shown in the following picture instead of a JSON holding a list of JSONs,

image.png

These are what you will get by using the three keys:

image.png

image.png

Testing result:

image.png

Send SELECT after “For Each”

When you add a button to your “For Each”, the button is going to show with every card. Usually, you might want to put a “Buy” or “Select” button here in the case that you are listing some products or options.

How does the the bot know that which card did the user select?

image.png

When you select next step for the button, choose “Select”:

image.png

Then select a next step as you usually do, like a Send Message Step to show the selected item or Action Step to deal with the data. You can then access the selected item in “SELECT”:

image.png

For example, let’s add a Send Message step, find the system field “SELECT”:

image.png

  1. click the row “item” to get the path “$.item” or type in the path directly
  2. in the JSON path, add key name if needed. In this case, let’s show the name of the selected item. So add “.name” after the path.

image.png

image.png

You will see this when you test it:

image.png

Send Dynamic Content

Dynamic Content helps you send out an API request, to your server or a third-party server, in order to get a response to display. The server can reply differently each time. In this way, your bot is able to display dynamic content to your users.

This feature is practical when your bot logic is complex and rely heavily on other servers.

For example, you have your own AI algorithm to analyze users’ questions and calculate corresponding response on your server, in this case, you can send the question in the API request. And the server can generate a response based on the question. Finally, the server send the response back to UChat to display to your users.

A response message can contain several messages, buttons and quick replies with actions. You can even apply simple actions like add tag directly in the response JSON.

Send Location

image.png

To send a location, search it on a map, then right-click it to copy its latitude and longitude values:

image.png

Enter your location name, paste the data and add a label if needed. A label gives additional information like floor or room number.

image.png

Send Ecommerce Product

Check Ecommerce for how to setup and use built-in ecommerce system.

Send Message Debug Text

The Send Message Debug feature is designed to facilitate debugging for chatbot builders by providing an easy way to send debug messages specifically to testers.

Accessing Debug Text:

Navigate to the Send Message and select Debug Text

image.png

Adding testers

  • Navigate to Tools -> Testers-> New Tester
  • Identify the user(s) who will serve as testers for your chatbot.
  • Add the user(s) to the testers list.

image.png

Sending Debug Messages:

  • Once the testers are added, trigger the flow preview where you have incorporated the Send Message Debug Text.
  • During the preview, the debug text will be visible to the added testers.

Facebook Channels

Send Message

Facebook allows the bot to send texts with 3 buttons and 10 quick replies at most.

Send Text with Button & Quick Reply

image.png

The difference between button and quick reply on Facebook Messenger:

TypeUsage
buttononce sent, always in the conversation to be pressed
quick replysimilar to button, but disappear when used

Try to add some buttons, quick replies and test it. You will see their differences.

WeChat Channel

Send Message

WeChat allows the bot to send texts with 10 buttons at most. Message type with WeChat:

image.png

Send Article

image.png

This is how it looks like in the chat:

image.png

Send Mini Program

You can also send mini-programs that associates with your official account.

image.png

WhatsApp Channel

Send Message

Message types with WhatsApp:

image.png

Button in WhatsApp is a bit different from that in Facebook. A button in Facebook can be pressed for multiple times while in WhatsApp, only once.

Supported Message Types

Messagingme.app supports sending the following types of WhatsApp messages:

  1. Template Message: Pre-defined messages approved by WhatsApp. Users can create new templates directly in UChat or sync existing approved templates.
  2. Single Product Message: Showcases a single product from a Facebook Catalog. Requires a Facebook Catalog ID and Retail ID.
  3. Multiple Products Message: Showcases up to 30 products from a Facebook Catalog. Requires a Facebook Catalog ID and separates products with commas.
  4. Catalog Message: Displays a list of products from a Facebook Catalog. Requires a Retail ID, body text, and footer.
  5. List Message: Presents a list of options for users to choose from. Requires capturing the user’s selection and directing the flow based on the chosen option.
  6. WhatsApp Flow: Create a WhatsApp flow to automate the sending of messages and interactions with users.

Note: Linking your WhatsApp number with your Facebook Catalog is mandatory for sending product-related messages (Single Product, Multiple Products, and Catalog Message).

Sending a Template Message

  1. Create or Sync Template: In the Bot Content section of UChat, you can create a new template directly under “Message Templates” in UChat or sync existing approved templates by clicking the “Sync” button.

image.png

2 Use in Flow: In “Mensage node” select “Others” and the “(WhatsApp) Template Message” into your Messagingme.app flow.

image.png

3 Select Template: Choose the desired template from the dropdown menu.

image.png

  1. Personalize (Optional): If the template includes variables, you can personalize the message content.

Sending Single Product Messages

  1. Facebook Catalog Requirement: You need a Facebook Catalog for these message types.
  2. Use in Flow: In “Mensage node” select “Others” and the “(WhatsApp) Single Produtct” into your Messagingme.app flow.Catalog ID & Retail ID:

image.png

  1. Catalog ID & Retail ID:
    • Locate your Facebook Catalog ID.
    • Identify the Retail ID, which is the content ID for your product catalog feed.
  2. Insert your Message Informations: Provide the Retail ID, message body text, and footer text for your Catalog Message.

image.png

Note: You need link your WhatsApp number with your Facebook Catalog before sending product messages.

Sending Multiple Product Messages

  • Facebook Catalog Requirement: You need a Facebook Catalog for these message types.
  • Use in Flow: In “Mensage node” select “Others” and the “(WhatsApp) Multiple Products” into your UChat flow.

image.png

  • Catalog ID & Retail ID:
    1. Locate your Facebook Catalog ID.
    2. Identify the Retail ID, which is the content ID for your product catalog feed.
  • Insert your Message Informations: Provide the Retail ID, message body text, header and footer text for your Catalog Message.

image.png

Note: You need link your WhatsApp number with your Facebook Catalog before sending product messages.  

Sending a Catalog Message

  1. Use in Flow: In “Mensage node” select “Others” and the “(WhatsApp) Catalog Message” into your Messagingme.app flow.]

image.png

  1. Catalog ID & Retail ID:
    1. Locate your Facebook Catalog ID.
    2. Identify the Retail ID, which is the content ID for your product catalog feed.
  2. Insert your Message Informations: Provide the Retail ID, message body text, and footer text for your Catalog Message.

image.png

Sending a List Message

  1. Use in Flow: In “Mensage node” select “Others” and the “(WhatsApp) List Message” into your Messagingme.app flow.

image.png

  1. Define List Items: Select the list items you want to include in your List Message.

image.png

  1. Capture User Selection: It’s crucial to capture the user’s chosen option from the list.

image.png

  1. Conditional Routing: Use a Condition Block to check the user’s selection and direct the flow accordingly.

image.png

Note:  Steps 2-4 for List Messages are essential to ensure proper flow based on user interaction.

Sending a WhatsApp Flow Message

  1. Use in Flow: In “Mensage node” select “Others” and the “(WhatsApp Cloud) WhatsApp Flow” into your Messagingme.app flow.

image.png

  1. Set the WhatsApp flow to be sent.

image.png

Note: See the WhatsApp Flow creation documentation

Warning: Do not use the action node to send templates to bot users, this will generate a “forbidden action” error. To do this, use the message node.

image.png

SMS Channel

Send Message

SMS bot can send only text and image.

image.png

Voice Channel

Send Message

Send Text / Audio

image.png

You can have the bot read out the text with a specified language or record your own audio and upload it.

In the voice channel, you can also provide a audio url directly in the send message node.

You need to make sure the audio url is publicly accessible, it should start with https, and end with .mp3

You can also use the same audio url directly in the question node.

Support message types

Different social channels support different message types. here is a list of social channels and a list of message types they support.

MessagesQuestion
Facebook MessengerCards; image; Audio, Video, File, Location, product, shopping cart, dynamic content; delay; facebook feedback; One time notification, recurring daily; recurring weekly; recurring monthlyText, number, email, URL, phone number, date, date time, multiple choice, image, audio, video, file.
InstagramText, Cards, image, dynamic content, product, shopping cart, for each, delayText, number, email, URL, phone number, date, date time, multiple choice, image, audio, video, file.
TelegramText, Cards, image, Sticker, audio, video, file, location, dynamic content, product, shopping cart, for each, delayText, number, email, URL, phone number, date, date time, multiple choice, image, audio, video, file, location
Google Business MessengerText, cards, image, audio, video, file, location, dynamic content, product, shopping cart, for eachText, number, email, URL, phone number, date, date time, multiple choice
SlackText, cards, image, audio, video, fileText, number, email, URL, phone number, date, date time, multiple choice, image, file
SMSText, imageText, number, email, URL, phone number, date, date time, multiple choice
VoiceText, audioSpeech, DTMF, record, transfer, payment
WeChatText, image, audio, video, file, wx_news, mini cardText, number, email, URL, phone number, date, date time, multiple choice, image, audio, video, file, location
WhatsAppText, cards, image, sticker, audio, video, file, location, dynamic content, product, shopping cart, for each, template message, product catalog messageText, number, email, URL, phone number, date, date time, multiple choice, image, audio, video, file, location
IntercomText, image, audio, video, file, locationText, number, email, URL, phone number, date, date time, multiple choice, image, file
Jivo ChatText, image, audio, video, file, locationText, number, email, URL, phone number, date, date time, multiple choice, image, file
ChatwootText, cards, image, audio, video, file, location, dynamic content, product, shopping cart, for eachText, number, email, URL, phone number, date, date time, multiple choice, image, file, audio, video
LineText, cards, image, audio, video, location, dynamic content, product, shopping cart, for eachText, number, email, URL, phone number, date, date time, multiple choice, image, file, audio, video, location
ViberText, cards, image, audio, video, file, location, dynamic content, product, shopping cart, for eachText, number, email, URL, phone number, date, date time, multiple choice, image, file, audio, video, location
Web Chat/Omni channelText, cards, image, sticker, audio, video, file, location, dynamic content, product, shopping cart, for each, template message, product catalog message, Facebook feedback; One time notification, recurring notification(daily, weekly, monthly)Text, number, email, URL, phone number, date, date time, multiple choice, image, file, audio, video, location
VKText, cards, image, audio, video, file, location, dynamic content, product, shopping cart, for eachText, number, email, URL, phone number, date, date time, multiple choice, image, file, audio, video, location

Question step

Basic concept of Question Step

image.png

Set Quick Answers

Quick answers are convenient for users to click rather than typing. When you set quick answer:

image.png

“Answer Text” is shown to users while “Answer Value” is saved to the variable.

💡 You can set quick answers across all channels. However, some channels display the quick answers as buttons for pressing like Facebook, while some don’t such as SMS. For the latter case, you can still set quick answers but at the same time, you will need to prompt that how to trigger the quick answers.

How to give prompt and set quick answers?

In the question box, for example, put “reply 1 for service A, reply 2 for service B”, etc. Then in the quick answer, set “Answer Text” to be “1”, “2”, etc for matching, and “Answer Value” to be “service A”, “service B”, etc to save user’s option.

ChannelHow to Provide Quick Answers
Facebookquick answers will be displayed as buttons
Telegramquick answers will be displayed as buttons
WeChatuse buttons instead of quick answer or give prompt
WhatsAppquick answers will show in “Select Option”
SMSgive prompt
Voicegive prompt and use Speech question or DTMF question to ask for keypad/voice input
Googlequick answers will be displayed as buttons

How does the matching work in quick answers?

image.png

Once the user’s input contains one of the “Answer Text”, the quick answer is matched (non case-sensitive). Plus, the order of those quick answers matters because the bot will check in order. Once a quick answer matched, it will stop the matching.

image.png

image.png

Skip Button

Add skip button if the question is ok to skip. Also, the label of the skip button is editable.

No Match

image.png

“No Match” is a very practical feature because different answer types have different specified patterns. Email address, for example, has to be “xxx@xx.xx”. You can put something like “Wrong email, please try again” as your retry message and jump to another step if no match on several times.

However, a “xxx@xx.xx” format just filters out wrong email but fake email. To check whether an email is real or not, try Mini-App for using a third-party verification tool.

No Input

Similarly, “No Input” helps you redirect the flow when user input expires. By default, a question expires in 1 hour. Make it shorter if needed.

image.png

Different type of question types

Rich Media

Ask for Image / Audio / Video / File / Record

image.png

When the user uploads a document, an URL link pointing to the document is saved in the variable rather than the document itself. Because media document can be very large. Later, if you want to send that document in send message step, you will need to choose “Send Media From URL” and type in the variable there.

image.png

Ask for Choice

This is a question type listing limited quick answers and user have to choose only from these quick answers. For example, when choosing property type, list only house, townhouse and apartment as quick answers. Therefore, if the user doesn’t click one of these three, a retry message appears.

Ask for Date / Datetime

💡 Except from Facebook Messenger and Google My Business, the rest channel doesn’t have a date picker when user makes Date/Datetime input. So you have to prompt users “Please input the Date / Datetime as exactly the format: YYYY-MM-DD / YYYY-MM-DD hh:mm:ss”. Any other format won’t be recognized successfully.

Ask for Phone

The basic validation for Phone number Question is:

  • only these 11 characters are allowed: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +.
  • ”+” sign is only allowed in the front of the phone
  • more than 6 characters

Ask for Email

The basic validation for email is:

  • the value need to have @
  • the value need to have .

Ask for Location

This is the unique question format for WhatsApp channel. Currently it’s only support on-premise WhatsApp numbers.

Once this is triggered, WhatsApp will request access to the user’s current location, and if the user shared the current location, the latitude & longitude will save into the user custom field you have defined.

image.png

Voice Channel

Question Step in Voice Bot

image.png

💡 You can always put a URL link pointing to your mp3 file in the text box (started with “https://” and ended with “.mp3” or “.mav”) of a Send Message Step or Question Step. In that way, the bot will play the audio file instead of transferring the text to audio.

💡 You can put the link directly in the text box or store the link in a text variable. You can also combine audio URL with text when you use it. But remember that don’t let the URL and text connect to each other, because the system cannot recognize it as an audio URL link. See screenshot below.

image.png

Voice Bot - Ask for Speech

Speech is usually used to get short answers. When the bot asks for speech input, it will listen to what the user says and convert the speech to text with a confidence score. The score is between 0 and 1. The closer to 1, the more confident the speech analysis was.

💡 You might want to add a Condition step to discard any conversion with low confidence. For example, when the confidence score is less than 0.7, ask for re-input.

Use “Advanced Settings” to help improve the conversion:

image.png

Select correspond speech model and language. “Numbers and Commands” speech mode can help improve the recognition rate when the answer is a string of numbers, etc. Please note that, Twilio charges for using this mode. More importantly, provide the bot with some hints, keywords that might appear in speech (separated by commas and no space).

Voice Bot - Ask for DTMF (Keypad)

DTMF refers to keypad input, including number 0 to 9, * and #. Usually, it is used to make a main menu for your voice bot, just like what you might hear before “Hi, press 1 for xxx, press 2 for xxx, …”

image.png

“Number of Digits” means how many digits to expect. For example, a credit card number needs 14 or 16 digits while a postcode needs 4 or 6 digits.

“Stop Key” is set to ”#” by default, but it is also editable. You will need “Stop Key” when you don’t know how many digits to expect. Don’t forget to mention the “Stop Key” in the question box. 🤖🤖

💡 “No Input” timeout in Voice Question plays an important role. Often, it will be set to just few seconds while in other channels, the default timeout is 1 hours.

Voice Bot - Ask for Record

image.png

Again, same as asking for picture, audio, video or file, you will need a text variable to save the URL link of the record file. Check advanced settings for more details such as “Stop Key” and “Max Record Duration”.

You will be able to access the record file through the URL link or manually from the “Recordings” section shown as below:

image.png

Here you can see all your “Record Question” and “Transfer” recordings with a “Play” button to play the audio.

Voice Bot - Ask for Transfer

The transfer feature is more like an Action rather than a Question. Since actions in the Action step are shared across all the channels, we put transfers in Question steps.

image.png

💡 The transfer number should be in E164 format. e.g. +61412345678

You can record the conversation after transferring for training purposes, etc. Similarly, check the recording from the “Recordings” section from the left sidebar.

Hang up Calls

One thing to mention, if your clients need to come back to the bot after the transferred conversation. There are 2 ways to do so:

  • the transferred party hang up first
  • your clients press the star key (need to enable the option in advanced settings)

In either way, don’t forget to mention it to your clients before the transfer.

Add Extension to Phone Number

Add extension to a phone number by using a hash key. e.g. +61412345678#wwww1234. Each “w” will wait for half a second.

Let say I have a voice bot for the number +61412345678, and I put a DTMF question after the Start point of the main flow. The extension “1234” will be considered as the input for this DTMF question. In this way, you are routing the calls automatically.

Transfer to Multiple Numbers

You can put multiple numbers in the “Transfer To Phone Number” field, separated by ONLY commas. e.g. +61412345678,+61412345679#wwww1234,+61412345670

The bot will call these 3 numbers simultaneously, the first person who answers the call get this transfer, the rest call stops ringing. Your phone number provider will only charge you for one call because only one number is transferred successfully.

Voice Bot - Ask for Payment

The payment feature is more like an Action rather than a Question.

image.png

image.png

PCI Mode (Twilio)

For Twilio users, you will need to enable the PCI mode in your Twilio account to capture a payment either in test or live mode.

Search “Voice Settings” from your account,

image.png

click the “Enable” button:

image.png

Edit Prompts

All prompts are already set in English. Feel free to change it if needed like changing to another language. There are 4 pieces of information to gather for a card.

  1. credit card number
  2. expiration date
  3. CVV
  4. postcode (if needed, enable the option in advanced settings).

Each information has 3 speeches to set, asking, timeout and invalid:

image.png

Payment Connector

To get a “Payment Connector”, which is “Unique connector ID”, you will need to access your phone number provider and payment service provider. Twilio and Stripe, for example, go twilio.com, follow step 1 to 4 in the following 2 pictures:

image.png

image.png

image.png

Install, name a “UNIQUE NAME” yourself and click “Connect with Stripe”. This “UNIQUE NAME” is then your “Unique connector ID”, copy it back to Messagingme.app.

image.png

💡 Note that for “MODE”, choose “test” when you are testing the payment process and choose “live” when you are ready to accept real payment.

Charge Amount

Put direct number like “99.99” or a number variable here.

Response

You will need a JSON variable to hold the payment result. This is a response example including some card details, confirmation code and payment result.

image.png

Payment Fail

You can deal with the situation via the “Payment Fail” option. For example, send “Something went wrong” and goto the Payment Step again.

One Time Token

You can choose to capture a payment right now or later.

If you decide to charge right away:

give a value more than 0 in the “Charge Amount” box

  • If you wanted to get the payment later

put a “0” in the “Charge Amount” box. In this way, you will get a token for future capture.

💡 There are 2 types of token, one-time token and reusable token. With a one-time token, you can charge the client once. While with a reusable token, you can charge the client for multiple times.

Under the situation that you set the charge amount to “0”, if you enable the “One Time Token” option in advanced settings, you will get a one-time token. Otherwise you get a reusable token.

By different combinations of charge amount and “One Time Token” option, you will get different payment results

That means, whenever you set a charge amount greater than 0, it doesn’t matter whether you enable the One Time Token option or not, you will charge your client right away and get a payment confirmation code. The code starts with “ch_” if you are using Twilio.

On the other hand, an one-time token starts with “tok_” if you are using Twilio. And a reusable token refers to customer’s ID, starting with “cus_” if you are using Stripe.

How to Charge with Token

Check the documentation of how to create a charge with your payment service provider. Let’s take Stipe as an example, to make a payment with a reusable token.

image.png

In the example, a post request is sent to Stripe with a testing API key and a charge amount, currency and the reusable token, i.e. the customer ID.

image.png

After hitting the test button, this is the response if succeed:

image.png

In the response you can see there is an id started with “ch_”, which is the payment confirmation code. That means, you’ve successfully made a payment.

Description

“Description” is submitted along with the payment details. For example, you can put “Payment of $20.52 submitted from Phone Number (xxx)-xxx-xxxx” to create a record to show which call created the payment.

A Credit Card for Testing

Use the following card details for testing if needed:

Credit card number: 4242 4242 4242 4242

Expiry date (MM/YY): 12 25 (pick a date in the future)

Zip code: 94105

CVC security code: 333

image.png

Set Quick Answers

Quick answers are convenient for users to click rather than typing. When you set quick answer:

image.png

“Answer Text” is shown to users while “Answer Value” is saved to the variable.

💡 You can set quick answers across all channels. However, some channels display the quick answers as buttons for pressing like Facebook, while some don’t such as SMS. For the latter case, you can still set quick answers but at the same time, you will need to prompt that how to trigger the quick answers.

How to give prompt and set quick answers?

In the question box, for example, put “reply 1 for service A, reply 2 for service B”, etc. Then in the quick answer, set “Answer Text” to be “1”, “2”, etc for matching, and “Answer Value” to be “service A”, “service B”, etc to save user’s option.

ChannelHow to Provide Quick Answers
Facebookquick answers will be displayed as buttons
Telegramquick answers will be displayed as buttons
WeChatuse buttons instead of quick answer or give prompt
WhatsAppquick answers will show in “Select Option”
SMSgive prompt
Voicegive prompt and use Speech question or DTMF question to ask for keypad/voice input
Googlequick answers will be displayed as buttons

How does the matching work in quick answers?

image.png

Once the user’s input contains one of the “Answer Text”, the quick answer is matched (non case-sensitive). Plus, the order of those quick answers matters because the bot will check in order. Once a quick answer matched, it will stop the matching.

image.png

image.png

Skip Button

Add skip button if the question is ok to skip. Also, the label of the skip button is editable.

No Match

image.png

“No Match” is a very practical feature because different answer types have different specified patterns. Email address, for example, has to be “xxx@xx.xx”. You can put something like “Wrong email, please try again” as your retry message and jump to another step if no match on several times.

However, a “xxx@xx.xx” format just filters out wrong email but fake email. To check whether an email is real or not, try Mini-App for using a third-party verification tool.

No Input

Similarly, “No Input” helps you redirect the flow when user input expires. By default, a question expires in 1 hour. Make it shorter if needed.

image.png

Different type of question types

Rich Media

Ask for Image / Audio / Video / File / Record

image.png

When the user uploads a document, an URL link pointing to the document is saved in the variable rather than the document itself. Because media document can be very large. Later, if you want to send that document in send message step, you will need to choose “Send Media From URL” and type in the variable there.

image.png

Ask for Choice

This is a question type listing limited quick answers and user have to choose only from these quick answers. For example, when choosing property type, list only house, townhouse and apartment as quick answers. Therefore, if the user doesn’t click one of these three, a retry message appears.

Ask for Date / Datetime

💡 Except from Facebook Messenger and Google My Business, the rest channel doesn’t have a date picker when user makes Date/Datetime input. So you have to prompt users “Please input the Date / Datetime as exactly the format: YYYY-MM-DD / YYYY-MM-DD hh:mm:ss”. Any other format won’t be recognized successfully.

Ask for Phone

The basic validation for Phone number Question is:

  • only these 11 characters are allowed: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +.
  • ”+” sign is only allowed in the front of the phone
  • more than 6 characters

Ask for Email

The basic validation for email is:

  • the value need to have @
  • the value need to have .

Ask for Location

This is the unique question format for WhatsApp channel. Currently it’s only support on-premise WhatsApp numbers.

Once this is triggered, WhatsApp will request access to the user’s current location, and if the user shared the current location, the latitude & longitude will save into the user custom field you have defined.

image.png

Voice Channel

Question Step in Voice Bot

image.png

💡 You can always put a URL link pointing to your mp3 file in the text box (started with “https://” and ended with “.mp3” or “.mav”) of a Send Message Step or Question Step. In that way, the bot will play the audio file instead of transferring the text to audio.

💡 You can put the link directly in the text box or store the link in a text variable. You can also combine audio URL with text when you use it. But remember that don’t let the URL and text connect to each other, because the system cannot recognize it as an audio URL link. See screenshot below.

image.png

Voice Bot - Ask for Speech

Speech is usually used to get short answers. When the bot asks for speech input, it will listen to what the user says and convert the speech to text with a confidence score. The score is between 0 and 1. The closer to 1, the more confident the speech analysis was.

💡 You might want to add a Condition step to discard any conversion with low confidence. For example, when the confidence score is less than 0.7, ask for re-input.

Use “Advanced Settings” to help improve the conversion:

image.png

Select correspond speech model and language. “Numbers and Commands” speech mode can help improve the recognition rate when the answer is a string of numbers, etc. Please note that, Twilio charges for using this mode. More importantly, provide the bot with some hints, keywords that might appear in speech (separated by commas and no space).

Voice Bot - Ask for DTMF (Keypad)

DTMF refers to keypad input, including number 0 to 9, * and #. Usually, it is used to make a main menu for your voice bot, just like what you might hear before “Hi, press 1 for xxx, press 2 for xxx, …”

image.png

“Number of Digits” means how many digits to expect. For example, a credit card number needs 14 or 16 digits while a postcode needs 4 or 6 digits.

“Stop Key” is set to ”#” by default, but it is also editable. You will need “Stop Key” when you don’t know how many digits to expect. Don’t forget to mention the “Stop Key” in the question box. 🤖🤖

💡 “No Input” timeout in Voice Question plays an important role. Often, it will be set to just few seconds while in other channels, the default timeout is 1 hours.

Voice Bot - Ask for Record

image.png

Again, same as asking for picture, audio, video or file, you will need a text variable to save the URL link of the record file. Check advanced settings for more details such as “Stop Key” and “Max Record Duration”.

You will be able to access the record file through the URL link or manually from the “Recordings” section shown as below:

image.png

Here you can see all your “Record Question” and “Transfer” recordings with a “Play” button to play the audio.

Voice Bot - Ask for Transfer

The transfer feature is more like an Action rather than a Question. Since actions in the Action step are shared across all the channels, we put transfers in Question steps.

image.png

💡 The transfer number should be in E164 format. e.g. +61412345678

You can record the conversation after transferring for training purposes, etc. Similarly, check the recording from the “Recordings” section from the left sidebar.

Hang up Calls

One thing to mention, if your clients need to come back to the bot after the transferred conversation. There are 2 ways to do so:

  • the transferred party hang up first
  • your clients press the star key (need to enable the option in advanced settings)

In either way, don’t forget to mention it to your clients before the transfer.

Add Extension to Phone Number

Add extension to a phone number by using a hash key. e.g. +61412345678#wwww1234. Each “w” will wait for half a second.

Let say I have a voice bot for the number +61412345678, and I put a DTMF question after the Start point of the main flow. The extension “1234” will be considered as the input for this DTMF question. In this way, you are routing the calls automatically.

Transfer to Multiple Numbers

You can put multiple numbers in the “Transfer To Phone Number” field, separated by ONLY commas. e.g. +61412345678,+61412345679#wwww1234,+61412345670

The bot will call these 3 numbers simultaneously, the first person who answers the call get this transfer, the rest call stops ringing. Your phone number provider will only charge you for one call because only one number is transferred successfully.

Voice Bot - Ask for Payment

The payment feature is more like an Action rather than a Question.

image.png

image.png

PCI Mode (Twilio)

For Twilio users, you will need to enable the PCI mode in your Twilio account to capture a payment either in test or live mode.

Search “Voice Settings” from your account,

image.png

click the “Enable” button:

image.png

Edit Prompts

All prompts are already set in English. Feel free to change it if needed like changing to another language. There are 4 pieces of information to gather for a card.

  1. credit card number
  2. expiration date
  3. CVV
  4. postcode (if needed, enable the option in advanced settings).

Each information has 3 speeches to set, asking, timeout and invalid:

image.png

Payment Connector

To get a “Payment Connector”, which is “Unique connector ID”, you will need to access your phone number provider and payment service provider. Twilio and Stripe, for example, go twilio.com, follow step 1 to 4 in the following 2 pictures:

image.png

image.png

image.png

Install, name a “UNIQUE NAME” yourself and click “Connect with Stripe”. This “UNIQUE NAME” is then your “Unique connector ID”, copy it back to Messagingme.app.

image.png

💡 Note that for “MODE”, choose “test” when you are testing the payment process and choose “live” when you are ready to accept real payment.

Charge Amount

Put direct number like “99.99” or a number variable here.

Response

You will need a JSON variable to hold the payment result. This is a response example including some card details, confirmation code and payment result.

image.png

Payment Fail

You can deal with the situation via the “Payment Fail” option. For example, send “Something went wrong” and goto the Payment Step again.

One Time Token

You can choose to capture a payment right now or later.

If you decide to charge right away:

give a value more than 0 in the “Charge Amount” box

  • If you wanted to get the payment later

put a “0” in the “Charge Amount” box. In this way, you will get a token for future capture.

💡 There are 2 types of token, one-time token and reusable token. With a one-time token, you can charge the client once. While with a reusable token, you can charge the client for multiple times.

Under the situation that you set the charge amount to “0”, if you enable the “One Time Token” option in advanced settings, you will get a one-time token. Otherwise you get a reusable token.

By different combinations of charge amount and “One Time Token” option, you will get different payment results

That means, whenever you set a charge amount greater than 0, it doesn’t matter whether you enable the One Time Token option or not, you will charge your client right away and get a payment confirmation code. The code starts with “ch_” if you are using Twilio.

On the other hand, an one-time token starts with “tok_” if you are using Twilio. And a reusable token refers to customer’s ID, starting with “cus_” if you are using Stripe.

How to Charge with Token

Check the documentation of how to create a charge with your payment service provider. Let’s take Stipe as an example, to make a payment with a reusable token.

image.png

In the example, a post request is sent to Stripe with a testing API key and a charge amount, currency and the reusable token, i.e. the customer ID.

image.png

After hitting the test button, this is the response if succeed:

image.png

In the response you can see there is an id started with “ch_”, which is the payment confirmation code. That means, you’ve successfully made a payment.

Description

“Description” is submitted along with the payment details. For example, you can put “Payment of $20.52 submitted from Phone Number (xxx)-xxx-xxxx” to create a record to show which call created the payment.

A Credit Card for Testing

Use the following card details for testing if needed:

Credit card number: 4242 4242 4242 4242

Expiry date (MM/YY): 12 25 (pick a date in the future)

Zip code: 94105

CVC security code: 333

Basic actions

Add & Remove Tag

Tags would help you to identify and segregate your chat information for an informed decision.

Let’s Assume you have a flow of asking users whether they are interested in a trip to Europe or Asia. Then we will tag the users accordingly.

We will cover the following action in the Tags options.

  • How to Create a Tag.
  • Use Tags in flow.
  • Watch Tags on Live Chat

How to Create a Tag

Click on Contents and here select the Tags option, In order to create or delete any tag we will use this window. Now choose the new Tag button.

image.png

Now create an asia_lead tag for those users who select Asia for the tour option. The same goes for the Europ lead as well.

image.png

These Tags can be deleted from the rightmost option of the Grid.

image.png

Use Tags in flow

Go to the Flow choose Basic Action and select Add Tag option.

image.png

Here select the appropriate tag for all the users who select Europ as a holiday destination and the same goes for Asia destinations.

image.png

Watch Tags on Live Chat

Now Run this flow and check its impact on the Live Chat section.

Here Chat agent can see the user Tags, as well as manually add or delete the tags according to the situation.

image.png

Remove Tag

Remove Tags can be utilized via the Basic Action option. Let’s assume a scenario where the user is not interested in contacting a chat representative.

What we did we add a primary action and by selecting a Button we will trigger this action which will remove the tags that we previously selected in our chat.

image.png

image.png

Add Multiple Tags

This option allows the chat builder to add multiple tags in one go, So Whenever a user adds a destination of Europe/Asia we will add more than one tag. Just go to the basic option and select the “Add Multiple Tags” option.

image.png

Here you can select the already created Tags from the Contents section.

image.png

Remove Multiple Tags

This option allows the chat builder to remove multiple tags in one go, So Whenever the user adds a destination of Europe/Asia, but at the end of the chat if he presses the button not interested in the chat. We will remove the tags from the Remove Multiple Tags option.

image.png

image.png

JSON Operation

JSON is also a type of variable. It is used to store and manage a series of variables including normal varialbe and JSON variable.

For example, this is a JSON storing a customer’s detail:

image.png

image.png

The “JSON Operation” is sitting in the “Basic Actions” list of the Action step.

💡 TIP - Various examples have been already embedded in the operation. Select an operation and use the “Examples” button to explore it!

image.png

For example, how to insert an item to a JSON variable:

image.png

Set Variable Value

This action allows you to store a value inside a variable or a custom field. This is very useful when you want to collect data from your users.

image.png

The Different Types of Value

Once you click on the set custom field action, you’ll be able to choose which custom field needs some to update in terms of value.

image.png

You can either put in some data or even another custom field as a value as well.

image.png

Should you need to create a new custom field, just type in the name and choose the type of custom field you’d like to create.

Variable Operations

Messagingme.app provides you with various built-in operations for variable modification.

There are 6 types of variable in Messagingme.app:

TypeStorageExampleOperation
Textletters, words, sentences…Hi, UChat.cutting, change case, encode, decode…
Numbernumber123.45+ - x ÷, mod, power, log, root, round…
Booleaneither “yes” or “no”yesassign
Datedate2021-03-30format, add months/weeks/days
DateTimedate and time2021-03-30 16:52:00format, add months/weeks/days/hours/minutes
JSONa series of variables{“name”:“jack”, “age”:“10”}load, get, update, remove, count, sum, average, sort, shuffle, reverse…

image.png

Click “Basic Actions” in the Action step and here are the “Set Variable Value” and “Clear Variable Value”.

Clear Custom Field / Clear JSON

To clear text, number, boolean, date, datetime variable, please use the Clear Custom Field action.

To clear JSON variable, please use the Remove All Items operation in the JSON Operation.

input value

“input value” operation is used to assign value to a variable. This operation works for any variable type.

💡 TIP - “input value” for text variable can be used to connect several text variables. See the below picture for where to put original value and operated value.

image.png

Math Formula

image.png

With this operation, you can now do formula calculation directly in the Action Step - “Set Variable Value” and Condition Step - “Value”.

Math operations and function supported:

+, -, *, e, pi, PI, abs(), min(), max(), ceil(), floor(), log(), pow(), round(), sqrt(), sin(), cos(), tan()

Please note that If the formula is invalid, the system will return 0 to number variable and empty to text variable.

Set Text Variable

trim text

image.png

sub string

image.png

💡 Note - Index starts from 0. Every character counts including space and punctuation.

replace string / replace string case sensitive

to lower / upper case

image.png

generate random text

Descriptione.g. Beforee.g. After
as the name”code: XXXX-####-xxxx""code: UBWT-3657-lkzb”

image.png

This feature is useful when you need to generate one-time verification code or reference code.

url encode / decode

Typee.g. Beforee.g. After
encode”Hi, UChat!""Hi%2C%20UChat!“
decode”Hi%2C%MM!""Hi, MM!“

base64 encode / decode

Descriptione.g. Beforee.g. After
encode”Hi, MM!""SGksIFVDaGF0IQ==“
decode”SGksIFVDaGF0IQ==""Hi, MM!”

image.png

to URL friendly slug

Descriptione.g. Beforee.g. After
replace spaces with hyphens and remove the rest signs”it’s a good day""its-a-good-day”

image.png

get text before/after

Description: get part of the text.

Typee.g. Beforee.g. After
get text before another textname: MM, city: Dubainame
get text before last occur of another textname: MM, city: Dubainame: MM, city
get text after another textname: MM, city: DubaiMM, city: Dubai
get text after last occur of another textname: MM, city: DubaiDubai

image.png

Set Number Variable

get text length

Descriptione.g. Beforee.g. After
as the name500.596

image.png

generate random number

Descriptione.g. Beforee.g. After
as the namen/a56

image.png

add / subtract / multiply / divide / modulus / power / natural logarithm / square root

Descriptione.g. Beforee.g. After
as the name78

TIP - in “natural logarithm”, when you are calculating log2(8) = ? put 8 as “Value” and 2 as “Number”.

round

Descriptione.g. Beforee.g. After
as the name7.86937.87

image.png

floor / ceil

Description: get approximate integer.

Typee.g. Beforee.g. After
floor6.556
ceil6.557

image.png

Set DateTime Variable

from formatted text

Descriptione.g. Beforee.g. After
get DataTime value from formatted text00:00:00 30th Aug, 20202020-08-30 00:00:00

image.png

add minutes / hours / days / weeks / months

Descriptione.g. Beforee.g. After
as the name2021-01-01 00:00:002021-01-01 00:01:00

Clear Variable Value

Clear Variable Value

This function allows the user to literally clear a value of a single custom field.

image.png

You just have to choose a specific custom field you want to clear out.

Clear Multiple Variable Value

This action allows the user to clear multiple custom field values.

image.png

Make sure to choose all custom fields whose values you want to clear out.

Clear All Custom User Fields

If you are looking for a way to clear all custom field values of a user, use this action.

image.png

Subscribe/Unsubscribe to sequence

Subscribe to Sequence

Sequence automatically sends a list of messages to users. This is a good way to provide more value through scheduled messages.

image.png

First you will have to set up your sequence by going to Automation, click Sequence, then + New Sequence.

image.png

Label your sequence and choose a flow and a time interval as to when it would be delivered. Don’t forget to click SAVE.

💡 Please do note of the message-sending limitations of the channel you are using.

Unsubscribe from Sequence

This literally unsubscribes a user from a sequence.

image.png

Subscribe and Unsubscribe to Bot

Users can subscribe to or unsubscribe from the bot via the Flow Builder or Live Chat. You can also set triggers for both actions.

From Flow Builder

In Flow Builder, you’ll find the subscribe and unsubscribe options under Action Step → Basic Actions.

image.png

  • Subscribe: When a user subscribes to a bot, they will start receiving automated responses from the bot.
  • Unsubscribe: When a user is unsubscribed, they will no longer receive automated responses from the bot. Messages from the user will still be visible in Live Chat, but agents won’t be able to send replies to that user.

From Live Chat:

Users can also subscribe or unsubscribe directly from Live Chat.

If the user is already subscribed, only the Unsubscribe option will be available.

image.png

When unsubscribed, you will not be able to send any messages, even from Live Chat, and an error will be displayed indicating that the user is unsubscribed from the bot.

image.png

However, you can subscribe the user again directly from Live Chat.

image.png

From Bot Users:

You can also subscribe or unsubscribe users through the Bot Users section. This action can be performed for:

  • Individual Users: Select and apply the action to a specific user.
  • Bulk Users: You can perform subscription or unsubscription actions for multiple users at once

image.png

Triggers:

You can set triggers for when a user subscribes or unsubscribes from the bot.

image.png

Note: When a user sends a message to your bot for the first time, they are automatically subscribed. If a trigger is set on the subscription, this could result in duplication during the first message exchange.

Unsubscribed Users: Once a user is unsubscribed, messages cannot be sent via the flow. However, you can still:

  • Send an email, Use an action node to add tags, Update the Custom User Field (CUF) value, and run an external request.

image.png

Set Email Opt-in & Opt-Out

Setting Email Opt-ins

This feature allows you to send emails to users. Action must be placed before an email node.

image.png

Setting Email Opt-outs

This feature is useful when you want to prevent a user from receiving an email. This is very good when you do email blasts.

image.png

💡 The email or SMS will not send out if the user isn’t opt-on for SMS & Email.

Bulk Actions

To configure Email Opt-in or Opt-out for users in bulk, follow these steps:

  1. Navigate to Bot -> Bot Users.
  2. Select the user(s) by checking the box next to their name.
  3. Click on Bulk Action in the upper right corner.
  4. Choose Set Email Opt-In or Set Email Opt-Out as needed.

image.png

This action ensures that the user is either subscribed or unsubscribed to receive email communications. If the user is not opted in, the system will not send emails to them.

Set SMS Opt-in & Opt-Out

Set SMS Opt-in

If you need to send an SMS to a user using the chatbot, be sure to set up this action before the Send SMS node.

image.png

Set SMS Opt-out

To make sure a user doesn’t receive any SMS from the bot, use this action.

image.png

💡 The email or SMS will not send out if the user isn’t opt-on for SMS & Email.

Bulk Action

To configure SMS Opt-in or Opt-out for users in bulk, follow these steps:

  1. Go to Bot -> Bot Users.
  2. Check the box next to the user(s) you want to configure.
  3. Click on Bulk Action.
  4. Select Set SMS Opt-In or Set SMS Opt-Out.

image.png

This configuration will include or exclude the user from SMS notifications sent by the bot. If SMS Opt-in is not enabled, the system will avoid sending SMS to that user.

Mark Conversation Open/Pending/Spam/Done/Invalid

Mark Conversation Open

This option can be utilized when you open the conversation in any situation, Please note that by default all the conversations would be Open unless we don’t set up any function inside it.

image.png

Mark Conversation Pending

This option will automatically set the status of the chat as Pending, A use case might be like if a Shop has three categories.

  • Shipping
  • Payment
  • Refund

So if the user selects Refund, the bot will mark this chat status as Pending for emphasizing this chat information to the chat agent.

image.png

image.png

Watch on the Live chat Screen:

Here you can see that the chat status is set to Pending status when the user selects the Refund option in the chat section.

Mark Conversation Spam

Chat can be marked spam, We need to ensure that the chatbot provides accurate and reliable information, while building bot we can mark users’ chat to Spam to avoid distraction.

Mark Conversation Done

Chat can be marked done on certain cases, What if your flow has success and the user got what he desired? You can set this in a particular action set Done. So in that way, your Chat Agent will not opt for the Done status chat.

image.png

So Let’s say Whenever the user selects the Rating option we will mark the conversation status Done.

image.png

Mark Conversation Invalid

A conversation can be marked invalid based on certain criteria, a lead that is not fulfilling the business case of an agent/bot may marked invalid.

image.png

Add note to teammates

A note to teammates can be used as a reminder, Just in case in the below case whenever the User selects the Refund option the agent will receive the notes from the bot about the instruction/caution. Note these notes will not be visible to bot users.

image.png

Live Chat Screen

The note can be seen on the Live Chat screen plus an agent also make some notes by clicking on the bottom of the screen on Note.

image.png

Delete Bot User

A new feature that allows you to set a user limit for your chatbot and automatically delete excessive users. This update streamlines the process of managing and maintaining your chatbot’s user base.

Method 1: Action Step

The first method involves using an action step within your chatbot flow. Simply locate the “Delete Bot User” action step under the Basic Actions category. When the flow reaches this step, it will automatically delete the user, ensuring that subsequent messages or conditions are not processed.

image.png

Method 2: Set Bot User Limits

Another way to automatically delete users is by setting bot user limits in the UChat settings. Under the General section, you’ll find the “Bot User Limit” option. By specifying a value greater than zero, the system will periodically check the total number of users and delete the oldest users if the limit is exceeded.

image.png

Monitoring User Count:

To keep track of the number of users, head over to the Analytics section. Here, you’ll find insights into the total number of bot users. This information will help you determine the appropriate user limit for your chatbot.

image.png

Additional Options:

image.png

Assign to agent/agent group

Assign to Agent & Assign to Agent Group

You can streamline chat management by assigning interactions directly to specific agents or agent groups within the flow. Here’s how:

  1. Navigate to the Action Node:
  • Go to the Action node in your flow editor.
  • Select the basic action options available for chat management.

image.png

Assign to Agent

Assigning to an Individual Agent:

  • From the list of agents, select the specific agent you want to handle the chat.
  • This ensures the chat is directed to the chosen agent, allowing for personalized and efficient user support.

image.png

Assigning to an Agent Group:

  • Select an agent group from your list of agent groups.
  • This allows the chat to be handled by any available agent within the group,

image.png

In the agent group, we have some default groups,

Default Agent Groups 

Default Group 1 - All Users (Random)

This group includes all workspace members, such as the Owner, Admin, members, and agents. Tasks or chats are assigned randomly to any member of this group.

Useful when you want to distribute tasks without considering the current workload or specific roles.

Default Group 2 - All Users (Least Assigned)

This group includes all workspace members. Tasks or chats are assigned to the member with the fewest assignments, balancing the workload evenly.

Ideal for ensuring an even distribution of tasks across all users in the workspace.

Default Group 3 - All Users (Round Robin)

This group includes all workspace members. Tasks or chats are assigned in circular order, ensuring each member gets a turn sequentially.

Suitable for evenly distributing tasks predictably and fairly.

Default Group 4 - Only Agents (Random)

This group includes only the agents in the workspace. Tasks or chats are assigned randomly to any agent in this group.

Useful when you want to distribute tasks among agents without considering their current workload.

Default Group 5 - Only Agents (Least Assigned)

This group includes only the agents in the workspace. Tasks or chats are assigned to the agent with the fewest assignments, balancing the workload evenly.

Ideal for ensuring an even distribution of tasks, specifically among agents.

Default Group 6 - Only Agents (Round Robin)

This group includes only the agents in the workspace. Tasks or chats are assigned in circular order, ensuring each agent gets a turn sequentially.

Suitable for evenly distributing tasks among agents predictably and fairly.

Resume Bot Automation

If a bot stops responding, user messages can go unanswered unless an agent intervenes. To prevent this, we’ve implemented several ways to resume bot automation seamlessly. Let’s explore these methods in detail.

Basic Action Resume Bot

Simple and Effective

You can resume automation at any point in your flow using the action node. Here’s how:

  1. Navigate to the Action Node: Find the point in your flow where automation needs to resume.
  2. Select Basic Actions -> Resume Automation: This will instantly reactivate the bot, allowing it to continue its tasks and respond to users.

This straightforward method ensures the bot gets back on track without missing a beat.

image.png

Resume in Live Chat

In live chat, agents often work within a timed framework. To ensure automation resumes smoothly:

  1. Monitor the Timer: A timer usually manages the duration of agent responses.
  2. Click the ‘X’ Sign: This action closes the timer and resumes the bot’s automation.

image.png

Talk to human/Pause automation

This doc will guide you on how to allow users to talk with your agent and pause automation when needed.

Talk to Human & Pause Automation in the Flow

  1. Pause Automation in the Flow:
  • At any point in the flow, you can provide users the option to talk to a human agent.
  • This feature pauses the automation temporarily, allowing real-time human interaction.
  • In Action node -> Basic actions -> Talk to Human/Pause Automation

image.png

  1. Adding Pause from Live Chat:
  • You can also initiate a pause directly from the live chat interface.

image.png

Advanced actions

External Request

With external requests, you can call APIs from other third parties or your own server to request data, submit data and etc.

image.png

In an Action step, find “External Request” in “Advance Actions” and click “Add your request” then start editing it:

image.png

  1. choose a request type such as GET, POST, etc
  2. paste your request URL / endpoint
  3. adjust “URL parameters”, “Headers”, “Body” or “Authorization” section if needed. e.g. setup API key
  4. click “Test” and area 5 will show in the “Response” section with a response code
  5. click on “Response Headers” to expand the header for more details and the received data is in blue
  6. choose which part of the data you need by clicking the circle on the left-side accordingly
  7. after clicking area 6, the JSON path for the selected data is automatically shown here. $ means the whole JSON.
  8. choose which custom field to store the data. You can create a new field here by typing in a field name and clicking it in the drop-down. Click the “Add” button to add to the mapping list
  9. finally, the mapping shows in area 9. Add as many mapping as needed and click “Save”.

💡 Testing Value - Make sure you provide testing data for any one of the fields/variables in the settings before you use the Test button.

URL Params

image.png

In the above screenshot, we can see that there is a URL parameter in the endpoint called “user_name”. Remember to copy the endpoint down and provide a testing value.

Alternatively, you can use the URL Params sections for the same result.

Headers

image.png

Same as URL Params, put your key name first, then insert the variable and provide a testing value.

Authorization

image.png

Alternatively, put the token in the Authorization section. It’s going to be less error-prone (sometimes people just forgot the “Bear ” in front of the token).

Moreover, for Basic Auth, simply put your username and password value and the system will do the base64 encoding for you.

Body

To include a file itself in the parameters, use multipart/form-data:

image.png

x-www-for-urlencoded works just like URL Params or Headers section.

Instead of listing all the payloads in x-www-form-urlencoded, you can also paste the example payload in raw JSON:

image.png

On the left-hand side, Body Content, paste or write your JSON first, when you insert a variable, the Test body content shows on the right side immediately. It’s to specify a testing JSON value.

Click on Copy from body content to copy the whole JSON structure. All the variables will be replaced by {{variable_name}}. Remove the placeholder and put your testing values.

Testing

Once you are ready, click on the Test button next to the URL endpoint or in the Response section.

image.png

Besides the tips about how to map data above, you might also want to save the values in the response header for later use. Simply expand the header, click on a value in the header and the JSON path to it shows automatically there.

Smart Delay

documentation still in progress

JavaScript Function

Messagingme.app now allows its users to carry out complex flow logic using Javascript action. The users will be able to write javascript code to carry out various complex flows and formulae which are not natively supported by Messagingme.app yet.

Selecting Javascript Action Node

Create an Action node block, Click on Advanced Actions and select Javascript Function node.

image.png

Javascript Function Node

A javascript function acts exactly like a function. All parameters are first parsed into the javascript block before they can be used. The top part of the action is used for input.

image.png

Parameters Name: Add the name of the variable you are parsing

Parameters Value: Add the userfield you want to parse into the javascript function

Test Value: Add a testing value which can be used here to run tests

image.png

These javascript libraries extent the functionality of the native function block.

In the function block, you can write your javascript code.

image.png

After writing the code, you will always have to return your value since the function block acts as a regular function.

Note: Native javascript methods such as console log that require a browser does not work with the Javascript Function node

image.png

You can map the results of your code to update certain user fields.

image.png

Note: When handling JSONs, all JSONs have to be first parsed and then be able to used inside the code.

SSO Actions

Messagingme.app now allows its users to further expand on its SSO login with SSO actions. You will now be able to link, delink channels, and other actions which you were not be able to do previously using automations in flow builder.

Using SSO Actions

Inside the flowbuilder, right click and then select “Action” block

image.png

Click on “Advance Actions”

image.png

Scroll down and select “SSO Actions”

image.png

Click on “Edit Action” to start exploring different SSO actions.

SSO Actions

Following SSO actions are currently available with Messgaingme.app.

image.png

Find SSO User

This action is used to find SSO user using their attached email which they used to login using SSO.

image.png

💡 SSO User NS and Bot User NS are two different entities, the former one is for the master user while the later one is for individual users of the respective channels that are linked with the user

Send Flow To Linked Channel User

This flow is used to send a linked user a subflow in its linked Channel. For example, sending a flow to your linked whatsapp user from SSO user.

image.png

💡 All restrictions of channels such as 24 hour window for Meta channels still applies

Get SSO User Info

This action is used to fetch user info for SSO master user.

image.png

Get Linked Channel Users

This action is used to get information regarding all the linked channels using the SSO user NS.

image.png

This action is used to link and individual channel bot user to the SSO master user using SSO user NS.

image.png

💡 This action can only be used inside the channel you want to delink from SSO user

SSO Actions

image.png

Create SSO User by Email

The newly added action enables the creation or linking of an SSO profile through an existing email, reducing the need for social media logins.

How to Use SSO Action

Go to the Flow builder, Select Action Node and choose Advanced Actions.

Then select SSO Actions

image.png

Here you have multiple actions to choose from.

image.png

Steps to Implement SSO via Email

Create SSO Profile Using Email

To create a new user you can select ‘Create SSO User**’**

The SSO channel will be based on user email

(Note: Ensure the email exists by adding a condition to check for it beforehand)

image.png

image.png

This setup ensures that users with the same email across different channels are recognized, avoiding repeated SSO login requests.

Find SSO Profile User

To Search SSO Profile user you can use an Action ‘Find SSO User’

image.png

You can Search SSO Profile User through Email

image.png

Send Flow to SSO Profile User

You can also send a bot flow to SSO Profile user

image.png

You can also send the flow tailored to the specific channel.

image.png

image.png

You can set the configuration and send the flow.

image.png

Similarly You can use other Actions as well according to your Requirements.

Check for Existing SSO Profile

You can also check if the user is Already a SSO Profile User

Select a condition node and choose add condition.

image.png

Now use a condition either “Is user SSO” or “Has SSO user connected” or you can use both of these conditions and check them if they both are true.

image.png

image.png

image.png

If the user has an existing SSO profile, proceed with the flow as usual. Otherwise, continue to the next step.

image.png

Benefits of SSO via Email

  • User-Friendly: Reduces the need for Google or Facebook logins.
  • Seamless Integration: Links existing emails to SSO profiles.
  • Consistency Across Channels: Ensures a unified experience when users interact via different platforms.

Facebook Page API with Messagingme.app

This comprehensive guide clarifies the functionality of Messagingme.app’s Facebook Page Actions, empowering you to manage your Facebook page content directly through Messagingme.app.

Connecting with Facebook

  • Connect your Facebook Business Manager account in Integrations
  • Connect your Facebook account in the Facebook channel and link it to a bot

Inserting the Action Node into your flow

Insert an Action Node into your flow and go to Advanced Actions

image.png

Select Facebook API

image.png

Facebook Page API  Features through Uchat’s Action Node

This guide clarifies the functionality of Facebook Page API Actions on UChat Platform, providing a clear understanding of each action’s purpose.

image.png

List Page Posts: 

• Obtain a list of posts currently published on your Facebook page. 

image.png

Get Page Post: 

• Obtain a specific Facebook page post details.

image.png

Create Page Post: 

• Publish new content to your Facebook page directly from Uchat.

image.png

Update Page Post: 

• Update an existing post from your Facebook Page.

image.png

Delete Page Post: 

• Delete an existing post from your Facebook page.

image.png

List Page Post Comments: 

• Retrieves a list of comments for a specific post on your Facebook page. 

image.png

Get Comment: 

• Get details of a specific comment from your Facebook Page. 

image.png

Reply to Comment: 

• Reply to a comment on a post on your Facebook page. 

image.png

Update Comment: 

• Edit an existing comment left on your Facebook page post.

image.png

Hide Comment: 

• Hide a comment on an post on your Facebook page.

image.png

Like Comment:

• Like a comment on an post on your Facebook page.

image.png

Delete Comment: 

• Deletes a comment on an post on your Facebook page.

image.png

Page API

Create Image Post

Create an image post on your Facebook page. Enter the Photo URL in the placeholder to upload and post an image.

image.png

Facebook Page Ads

List Ads Posts

Retrieve a list of all ads posts. To find something specific, search by the ad ID or name.

image.png

Ads Post List Comments

Get a list of all comments on a specific ad post. Provide the ad post ID to retrieve its comments.

image.png

Ads Post Comment Reply

Reply to a comment on your ad post or add a new comment to the post.

  • To reply, provide the comment ID and your message.
  • To add a new comment, provide the post ID and your message.

image.png

List Lead Forms

Retrieve a list of all lead forms linked to your page.

image.png

Get Lead Form Questions

View the questions in a lead form. Provide the lead form ID to get the list of questions.

image.png

List Lead Form Leads

Retrieve a list of all leads from a specific lead form. Provide the lead form ID to get the leads.

image.png

Get Lead Gen

Get the details of a specific lead. Provide the lead generation ID.

image.png

Reply to Comment on Facebook

This action allows you to reply to a comment on a Facebook post. Additionally, it includes an option to save the comment reply as a bot message, making it visible in the chat history.

Parameters/Fields:

  • comment_id: Comment ID (required).
  • message: Message of the comment reply (required).
  • Save as Bot Message: When enabled, the comment will be added to the chat history but not trigger previous training.

Step-by-Step Guide

Step 1: Configure the Reply to Comment Action

  1. Open the flow editor and add an Action node.
  2. Select Facebook API > Reply to Comment.

image.png

  1. Connect the flow with your Comment Keyword Automation. (additional documentation: Comment Keywords )

Step 2: Set Up the Parameters

  1. In the action settings, enter the Comment ID of the comment you want to reply to.
  2. Type the Message that will be sent as a reply.
  3. Enable Save as Bot Message if you want the reply to appear in the chat history.

image.png

Step 3: View the Reply in Chat History

  • After executing the action, the reply will be visible in the chat history.
  • If Save as Bot Message was enabled, the reply will be logged but won’t retrigger previous messages.

image.png

This ensures that bot-generated replies to Instagram comments are logged within the chat history for better visibility and tracking.

Bot user API

Accessing bot user information or using UChat API through coding can be difficult for many users. But with our simple method, you can use API endpoints effortlessly, no coding required.

Accessing API Endpoints

Navigate to the Flow Builder. Select an action block and choose “Advanced actions.” Explore the “Bot User API” options.

image.png

Available Actions

  1. List all tags
  2. Check if the user has a certain tag
  3. Add or remove tags
  4. List subscribed sequences
  5. Retrieve shopping cart details
  6. List shop orders
  7. List chat text messages

image.png

List Tags

For testing purposes, you can retrieve the list of all tags using the User_NS. For permanent storage, you can utilise the Username, First Name, and Last Name system fields.

image.png

Check has Tag

You can check whether a user has a tag or not by entering the User NS and Tag Ns.

Where to Find Tag Ns:

image.png

Navigate to Contents -> Tag -> Move the Cursor to the Tag you will see the Tag Ns.

image.png

Add Tag

image.png

Remove Tags

The process for removing tags is similar to adding tags. Simply insert the Tag NS to remove the tags.

Remove All tags

It’s also the same. You don’t need to input any value; it will automatically remove all the tags from the user.

List Subscribed Sequences

By inserting the user’s username or first name, you can retrieve the list of subscribed sequences for testing purposes.

List of Cart Items

You will receive a list of all items currently in the cart.

List Shop Order

You will receive a list of all Orders placed by the user.

List Chat Messages

You can access the chat history of the last 50 messages. You have the option to include agent messages, and bot messages, and choose the format (default, text, or text with time) according to your preference.

Remove All Smart Delays

Description

The Remove All Smart Delays action clears all smart delay actions associated with a specific bot user. This feature is useful for instantly removing any queued delays, allowing for immediate bot responses.

How to Remove All Smart Delays

Go to the Flow, Select Action Node and choose Advance Action. Then select the Bot User API option

image.png

Now Select the option Remove All Smart Delays action.

image.png

Now you have to add User NS of the User you want to remove all smart delays or You can use a System Fields which contains User Ns.

image.png

In the Sample Data you will see status: “ok” and delete: “0” which means all smart delay have been removed Successfully.

Use Cases

  • Instant Reset: Instantly remove all pending delays for a user to improve response times.

Response

  • Success: Returns a 200 OK status with a message confirming all smart delays have been removed.

Error: Returns an appropriate error code if the user Ns is not found or if the request fails.

Remove All Scheduled Messages

Description

The Remove All Scheduled Messages action allows for the deletion of all scheduled messages queued for a particular bot user. This action ensures that no further scheduled messages are sent to the user, enabling quick modifications in user interaction plans.

How to Remove All Scheduled Messages

Go to the Flow, Select Action Node and choose Advance Action. Then select the Bot User API option.

image.png

Now Select the option Remove All Scheduled Messages action

image.png

Now you have to add UserNS of the User you want to remove all Scheduled Messages.

image.png

In the Sample Data you will see status: “ok” and delete: “0” which means all Scheduled Messages have been removed Successfully

Use Cases

  • Bulk Message Removal: Quickly clear all pending messages to prevent redundant or outdated information from being sent.
  • Precise Flow Adjustment: Modify scheduled messaging plans by removing all queued messages for immediate updates to user interaction.

Response

  • Success: Returns a 200 OK status with a message confirming all scheduled messages have been removed.
  • Error: Returns an appropriate error code if the user Ns is not found or if the request fails.

Find Bot Users by Phone

Search users via bot or workspace. Input the user’s phone number to locate their profile.

image.png

Find Bot Users by Email

Search users via bot or workspace using their email address.

image.png

Find Bot Users by User ID

Locate a user across the bot or workspace using their unique user ID.

image.png

Merge Bot User

Merge a secondary bot user into a primary (current) bot user.

  • All relevant data from the secondary user will be transferred to the primary user.
  • You can delete the secondary user after merging or retain their profile.

image.png

List Labels

Retrieve all labels assigned to a specific user.

image.png

Check Has Label

Check whether a specific label is assigned to a user. Enter the label name to verify if it is associated with the user.

image.png

Add Label

Provide the label name and assign it to the target user.

image.png

Remove Label

Remove a specific label from a user. Input the label name to disassociate it from the user.

image.png

Remove All Labels

Remove all labels assigned to a user.

image.png

Get Chat Message

Retrieve a specific chat message using its message ID (MID).

image.png

List Closing Notes

Retrieve all closing notes associated with a user.

image.png

Append Assistant Message to AI Agent Messages

Whenever an AI response is generated outside the AI agent, they do not automatically get stored in the AI agent’s message history. To address this, a new action has been added under the Bot User API section, allowing developers to manually insert these responses into the AI message history. Use the new Append Assistant Message to AI Agent Messages action to add it to the relevant chat history.

image.png

Here you can see how it looks as an example:

image.png

Instagram API Action

This document provides comprehensive details on the available actions in the UChat Instagram integration, enabling you to automate tasks, interact with your followers, and efficiently manage your account.

Prerequisites

Configuring the Integration in Messagingme.app

Log in to your UChat account.

Access “Settings” and then “Channels”.

Click on “Add Channel” and select “Instagram”.

Inserting the Action Node into your flow

Insert an Action Node into your flow and go to Advanced Actions

image.png

Select Instagram API

image.png

Available Actions

UChat offers a variety of actions to automate tasks and interact with Instagram.

image.png

1. Get Instagram User

  • Description: Retrieves information about a specific Instagram user.
  • Response:
    • name: User’s name.
    • username: Instagram username.
    • profile_pic: URL of the profile picture.
    • is_verified_user: Indicates if the user is verified.
    • follower_count: Number of followers.
    • is_user_follow_business: Indicates if the user follows the business account.
    • is_business_follow_user: Indicates if the business account follows the user.
    • id: Instagram account ID.

image.png

2. Get Instagram Account

  • Description: Retrieves information about an Instagram account.
  • Parameters/Fields:
    • fields (optional): Comma-separated list of fields to return (e.g., media_count,followers_count).
  • Response:
    • id: Instagram account ID.
    • username: Instagram username.
    • name: Instagram account name.
    • media_count: Number of media posts.
    • follows_count: Number of users followed by the account.
    • followers_count: Number of followers of the account.
    • profile_picture_url: URL of the profile picture.

image.png

3. List Instagram Account Media

  • Description: Retrieves a list of media posts from an Instagram account.
  • Parameters/Fields:
    • fields (optional): Comma-separated list of fields to return (e.g., media_url,like_count).
    • limit: Limit the number of media posts to return.
  • Response:
    • data: List of media posts. Each media post includes information such as:
    • id: Media post ID.
    • caption: Post caption.
    • comments_count: Number of comments.
    • like_count: Number of likes.
    • media_product_type: Type of media (e.g., FEED).
    • media_type: Media type (e.g., IMAGE).
    • permalink: Permanent URL of the post.
    • shortcode: Shortcode of the post.
    • timestamp: Post timestamp.
    • username: Instagram username.
    • media_url: Media URL.
    • paging: Pagination information to retrieve more media posts.

image.png

4. List Live Media from Instagram Account

  • Description: Retrieves information about live media (live broadcasts) from an Instagram account.
  • Parameters/Fields ::
    • fields (optional): Comma-separated list of fields to return (e.g., media_url,like_count).
  • Response:
    • id: Live media ID.
    • media_url: URL of the live broadcast.
    • viewer_count: Number of viewers of the live broadcast.
    • comments_count: Number of comments on the live broadcast.
    • like_count: Number of likes on the live broadcast.
    • timestamp: Live timestamp.

5. Get Instagram Media Details

  • Description: Retrieves detailed information about a specific media post from an Instagram account.
  • Parameters/Fields:
    • id: Media post ID (required).
    • fields (optional): Comma-separated list of fields to return (e.g., comments_count,like_count).
  • Response:
    • Detailed information of the media post, including:
    • id: Media post ID.
    • caption: Post caption.
    • comments_count: Number of comments.
    • like_count: Number of likes.
    • media_product_type: Type of media (e.g., FEED).
    • media_type: Media type (e.g., IMAGE).
    • permalink: Permanent URL of the post.
    • shortcode: Shortcode of the post.
    • timestamp: Post timestamp.
    • username: Instagram username.
    • media_url: Media URL.

image.png

6. List Comment Replies on Instagram

  • Description: Retrieves a list of comment replies for a specific comment on an Instagram post.
  • Parameters/Fields:
    • comment_id: Comment ID (required).
    • fields (optional): Comma-separated list of fields to return (e.g., time_stamp,text).
  • Response:
    • id: Comment reply ID.
    • text: Text of the comment reply.
    • time_stamp: Timestamp of the comment reply.
    • like_count: Number of likes.
    • from: Information about the user who replied to the comment (includes id, username).

image.png

7. Reply to Comment on Instagram

  • Description: Replies to a comment on an Instagram post.
  • Parameters/Fields:
    • comment_id: Comment ID (required).
    • message: Message of the comment reply (required).
  • Response:
    • id: Comment reply ID.

image.png

8. Hide Comment on Instagram

  • Description: Hides a comment on an Instagram post.
  • Parameters/Fields:
    • comment_id: Comment ID (required).
  • Response:
    • Success or error message.

image.png

9. Delete Comment on Instagram

  • Description: Deletes a comment on an Instagram post.
  • Parameters/Fields:
    • comment_id: Comment ID (required).
  • Response:
    • Success or error message.

image.png

Reply to Comment on Instagram

This action allows you to reply to a comment on an Instagram post. Additionally, it includes an option to save the comment reply as a bot message, making it visible in the chat history.

Parameters/Fields

  • comment_id: Comment ID (required).
  • message: Message of the comment reply (required).
  • Save as Bot Message: When enabled, the comment will be added to chat messages but not for previous training.

Step-by-Step Guide

Step 1: Adding the Reply to Comment Action

  1. Navigate to the flow editor and select the Instagram API.
  2. Choose the “Reply to Comment” action.

image.png

3.Connect the flow with your Comment Keyword Automation

Step 2: Configuring the Action

  1. In the action settings, enter the Comment ID.
  2. Input the Message that will be sent as a reply.
  3. Enable the “Save as Bot Message” option if you want the reply to appear in chat history.

(Refer to Image 2: Action Configuration Panel)

Step 2: Configuring the Action

  1. In the action settings, enter the Comment ID.
  2. Input the Message that will be sent as a reply.
  3. Enable the “Save as Bot Message” option if you want the reply to appear in chat history.

(Refer to Image 2: Action Configuration Panel)

image.png

Step 3: Viewing the Comment in Chat History

  1. Once the bot replies, navigate to the chat history.
  2. The bot’s reply will be displayed in the conversation thread.
  3. This allows for better tracking and reference of bot responses.

image.png

This ensures that bot-generated replies to Instagram comments are logged within the chat history for better visibility and tracking.

Set Persona

Setting a persona is basically allowing your chatbot to have different characters. Imagine having talking to a different person for your billing flow, another for the sales, then another for support. This allows a lot more personalization in your chatbot.

image.png

Step 1

Go to Contents > Personas > Click “+New Persona” then enter a name and an avatar (optional).

image.png

image.png

Step 2

Set it up on your flow builder

image.png

Result

If you noticed, the avatar has changed and your conversation is handled by the persona “Sarah”.

image.png

Set User Menu

Set User Menu is a good way to provide shortcuts to your chatbot. So instead of having the user go through each flow, we can use this function to have the user go straight to whatever flow they want to go.

image.png

How do you set this up?

Go to Contents >> Menus >> + New Menu

image.png

Create your Menu name and click “+Add Menu Item”

image.png

Add your menu title and make sure to choose a subflow then click Save. This is where your user will be sent once the menu is pressed.

image.png

Back at your flow, choose the menu you want to appear.

image.png

image.png

Set Timezone

You can set up the user timezone by using this action.

image.png

Log Custom Event

Messagingme.app now allows its users to track various events that happen within the bot automations and let users visualize these event via analytics in form of custom events and custom reports.

You will now be able to track custom events of your choosing and then make collaborative analytical reports out of them, giving you more insight of data and provide you with metric on which to track the performance of your bot and automations.

Creating and Using Custom Events In UChat

On your dashboard, click on the bot and go inside the flow builder.

image.png

Inside the flow builder, select Content tab, and then select custom events.

image.png

When creating a new event, following parameters you have to provide.

Event Name : This is used to naming that custom event

Event Description : This is used for describing what the custom event do and track.

Parameter Names : These are the name of the parameters you want to track for, for example product, sales category, name of the person etc

image.png

💡 You don’t have to fill each of the parameter in order for the event to work but you need to be able to provide at least one parameter for tracking

image.png

After creating an event, Go inside your flowbuilder and add the “Custom Event” action from Action block to start integrating the event and tracking it.

image.png

image.png

Click on Edit action and start setting up the event.

image.png

Here the event will track the Channel from which the users are coming and then the count will add one count to the total number of event happening.

image.png

The event is now ready to be tracked.

Visualizing Analytics For Custom Events

Click on the analytics tab, select custom events to view the analytics for that particular event.

image.png

Click on the event to further view the analytics of that particular event.

image.png

image.png

Creating and Using Custom Reports In Messagingme.app

In order to create a custom report, click on the tools tab and select custom reporting.

image.png

Enter the name of the report and the type of the report.

image.png

Click on the gear icon to start modelling your reports.

image.png

Modelling Funnel Report

Click on the “Funnel Steps” to start adding custom events to your report

image.png

Click on “Add step”

image.png

Select which type of event do you want to track

image.png

After adding the event, click on the three dots icon to start customizing it.

Set up the proper events you want to track in this event. Click on the Done button

image.png

You can add more steps to your funnel report, if you want to build a collaborative report or comparison report on multiple events and track the performance on multiple fronts.

image.png

If you want to change the colors of the trendline graphs and bar charts, click on the palette icon on the tope left corner and then choose the chart you want to change the color of.

image.png

You can also edit the graphs and charts themselves, changing their labels, axes, enabling or disabling them to show on the report itself or not

image.png

Modelling Percentage Report

In percentage reports, you can compare two events and find out how they perform w.r.t to each other.

In order to add the events, click on Field A and Field B.

image.png

In order to edit the charts and graphs, click here to modify them as per your needs.

image.png

Formulae

Percentage reports allow you to add formulae to calculate the percentage and proper event.

image.png

Formula #1

This formula compares the two fields and calculate the relative percentage between them. For example

  • Field A can be No of students in Class A and Field B can be the total number of students in a school, this formula will help you calculate the percentage of students of Class A compared with total student population of the school
  • Field A can be can be the no of sales of product A and field B can be the total number of sales, this formula will help you calculate the percentage of sales of product A.

Formula #2

This formula compares the two fields and just like the formula 1 give the relative percentage. Here Field A and Field B can be the two parts. The denominator here gives the sum of the constituents.

Field A can be the no of users passing through Flow A. Field B can be the no of users passing through Flow B. This formula will gives us how many people passed through which flow, This is import for A/B testing

Formula #3 & 4

This formulae compares the two fields and give a value which is not directly derived. For example consider a marketing SMS campaign. We can track the total number of the people targetted and the people replied to be put in DNC or Do not Contact list. Using this formula we can derive the actual number of people that responded back to the campaign or the actual response rate.

Visualizing Analytics For Custom Reports

In order to visualize the custom reports, you can click on the analytics tab and select custom reports

image.png

Move to board

We are just creating the Action Block and adding the Board function to it to test its functionality.

In the Action Block -> go to Advanced Actions -> Move to Board function

image.png

Next step -> Click on Edit Action in the Board Function.

image.png

You need to select the Topic to position the User at the end of a Process.

image.png

Now let’s say, we are getting the user to the platform for the first time, so we are selecting the Topic New Lead.

You can also add a Note to the Action taken out of the 3 Options provided in the drop-down menu:

  1. No Change
  2. Update Note
  3. Clear Note

Now let’s select Update Note under the Note Action. and Info under Note Type

Since we are adding the User as New Lead, let the note be as - {{First Name}} is our new Sales Lead

image.png

Now we can save the above Note Details in the Board.

Now let’s preview this Action Block with Board Function on the Pop-up Web Page.

We don’t see any action on the Web Page, as we are testing only the Action Block.

Now we close the testing Web page and open the Board and refresh the Page, you can see the Magic:

Under the New Leads Column in the Board, the Guest user has been added. Also you can see the Note: Guest is our New Sales Lead.

image.png

Now, You can have a look inside by clicking on the Guest User and you will be able to directly communicate with this User from within the Messagingme.appPlatform.

image.png

Now you can also drag them to the several stages manually from left to right and right to left.

We can also do Automation, where each time a user takes a certain action, you can move to the required Board. You can move them through all stages of the Board.

Now we have manually moved the Guest User from New Lead to Demo Scheduled.

image.png

For example, when we want to do Automation on this, if a Product demo has been scheduled with the Guest User, using the Calendly integration, we can also call an Action with the Board Function, where the following activity is done:

  1. Topic or Stage - Sales Pipeline / Demo_Scheduled is selected.
  2. Note Action: Update Note
  3. Note Type: Info
  4. Topic: Calendly booking is scheduled for Product demo with {{First Name}}

In this way, the Board parameters can be set when a Calendly Appointment is done.

image.png

Calendar File Generator

In this tutorial, we will learn how you can generate ICS files to enable users to add meetings directly to their calendars, whether on desktop, mobile, iOS, or Android devices.

Generating Calendar Files in Live Chat:

One powerful use case for calendar integration is enabling live chat agents to generate appointments within chat conversations. By utilizing the calendar file generator, agents can seamlessly create a meeting event that users can add to their calendars. Here’s how it works:

Within the live chat conversation, locate the “Calendar File Generator” option at the bottom.

image.png

Click on it to open a new window where you can customize the meeting details.

image.png

  • Provide a name for the meeting, such as “Follow-up meeting”
  • Set the start and end dates and times for the meeting.
  • Specify the location, whether it’s a physical address or a virtual meeting platform like Zoom.
  • Add a description, such as “Weekly Follow-up meeting.”
  • Optionally, include a URL related to the meeting, like your website.
  • Save the generated ICS file, which will appear in the lower-left corner of the live chat conversation.

When you’re ready, send the file to the user, who can download and add it to their calendar.

Adding the Meeting to Calendars:

image.png

Once the user receives the ICS file, they can seamlessly add the meeting to their calendars. Here’s a step-by-step guide:

When the user opens the file, it will open a browser tab displaying an overview of the meeting details.

  • They will see the meeting information, including the meeting name, date, time, and description.
  • To add it to their calendar, they can click the “Add to Calendar” option.
  • They will be prompted to choose a calendar application or service (e.g., Google Calendar).
  • Once selected, the event will be added to their calendar, allowing them to access all the details and even set reminders.

image.png

Calendar Integration in Flows:

Calendar integration is not limited to live chat conversations. You can also incorporate it into flows for further automation. Here’s how to use it within a flow:

  • In the flow, add an action block and select “Advanced Actions.”
  • Choose the “Calendar File Generator” option and edit the action.
  • Customize the meeting details as required, including dynamic variables for start and end times.
  • Save the meeting link to a custom field for future use.
  • Display the meeting link within a text block or use a button to provide easy access.

image.png

Send the link to users via SMS, email, or any preferred communication channel.

When users click the link, they can add the meeting to their calendars, just like in the live chat scenario.

Update user profile

This option is utilised to update user data from the source organization, in many cases where we need to update a user profile, along with other information can be updated in the 24-hour time frame.

This will pull the most recent user’s profile image, and also update the user’s timezone.

Rate limit Setting

Rate Limit is a valuable addition to the chatbot system, providing administrators with a streamlined approach to managing user interactions.

image.png

Use Cases for Rate Limit

Limiting API Calls:

Ensures compliance with third-party platform restrictions.

Controls the number of API calls per user within a specified time frame.

image.png

Preventing Fake Orders

Helps to mitigate fraudulent orders in e-commerce settings.

Restricts the number of orders a user can place within a specific time frame.

image.png

Controlling Notifications

Manages the frequency of notifications sent to users.

Ensures users are not overwhelmed with excessive notifications, particularly in e-commerce order

image.png

In summary, Rate Limit is a valuable addition to the chatbot system, providing administrators with a streamlined approach to managing user interactions while ensuring compliance with external platform restrictions and preventing abuse of system resources.

image.png