Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
excludeRelated

Bot Provider V2 node

...

The Bot Provider V2 node is responsible for integrating the Orbita chatbot with Google Dialogflow.

...

Property

Description

Name

This field contains the name of the node (if given).

Skill

...

This field will be populated with the current project name automatically. You cannot edit this property.

NLP Type

...

Choose

...

the NLP type from the dropdown. By default, it is set to Google.

Image Modified

...

Enable Transcript Capturing (Chat)

...

Enable this checkbox if you want to save the transcript of the chatbot conversation.
You can view the chatbot conversation in the content schema named “Transcriptdata“.

...

Image Added

Raw NLP result output

...

If you enable this checkbox, you can get the raw response payload from the NLP.

Image Modified

Bot In Parser

The Bot In Parser

...

process the input data object
Query string example: /oeapi/bot/float?type=survey?id=423
After NLP processes the input, msg.req will change. Need to store anything you will need to process an intent or launch to msg.payload.originalRequest

...

Code Block
if(msg.req.query.id) {
    msg.payload.originalRequest.id = msg.req.query.id;
}
if(msg.req.query.type) {
    msg.payload.originalRequest.type = msg.req.query.type;
}

...

Code Block
msg.payload = 
  {
    "query"           : msg.orginalPayload.text || msg.orginalPayload.utterance,
    "originalRequest" : 
       {
         "source" : "orbita",
         "data"   : 
           {
             "user" : 
               {
                 "accessToken"  : msg.orginalPayload.accessToken || '',
                 "orbitaToken"  : msg.orginalPayload.orbitaToken || '',
                 "clearSession" : "",
                 "audio"        : msg.orginalPayload.audio
               }
           }
       }
  }

...

Bot Out Parser

The Bot Out Parser lets you change the Output payload values such as wait time between bubbles, and so on.

...

Code Block
msg.payload.micInput = false;
msg.payload.audio = false;
msg.payload.waitTimeNoAnimation = false;
msg.payload.waitSettings = { mode: 'dynamic', wpm: 300}

Text to Speech Config

You can change the output voice settings of your voice agent by changing the properties in the Bot Provider V2 node > Text To Speech Config.

...

Property

Description

"languageCode": "en-US"

You can select the language accent in which you want the output voice using this property.

You can choose from the below:

Arabic — ar-XA, Bengali (India) — bn-IN, Chinese (Hong Kong) — yue-HK, Czech (Czech Republic) — cs-CZ, Danish (Denmark) — da-DK, Dutch (Netherlands) — nl-NL, English (Australia) — en-AU, English (India) — en-IN, English (UK) — en-GB, English (US) — en-US, Filipino (Philippines) — fil-PH, Finnish (Finland) — fi-FI, French (Canada) — fr-CA, French (France) — fr-FR, German (Germany) — de-DE, Greek (Greece) — el-GR, Gujarati (India) — gu-IN, Hindi (India) — hi-IN, Hungarian (Hungary) — hu-HU, Indonesian (Indonesia) — id-ID, Italian (Italy) — it-IT, Japanese (Japan) — ja-JP, Kannada (India) — kn-IN, Korean (South Korea) — ko-KR, Malayalam (India) — ml-IN, Mandarin Chinese — cmn-CN, Norwegian (Norway) — cmn-TW, Polish (Poland) — nb-NO, Portuguese (Brazil) — pl-PL, Portuguese (Portugal) — pt-BR, Romanian (Romania) — pt-PT, Russian (Russia) — ro-RO, Slovak (Slovakia) — ru-RU, Spanish (Spain) — sk-SK, Swedish (Sweden) — es-ES, Tamil (India) — sv-SE

"ssmlGender": "FEMALE"

You can also choose the gender for the voice output.

You can choose from FEMALE and MALE.

"name": "en-US-Wavenet-G"

You can try out different variations on how the voice output can be with this property.
Please refer to Google documentation on voices

This property will override the language and ssmlGender properties.

"audioEncoding": "MP3"

You can choose the audio encoding of your choice from the below mentioned.

  1. LINEAR16 - Uncompressed 16-bit signed little-endian samples (Linear PCM).

  2. MP3 - MP3 audio.

  3. OGG_OPUS - Opus encoded audio wrapped in an ogg container.

Output Payload

The sample format of the output payload is as follows.

Code Block
{
  "orbitaPayload"       : {},
  "text"                : "",
  "reprompt"            : "",
  "sessionEnd"          : false, 
  "ssml"                : "",
  "waitTime"            : "",
  "ssmlReprompt"        : 250,
  "clearSession"        : true,
  "replaceWord"         : {}
  "waitTimeNoAnimation" : false,
  "micInput"            : true,
  "validRegexArray"     : {},
  "keyboardInput"       : true,
  "waitSettings"        : { mode: 'dynamic', wpm: 300},
  "audio"               : false,
  "keyboardInput"       : true
  
}

Property

Description

orbitaPayload

The following payload displays the contents from the Multi-Modal Content editor.

Code Block
msg.payload.orbitaPayload.payload.multiagent

text

The following payload displays the content from the Chat Text window in the Text tab from the Multi-Modal Content editor.

Code Block
msg.payload.text

...

Image Added

reprompt

The following payload displays the content from the Reprompt window in the Text tab from the Multi-Modal Content editor.

Code Block
msg.payload.reprompt

...

Image Added

sessionEnd

The following property gives a Boolean value, true or false. If the End Session checkbox is enabled, then the sessionEnd value is true.

Code Block
msg.payload.sessionEnd

...

Image Added

ssml and ssmlReprompt

The voice tab text when converted to speech is in ssml format. In the Voice tab, the content and corresponding payloads are:

  • Say text window

    Code Block
    msg.payload.ssml
  • Reprompt window

    Code Block
    msg.payload.ssmlReprompt
Image Modified

waitTime

The time (in milliseconds), the bot must wait before displaying another chat bubble in a sequence. The default value for waitTime is set to 250.

Code Block
msg.payload.waitTime

To change the waitTime, use the following JSON code.

Code Block
msg.payload.waitTime = "1000"

clearSession

The clearSession gives you a Boolean output, true or false. If this value is true, then the current session details are erased. The default value for clearSession is false.

Code Block
msg.payload.clearSession

Use the following sample code to set clearSessionto true.

Code Block
msg.payload.clearSession = true

replaceWord

A homophone is a word that is pronounced the same as another word but differs in meaning and/or spelling (such as read, or wind). While giving voice commands to the bot, homophones can be misinterpreted. You can choose to replace such words with the actual words in the context using replaceWord.

Code Block
msg.payload.replaceWord

The following sample code is for a replaceWord array.

Code Block
msg.payload.replaceWord =  
  {
    "one"   : ["won"],
    "two"   : ["to", "too"],
    "four"  : ["for","fore"],
    "six"   : ["sex"],
    "eight" : ["ate"],
    "ten"   : ["tan", "tin"]
  }

waitTimeNoAnimation

The status of wait time animation is shown in the following payload. The default value for waitTimeNoAnimation is false.

Code Block
msg.payload.waitTimeNoAnimation

The following code sets waitTimeNoAnimation to true.

Code Block
msg.payload.waitTimeNoAnimation = true

micInput

The status of the microphone input setting is shown in the following payload. The default value for micInput is true.

micInput provided in this node will take priority over the Flow Studio Directive.

Code Block
msg.payload.micInput

The following code shows how to set micInput to false.

Code Block
msg.payload.micInput = false

validRegexArray

The status of the mic input setting is shown in the payload below. The default value for validRegexArray is set to true.

Code Block
msg.payload.validRegexArray

The following code sets the validRegexArray array.

Code Block
msg.payload.validRegexArray = 
  {
    "Q1":["\\b(q|cute|queue|cue|quarter|Q on|queue on|21|key wine|key one|you on|you one|into one)\\s+(one|fun|wine)\\b"],
  }

keyboardInput

The status of the text input field is shown in the following payload. The default value for keyboardInput is true.

Code Block
msg.payload.keyboardInput

If this value is set to false, the text input field will be hidden.

Code Block
msg.payload.keyboardInput = false

audio

Audio output from the chatbot can be controlled using this property.

Code Block
msg.payload.audio

Setting the property value to true will enable the speaker and generate audio output even if the user has manually disabled the speaker using the speaker icon at the top right corner of the chatbot.

Setting the property value to false will hide the speaker icon and will not generate the audio output.

Sample Code:

Code Block
msg.payload.audio=false

Example flow in Experience Designer

...