1. Introduction

Chat flow is the section that helps you manage the core functionality of the platform. You can create/manage conversations from the chat flow module. It consists of various building blocks that serve as atomic units for building your use case. Morph platform provides extensive functionalities to build complex use case which is functional on the WhatsApp platform.


2. Access

To access Chat Flow in the configure section on the left panel select Chat Flow


        



3. Structure of a Conversation

The conversation is made up of blocks that provide functionality and rules that provide continuity to the conversation. There are some system-defined conversations and custom conversations that we create. A conversation consists of 

I.  Starting rule

 This defines when will the conversation be triggered. There are two options to trigger the conversation. 

Automatic: Define the keyword which will trigger this rule. When the user uses the specified keyword it would trigger this conversation.

Manual: This is when a bot builder manually jumps the chat flow from one conversation to another. The bot user has no control in triggering this conversation.


II.  Blocks

Blocks add functionality to a conversation and can be removed or added as per the use case. You can get detailed information on blocks in section 4


III. Branches 

Morph Platform provides functionality to build user-driven conversations. This can be done by creating branches based on user input or position in the chat flow.

 

                   


You can set conditions when to trigger a particular branch. This can be managed by using properties. Filters applied on properties are predefined as exists, does not exist, Skipped not skipped.



IV. Jump conversation

  This is the manual way to trigger a conversation from another conversation. Select the 

  the campaign you are working on and then select the relevant conversation.

 

        

3.1 System Conversation

There are some defined sets of rules that can not be changed which are also known as system rules/conversations. 

3.1.1 Getting started

This is a system rule that gets triggered first. No matter what flow you design first rule will always be getting started. You can change the content of this conversation i.e you can modify the actions performed in this conversation but you can not rename it.

 


3.1.2 Fallback

The system triggers a default response known as Fallback when it encounters a situation or response that is not handled in the conversation flow. This is also a system rule and its name can not be modified. You can still modify the chat flow in this conversation. 



3.1.3 Restart

This is a system-defined rule which can be used to restart the conversation. The rule when triggered clears the session properties and takes the conversation flow back to the beginning. Since this is a system rule you can not modify the name. Since this rule has a limited and specified functionality you can not modify it by adding or removing a block.

 


3.2 Custom conversations 

These are conversations that we create for our use case. These conversations can be modified, customized and deleted as per requirement. You can add and remove a block, add branches and trigger other conversations. These types of conversations can be named/renamed. 



4. Building Blocks

Each block in a conversation provides specific functionality to the conversation flow. 

4.1 Send Message 

 Using this message a bot builder can share information with bot users. The type of information can vary as per the use case requirement. 


4.1.1 Text message

 You can send text messages using this block. You can use Emoticons and Properties to make your text message more interactive and personalized. Properties would allow you to use relevant dynamic information. To add a property you need to begin with two curly brackets ‘{{‘. From the drop-down menu you can select the required property


                 


4.1.2 Media ( Image, Video, file)

To make your conversation more interesting and to facilitate bot users with relevant image, video or file you can share any file of size upto 25 MB. The accepted file formats are  .png, .jpeg, .jpg, .mp4, .avi, .pdf, .docx, .txt. You can upload files from your system by clicking on Browse button or you can also upload using a URL. A bot builder can also add a caption to the files.

 

        


4.1.3 Audio

You can add audio files in your bot which would be received by the bot user. Bot builders can leverage this feature to make the user’s experience more immersive and interesting. You can upload the audio file in MP3 format only, of maximum size 25 MB. You can not add a caption to audio files since this is not supported on the WhatsApp Platform.


          


4.1.4 Location

You can now share location details with your bot user. This becomes an important feature when you want to direct your users to a significant location. You can add latitude and longitude along with the name and address of the location.


  


4.1.5 Contact

You can add a contact card with detailed information. This can be viewed in WhatsApp and can be stored directly in bot user's phone. 



                              


4.2 Delay

Using this block you can add a delay, in between messages, ranging from 0.1 to 10 seconds. 

No typing indicator is shown on WhatsApp since it is not supported by WhatsApp.



4.3 Set Property

You can set a property value during the bot flow. This value can be received from the user or can be fixed by the bot builder. This feature forms the core of information gathering in the bot flow. The value stored in a property can be used for various purposes like identifying a user/user group, gather lead information, trigger relevant conversation flows, display information to users, etc. 



                    


To set the value of the property you can 

  1. Use ‘{{‘ to select another property as the value. 
  2. Add a value ( This would be static)
  3. Clear the existing value of the property by typing UNSET
  4. You can mark the property as skipped by typing SKIPPED

For more information on properties, you can refer to this document.


4.4 Rest API

Morph platform enables you to send data to an external system without having to write any code. You can fill in the information requested in the REST API modal and you are good to go. 

You can gather data from the bot and send it directly to your CRM or Company Database.



 You can these simple steps to use REST API feature

   I. Select the Type as POST

  II. Add destination URL (URL of your CRM or Database)



III. Add query Params according to table structure/ property structure of your CRM/DB



If you want to receive information from an external source you can use Custom Code block API integrations.


4.5 Code

If your use case is complex and is not fulfilled using the existing functionality of the platform. You can use the custom code block. This provides flexibility to an organization to extend the functionality of the platform as per their requirement. The code can be written in PYTHON or JAVA



4.6 Transfer to Human 

You can add this block in your bot flow when you want to lead your bot user to a human agent. You can give bot users an option to connect to a human agent or can trigger it based on the action of a user. Example: If a user gives negative feedback, you can take him to a human agent to understand the reason for the bad experience. 



4.7 Send Email

There can be a requirement in your use case where you want to send information to your bot user based on their interaction with your bot. For instance, you may want to send booking details via email to a user who booked a table at your restaurant or booked a movie ticket in your theater. 

You can send an email body as a Plain text or you can create your template/design using the Rich Text option. In both the formats you can use properties.

 


4.8 Send SMS 

You can trigger an SMS from the bot flow., This can be used to share relevant information or share required links. Example: You can share verification links or referral links in the SMS. 



4.9 Integrate your CRM

You can integrate your CRM with the Morph platform. Using this functionality you can add realtime data to your CRM. Every time this block is executed in your bot flow. The relevant data is sent to your CRM.

 


Your CRM will appear in Select a CRM Widget once it is set up on the platform. You can Set your CRM in the platform by clicking on Settings in the configure tab and in Chat flow extensions click on CRM.



To learn more about how to configure your CRM on Morph Platform refer to this document.


4.10 Clear Session 

This block enables a bot builder to clear all properties that were set during the session in which this block is used. Note: Only properties with session scope are reset, the properties which have the scope set as Customer, are unaffected. 




5. Frequently Asked Questions (FAQ)

These are the questions that are often asked by your users. You can configure FAQs with multiple question variations to accommodate for human variation. To view/add an FAQ you can go to chat flow and select FAQ.



There are three steps involved in creating an FAQ 

  1. Add a question variation - You can add as many variations of a question as you may deem necessary.

  2. Add an answer - Add an answer to the question. You can add a send message node in the answer to FAQs. This allows you to add text, image/video/fille, audio, location, and contact in the answer. 

  3. Name the FAQ - Provide a name to the FAQ which would help to track the same. 

5.1 Trigger an FAQ

The bot tries to match the user's responses with the starting rules for every conversation module and FAQ. The platform utilizes Google based NLP and matches the user's intent with the question variations for each FAQ. Whenever the bot finds a match, the FAQ is triggered and the user's response is stored in the memory for future matching.


After a FAQ is triggered, it is important to maintain the context of the bot, hence the bot brings the returns to the conversation block/module that was shared before the FAQ was triggered.