Conversation Builder

The workflow for various conversations is built on a canvas called as Conversation Builder. You can set up the resource library and automations to be performed for each conversation in the conversation builder.

Quick Links

Build Conversations

Three main elements are used to build conversations: Blocks, Paths, and Variables.

Blocks

Blocks are fundamental elements in building blended conversations. You can add blocks consecutively to define Zia's responses to the user.

The Welcome block is present in the conversation builder by default. To add blocks and build sequential dialogue,

You can modify the blocks view in the right pane as list view or grid view

There are 2 types of blocks in the conversation builder - Response blocks and Action blocks.

 

 

Response Blocks: 

Response blocks are used to respond to user's queries by displaying an answer or collecting more information. You can construct responses using message, question, and choice blocks.

Message Blocks: Displays text or information as response.

Block

Purpose

Text

Display a message to users.

  • Message* - Enter text to be displayed to users.
  • Block Name* - Add a unique name to identify the block.
  • Advanced Settings - Toggle End Block ON to end the conversation once the user responds to the block.

    

Info Card

Display information to users.

  • Card Type - Select the info card type as static or dynamic.
    • Static cards are used to display information for all users.
    • Dynamic cards display information to users based on their input.
 Add a webhook block in the conversation fetching the dynamic options before adding a dynamic info card. 
  • Message - Enter text to be displayed to users.
  • Rendering Style (only for dynamic cards) - Choose if you want to render the dynamically fetched options as single or multiple cards.
    • Flow variables in webhooks that contain a list of elements will be listed as objects. Select the object to populate its data as options.
  • Card Info List* - Enter the card name. Click a card field and define the information displayed as explained below. You can add text or buttons by clicking Add card field.

Card Field

Description

Image

  • Image Upload* (only for Image card field) - Upload an image relevant to the displayed information. Ensure the image size does not exceed 14MB.
  • Value* - Add the text displayed to users.
  • Label- Mark the image/text displayed with a reference name.
  • Website Address* (only for Buttons card field) - Redirect users to a site by adding a website URL.
  • Advanced Settings - Define the card field settings.
    • The card field style is predefined.
    • Toggle Hide Label ON to hide label from being displayed to users.
    • Toggle Hide Field ON to hide card field and label from being displayed to users.
 Click Add Card to create multiple info cards. 

Title

Subtitle

Description

Text

Buttons

Click Save. You can duplicate a card by clicking .

  • Block Name* - Add a unique name to identify the block.
  • Advanced Settings - Toggle End Block ON to end the conversation once the user responds to the block.

       

* indicates mandatory fields

Click Save. You can also preview a block before saving.

 

Question Blocks: Display questions to collect more details from users.

Block

Purpose

Text

Collect textual answers.

  • Question - Enter the question for users to respond.
  • Block Name* - Add a unique name to identify the block.
  • Block Variable* - The block name is generated as a variable to store the user's input. Click to edit the variable if needed.
  • Advanced Settings - Define the block settings.
    • Toggle Skip Block ON to allow users to skip the question.
    • Toggle End Block ON to end the conversation once the user responds to the block.

   

Image

Receive images.

  • Question - Enter the question for users to respond.
  • Format* - Select the image file formats that can be uploaded.
  • Block Name* - Add a unique name to identify the block.
  • Block Variable* - The block name is generated as a variable to store the uploaded images. Click to edit the variable if needed.
  • Advanced Settings - Define the block settings.
    • Toggle Skip Block ON to allow users to skip the question.
    • Toggle End Block ON to end the conversation once the user responds to the block.

   

Video

Receive video files.

  • Question - Enter the question for users to respond.
  • Format* - Select the video file formats that can be uploaded.
  • Block Name* - Add a unique name to identify the block.
  • Block Variable* - The block name is generated as a variable to store the uploaded video. Click to edit the variable if needed.
  • Advanced Settings - Define the block settings.
    • Toggle Skip Block ON to allow users to skip the question.
    • Toggle End Block ON to end the conversation once the user responds to the block.

   

Audio

Receive audio files.

  • Question - Enter the question for users to respond.
  • Format* - Select the audio file formats that can be uploaded.
  • Block Name* - Add a unique name to identify the block.
  • Block Variable* - The block name is generated as a variable to store the uploaded audio. Click  to edit the variable if needed.
  • Advanced Settings - Define the block settings.
    • Toggle Skip Block ON to allow users to skip the question.
    • Toggle End Block ON to end the conversation once the user responds to the block.

  

File

Enable users to upload files of any type.

  • Question - Enter the question for users to respond.
  • Format* - Select the file formats that can be uploaded.
  • Block Name* - Add a unique name to identify the block.
  • Block Variable* - The block name is generated as a variable to store the uploaded files. Click  to edit the variable if needed.
  • Advanced Settings - Define the block settings.
    • Toggle Skip Block ON to allow users to skip the question.
    • Toggle End Block ON to end the conversation once the user responds to the block.

   

Slider

Allow users to pick a value within a range.

  • Question - Enter the question for users to respond.
  • Min/Max Value* - Enter the minimum and maximum value of the slider range.
  • Default Value* - Enter the value to be selected by default in the slider.
  • Left Label - Specify a label for the minimum value on the slider.
  • Right Label - Specify a label for the maximum value on the slider.
  • Block Name* - Add a unique name to identify the block.
  • Block Variable* - The block name is generated as a variable to store the value selected by users. Click  to edit the variable if needed.
  • Advanced Settings - Define the block settings.
    • Toggle Skip Block ON to allow users to skip the question.
    • Toggle End Block ON to end the conversation once the user responds to the block.

   

Email

Collect email address.

  • Question - Enter the question for users to respond.
  • Block Name* - Add a unique name to identify the block.
  • Block Variable* - The block name is generated as a variable to store the email address. Click  to edit the variable if needed.
  • Advanced Settings - Define the block settings.
    • Toggle Skip Block ON to allow users to skip the question.
    • Toggle End Block ON to end the conversation once the user responds to the block.

   

URL

Collect web URL address.

  • Question - Enter the question for users to respond.
  • Block Name* - Add a unique name to identify the block.
  • Block Variable* - The block name is generated as a variable to store the provided URL. Click  to edit the variable if needed.
  • Advanced Settings - Define the block settings.
    • Toggle Skip Block ON to allow users to skip the question.
    • Toggle End Block ON to end the conversation once the user responds to the block.

   

Currency

Receive payment-related details.

  • Question - Enter the question for users to respond.
  • Currency - Select the currency used to perform payments.
  • Block Name* - Add a unique name to identify the block.
  • Block Variable* - The block name is generated as a variable to store the payment values. Click  to edit the variable if needed.
  • Advanced Settings - Define the block settings.
    • Toggle Skip Block ON to allow users to skip the question.
    • Toggle End Block ON to end the conversation once the user responds to the block.

   

Calendar

Allow users to pick a date/time.

  • Question - Enter the question for users to respond.
  • Format - Choose the format to be selected by the user from the calendar: Date or Date and Time.
  • Block Name* - Add a unique name to identify the block.
  • Block Variable* - The block name is generated as a variable to store the date/date and time. Click to edit the variable if needed.
  • Advanced Settings - Define the block settings.
    • Toggle Skip Block ON to allow users to skip the question.
    • Toggle End Block ON to end the conversation once the user responds to the block.

   

Number

Collect numerical values.

  • Question - Enter the question for users to respond.
  • Number Format - Choose if you want integers or decimal values to be entered by users.
  • Block Name* - Add a unique name to identify the block.
  • Block Variable* - The block name is generated as a variable to store the payment values. Click  to edit the variable if needed.
  • Advanced Settings - Define the block settings.
    • Toggle Skip Block ON to allow users to skip the question.
    • Toggle End Block ON to end the conversation once the user responds to the block.

   

* indicates mandatory fields

 

Choice Blocks: Display a series of choices and allow your users to select one or more responses.

Block

Purpose

Button

Allow users to pick one or more choices from predefined options displayed as buttons.

  • Button Type - Determine the button type to be displayed.
  • Question - Enter the question for users to respond.
  • Button Selection Type - Choose if you want users to select single or multiple options.
  • Button List* - Select Add Buttons and define values to be listed as options. You can remove or sort buttons by clicking or respectively.
  • Create Path - Toggle the option ON to specify a unique path for each button.
  • Block Name* - Add a unique name to identify the block.
  • Block Variable* - The block name is generated as a variable to store the selected values. Click  to edit the variable if needed.
  • Advanced Settings - Define the block settings.
    • Toggle Skip Block ON to allow users to skip the question.
    • Toggle End Block ON to end the conversation once the user responds to the block.

   

Dynamic Button

Allow users to pick one or more choices from dynamically fetched options displayed as buttons.

 Add a webhook block in the conversation fetching the dynamic options before adding a dynamic button. 
  • Button Type - Determine the button type to be displayed.
  • Question - Enter the question for users to respond.
  • Button Selection Type - Choose if you want users to select single or multiple options.
  • Variables* - Enter the webhook response added in the conversation previously. The webhook response contains array variables that fetch options dynamically.
  • Block Name* - Add a unique name to identify the block.
  • Block Variable* - The block name is generated as a variable to store the selected values. Click  to edit the variable if needed.
  • Error Message - Enter the error message to be displayed if a null value is returned while fetching options via variables.
  • Advanced Settings - Define the block settings.
    • Toggle Skip Block ON to allow users to skip the question.
    • Toggle End Block ON to end the conversation once the user responds to the block.

   

Choice Card

Allow users to pick one or more choices from predefined options displayed as cards.

  • Card Type - Determine the card type to be displayed.
  • Question - Enter the question for users to respond.
  • Button Selection Type - Choose if you want users to select single or multiple options.
  • Card List* - Enter the card name. Click a card field and define the information displayed as explained below. You can add text or buttons by clicking Add card field.

Card Field

Description

Image

 

  • Image Upload* (only for Image card field) - Upload an image relevant to the displayed information. Ensure the image size does not exceed 14MB.

  • Value* - Add the text displayed to users.

  • Label* - Mark the image/text displayed with a reference name.

  • Website Address* (only for Buttons card field) - Redirect users to a site by adding a website URL.

  • Advanced Settings - Define the card field settings.

  • The card field style is predefined.
    • Toggle Hide Label ON to hide label from being displayed to users.

    • Toggle Hide Field ON to hide card field and label from being displayed to users.

Click Add Card to create multiple choice cards.

Title

Subtitle

Description

Text

Buttons

Click Save. You can duplicate a card by clicking .

 

  • Create Path - Toggle the option ON to specify a unique path for each button.
  • Block Name* - Add a unique name to identify the block.
  • Block Variable* - The block name is generated as a variable to store the selected values. Click  to edit the variable if needed.
  • Advanced Settings - Define the block settings.
    • Toggle Skip Block ON to allow users to skip the question.
    • Toggle End Block ON to end the conversation once the user responds to the block.

   

* indicates mandatory fields

Click Save. You can also preview a block before saving.

 

Action Blocks:

Action blocks are used to perform actions based on the user's queries or responses.

Block

Purpose

Jump

Navigate the conversation by skipping blocks or skipping the conversation to continue with a different conversation. You can jump the conversation from:

  • One block to another within the same conversation.
  • One block to another block in a different conversation.

Block Name*

Add a unique name to identify the block.

Jump-To Flow

Choose if you want to jump within the current conversation or to another conversation.

Jump-To Block

Select the block you want to jump to.

If you are jumping to a block in another conversation, specify the following:

  • Input Variable Mapping* - Map the block, session, or local variables in the current conversation with the variables in the destination conversation.
 Only the variables created before the target block in the destination conversation will be listed in UI for mapping. 
  • Output Variable Mapping* - Map the block and local variables in the destination conversation with variables in the current conversation. If no relevant variable exists in the current conversation, enter a name in the text box to create and map a variable instantly.

You can map multiple output variables by clicking Add Mapping.

Error Message

Enter the error message to be displayed if the jump fails.

 

   

Fork

Split the conversation into multiple paths based on users' response.

Block Name*

Add a unique name to identify the block.

Path List

Configure the paths and criteria for executing each path.

  • Enter the path name.
  • Define the path criteria by selecting the variable, operation, and value.
  • Click to add multiple criteria using AND/OR logic operators. You can modify the logical operations using the drop-down or by editing the formula.

Click Add Path to configure multiple paths and define the criteria for each path.

Else Path

Toggle this option ON to configure a default path in case the criteria in the configured paths are not satisfied.

Error Message

Enter the error message to be displayed if none of the configured paths are executed.

Error message can be set only if Else Path is not enabled .

 

   

Operation

Define a formula to perform basic arithmetic operations.

Expression*

Input the formula to be executed using the basic arithmetic buttons. You can remove a formula by clicking .

Click drop-down to insert variables. This allows Zia to calculate using numerical inputs provided by users.

Error Message

Enter the error message to be displayed if the expression fails to execute.

Block Name*

Add a unique name to identify the block.

Block Variable*

The block name is generated as a variable to store the input values provided by the user. Click to edit the variable if needed.

 

   

 Webhook 

Place webhook calls to external applications.

Block Name*

Add a unique name to identify the block.

Method

  • GET - Allows you to notify any external application about data modifications within ServiceDesk Plus Cloud.
  • PATCH - Create, update, or remove specific data on the external application.
  • POST - Creates specific data on the external application.
  • PUT - Creates and updates specific data on the external application.
  • DELETE - Removes any specified data in the external application.

URL*

Mention the URL to place the webhook call. You can select variables containing URL by typing @.

Query Params

Copy the Query String Parameters under Inspect Element > Network > Payload from the external application webpage.

Headers

Set the authentication type as ServiceDesk Plus Cloud.

Connections

Choose a connection to integrate the conversation with third-party APIs. You can configure connections as mentioned here.

Formatter

Format the details obtained as webhook API response using Deluge. You can provide a key name for the formatted data.

Response

The response obtained via the webhook API can be stored as flow variables. This will allow users to call specific data within the conversation.

  • Provide output response code from the API as the status code. The status code is stored as a block variable.
    • On the webhook API page, go to Inspect Element > Network.
    • Copy the webhook status from the Status column and mention it as the status code.
  • Configure flow variables to store the output response values from the API call.
    • Provide a flow variable name.
    • Specify the key name of the data fetched from the formatter or via webhook API.
    • Select the type of variable.
    • Select the data type stored in the flow variable.

Multi Path

Specify an alternate path for the conversation flow if the API response set as status code in the response value fails.

Error Message

Enter the error message to be displayed if the webhook call fails.

 

   

* indicates mandatory fields

Click Save. You can preview the block before saving.

When a user tries to access information obtained via webhook block for the first time, authorization will be required for the connections involved.
Click Authorize in Zia chatbot and in the pop-up window that opens, click Accept.

Paths 

Each track that decides the direction of the conversation flow is called a path.

Paths are added automatically when a block is added. Depending on the block added, you can build multiple paths. This will allow Zia to pivot the conversation according to the user's chosen response.

 

 

Variables  

Variables are data placeholders used to store input or output data in blocks.

The conversation builder contains the following types of variables: Block Variable, Local Variable, and Session Variable.

Block Variable

The block variable is used to store the user input value. They are auto-populated based on the block name, but can be edited if needed.

Block variables can be incorporated in other blocks to add contextual information or perform block-relevant operations. The following screenshot explains how the block variable is used to personalize a conversation:

 

 

Block variables can be incorporated in text, operator, webhook, dynamic button, and dynamic choice card blocks. 
By default, block variables are locally accessible only within the conversations they are created. However, using jump nodes, block variables can be used globally across the linked conversations.

Local Variable

Local variables are used to store details common to the conversation such as logged-in user name or email address. You can create local variables as follows:

  1. Click on the left side of the conversation builder.
  2. Select the variable type as Local Variable.
  3. Click Add Local Variable.
  4. Enter a unique name for the variable.
  5. Select the data type that can be stored in the variable.
  6. Define a value for the variable. For string type, you can click to insert dynamic data into the variable.
  7. Add a description to explain the variable usage, if needed.
  8. Click Save.

Local variables are accessible and incorporated only within the conversation where they were created.

Session Variable

Session variable stores data common to the application such as server URL or App name. Session variables are configured in the application by default. You cannot create or modify them.

Session variables are incorporated in webhook blocks across all blended conversations.

Additionally, the conversation builder also contains array variables and flow variables specific to webhooks. 

Block/Path Actions 

In the conversation builder, click a block to:

 

 

You can add blocks in between a conversation by hovering over a path and clicking .

Conversation Builder Actions 

You can perform the following actions from the left corner of the conversation builder:

 

 

On the conversation builder header, you can perform the following actions:

Publish Conversations 

After saving the blended conversation, click Publish on the top right corner . Refresh the page to incorporate the published conversation in Zia Chatbot.