Getting Started with Flow Builder

Flow Builder is a drag-and-drop tool for automating communication tasks of any size, from simple auto-replies to full customer journeys.

Flow Builder’s flexibility allows you to create flows that are as simple or as complex as you need them to be. That’s why it’s good to get started with the basics!

Once you’re used to Flow Builder, explore our other guides to create advanced flows for your specific business needs.

Here's what we'll cover in this article:

How does Flow Builder work with Inbox?

Inbox is MessageBird’s out-of-the-box communication platform that allows businesses to support, engage and connect with their customers.

You can use Flow Builder and Inbox separately, or you can use Flow Builder with Inbox to further customize and automate your Inbox conversations.

Flow Builder terminology

When you start working with Flow Builder, you might come across some unfamiliar words and terms. Here are some that you need to know:


A ‘flow’ is an automated workflow that performs an action or series of actions so that you don’t have to!


A ‘trigger’ is an incoming message from a customer that kick-starts your flow. When you create a new custom flow, you’ll need to choose either a single channel to use as a trigger or the ‘omnichannel’ trigger, which allows you to create a single flow that handles incoming messages from multiple channels at once! Every flow requires a trigger.


A ‘step’ is an individual element in a flow that performs a task. Flow Builder has over 30 different types of steps, from ‘Recognize language’ to ‘End call’! In this guide, you’ll learn how to get started with the most commonly used steps.


Branches allow you to change the way that a flow executes based on the conditions that are met. Branches allow you to create different customer experiences based on information or responses that you receive from people as they move through the flow.


When using Flow Builder, you might need to use ‘variables’ to personalize your customer experience. Variables are data values that you collect from customers, such as a name, a contact ID, or even an image URL.

Meet your getting started toolkit!

With 30+ trigger and step types to choose from, Flow Builder is highly customizable! But when you’re just starting out, it’s better to get to grips with the basics before moving on to build advanced flows.

Here, we’ll look at some of the most useful triggers/steps to use when you’re setting up Flow Builder for the first time:

1. The 'Omnichannel' flow trigger

Flow Builder offers many different types of single-channel triggers, but one of the most frequently used triggers is the Omnichannel flow trigger.

The Omnichannel flow trigger is distinctly different from the single-channel trigger because it allows you to connect multiple channels to the same flow. You can use this step to set up a single flow that provides the same customer experience for every customer that messages you, no matter which channel they message you on.

For example, you might want to use the Omnichannel flow trigger to set up a single flow that handles incoming WhatsApp, Facebook Messenger, and SMS messages from your customers, and create separate stand-alone flows for channels that require a different customer experience, such as email. Learn more in the article, How to set a flow triggered by an incoming omnichannel message.

2. The 'Reply to channel message' step

One of the most useful Flow Builder steps is the Reply to channel message step. By placing this step into your flow, you’ll be able to respond automatically to any incoming messages that trigger the flow. For example, you can set up the Reply to channel message step to respond to any incoming omnichannel message with a friendly text-based greeting, such as, “Hi there, welcome to MessageBird! How can we help you today?”

Good to know

  • Your reply will be sent via the same platform as the incoming message that triggers your flow (unless you specify in the step setup that you want to reply by email). So, if a customer messages you on WhatsApp, your reply will be sent via WhatsApp.

  • Sending a text-based reply is the most common way to use this step. However, you can set up the step to reply with an image, file, audio, location, or email instead!

  • Use variables in your reply to create a more personalized customer experience.

Learn more in the article, How to use the reply to channel message step.

3. The Wait for a response step

The Wait for a response step is useful for re-engaging customers if they haven’t continued the conversation. Here’s an example of how you could use it in a flow to handle a customer inquiry about a refund:

  1. A customer messages you to ask for help with a refund. This message will trigger the 'Omnichannel' flow trigger.

  2. The 'Reply to channel message' step sends them an automatic message asking for more information.

  3. The 'Wait for a response' step waits for a set amount of time to see if the customer replies. If they do reply, the conversation will move through the Replied branch, and the flow continues as normal.

  4. If they don’t reply, the conversation will move through the 'Not replied' branch, and you can use another 'Reply to channel' message step to send a re-engagement message, such as “Hey! Don’t forget to send us the information about your return so that we can help resolve the problem.”

Learn more in the article, How to use the wait for a response step.

Good to know

  • To set up the Replied and Not replied branches, you need to toggle Add expired case to ON in the step’s settings.

  • When using the Wait for a response step, you can specify the timeout duration in the step’s settings. Two minutes is the default, but you can customize this for your specific use case.

  • You can save the response that the Wait for a response step receives as a ‘variable’. To do this, go to the step settings and enter a recognizable name, such as “reply1” into the Response variable name field. Check out the Add a note step below to see how you can use this variable.

4. The 'Create Inbox ticket' step

If you want to connect customers who are moving through a flow to Inbox, you have to use the Create Inbox ticket step. This step will create a ticket in Inbox so that your Inbox agents can pick it up.

A great way to utilize the Create Inbox ticket step is to enable the Handle long wait times feature. This feature is especially useful if you only have a few agents working in Inbox, managing a lot of incoming tickets, which can lead to long wait times and frustrated customers!

Handle long wait times will allow you to send an automated message to waiting customers after a set amount of time has passed. For example, you could use it to send a message saying “Sorry, we’re really busy at the moment, but we’re working as hard as we can to get back to you as soon as possible”.

Good to know

  • You can use Inbox without using Flow Builder, but connecting Flow Builder to Inbox via the Create Inbox ticket step allows you to create complex flows and automate repetitive conversations, freeing up your agent’s resources so that they can focus on providing excellent customer experiences.

  • To set up Handle long wait times, go to the Create Inbox ticket step settings and toggle it ON. Once you’ve done this, you can specify the number of seconds you want the flow to wait before sending an automated message in the Timeout field.

  • If another step is added after the Create Inbox Ticket step in FlowBuilder, the invocation will only jump to the next step after the ticket created in Inbox is resolved.

5. The 'Add a note' step

When using Flow Builder in combination with Inbox, the Add a note step is useful for capturing information from the automated Flow Builder conversation and adding it to an Inbox note. Inbox notes are internal, which means that customers can’t see them.

Adding notes to Inbox will help your Inbox agents quickly get up to speed with why the customer has reached out and what’s happened during the automated conversation.

You can use variables to pull information from the flow and into your Inbox note, such as {{FirstName}}, {{LastName}} and {{Email}}. This is also where you can use the {{reply1}} variable from the Wait for a response step.

6 Useful Flow Builder Use Cases

Here are 6 great Flow Builder use cases to get you started!

#1: Business hours

If you want your flow to behave one way during business hours and another way when you’re closed, you can do the following:

  1. Add a Create Date/Time step to your flow.

  2. In the step’s settings, configure your business hours by:

    1. Setting the hours you are open.

    2. Setting the days you are open.

    3. Setting the timezone.

  3. If you need more detailed business hours information, you can do this by adding another Create Date/Time step and repeating the above steps for different hours, or different days, or when there’s a break halfway through the working day.

#2: Menu/Regex

If you want your flow to provide a customer with multiple options that they can select or type, but that all arrive at a single branch, you can do the following:

  1. Add the Reply to message step to your flow, and in the step settings, type out the different options that you want them to choose from.

  2. Add a Create branch step, and configure the settings by:

    1. Adding a custom condition.

    2. Selecting Matches regex.

    3. Entering the values that the condition should recognize.

Learn in detail about creating complex Regular Expressions (regex) conditions.

#3: Routing tickets

When using Flow Builder in combination with Inbox, you can improve your customer experience by routing specific tickets to specific agents or making certain tickets visible to a select group of agents. Here’s how you can set that up:

  1. In Inbox, create specific skills, such as “French-language refunds” or “Dutch-language complaints”. Assign these skills to the relevant agents, and specify a skill level if necessary.

  2. In Inbox, create specific tags, such as “Refund” or “Complaints”.

  3. In Flow Builder, add a Create Inbox ticket step to your flow.

  4. In the step settings, add the Inbox tags that you want to use.

  5. In Inbox, create relevant queues.

  6. In Inbox, create a path to route tickets to the relevant queues as follows:

    1. Select the queue where you want tickets to land

    2. Select the condition that routes the tickets to the queue, such as “Language” or “Tag”

    3. Set a time limit

    4. Repeat the above steps for each condition that you want to add

Learn in detail about creating a routing workflow.

#4: Adding extra email prefixes

Once you’ve set up your custom email domain, such as, you can create multiple email prefixes with the same email domain, that all connect to the same Inbox channel!

For example, if you’ve set up as your connected Inbox email channel, you can also connect to the same Inbox channel.

Here’s how you’ll do it:

  1. In Flow Builder, add a Branch in your email flow.

  2. In the branch settings, navigate to the dropdown menu and select Custom condition instead of Message content.

  3. Create two conditions. Use the variables as follows:

    • {{}} contains "support"

    • {{}} contains "info"

This will ensure that your flow (and Inbox) only receives emails to these specific email addresses.

#5: Excluding emails coming through the email channel

Once you’ve set up extra email prefixes, you might want to exclude some of the emails coming to either or

For example, you might want to exclude all emails that sends to those email addresses. Here’s how you can do this:

  1. Create a Branch below the branch.

  2. In the branch settings, navigate to the dropdown menu and select Custom condition instead of Message content.

  3. Create one condition. Use the variable as follows: {{}}equals

  4. Add the End of flow step.

  5. In the Else branch, insert the Create Inbox ticket step, with the tag "Info" or any other relevant tag you wish to include.

Once this is set up, no Inbox ticket will be created when emails

#6: Different user experiences for new and existing customers

Another easy way to personalize your customer’s journey is to create different experiences for new and existing customers.

For example, you might want to collect new information about new customers, such as email addresses or phone numbers, but existing customers should be able to bypass this process.

This is how you can do this:

  1. Establish a unique identifier via a standard field within the contact’s V2 API. If Inbox is the source of truth, then unique identifiers must be imported to Inbox first to avoid duplicate contacts.

  2. Add a Create Fetch variables step.

  3. Query the third-party database against the variable.

  4. OR query the contacts V2 API for the variable.

  5. Create a Branch. Branch depending on whether the field has a variable or not.

  6. Continue with building your flow!

Flow Heatmap insights

Once your flow is up and running, you’ll want to see how it’s performing and where you can improve.

Insights on flow performance are visualized in heatmaps which show how conversations move through your flow. From here, you can gain an understanding of your customers’ behavior and easily spot where the most drop-offs or errors occur!

Learn more about Flow Heatmaps and how to use them.

Last updated