Moodbot lets you quickly gauge your company’s mood. It’s a great first bot to build because it’s simple, but it combines a number of important features of The Bot Platform.

This manual helps you build your first MoodBot. It starts with building the questions, recording the results, and extracting the results at the end. Then is shows you how to build segments, messages and broadcasts to track which users have answered their survey, and which you need to remind. And then it shows you how to extract the survey data.

How this manual works

For each step we’ll chat about the theory first: why you’re doing something.

The instructions for operating the system come next: what you’re actually doing.


  • Messages
  • Creating survey questions
  • Making your bot live
  • Making bots simple to use
  • Subscribing users
  • Segmenting users
  • A few extra improvements
  • Broadcasting to users


A message is a single interaction with a bot user. It starts when the user presses a button, or with another user action. It displays some copy, a video, an image, asks a question, or something else. Then it waits for the user to respond.

At its simplest, a bot is a collection of messages, linked together. Moodbot starts with a welcome message, links to three more messages that each ask a survey question, then shows a “finished” message.

When building a message, remember that most users read messages on a mobile. Write in short sentences, and use delay to break up your message so it’s readable on a phone screen. We recommend 500ms of delay per line of text.

When a bot starts, the first message a user sees is called the Welcome message.

Change the Welcome (first) message

1. In the menu bar, click ‘Messages”

2. Find “Welcome message” in the list of messages. Open it.

3. Click on the text icon to create a new text box.

4. Type “Ready to start the survey?”

5. Click on “Add button” (It’s within the text box.)

6. Edit the button text to say “Ready!”.

7. Click the cog to select what you’d like the button to do. For now, ignore most of the options and select “Send message”, to direct the user to another message.

8. You’ve not created other messages, so type “Q1” and select “Create new” to create the next message.

9. Save the button.

10. Save the message.

*Tips: If you put message parts in the wrong order, hover over the top corner of any part to see two arrows – up and down. They let you shift the part to its correct position.

Creating survey questions

The Bot Platform offers three ways to create survey questions:

  • Q&As are accessible from the message menu. They look like text objects, but ask you to type in a question. The response to that question will be saved to a “label” you define (for instance, “HotelChoice” or “Favourite_Car”)
  • Quick-reply buttons let you offer the user a choice of several responses. They appear underneath a text object, marked “Quick reply”. The user can select only one button, and the text on that button is saved to a label.
  • Text buttons appear within a text object, or as part of a carousel. (They’re selected with “Add button”). Text buttons offer a wider variety of interaction than quick replies. Q1 will use a Q&As to ask a question, and Q2 will use quick-reply buttons.

Create question one

  • You’re now back at the message window. A “Q1” message stub has been created, but marked “Incomplete”

1. Open Q1.

2. You’re now going to create a survey question. To make it look at bit more exciting, let’s also add a graphic.

3. Click the image icon, and a image box will appear. Click on the box to pick an image.

4. Now select the Q&A icon.

5. Type “Question one: Can you tell me your location?” into the text box.

6. Select the Q&A cog, and type “location” as the name of the label

7. Type “Q2” for the reply message, and “Create new”

8. Save the Q&A, then save the message.

*Tip: If you want some glossy B&W or colour images to flesh out your bot, The Bot Platform keeps a directory of royalty free stock images here.

Making your bot live

Users can’t see any change you make to your bot until you make changes “live”. Each time you make a change like saving a message, you’ll see a message saying “You’ve made changes to your bot, you’ll need to push them to Messenger before they go live”.

To see changes you’re making as you make them, click the “push live button”. Then click the button in the top-left corner next to The Bot Platform logo to open the bot in Workplace or Messenger.

The bot will open a new browser window so you can keep editing in the current window.

Now return back to the bot to continue editing.

Create question two

1. Back in the messages list, open the incomplete message Q2.

2. Create a text object, and type in “Question two: How are you feeling today?”

3. Below the text will be a button labelled “Add a quick reply”.

4. Click on that, and click on the smiley face, which is an emoji picker. Select a happy emoji.

5. Click on the cog within the quick reply, then select “Save and send message”.

6. Type “mood” as the label, and use “create new” to create a new message called “Review”.

7. Save the quick reply.

8. Back in the messenger creator, another “Add a quick reply” button will have appeared. Go through the same process for a sad emoji. Save again to the label “mood”. The system will prompt “You’ve used this label before. Do you want to use it again”. You want all responses to a question to appear together when you download the survey responses, so say “Yes”.

9. Save the button.

10. Add any other quick replies / emojis you’d like.

11. Save the message.

Making bots simple to use

A quick reply asks the users for an off-the-cuff choice between a couple of options. Usually they’re used to direct the user to another message, but the users’ choice can be recorded to review later – for instance, when the user fills in a survey question, as shown to the right.

Text and carousel buttons, meanwhile, give you a broader choice of options. In addition to sending a message, these buttons can:

  • Redirect a user to another message or a website (“Open URL”)
  • Add or remove a user from a subscriber list (“Broadcast”)
  • Let the user share something (“Share”)
  • Or, like a quick reply, save the button text to a label and go to a new message (“Save ‘label’ and send a message”)

Whichever type of button or interaction you choose, make sure it’s placed at the end of the message. That keeps the bot flow clear: first the message content is displayed, then the message pauses and waits for the user to interact.

Review the users’ answers

1. Back on the message screen, open “Review”

2. Create a new text object, and enter “Thanks for participating in the survey.”

3. Create a delay of 500, then a second text box.

4. In the second text box, type “You answered {{$location}} for your location, and {{$mood}} for how you’re feeling. Is that right?”. The construction {{$labelname}} shows the user the contents of that label. (And it is, we promise, the only thing in our bot-creating system that looks remotely like coding.)

5. To give the user the chance to redo the survey again, click on “create button” at the end of the text box.

6. Create a textbox button marked “Yes!”, and direct to a new message you create called “Finished”

7. Create a second textbox button marked “No – redo the survey” that directs the user back to Q1.

8. Save the message.

Subscribing users

When you create a bot, aim for an ongoing, light touch relationship. The first step is to ask users to subscribe.

Under Facebook’s terms, you can only push messages to users who’ve formally subscribed to your bot, or who have interacted with the bot within the last 24 hours. That’s why we recommend asking users, as their first interaction in a bot, to subscribe.

For Moodbot, to keep the demo simple, we’ve delayed the subscription request to this final message. Here, the user has completed their survey, and it’s very likely they’ll want to review the results – which means they have a clear incentive to subscribe.

Segmenting users

Each time you subscribe a user, they’re added to a “bucket”. Buckets can be used simply, where a single bucket is used to track users added to or removed from the subscription list.

Or you can create many buckets, and use them to segment your users as they travel through a bot. Users can be in as many buckets as you like, and our broadcast functionality gives you fine control of which segments a message will be broadcast to. As an example, you can broadcast to “everyone in bucket X, so long as they’re not also in bucket Y”.

Finish the survey, and subscribe the user for updates

1. Open the incomplete “Finished” message

2. Create a textbox saying “Thanks for taking part in the survey. Would you like to see the final results when they’re available?”

3. Create a “Yes please” button and click on the cog.

4. Here, rather than “Send message”, you’re going to use the Broadcast action to subscribe the user.

5. Choose “broadcast”, then “opt in” to add the user to a bucket.

6. Let’s call the bucket “survey_results”.

7. Once the user has subscribed to survey_results, send them to a message called “Alerts – subscribed”.

8. That message should already exist in your bot as it’s a standard message. You can edit it later to say something like “Thanks for subscribing!”

9. If the subscribe alert did not already exist, make sure you create it and save before pushing your bot live.

A few extra improvements

You can now push the bot live. You have a working MoodBot.

But it’s not that user friendly, and there’s a few additional polishes that will help make users understand and access the bot.

First is keywords. You can create a keyword, a phrase, or a combination of keywords and phrases, that a user can type and the bot will jump to the message of your choice. The keyword creation process is shown to the right.

Once you’ve set up a few keywords, then edit the “persistent menu” and “startup message” in the main menu. The first lets you set the options shown in the menu that’s displayed at the base of your bot screen. The second defines the text shown in chat when a user first encounters a bot (before they have hit “Get Started”).

Creating Keywords

1. Select the “Keywords” option in the left-hand menu.

2. On the keywords screen, you’ll see there’s a standard set of keywords already set up, such as the bot saying  back to the user if the user says  to it.

3. For moodbot, let’s create keywords for “Restart”, “Main menu” and “Q1”.

4. Moodbot doesn’t really have a main menu. So let’s have “restart” and “main menu” do the same thing, which is take the user to the welcome message.

5. Create a new keyword by changing “type” to “contains”.

6. Add the text “restart, main menu” to “keywords”. You can separate terms with a comma, and have as many individual terms as you want.

7. Click on “Create new message” and select “Welcome message”

8. Save.

9. Use the same process to create a “Q1” keyword that jumps to the first question.

Broadcasting to users

Unlike email or social posting, bots are perfect for two-way conversation. Our platform makes it easy to send a message that, say, directs a user to your web site to read an article, and they then ignore the bot until the next broadcast is sent.

But that’s not a great way to get the user to explain their preferences and interests to you. Instead, we encourage you to always give the user a way to interact with your message, whether that’s deeper diving into information already in the bot, or just saying “I like this”.

Did this answer your question?