cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Guides

Learn more about specific Flow features
Filter
Filter by Labels
Select any of the labels below to filter results.
Filters applied...
Sorted by:
Most people agree that chatbots are great for automation. But what if you want to automate interactions and makes those interactions personal. There are different ways to personalize the customer experience, and one of them is by using   String Templates . What are String Templates     What does   {{}}   (curly braces) mean in a text reply by Flow? Those curly braces and the text in between are so-called String Templates. Those String Templates allow you to insert text in a dynamic way. Based on user input or information of another system that text can be different for every customer. That possibility to reply with content personalized for 1 customer allows you to create scalable and yet personalized customer journeys with your AI chatbot. Working with those string templates is channel-agnostic, meaning that it can be used on different channels like Web, WhatsApp, Messenger, and more. Interested in creating an omnichannel chatbot, read more in this article about   creating 1 chatbot for Web, WhatsApp, and Facebook Messenger.     When to use String Templates There are several use cases for using those String Templates and there are 3 that we encounter often. We’ll show how to use those to increases your AI chatbot customer journey. 1. Param Selection The AI can extract entities from the user input and store that within a parameter. That parameter is a list or array. That list can have multiple values. By using String Templates you can access the different values in that list and show them to the user in a Text Reply.     2. Names Did you ever sign up for a newsletter with your email address and your name in all lowercase letters? If that’s the case you receive those automated emails like “Hi sander,”. That is alright but if you want to optimize that personal experience you want that letter “s” to be a capital letter. To make sure that the first letter is actually a capital letter we can use, yeah you might have guessed it, String Templates!     3. Dates Working with dates can be a hassle because of the different formats that are available. Do you write the month in a numeric way or do you prefer written letters? With String Templates you can easily format dates to your use case and let your AI chatbot format a date and send a text reply with your new date variant.   Other functions With String Templates you have way more options. You will find more in our   String Template docs.  
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
93
When designing your bot you might encounter a case where you want your current flow to continue in the middle of a flow that already exists. You can jump in half-way into an existing flow by using event. We will show you how to that with the example below. Set an event Jumping to the middle of a flow can be done by using event. You can drag and drop an event reply and an event trigger into the flow where you would like to enter half way. In our example the following steps will be executed: A text trigger is followed by a text reply The text reply will trigger an event "Jump" The triggered event will activate the final text reply Trigger the event We can now create a new flow and use our new event to jump to the middle of previous flow. Happy jumping!
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
98
Looping flows is often used to check data and provide your users with an opportunity to adjust When using a bot to capture data it is often wise to build a data check. A common example is when there is a takeover in the weekend. Your agents are off, the bot is not able to answer the question correctly so the best thing to do is probably to create a ticket and resolve it after the weekend. To create a ticket you'll need some data such as the name, e-mail and the question. After collecting this data you might want to check the user input. This allows your users to check and adjust data. This results in a better workflow as you minimize the chances of getting incorrect data. This article will show you how loop back so the user is able to adjust information. Capture your data Before we can check data we need to gather some. In the example below, we capture name and e-mail with an "any text" trigger. We end this step with a check "Is the following correct". We've also added 2 quick replies. The first one being "yes" and the second one begin "no".   Loop back     The yes/no question above will result in a confirmation of the correctness of the data. When the user input is incorrect we recommend letting the user know that we will walk through the data again. Besides that we can reset the parameters, we basically throw away the incorrect data and we trigger the starting event. Proceed  If the gathered data is correct we can proceed to the next step. This step depends on your current processes. This could simply be sending a takeover e-mail but it could also be an API call to create a ticket in your favorite support tool.      
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
117
Who likes to train the same intent multiple times? Well.. not us. Why not re-use your intent and make your life easier. In this guide, we will show you how to create and intent, train it and reuse it. 1. Create a Text Trigger To get started we first need to create an intent or text trigger. Create a new flow and drag and drop a text trigger onto your canvas. Give a name to your intent and save your design.   2. Train your intent One of Flow’s key features is our natural language understanding. By adding training examples to an intent your AI will start learning concepts. To add training examples, click on the train button within your text trigger. The AI start working when you have more than 5 examples. It is recommended to add more examples to increase performance. When working with intents that have a similar sentence structure you might want to consider   Using Entities.     3. Re-use your intent You’ve defined your intent and you can now use it within different flows. To reuse your intent head over to a new flow or step where you would like to reuse it. Now drag and drop a new text trigger onto your canvas and save your design. After saving your design you can now select your text trigger. In the right pane, you can give your intent a title and link it to an existing trained intent.    
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
128
Forgot you password? You're not the first one that wants to reset their password. Recover it with the link below: https://app.flow.ai/passwordreset Reset or recover password Password Reset Enter your email address Select Reset Password Check your inbox for a password reset email No Email? What if you don't see any new email in your inbox? Check the spam folder Make sure your email address is not blocked. Are you receiving other Flow emails? Contact us at   support@flow.ai    
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
95
Use tags, create segments, schedule and broadcast your messages regularly or at a specific day and time. In this guide the Audience and Scheduler feature will be explained. This functionality is helpful for: Sending Updates Marketing campaigns The video will show you an example of the user interface when combining the broadcast feature of Flow with Messenger. The article below will cover a use case where you can use multiple tags to deliver personalized content. 1. Design your bot & Add tags To create segments from your audience you can add "Tags" to your design. You can drag & drop the "Tags" reply into your canvas. The example below shows you how to combine quick replies, events and tags to create segments. Allowing you to tailor campagins to the user's specific needs, without any coding.       It might be the case that your user wants to add multiple tags. To add multiple tags you can loop back if the user wants to receive updates from multiple categories. More information regarding looping flows can be found at our article:   How to loop flows. 2. Create an audience or segment The Audience section allows you to create segments and grow your audience. Add a condition to create a segment that contains the people that want to receive "sale" updates.     3. Schedule and broadcast messages When your design and segment has been created, you can use the scheduler to broadcast messages to your users. Instruct the bot to: Trigger an event Add a Tag Remove a Tag When setting a apecific date & time, the bot will trigger the event at the scheduled time. To test the events from your device you could add a text trigger e.g. "testsale". That text trigger should then trigger the corresponding event name.    
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
110
When you start creating flows within your project everything is seems clear. But as your number of flows increas, your overview might decrease. Therefore, we'll provide you with some useful tips to keep your project clean and structured.   Create Small Flows When using a chatbot for asking multiple questions that appear in the same order. E.g. conversational form where you ask for a name, phone and e-mail of the user. In that case we recommende splitting these questions in sperate flows and link them together by using events. This structure enables you to edit your flows more efficient as you'll find your topic in no time! The example above results in at least three flows. The first to gather a name, the second to gather a phone number and the third to capture the e-mail address. Group Your Flows So now we have three flows that are triggered one after each other. To cluster them you can create groups with corresponding name. The three questions as mentioned above can be grouped as "Chatbot form" or "Conversational Form". Alphabetical Order Great! We got different flows that belong together but within our group they do not appear in a logical order. Therefore we can change the name of the flows. The systems sorts flows based on alphabetical order. This works for flows and groups. With the example above the following names would result in a clean and structured design: "Conversational Form" "Gather Name" "Gather Phone" "Gather Email" Hope this helps structuring your conversational experience! If you have any additional questions. Feel free to contact us through   sales@flow.ai
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
122
When designing your chatbot you might encounter the fact that your business processes are different outside of business hours. A common example is a livechat takeover by a human during business hours. Outside of business hours you might want to get contact details of the end user to get back to them asap. Set Business Hours You can set your Business Hours by selecting Business Hours from the Project Settings. You will be asked to enter a Label, Timezone, Channel and your opening hours.     Conditions or Actions From here we got two options. You can either use conditions if you feel more confortable with the drag & drop interface or you could you Actions if you prefer Javascript. Conditions Conditions in combination with Business Hours can be used to alter the chatbot flow based on your business hours. Use conditions or if/else statements, and branch your chatbot. If it its within opening hours we can follow up with a live agent. Else, we create a ticket to follow up with a CRM system.     Actions After setting your business hours, you can also branch your bot by using Actions. Actions are small pieces of JavaScript that you can run within a Flow. The example below triggers the event "Livechat Open" if it is within Business Hours and triggers the event "Livechat Closed" otherwise. Change the label to your own label and modify the triggered event to your needs. After you've created your action don't forget to implement it in your design. Within your flows drag en drop an Action reply and select the action you've just created. async payload => { if ( await toolbelt.isBusinessHours({ label : "YourLabel" })) { trigger( 'Livechat Open' ) } else { trigger( 'Livechat Closed' ) } }
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
98
Carousels are shaped by multiple cards, use carousels to enrich the User Experience How to use Carousels     A carousel is a set of multiple cards with buttons attached to each card. A carousel is great for presenting several options to your end user. Within you design you can use carousels to enrich the user experience. 1. Add Carousel Select the the carousels reply and drag and drop it onto your canvas. 2. Add Cards To add cards to your carousel, select "Add Card" from the Carousel section on your right.     3. Customize cards To customize your card, select Card from the panel on your right. You are now able to change content of your card.     4. Re-order Cards To re-order your cards from your carousel, you can select the card that you would like to re-order. Then move it forward or backward from the Carousel section on your right. To re-order buttons read our   buttons article.  
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
106
Just like a good sales person, a good chatbot should be aware of the context to deliver valuable experiences. Many chatbots today fail to deliver valuable conversations because they lack context. Context means being aware of what’s going on around the conversation, something that humans are very good at. Like a good salesperson or customer service representative, a good chatbot should be aware of the context to deliver a valuable experience. A chatbot should offer its users, just like a good sales manager, the right information at the right time. Or even contacting them proactively by initiating a conversation at the right time! In this guide, we will show you how you can use existing data to create context for your bot so that it will be able to deliver valuable and personal experiences. You can use different types of existing data to create context: Page information User Input Profile information Channel information Existing data You can use existing data to create context from several sources. We've list 4 common sources: 1. Page information     Is your user engaging on a specific page? Use that data to create context. Just as a car salesman will tailor his approach depending on which car types you are looking at. Create context, but it might be wrong so don't forget to check it. Welcome to our features page. What would you like to know about our features? 2. User input     The input of the user can be extracted for several workflows. You might want to create a ticket in your CRM, send an e-mail with the extracted data, request the status of an order or simply use the extracted data in your chatbot to personalize the experience. Read more about extracting data in our article about Capturing and Extracting Data 3. Profile Information When using messaging channels like WhatsApp or Facebook Messenger you will receive information of the user, just like when a friend calls you on your phone. You'll probably pick up in a different way when you don't know the user that's calling you. Why not let your bot do the same thing? {{ user .name}} //- name of the user {{ user . profile .firstName}} //- first name of the user {{ user . profile .lastName}} //- Last name of the user {{ user . profile .fullName}} //- first and last name combined {{ user . profile .picture}} //- profile picture {{ user . profile .locale}} //- user language {{ user . profile .gender}} //- user gender Things starting to get fun when you use the available profile picture in combination with Machine Learning to detect age, gender, hair color to follow up with different flows.     4. Channel related This one is a bit different from the three above as it's not really a data point where we extract data from but still we can use different channels to create unique customer journeys. Some channels are considered "richer" than others, meaning that they allow more types of messages. The Web Widget and Facebook Messenger are considered as very rich while WhatsApp is a bit more limited. You can check which channel is using to deliver the richest reply possible on that channel. Read more at our article Channel specific flows.  
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
105
    To improve your conversational experience it might be helpful to create quick replies. Quick Replies are buttons that help the end user with pre-defined replies and make your solution more discoverable. Add Quick Replies To create Quick Replies, you select a reply action on your flow canvas. In the right pane, you see a tab called quick replies. The dropdown enables you to use the quick replies for different purposes such as sending text, triggering an event or to share a location. The Quick Reply Label will be visible for the end-user within the button itself. The Quick Reply Value is the value that will be send when the end-user clicks the Quick Reply.    
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
105
Pausing your bot might be helpful when you don't want to reply to new messages. This helps you to prevent the bot to responding. Pause the bot To prevent the bot from replying to new messages we can use the Action Reply. Drag and drop an action to the place where you would like your bot to pause. Then select Pause Bot as corresponding action.     Your bot is now paused. That means that it won't reply to new user input. By default the bot will pause for 15 minutes. Adjust minutes to auto pause To change the number of minutes your bot pauses you can select Brains from your Project settings. You can change the number of minutes to auto pause by adjusting the number of minutes.  
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
65
You can use the  Flow   platform to integrate your AI bot with external services. That's also where sending and receiving files or attachments come in handy. Sending files can be useful when working with receipts, ticket or other documents. A common data type that is used for sending file is .pdf. Receiving files from an end-user is a less populair feature but can be used to receive document or pdf files. In this guide we will show you how to send and receive files. Hosting files To allow the sending and receiving of files within Flow, it is important to first host the files and set them public. This can be done with hosting services like Google Cloud, Imgur or AWS. After this is done, the URLs of the hosted files can be easily copied and pasted into the Flow platform. Sending files We start with creating a new flows and a text trigger. Then we drag & drop the File Reply onto the canvas. Add a title and url to corresponding file and we're done.     Receiving files In order to receive a file we create a new flow and this time we add the File Trigger. That means that whenever the user uploads a file when being at corresponding step in a Flow, the bot continues.     Other Media: Images, Videos, Audio and location Besides sending and receiving files, similar steps can be used to reproduce a flow that contains images, videos, audio or location. This allows you to create rich experiences and integrate your chatbot solutions with other services.
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
53
When you are using your chatbot to ask for information and to gather data it might be wise to include an alternative option to avoid a chatbot fail. This is especially useful when the user input should be verified. Common examples where this concept is useful are: Asking and validating an email address Asking and validating a phone number Asking and validating an order number In this guide we will show you how to make an additional branch that will be triggered when the user provides an invalid e-mail address, phone number, or order number. Some concepts that we’ll be using here are   capturing user input   and   looping flows. Extract data In this example, we will ask the user for his or her email address. We do that by using the Any Text trigger and set it to “should be an Email address” in the right pane. You can set the any text to be any of these: Text Date Time Number Email address Phone number URL Distance Money The left branch will be triggered when, in our example, the any text contains an email address. And that brings us to the alternative option. What if the user does not provide a valid email address.   The Alternative option When the user doesn’t provide, in our case, a valid email address then the left branch won’t be triggered and the bot will be stuck or fail as it can not proceed. Therefore it’s important to provide an alternative branch. The alternative branch will be triggered when there is no valid email address to be extracted from the user input. Drag and drop an any text next to your previous any text. Whenever this branch will be triggered you might want to give the user an option to try again or to go back to the menu.       Try it out Make sure to always test your experience. With the example above we can easily do that by using the try it out. We can now see that in the first attempt we don’t provide an email address and the right branch is triggered. We loop back and try again and we provide a valid email address that is recognized. Happy flow-designing!    
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
60
Measuring the performance of a chatbot can be challenging. When is a bot successful? Is your virtual assistance successful when there is no handover to a human? Or did your end-user dropped out because it performed poorly? In this guide we will show you how to create a simple example of feedback flow within  Flow . We start the Feedback Flow with an event. After answering an FAQ we instruct the bot to continue with the Feedback Event by dragging and dropping the Event Reply into the FAQ flow.     will be triggered and the timer is used to delay a reply by the bot. We continue with a follow up "Was I able to help?". You can add   Quick Replies   to improve CX if supported by your channel. From here we've got two options: 1. New Flows If the user answers "Was I able to help?" with the Quick Replies or simply by typing input we trigger a new event and corresponding Flow. If the answer is positive, the bot was able to help, we trigger Feedback Positive and if the answer is negative, we trigger Feedback Negative. 2. Add Tags Instead of creating more Flows you could also try to keep things more compact by adding tags. If the positive branch has been triggered the conversation can be tagged as Positive and the other way around. Tag each branch by dragging and dropping a Tag onto your canvas. Then add a name for that tag so we can use it later on.   Measurements Our design is finished and we can now let the bot do its thing and data will come in. The next step is to analyze the incoming data. Data Export for Flows and Tags Within the Analytics view, you can select a data range and export data. You will receive an export of your data. Within the data you will be able to see which flows have been triggered and how often it occurred. The same process allows you to get insights into the tags. Analytics Integration Another way to measure performance is to add an analytics integration from the Integration section. You will be able to see your flows and tags in your existing analytics tools.
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
87
It might be useful to track links that are incorporated in your chatbot. You might want to read this article if you want to: Measure conversions from a campaign Measure the popularity of different incorporated links This article will show you how to track your links in 3 steps. Create a chatbot or conversational experience Obviously, you'll need to have a chatbot in place before you can measure the links that are used by your chatbot. If you're new to Flow and need guidance in designing your chatbot, have a look at: Flow Introduction Flow Tutorial Find a Link Tracking Platform There are several link tracking platforms available. Choose your platform based on your needs and compare different platforms. We recommend to try different ones. After experiencing different platforms you'll be able to pick the one that matches your needs. To help you out we've listed a couple: Linktrack ClickMagick Improvely Within your link tracking tool you'll be able to create a new link that is being tracked. The example below shows you an example of such a link that redirects to Flow sign up page.   Incorporate your tracked link You've just create your tracked link. Now it's time incorporate that link in your chatbot design. Go ahead, go to the flow where you want to place your tracked link and place it in your button, card, carousel or place it as simple text.       Your links will now be tracked. Monitor your clicks from the dashboard in your link tracking tool.
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
58
WhatsApp's Wa.me or Click to chat links allow you to start a chat by clicking on a link. That link will open the WhatsApp application of the user and allows the user to send a message to a number even when that number is not saved in the address book. A second feature is that text can be incorporated within these links allowing the user to send text by just clicking the link. This works great to guide users and trigger flows of your chatbot. How it works Let's say you have the following phone number attached to your bot +31 6 33567993. To create a wa.me link that opens WhatsApp and enables the user to send message your link should be: https://wa.me/31633567993 To incorporate text: https://wa.me/31633567993?text=preorder Or when using multiple words: https://wa.me/31633567993?text=preorder%20custom%20shoes Make sure that the text will trigger a flow in your chatbot design by using text triggers within your design.
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
64
Increase your sales with payments and bring your bot to the next level   Flow allows you to do much more than simple bots. Automating simple Q&As is valuable but there is much more value than you can get from your bot. Ever thought about increasing your sales by integrating payments with your chatbot? Request a payment Allow your bot you take payments within your conversational interface. Think about a user that identified a product or service to buy within Messenger, Web or WhatsApp. Prevent a channel switch and handle payments within the users’ preferred channel. Your bot is able to do payment request while specifying the currency, amount to be paid, and a link is automatically created that will take your customer to a secure payment portal to complete the transaction. Receive a payment Once payment has been completed, an action is triggered and your conversational experiences continue. Confirm that the payments have been completed can be done through that same channel or send an e-mail as confirmation. It all depends on your processes. PCI-compliant Payments are processed using the Stripe payment engine, you don't have to handle payments yourself. When the moment of payment is there, Stripe processes the payment and waits for payment confirmation. This ‘stand-off’ approach means you don’t have to worry about PCI compliance (Payment card industry data security standard). Are you looking for a way to implement payments in your chatbot? Read more at our   Payment docs.
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
52
Transfer and deflect phone calls to WhatsApp using Twilio Deflecting calls to messaging can decrease the load on your customer service department and at the same time improve your customer satisfaction rates. In this tutorial, we’ll walk you through setting up   phone deflection   to WhatsApp using Twilio and Flow. The solution In this use case we will configure a phone number that has an IVR. The IVR will offer a customer the choice to use WhatsApp instead of waiting on the phone for a customer service agent. So the customer flow looks like: A customer dials the phone number An IVR picks up the call and will ask the customer to press 1 if the customer would like to use WhatsApp instead If the customer presses 1, a WhatsApp templated message is sent and the call gets disconnected If the customer presses 2, the call gets forwarded to a human operator Requirements To make this work you’ll need a couple of things: Login to Flow Pro or Enterprise   account Twilio account with the connected phone number (see below) WhatsApp  phone number connected to Flow An approved WhatsApp templated message Note: This article demonstrates WhatsApp and does not explain how to enroll a WhatsApp Business Account. Also note that this same use case would work with for example   SMS ,   MessageMedia   or a customer service solution like   Khoros  Step 1. Setting up the phone number It all starts with a phone number: you’ll need to buy one or add an existing number to Twilio. This can be, but does not have to be the same phone number you use for WhatsApp. Using an existing number, not connected to Twilio For using an existing phone number that is not connected to Twilio you’ll have 3 options: Migrate your phone number to Twilio. This will take a couple of weeks and you’ll need to contact   Twilio support Transfer, or forward, a call to a Twilio connected number using your existing phone solution like Avaya, Genesys etc Create a SIP connection between Twilio and the existing software connected to your phone number Note: Need help with this? No worries, please contact   Twilio Support. Buying a new phone number Twilio offers unused phone numbers for different countries. Most of them you can easily buy within the Twilio console. Make sure the phone number you purchase supports voice! If you have any questions regarding the availability in your region, please contact   Twilio Support. Step 2. Configuring Flow Open the Flow dashboard Go to the API Keys   section of your organization settings Add a new Management API key   Choose the Flow project that is connected to WhatsApp Add a new flow that starts with an   event trigger   named   DEFLECT_CALL     Add a   code action   below the event that executes the following code: async payload => { // CHANGE THE ID WITH YOUR OWN TEMPLATE ID return await toolbelt.whatsapp.send360Template({ id: 'YOUR UNIQUE ID' }) } After saving the code action and flow, open the integrations section Add a new REST API integration Choose a Management API key, save the integration and copy the token Step 3. Configuring Twilio When we are able to receive inbound calls with Twilio, you can configure the Twilio Voice API. Flow provides a built-in Twilio Voice integration that allows you to create an intelligent IVR system, but you can also create the setup using the Twilio Voice API or Twilio Studio. Option 1: Using Twilio Studio Setting up the IVR using Twilio studio requires a Flow REST API integration. We basically configure the IVR within Twilio and when a user presses 1 we execute a piece of code that will send the WhatsApp templated message. Configuring Twilio Studio Open   Twilio Studio Create a new flow and add a starting trigger Add a   Gather input on call   and add the speech-to-text:   Welcome! Press 1 for WhatsApp or 2 to connect with an agent     Add a   Split Based on...   and connect it with the   User Pressed key   of the   Gather input   widget Add 2 conditions for the key pressed 1 and 2   Add a   Run function   widget and choose to create a new   Function Add the following code to this new   Function: const request = require ( "then-request" ); //6.0.2 // READ MORE INSTRUCTIONS HERE: // https://flow.ai/docs/api-docs/#rest-api-broadcast const apiEndpoint = 'https://api.flow.ai/rest/v1/broadcast/instant' ; // REPLACE THE FOLLOWING CONFIGURATION const channelName = 'whatsapp360' ; const eventName = 'DEFLECT_CALL' ; const channelExternalId = '+1234567890' ; // Your WhatsApp phone number const apiToken = '' // The API token from the Flow.ai REST API exports.handler = function ( context, event, callback ) { var phoneNumber = event.phonenumber.trim().replace( '+' , '' ); var body = { audience : [{ name : 'Anonymous' , phoneNumber, profile : { } }], channel : { channelName, externalId : channelExternalId }, payload : { type : 'event' , eventName : eventName } }; var options = { headers :{ 'Content-Type' : 'application/json' , 'Authorization' : apiToken }, body : JSON .stringify(body) }; request( 'POST' , apiEndpoint, options).done( function ( res ) { callback( null , "OK" ); }); }; You'll need to paste the   Flow.ai REST API token   (we've created in step 2) into the above code and your WhatsApp phone number as the   externalId Make sure you save the function and navigate to the   Phone numbers   section   Choose a phone number and configure the Voice and Fax setting Select   Voice calls   and Configure with:   Webhooks, TwiML Bins, Functions, Studio or Proxy     This is the basic setup in Twilio studio, you can now try it out by dialing the phone number! Option 2: Using the Flow Phone integration Create a separate Flow project Choose the phone channel or add a new (phone) Twilio voice integration     Copy the Webhook URL   Login to the Twilio console Navigate to the   Phone numbers   section   Choose a phone number and add the copied webhook into the   A CALL COMES IN   field. Make Sure the drop down has “HTTP POST” selected!     Save your changes and return to the  Flow dashboard. Create a new flow and add a   New Phone call   trigger     Add an   Ask   reply action and enter the text   Welcome! You can also reach us using WhatsApp. Press #1 for whatsapp or press #2 to ask a question Next add 2   Digit   triggers     Right below the first digit trigger, add an   Action   reply Select   Create new Code action   and paste the following code: async payload => { try { // READ MORE INSTRUCTIONS HERE: // https://flow.ai/docs/api-docs/#rest-api-broadcast const apiEndpoint = 'https://api.flow.ai/rest/v1/broadcast/instant' ; // REPLACE THE FOLLOWING CONFIGURATION const channelName = 'whatsapp360' ; const eventName = 'DEFLECT_CALL' ; const channelExternalId = '+1234567890' ; // Your WhatsApp phone number const apiToken = '' // The API token from the Flow.ai REST API await request({ method : 'POST' , url : apiEndpoint, headers :{ 'Content-Type' : 'application/json' , 'Authorization' : apiToken }, body : { audience : [{ name : 'Anonymous' , phoneNumber, profile : { } }], channel : { channelName, externalId : channelExternalId }, payload : { type : 'event' , eventName : eventName } } }) } catch (err) { console .error( 'An error making a request' , err) } } You'll need to paste the   Flow.ai REST API token   (we've created in step 2) into the above code and your WhatsApp phone number as the   externalId Save the Code action and Flow     This is the basic setup in Flow, you can now try it out by dialing the phone number! Need any help? No problem, if you have questions regarding Twilio Studio or phone numbers, reach out to   Twilio support! Any other questions? Feel free to ask at our   Flow slack.
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
81
Delays can be used for letting the bot wait a certain amount of time before sending the next reply message. This is especially useful for flows where the chatbot sends multiple text replies, because the addition of delays between them makes sure the user has the time to actually read the message before the next one is sent. Deprecating Delay Delivery The new Delay action works in a similar way to the Delay Delivery setting. You can add Delay Delivery by clicking on the Text Reply and going to the Advanced Settings, as shown below: We will remove support for this option in the near future and we recommend using the new Delay action instead. The new Delay actions are better than the old Delay Delivery setting because it is more clearly visible. When adding a Delay Delivery, you will have to manually go to the advanced settings of each Text Reply in order to see its delivery time. This is inefficient, and you are more likely to forget one or two this way. Delay actions, however, are actually shown in the flow, which gives you a clear overview of all delays, and helps you not to forget to add some.     Delay actions versus Timer Triggers The way Delay actions work seems similar to Timer Triggers. Timer triggers are still better suited in some use cases. Delay actions are practically only used for adding delays between text messages, so that the chatbot doesn’t spam multiple messages at once and improve the user experience. Timer Triggers, however, can be used for waiting for user input and send a reply if no user input is received. For example, if your flow is expecting a customer to provide contact information, or for sending a follow-up message after a few hours of inactivity. See our blog   How to use Timers   for more examples of the capabilities of the Timer Trigger. How to use the Delay action So in short, use Delay actions for just adding simple delays of a few seconds between your chatbots text messages, and the Timer Triggers should be used for more complex situations or when you want to wait for a longer time period. But how do you actually use these new delays? Simply drag them into your flow from your replies section Configure the settings Next, you can click on it to configure its settings. We recommend the amount of seconds according to the length of the first message (the Text Reply above the delay), so the user has just enough time to read the first message before you send the next. Note: “Send busy typing” is only supported with a few channels, like for example, the web widget. When using a delay that is too short, the next message will be sent before the user is ready, and when the delay is too long, the user has to wait for the message, which is also not optimal. When the user has to wait too long, they might become inpatient and respond before they receive the new message. That is of course not what you want, so it is important to try to hit the sweet spot when using delays. Testing your bot helps checking if the length of your timers is good enough. You can change these settings anytime by clicking on the delay icon within your flow. More information Feel free to   join our Slack Community   for a quick answer to all your questions!
View full article
by Khoros Staff Khoros Staff Jun 19, 2021
Labels (1)
  • Flow Guides

0
41