Image Alt

User Guide: How Tos

Overview

SharePoint Search Skill allows users to connect to a SharePoint website and can retrieve a document from a list through user queries

  • Requirements
    1. Must have a valid SharePoint site.
    2. Must have credentials for SharePoint connection
    3. Must have SharePoint Skill enabled in the KLoBot account.
How it works
  • Open the KLoBot Bot Builder App and go to your Bot. Make sure that the SharePoint skill is enabled.
  • Click the preview bot button and enter a question from your SharePoint list to the chat. In this example: Where can I get a medical claim form? It would show a document pertaining to the user query.
Step to Create SharePoint Search Skill

Overview: This is a step-by-step guide on how to create the SharePoint Search Skill. This will cover concepts such as training of the skill with different queries and the SharePoint Connector.

  • Go to Skill Builder page and add a new skill. Enter the name and select Blank template. Click Create.
  • Under the skill properties, enter the skill name, skill scope and skill category.
  • Enter the intent name then click save the save icon. Then enter all the queries in the examples, pertaining to the List in the SharePoint site then click train.
  • After training, the prompts section would collect the data from the user through a question. Assign the following values to collect the matter name from the user.
    Prompt messageWhat is the matter name?
    Data TypeMessage
    Keygeneral.name:matter
    Is MandatoryChecked
  • Under Process is where the user can establish the connection and authentication to the SharePoint Site. For the drop-down menu, select SharePoint then select Search Method.

    Since we are connecting to a SharePoint site, it is imperative to have a valid SharePoint URL and credentials. Apply all the data as follows then click Add Site(s).

    Skill Exit TypeExit
    Type of ProcessSharePoint
    Method TypeGet Method
    UsernameEnter Username
    PasswordEnter Password
  • It will prompt you a new window. Enter the SharePoint Site URL and click Get List(s).
  • Get List creates an API Call to get all the lists in the SharePoint site located in the navigation bar and populates this dropdown.
  • From the dropdown menu, select a SharePoint list and click the “+” button.
    You will be redirected to a menu where you can select the search fields of your SharePoint Skill.
  • Select the Columns Names as Search Fields and bind the given.
    In this example, we will be using Person as a search field. We will be searching under Person column.
  • Set the Return Fields. These properties are responsible for creating the Bot Response to the user. This is what is being returned or shown to the user in the chat.
    To set a return field from the column list, select a column name and check the return field boxes.
  • Click save, you have added a SharePoint Site. You may continue multiple SharePoint Sites with Multiple Lists by clicking the + button.
  • Under result, user can select an Adaptive Card type result from Microsoft Adaptive Cards.
    A sample adaptive card is provided in the bottom page. Copy paste this code to the Card Message Template.

    NOTE: There are two important fields that need to be included in the Card which are "%$.DocFileName%" for the documents file name "%$.DocTypeIcon%" for the document icon.

    Apply the following data in the respective fields then click publish:
    Result TypeCard & Message
    Card Message TemplateJSON Code Provided Below
    Message%$.Path%
    Error MessageSorry, we were unable to retrieve data from your SharePoint Site
    Response Option TextSearch SharePoint
  • Click Save and Click Publish. You will be notified once skill has been saved and published. You have created the SharePoint Search Skill!

Overview: NetDocuments skill allows users to connect to a NetDocuments vault to get information such as retrieving a file by name, retrieving recent or favorite documents, renaming and deleting a document and check-in or check-out a document.

Requirements
  • NetDocuments account
  • NetDocuments vault
  • Must have a KLoBot Account and NetDocuments skill enabled.
How it works
  • Open the KLoBot Bot Builder App and go to your Bot. Make sure that the NetDocuments skill is enabled.
  • Click the Preview Bot button to open the chat, then enter the query Connect to ND. You will receive an authentication link to log-in your NetDocuments account.
  • Click the button to the region you like and you will be redirected to the authentication page. Enter your credentials and click Allow. You will receive a success or fail message.
  • Enter query NetDocs in the chat bot to open the list of options. Click any of the options of your choice. You are now authenticated to NetDocuments.
Create the NetDocuments Skill

Overview: This section will discuss a step-by-step process on how to create the NetDocuments skill and its sub-skills. It will also discuss training the skill with different queries, the NetDocuments connector with API endpoints and credentials and the response of the bot.

  • Go to Skill Builder and click Add New. Enter the skill name and select blank template.
  • Under Skill Properties, set the skill scope of your choice. For skill category, select Task then click next.
    Skill NameNetDocuments
    ScopeGlobal
    Skill CategoryTask
  • Under Intent, enter NetDocs as the intent name the intent name to keep it consistent. Click the save icon then proceed to the examples. Enter all the queries related to trigger the NetDocuments Skill.
  • Under the prompts, it would require 8 choices to determine the sub-skills and it would show the 8 options to the user. Click Add prompt, enter the question or prompt, select Choice as the data type, then enter general.item:type as a key to bind these options and check is Mandatory.

    Add 8 choices then apply the following data then click next

    PROMPTS
    Prompt MessagePrompt Message Please select one of the following options
    Data TypeChoice
    Keygeneral.item:type
    Is MandatoryChecked
    Choice 1
    Choice TitleRecent Documents
    ActionIntent Name
    Sub-skillnetdocs.recent
    Choice 2
    Choice TitleFavorite Documents
    ActionIntent Name
    Sub-skillnetdocs.favorite
    Choice 3
    Choice TitleDocuments from Workspace
    ActionIntent Name
    Sub-skillnetdocs.workspace
    Choice 4
    Choice TitleDocument by name (search key)
    ActionIntent Name
    Sub-skillnetdocs.name
  • Under Process, select Exit for skill exit type. Then for the type of the process, since majority of this skill will deal with forms, select Form for the process type. Enter NetDocuments to bind to the response option text in case the Bot does not understand the queries listed in the example.
    Skill Exit TypeExit
    Type of the processForm
    Response Option textNetDocuments
    NOTE: There are instructions to configure the Auth Code provided in the email.
Create the Get Recent Documents
  • Click Add Intent to create the first sub-skill Get Recent Documents. Add the intent name netdocs.recent then click save. After that, add all the related queries for the skill then click train.
  • Since this sub-skill will not need any prompt or data to be collected from the user, bypass the Prompts section by clicking Skip. Under process, select Exit for skill exit type. Select NetDocuments for the type of the process.
  • Enter the following credentials to test out the API call to get recent documents. Click Test and ensure that all credentials are correct. Otherwise, the API test will fail.
    PROCESS
    Skill Exit TypeExit
    Type of the processNetDocuments
    API Endpoint URLMicroservice URL
    Client IDUSER Client ID
    Client SecretUSER Client Secret
    Process NameRecent
  • After clicking test, this will generate an Authenticate button to make a connection to the NetDocuments vault. It will open a new iFrame window to enter the username and password to NetDocuments. Once successful, Skill Builder will notify a Successful NetDocuments connection.
  • Since we are getting all the recent documents, the response type for this will be in a form of an Adaptive Card to show the name, icon and the link to the document. Set the result type to Card & Message. Copy and paste the sample Adaptive Card provided at the end of the page to the Card Template.

    Enter the following data to the message template to map out the result from the API call.

    RESULT
    Result TypeCard & Message
    Card Templateprovided at the end of the page
    Message TemplateTitle: %$.title%. Link to document: %$.path%
    Error%$.message%
    Response Option TextFind recent NetDocuments
    NOTE: There are two important entities namely %$.title% which contains the document title and the %$.path% which contains the URL to the document.
Create the Get Favorite Documents
  • Click Add New button to add the sub-skill Get Favorite Documents. Add the intent name netdocs.favorite and add the following queries related to the skill. Click train.
  • Since this sub-skill will not need to collect any data from the user, this skill will bypass the Prompts section and proceed to Process. Under process, select Exit for skill exit type. Select NetDocuments for the type of the process.

    Enter the following credentials to test out the API call to get favorite documents. Click Test and ensure that all credentials are correct. Otherwise, the API test will fail

    PROCESS
    Skill Exit TypeExit
    Type of the processNetDocuments
    API Endpoint URLMicroservice URL
    Client IDUSER Client ID
    Client SecretUSER Client Secret
    Process NameFavorite
    NOTE: If the user hasn’t authenticated yet, clicking test button will generate an Authenticate button to connect to the user. This button only pops up when the user hasn’t authenticated yet.
  • Set the result type to Card & Message. Copy and paste the sample Adaptive Card provided at the end of the page to the Card Template field.

    Enter the following data to the message template to map out the result from the API call.

    PROCESS
    Skill Exit TypeExit
    Type of the processNetDocuments
    API Endpoint URLMicroservice URL
    Client IDUSER Client ID
    Client SecretUSER Client Secret
    Process NameFavorite
    RESULT
    Result TypeCard & Message
    Card Templateprovided at the end of the page
    Message TemplateTitle: %$.title%. Link to document: %$.path%
    Error%$.message%
    Response Option TextFind my favorite NetDocuments
Create Get Document by Workspace
  • Click Add New button to add the sub-skill Get Document by Workspace. Add the intent name netdocs.workspace.

    Since this skill is going to look for a client name or matter ID, in adding the examples, it is crucial to bind the query with a given entity and role. In this example, we are binding the client name 1002 to entity general.name:client. User can also assign another entity for matter ID which is general.name:matter. In this example we assigned matter ID 104

    NOTE: By training the chatbot with entities, this will allow the chatbot to be smarter in understanding user intent.

    Assign all queries with the given entities and click train.

  • Since we are collecting the client name and the matter ID from the user, we need to assign Prompts and questions to gather data. Add two prompts and for client name and Matter ID. Enter the following data for the two prompts and click save.
    PROMPTS: Client Name
    PromptPlease enter client name
    Data TypeMessage
    Keygeneral.name:client
    Is Mandatorychecked
    PROMPTS: Matter ID
    PromptPlease enter matter
    Data TypeMessage
    Keygeneral.name:matter
    Is Mandatorychecked
  • Under process, assign the API route provided together with the client ID and client secret. These credentials are crucial to test the API endpoint. Enter the following data below.
    PROCESS
    Skill Exit TypeExit
    Type of the processNetDocuments
    API Endpoint URLMicroservice URL
    Client IDUSER Client ID
    Client SecretUSER Client Secret
    Process NameWorkspace
  • Since we are getting a document based on client name and matter ID, we will need to add data to the keys we just assigned to the Prompts section. Click Add then enter a valid client name and matter ID.
    DATA
    Entity: general.name:client1002
    Entity: general.name:matter104
  • Click Test. The user will then receive a notification saying the connection has been tested successfully. Otherwise, the user will receive an error message if there was an invalid data entered.
  • Set the result type to Card & Message. Copy and paste the sample Adaptive Card provided at the end of the page to the Card Template field.

    Enter the following data to the message template to map out the result from the API call. Click Save.

    RESULT
    Result TypeCard & Message
    Card Templateprovided at the end of the page
    Message TemplateTitle: %$.title%. Link to document: %$.path%
    Error%$.message%
    Response Option TextFind NetDocuments in workspace
Create Get Document by Name
  • Click Add New button to add the sub-skill Get Document by Name. Add the intent name netdocs.name.

    Since this skill is going to look for a document name, in adding the examples it is crucial to bind the query with a given entity and role. In this example, we are binding the document name KLoBot Demo Script to entity general.name:name. Enter all the queries related to the sub-skill and assign the entities, then click train.

  • Since we will be collecting the data from the user, we will assign a Prompt that will collect the Document Name from the user. Add a prompt to the entity general.name:name. Enter all the data as shown below.
    PROMPTS
    PromptPlease enter document name (search key) for the search
    Data TypeMessage
    Keygeneral.name:name
    Is MandatoryChecked
    Validation RequiredChecked
  • Under process, assign the API route provided together with the client ID and client secret. These credentials are crucial to test the API endpoint. Enter the following data below.
    PROCESS
    Skill Exit TypeExit
    Type of the processNetDocuments
    API Endpoint URLMicroservice URL
    Client IDUSER Client ID
    Client SecretUSER Client Secret
    Process NameDocument Name
  • Since we are getting a document based on the document name, we will need to add data to the key general.name:name from the Prompts section. Click Add then enter a valid document name then click test.
    DATA
    Entity: general.name:nameKLoBot Demo Script
  • Click Test. The user will then receive a notification saying the connection has been tested successfully. Otherwise, the user will receive an error message if there was an invalid data entered.
  • Set the result type to Card & Message. Copy and paste the sample Adaptive Card provided at the end of the page to the Card Template field.

    Enter all the values to their respective fields below.

    RESULT
    Result TypeCard & Message
    Card TemplateProvided below
    Message TemplateTitle: %$.title%. Link to document: %$.path%
    Error%$.message%
    Response Option TextGet NetDocuments by name
Create Rename Document Name
  • Click Add New button to add the sub-skill Get Document by Name. Add the intent name netdocs.rename.

    Since this skill is going to rename a document, the skill will need a reference to the old document and the document ID. We need to consider the case wherein there are multiple documents with the same name, the document id is the unique identifier for a specific document. In this example, we are binding the document name and document id.

    Assign the entities document name to general.name:name and document id general.item:docuid by highlighting the text and assigning the entity. Click train.

  • In the Prompts section, since this skill will require a reference to the old document name and the new name from the user and the document id user will have to add three prompts to collect the data. Enter the following data and click next.
    PROMPTS: Original File Name
    PromptPlease enter original file name
    Data TypeMessage
    Keygeneral.name:name
    Is Mandatorychecked
    PROMPTS: New Name
    PromptPlease enter new file name
    Data TypeMessage
    Keygeneral.name:newname
    Is Mandatorychecked
    PROMPTS: DocId
    PromptDocId
    Data TypeMessage
    Keygeneral.name:docid
    Is Mandatorychecked
  • Under process, assign the API route provided together with the client ID and client secret. These credentials are crucial to test the API endpoint. Enter the following data below.
    PROCESS
    Skill Exit TypeExit
    Type of the processNetDocuments
    API Endpoint URLMicroservice URL
    Client IDUSER Client ID
    Client SecretUSER Client Secret
    Process NameRename
  • Since we are renaming a document, we will need to add data to the key general.name:name and general.name:newname from the Prompts section. Click Add then enter a valid document name and a new name to the respective fields then click test.
    DATA
    general.name:nameKLoBot Demo Script
    general.item:newnameKlobot Script
    general.item:docuid4841-3338-9478
  • For the result or response of the bot, we would not need an Adaptive Card to show to the user. A message will be mapped to the user with a success or fail message, and status of the old document name changed to the new name. Assign the following values and click save.
    RESULT
    Result TypeMessage
    Message TemplateStatus: %$.result% %$.message%
    Error%$.message%
    Response Option TextRename document
Create Delete Document Skill
  • Click Add New button to add the sub-skill Delete Document. Add the intent name netdocs.delete.

    Since this skill will require an entity, it is important to train a query and an assigned entity and role of general.name:name which is the document name to be deleted.

    We need to consider the case wherein there are multiple documents with the same name, the document id is the unique identifier for a specific document. In this example, we are binding the document name and document id.

    Assign the entities document name to general.name:name and document id general.item:docuid by highlighting the text and assigning the entity. Click train.

    NOTE: However, a user can also enter queries without the entity since the Prompts section will handle collecting the data.
  • Under Prompts, we would need to collect data from the user. The Prompt section would catch the document name to be deleted from the user. Add one prompt and enter all the values below.
    PROMPTS
    Prompt MessagePlease enter file name for deletion
    Data TypeMessage
    Keygeneral.name:name
    Is MandatoryChecked
    PROMPTS: DocId
    Prompt MessageDocId
    Data TypeMessage
    Keygeneral.name:docid
    Is MandatoryChecked
  • Under process, assign the API route provided together with the client ID and client secret. These credentials are crucial to test the API endpoint. Enter the following data below.
    PROCESS
    Skill Exit TypeExit
    Type of the processNetDocuments
    API Endpoint URLMicroservice URL
    Client IDUSER Client ID
    Client SecretUSER Client Secret
    Process NameDelete
  • Since we are deleting a document, we will need to add data to the key general.name:name and document id general.name:docuid from the Prompts section. Click Add then enter a valid document name and document id to delete. Click test button and this will delete the document from the NetDocuments Vault.
  • For the result or response of the bot, we would not need an Adaptive Card to show to the user. A message will be mapped to the user with a success or fail message, and status of the old document name changed to the new name. Assign the following values and click save.
    RESULT
    Result TypeMessage
    Message TemplateStatus: %$.result% %$.message%
    Error%$.message%
    Response Option TextDelete file from NetDocuments
Create Check in Document Skill
  • Click Add New button to add the sub-skill Check in Document. Add the intent name netdocs.checkin.

    Since this skill will require an entity, it is important to train a query and an assigned entity and role of general.name:name which is the document name to be checked-in with the document id.

    We need to consider the case wherein there are multiple documents with the same name, the document id is the unique identifier for a specific document. In this example, we are binding the document name and document id.

    Assign the entities document name to general.name:name and document id general.item:docuid by highlighting the text and assigning the entity. Click train.

  • Under Prompts, we would need to collect data from the user. The Prompt section would catch the document name to be checked-in from the user. Add one prompt and enter all the values below.
    PROMPTS
    Prompt MessagePlease enter document name
    Data TypeMessage
    Keygeneral.name:name
    Is MandatoryChecked
    PROMPTS: DocId
    Prompt MessageDocId
    Data TypeMessage
    Keygeneral.name:docid
    Is MandatoryChecked
  • Under process, assign the API route provided together with the client ID and client secret. These credentials are crucial to test the API endpoint. Enter the following data below.
    PROCESS
    Skill Exit TypeExit
    Type of the processNetDocuments
    API Endpoint URLMicroservice URL
    Client IDUSER Client ID
    Client SecretUSER Client Secret
    Process NameCheck-In
  • We will need to add data to the key general.name:name and document id general.name:docuid from the Prompts section. Click Add then enter a valid document name and document id to check-in.
  • For the result or response of the bot, a type message will be used. This message will be mapped to the user with a success or fail message, and status of the old document name changed to the new name. Assign the following values and click save.
    RESULT
    Result TypeMessage
    Message TemplateStatus: %$.result% %$.message%
    Error%$.message%
    Response Option TextCheck in NetDocuments
Create Check out Document Skill
  • Click Add New button to add the sub-skill Check Out Document. Add the intent name netdocs.checkout.

    Since this skill will require an entity, it is important to train a query and an assigned entity and role of general.name:name which is the document name to be checked-in with the document id.

    We need to consider the case wherein there are multiple documents with the same name, the document id is the unique identifier for a specific document. In this example, we are binding the document name and document id.

    Assign the entities document name to general.name:name and document id general.item:docuid by highlighting the text and assigning the entity. Click train.

  • Under Prompts, we would need to collect data from the user. The Prompt section would catch the document name to be checked-in from the user. Add one prompt and enter all the values below.
    PROMPTS
    Prompt MessagePlease enter document name
    Data TypeMessage
    Keygeneral.name:name
    Is MandatoryChecked
    Validation Requiredtext
    PROMPTS: DocId
    Prompt MessageDocId
    Data TypeMessage
    Keygeneral.name:docid
    Is MandatoryChecked
  • Under process, assign the API route provided together with the client ID and client secret. These credentials are crucial to test the API endpoint. Enter the following data below.
    PROCESS
    Skill Exit TypeExit
    Type of the processNetDocuments
    API Endpoint URLMicroservice URL
    Client IDUSER Client ID
    Client SecretUSER Client Secret
    Process NameCheck-Out
  • We will need to add data to the key general.name:name from the Prompts section to check-out a document. Click Add then enter a valid document name. Click test button and this will check-out the document from the NetDocuments Vault.
  • For the result or response of the bot, a type message will be used. This message will be mapped to the user with a success or fail message, and status of the old document name changed to the new name. Assign the following values and click save.
    RESULT
    Result TypeMessage
    Message TemplateStatus: %$.result% %$.message%
    Error%$.message%
    Response Option TextCheck out NetDocuments
Sample Adaptive Card For Results
Copy this JSON file and paste it to the Adaptive Card Template
{ "type": "AdaptiveCard", "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "version": "1.0", "body": [ { "type": "ColumnSet", "columns": [ { "type": "Column", "width": "40px", "items": [ { "type": "Image", "url": "%$.IconUrl%", "altText": "", "size": "Small", "width": "30px", "horizontalAlignment": "left", "height": "30px" } ] } ] }, { "type": "TextBlock", "text": "%$.Title%", "size": "Small", "horizontalContentAlignment": "left", "wrap": true, "horizontalAlignment": "left" } ], "actions": [ { "type": "Action.OpenUrl", "title": "View", "url": "%$.Path%" }, { "type": "Action.Submit", "title": "Rename", "data": { "msteams": { "type": "imBack", "value": "Rename '%$.DocName%' file [%$.DocID%]" } } }, { "type": "Action.Submit", "title": "Delete ", "data": { "msteams": { "type": "imBack", "value": "Delete '%$.DocName%' file [%$.DocID%]" } } }, { "type": "Action.Submit", "title": "Check-in document", "data": { "msteams": { "type": "imBack", "value": "Check-in '%$.DocName%' file [%$.DocID%]" } } }, { "type": "Action.Submit", "title": "Check-out document", "data": { "msteams": { "type": "imBack", "value": "Check-out '%$.DocName%' file [%$.DocID%]" } } } ] }

Overview: IT Support Skill allows users to create an IT Support ticket in the ServiceNow instance to keep track of IT related problems. User can also retrieve information about the ticket through the ID or (sys_id) generated from creating the ticket.

Requirements
  • Must have credentials to https://developer.servicenow.com/
  • Must have an active PERSONAL DEVELOPER INSTANCE (PDI) on ServiceNow Developer account (ex: https://server_name.service-now.com/)
  • Must have developer credentials to the PDI.
  • Must have a KLoBot account and IT Support in the Bot
    NOTE: ServiceNow Personal Developer Instances (PDI) hibernate if the instance remains inactive for 10 days. To activate an instance from hibernating, simply click the Wake Instance button. For more info about PDIs, go to this link.
How it works
  • Open the KLoBot Bot Builder App and go to your Bot. Make sure that the IT Support skill is activated
  • Click the Preview Bot button to open the chat, then enter the query IT Support. You will be prompted with two options showing the sub-skills Create IT Support Ticket & View IT Support Ticket
Create An IT Support Ticket (ITSupport.Create)

Overview: Allows users to create an IT Support Ticket via the chatbot. After creation, this will produce a ticket to the instances table in the PDI we used. The user will be given an ID or sys_id that will serve as a reference to their ticket.

  • Click the prompt Create an IT Support Ticket with ServiceNow or enter a query via chatbot.
  • Enter your name, email address and a brief description of the issue you’re facing.
  • After the proper data has been entered, this will create a ticket in the PDI table. Moreover, the user will receive a success response with a reference to the ticket or the sys_id which the user will need to view the status of the ticket.
View IT Support Ticket (ITSupport.status)

Overview: Allows users to view the status of the IT Support ticket if it has been updated. To view the status of the IT Support ticket via the chatbot, user must enter the ID or sys_id from creating an IT Support skill.

  • Click the prompt View the ServiceNow Support Ticket or enter a query via the chatbot.
  • Enter the ID of your ticket to view the status. In this case, the ticket is still in progress.
  • NOTE: This skill is compatible to chatbots deployed to different channels such as Microsoft Teams, SharePoint site, Facebook Messenger and Slack.
Steps to Create IT Support Skill

Overview: This is a step-by-step guide on how to create the IT Support Skill. This will cover concepts such as training of the skill with different queries, creating the sub-skills and the HTTPS Connector to the ServiceNow PDI.

  • Go to Skill Builder page and add a new skill. Enter the name and select Blank template. Click create.
  • Under the skill properties, enter the skill name, skill scope and skill category.
  • Enter the intent name then click save the save icon. Then enter all the queries pertaining to the skill as follows. Then click train.
  • Prompts section would collect the data from the user through questions. Enter the question then select Choice for data type, and enter the key as general.item:criteria then check Is Mandatory.
  • Add two choices to bind to subskills ITSupport.create and ITSupport.status, click save.
    Choice 1Choice 2
    Choice TitleCreate an IT Support Ticket with ServiceNowView the ServiceNow Support Ticket
    Intent NameIntent NameIntent Name
    Sub-SkillITSupport.createITSupport.status
  • Under process, enter the follow data and click Add Intent to add the first sub-skill for Creating an IT Support Ticket.
    Skill Exit TypeExit
    Type of the processForm
    Response Option textIT Support
  • Enter the intent name then click save the save icon. Then enter all the queries pertaining to the skill as follows. Then click train.
  • Prompts section would collect the name, email address and description of the user’s IT Support query. Enter the following data and click save.
    Name
    Prompt MessageCan I have your name?
    Data TypeMessage
    Keyuser_input
    Is MandatoryCheck
    Email Address
    Prompt MessageWhat is the best email address to reach you?
    Data TypeMessage
    Keyshort_description
    Is MandatoryCheck
    Description
    Prompt MessageCould you briefly describe the issue you are facing?
    Data TypeMessage
    Keydescription
    Is MandatoryCheck
  • Under Process is where the user can establish the HTTPS Connection to the ServiceNow PDI. Since we are using HTTPS Connection, set the type of process to HTTP and the method will be POST since we are creating a new IT Support entry.
How it works
  • Go to skill builder page then click the Add New button.
  • Enter the skill name and select blank template then click create.
  • In the skill builder page, select the skill scope and under skill category, select FAQ.
  • Under the list of knowledge base section, select the knowledge base and click save. Then click publish.
  • To use the newly created FAQ skill, go to the chat bot page then select the FAQ skills dropdown menu and then drag and drop the skill. You have successfully created a skill using a knowledge base.
  • To test the chat bot, click preview bot and enter a question from the knowledge base.

KLoBot can create skills that display information and data in a form of an Adaptive Card. Here are the default values to be used for the respective skills.

NOTE: Ensure that the characters highlighted in yellow are replaced in the RESULT section in skill builder

People Results Display Card

Used for skills that display user information such as the profile picture, email address, phone number, etc.

"type":"AdaptiveCard",
                     "$schema":"http://adaptivecards.io/schemas/adaptive-card.json",
                     "version":"1.1",
                     "body":[
                        {
                           "type":"Image",
                           "altText":"",
                           "style":"Person",
                           "url":"Your Photo URL",
                           "size":"Medium",
                           "width":"60px",
                           "height":"60px"
                        },
                        {
                           "type":"TextBlock",
                           "text":"NameValue",
                           "size":"Medium",
                           "weight":"Bolder",
                           "wrap":true
                        },
                        {
                           "type":"TextBlock",
                           "text":"JobTitleValue",
                           "wrap":true
                        },
                        {
                           "type":"TextBlock",
                           "text":"Location: LocationValue",
                           "wrap":true
                        },
                        {
                           "type":"TextBlock",
                           "text":"Mobile: Mobile"
                        },
                        {
                           "type":"TextBlock",
                           "text":"Email: [MailValue](mailto:MailValue)"
                        }
                     ]
                  }
Document Results Display Card

Used for SharePoint Skills that retrieves the document based on a search term.
The user can add more properties to this adaptive card depending on the available data in the SharePoint List or Library.

{
    "type": "AdaptiveCard",
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.1",
    "body": [
        {
            "type": "ColumnSet",
            "columns": [
                {
                    "type": "Column",
                    "width": "stretch",
                    "items": [
                        {
                            "type": "Image",
                            "url": "Your Document Icon URL",
                            "altText": "",
                            "size": "Small"
                        }
                    ]
                }
            ]
        },
        {
            "type": "TextBlock",
            "text": "Document Title",
            "size": "Medium",
            "wrap": true
        }
    ],
    "actions": [
        {
            "type": "Action.OpenUrl",
            "title": "View",
            "url": "Document URL or Path"
        }
    ]
}
Item Display Card

Used for retrieving standard data with information. This is the standard format for SQL Connector skills.

{
    "type": "AdaptiveCard",
    "$schema": "http: //adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.0",
    "body": [
        {
            "type": "TextBlock",
            "text": "TitleValue",
            "weight": "bolder",
            "wrap": true,
            "color": "Accent"
        },
        {
            "type": "FactSet",
            "facts": [
                {
                    "title": "PropertyName:",
                    "value": "PropertyValue"
                },
                {
                    "title": " PropertyName:",
                    "value": "PropertyValue"
                },
                {
                    "title": " PropertyName:",
                    "value": "PropertyValue"
                },
                {
                    "title": " PropertyName:",
                    "value": " PropertyValue"
                },
                {
                    "title": " PropertyName:",
                    "value": " PropertyValue"
                }
            ]
        }
    ]
}