Documentation - Khoros Flow
  • Getting started
  • Triggers & Replies
  • Actions
  • Integrations
  • Guides
  • API

›Design How To​s

Guides

  • Overview
  • Learn

    • Beginner guide
    • Advanced guide

    Design How To​s

    • How to use timers
    • How to integrate with Zapier
    • How to increase web widget engagement
    • How to use Conditions
    • How to set parameters using buttons
    • How to send conversational reviews
    • Count sessions per Channel or Widget
    • How to use entities instead of multiple intents
    • How to handle multiple inbound messages
    • How to branch your chatbot
    • How to capture user input
    • How to change the language of your bot
    • How to clear the Flow web widget
    • How to create an Arabic speaking bot
    • How to create and manage multiple chatbots
    • How to create buttons
    • How to duplicate flows
    • How to export and duplicate a project
    • How to handle unknown input
    • How to use string templates
    • How to jump to the middle of a flow
    • How to loop flows
    • How to re-use intents
    • How to reset your password
    • How to schedule and broadcast chatbot messages
    • How to structure flows
    • How to use Business Hours
    • How to use carousels
    • How to use data to create context
    • How to use Quick Replies
    • How to pause a bot
    • How to send and receive files or attachments
    • How to deal with unexpected input
    • How to gather user feedback
    • How to track links
    • How to use WhatsApp click to chat links
    • How to accept payments
    • How to deflect calls to WhatsApp
    • How to delay replies
    • How to engage with customers using SMS
    • How to import contacts
    • How to test your WhatsApp chatbot
    • How to use Messenger m.me links
    • How to do multi-channel design

    Code How To​s

    • Code actions best practices
    • How to trigger channel specific flows
    • How to use math in a bot
    • How to create a location-aware bot
    • Create Parameters with Cloud Code Actions
    • How to use quick replies in code actions
    • How to add a delayed opening to the web widget
    • How to build a chatbot quiz for WhatsApp
    • How to catch API errors within Code actions
    • How to verify user input
    • How to check if an object property is undefined
    • How to create a dynamic opening based on the part of t…
    • How to create a Dynamic URL
    • How to create a Webview
    • Handle images in 3 steps
    • How to retrieve data from a database
    • How to connect with an external database
    • How to route back to the last flow
    • How to route your chatbot based on numeric input
    • How to send a confirmation email
    • How to send chatbot data to a database
    • How to send emails to multiple recipients
    • How to create Google maps images
    • How to use QR codes
    • How to use Javascript Comments in actions
    • How to send emails
    • How to store Parameters
    • How to capture and validate an address
    • How to find your Organization ID
    • How to work with dates
    • How to integrate with Wordpress
    • How to check if the user is on mobile or desktop
    • How to trigger bot events based on the page
    • How to combine functions in Javascript
    • How to set profile attributes

    Handover How To​s

    • Fallback
    • Chatbot Handoff How to nail the bot to human handoff
    • How to pause and resume a bot in Front
    • How to Enable or Disable Push Notification
    • How to hand over to a human agent
    • Send text versus trigger event
    • How to setup handoff with Front
    • THow to trigger flows inside Front

    Other

    • Audience
    • Projects
    • Analytics
    • Data retention

Handle multiple user or customer messages

When you’re trying to capture a message from a user you may encounter a scenario where they answer in more than 1 message. When your bot proceeds with the next step without letting the user finish their message you might lose useful information. Therefore, it is recommended to create a different set-up. Especially for cases where your are gathering information to push it to a customer service tool.

In this guide, we propose three solutions to give the user the chance to finish their message before proceeding;

  • Ask for 1 message
  • Indicate when finished
  • Wait for input

Ask for 1 message

This solution is very primitive and simple to implement. The downside is that this solution won’t be perceived as a natural conversation.

How it works: Within the Bot’s text reply indicate to deliver only 1 message.

Handle multiple chatbot messages

Indicate when finished

When you want to give your customers a bit more space you can allow them to send several messages. This leads to more complex design. Even though the user should indicate when “Done” it feels more natural than the first solution.

How it works: The parameters that you can fill are lists. Multiple messages by the user will add messages to the list. When the user types “Done”, we know that the list is completed and we can continue.

You can use the following code to check if the user types "Done" and redirect to the right event. Make sure to adjust the names of your parameters and events.

async payload => {
  
  if(Array.isArray(payload.params.message)) {
   message = payload.params.message[payload.params.message.length - 1].value
  //console.log(message)
        if(message == "Done"||message == "done"){
          trigger('Done');
        } else{
          trigger('Question')
          }
    }
}
Handle more than one chatbot messages

Wait for input

The third and most natural solution gives your users time to create several messages. The design is more complex than the first solution and is also more error prone than the previous two, especially when there is a large difference between the type of users. One person can type much faster than the other.

How it works: Similar to the previous step we add several messages to a list. Whenever the bot does not receive a new messages within 5 seconds (or more depending on your case) we can assume that it’s safe to proceed to the next step.

Handle several user messages
← How to use entities instead of multiple intentsHow to branch your chatbot →
  • Ask for 1 message
  • Indicate when finished
  • Wait for input
Docs
Getting StartedBasic conceptsGuides
Platform
StatusSlack community
Resources
Blog
Copyright © 2021 Khoros Flow