Basic Config

Property Description Type Required
type Type of the BOT maybe one of the botTypes String Y
nlpPack The nlpPack type you want to load up while data capture. The bot uses this to understand what the user might be saying and is created as an industry specific packs. String
triggerWord Can be anything you choose. The word has a 20 character limit. Ensure that all the triggerWord loaded up in a single BOT are not the same. You will land up confusing the user and the BOT String Y
promptTriggerWord A control setting that blocks the display of the triggerWord at all times. Possible values are "yes/no". Typically used when a flow needs activated only through the use of NLP String
fields Array of fields objects Array Y
events Array of events that can be captured during form execution. Each event can have be captured only once in the configuration but multiple actions can be included using the actionGroups collection Array
displayTemplates A section used to be able to customize the default bot messages. You can use this to send your own messages too during various form events. Object
  • triggerWord has a 20 character limit
  • array has 50 objects upperbound
  • Each event type should be defined only once.
  • displayTemplates should be unique
 

Embedded Objects

 

fields

Property Name

Description

Type Required
name
prompt A prompt that you want to ask the user. This can be a combination of The sessionValues, contextValues, systemValues and string String Y
options This can be any of the reserverd optionTypes or a string value. For multiple options separate each option with a comma String Y
validations An array of validations Array
  • Maximum number of options separated by a comma is 11
 

validations

Property Name

Description

Type Required
validation One of the The validationTypes String Y
when The condition to be evaluated during this validation. The when definition Array Y
 

when

Property Name

Description

Type Required
col A reference to one of the name in your fields list or any of the sessionValues, contextValues, systemValues. The name if used should be prefixed with a "$". If a field name were defined as Contact it would be used as $Contact. String Y
value A string or any of the sessionValues, contextValues, systemValues Array Y
 

events

Property Name

Description

Type Required
name A value from the list of eventTypes String Y
actionGroups Array Y
 

actionGroups

Property Name

Description

Type Required
actions A comma separated list of actions and their parameters that you want the BOT to perform. See the list of action definitions String Y
 

displayTemplates

Property Name

Description

Type Required

"nameOfTemplate"

The name of template. To Override the default messages predefined displayTemplate names. To have user defined templates to use with events prefix it with the word "custom_".See template object definition Object Y
 

displayTemplate

Property Name

Description

Type Required
type templateTypes String Y

phPlaceHolderName

Definition of the placeholder is based on the template that you are using. See the list of displayTemplateTypes and their placeholders. The message construct can be combination of a string, sessionValues, contextValues and systemValues String Y(based on displayTemplateType)
 

template

Property Name

Description

Type Required

type

templateTypes String Y
 

Types

 

botTypes

Type

Description

Support

questionnaire

Provides you with the ability to ask a questions one after the other. The end user will be able to
  • answer the questions
  • take the questionnaire multiple times
Slack, Facebook Messenger, MS teams

form

Functions like an individual and group data record
  • add rows
  • query the rows based on keywords
  • remove the rows
  • change data in any of the rows
  • create actions against the rows
  • assign actions
  • track actions
  • manager notifications
Slack, MS teams

survey

Provides you with the ability to ask a questions one after the other. The end user will be able to
  • answer the questions
  • take the questionnaire only ONCE
Slack, Facebook Messenger, MS teams
 

fieldTypes

Type

Description

Support

email

Validates the input to be an email format

phone

Phone numbers are validated

date

Accepts a date input. Date mentions like today, yesterday, day after, day before, this week, next week etc. are all accepted

bignumber

Accepts an input value of greater than 6 digits. Understands thousand, million and billion abbreviations (k/m/b)

number,integer

Accepts any number

percent

Accepts a percent value and validated it to be lesser than or equal to 100

link

Validates the input to be of a URL format
 

validationTypes

Type

Description

Support

showif

Asks the fields in context only if the condition supplied in the when definition is satisfied
 

optionTypes

Type

Description

Support

System_Location

When used should be the only one. This will prompt the end user for a location Facebook
 

eventTypes

Type

Description

Support

afterrun

Event occurs after all questions have been asked
 

nlpPacks

Type

Description

Support

lead

Covers conversation styles in a lead and sales capture domain

survey

Covers conversations that people would have when interacting with a survey
 

displayTemplateTypes

Type

Placeholders

Description

Required

Support

message

Facebook, Slack, MS Teams

phMessage Required message to be displayed Y

phNote A secondary message which will appear with a slightly different formatting

phOptions Displays a list of options either with an index or as QuickReplies or Buttons

fields

Slack, MS Teams

phTitle Y

phSubTitle Y

phSubSubTitle Y

phFooter Y

phFieldnName n = 1 to 6

phFieldnValue

note

phNote Display a message in an alternate messaging Y Facebook, Slack, MS Teams

List

phTitle

phListItem

listChart

 

Auto Values

 

contextValues

Name

Description

$Command.Profile.Name

First name of the end user

$Command.Profile.FullName

First Name and last name of the end user

$Command.CSVUsersList

All user mentions are put into a comma separated list. This excludes any self mentions

$Command.Parts.Field1

All information stripped from the user

$Command.Text

The raw message that is received from the user
 

sessionValues

Name

Description

to be defined

 

systemValues

Name

Description

to be defined

 

Message Construct

  • Simple message

    • "Hi how are you?"
  • Message including a context value

    • "Hi $Command.Profile.Name, how are you?"
  • Message including a form value

    • "Hi $firstname, how are you?"
  • Message displayed based on existence of a value

    • "Hi $firstname [$lastname??$lastName], how are you?"
 

FAQ's

 

How to define a field to include a location?

    {
    	"triggerWord":"Location"
    	,"fields": [
    		         {
            	        "name": "Location"
            	        , "prompt":"Pick a location"
			            , "options":"System_Location"
        	         }
                   ]
    }
 

How to define a field to capture an email?

     {
    	"triggerWord":"EmailCapture"
    	,"fields": [
    		         {
            		    "name": "Email"
            		    , "prompt": "Type in your email"
			            , "type": "email"
        	         }
                   ]
     }
 

How to include a branch field based on previous input?

     {
    	"triggerWord":"complaint"
    	,"fields": [
    		          {
            		        "name": "Category"
            		        , "prompt": "Select the category of complaint"
			                , "options": "service,product"
        	          }
    		         ,{
            		         "name": "productName"
            		        , "prompt": "Enter the name of the product"
            		        , "validations":[
                		                      {
                    			                "validation":"showif"
                    			                , "when":[
                                                    {"col":"$Category","value":"product"}
                    			                         ]
                		                      }
            		                        ]
        	          }
                   ]
     }

        

In the example above the productName will only show if the selected category is product.

 

How to include a thank you message at the end of the inputs?

  {
    	"triggerWord":"complaint"
    	, "fields": [
    		          {
            		        "name": "Category"
            		        , "prompt": "Select the category of complaint"
			                , "options": "service,product"
        	          }
    		         ,{
            		        "name": "productName"
            		       , "prompt": "Enter the name of the product"
            		       ,"validations":[
                		                     {
                    			                "validation":"showif"
                    			                , "when":[
                                                   {"col":"$Category","value":"product"}
                    			                         ]
                		                     }
            		                      ]
        	          }
                   ]
      , "events":[
       		       {
            		      "name": "afterrun"
                        , "actionGroups": [
                		                    {
                                             "actions": "__sendMessage displayTemplates:custom_completedMessege "
                                            }
                                          ]
                   }
                ]
      , "displayTemplates": {
        
        	                    "custom_completedMessege ": {
            		                                            "type": "message"
            		                                            , "phMessage": "Your complaint has been registered"
        	                                                }
                            }
  }
 

How to include a welcome message?

      {
    	"triggerWord":"complaint"
    	, "fields": [
    		            {
            		        "name": "Category"
            		        , "prompt": "Select the category of complaint"
			                , "options": "service,product"
        	            }
    		           ,{
            		        "name": "productName"
            		        , "prompt": "Enter the name of the product"
            		        , "validations":[
                		                        {
                    			                        "validation":"showif"
                    			                        , "when":[
                                                                   {"col":"$Category","value":"product"}
                    			                                 ]
                		                        }
            		                        ]
                        }
                    ]
        
    	, "displayTemplates": {
        
        	                      "custom_completedMessege ": {
            		                                            "type": "message"
            		                                            , "phMessage": "Please register your complaint"
        	                                                  }
                              }
       }