Introduction

Skills are the building blocks that make the chat bot intuitive and smart. It permits the chat bot to process requests from the users an offer an intuitive solution.

The skill builder page opens a large avenue for users to get creative and design their skills to solve problems such as connecting to an API connector, retrieving and showing documents based on a request, showing contact information etc.

The Skill Dashboard page serves as the home page of the list of skills. The Skill Dashboard is where the user can add a new skill, manage and edit the skills created by different users. The user can get an overview of the list of skills created within the whole application.

Common Terminologies

Skill Scope – Visibility and reach of the skill. The scope serves as the accessibility that the user assigned to a specific skill created. They are divided into three categories:

  1.  Local – Viewable or assigned to a specific chat bot
  2.  Private – Viewable by the author
  3.  Global – Viewable by everyone

Skill Status – The current status or position of a created skill.

  1.  Published – Skill has been published completely.
  2.  Draft – Skill has not been published or saved completely.

Features

Navigation Bar

Contains all the common functionalities in the skill builder page such as adding a new skill, view options and skill publishing.

  1.  Add a New Skill – Redirects the user to the Add a New Skill page to allow users to create a new skill.
  2.  Summary View – Allows the user to view the skills in Grid View.
  3.  List View – Allows the user to view the skills in List View.
  4.  Max Skills – Contains the maximum number of skills to be shown in the skills page.
  5.  Publish – Publishes all the skills created and trained by users. This is a crucial step that all users need to do.

Filter By

This section allows the user to filter out the skills results based on the skill name, the skill author, skill scope and the status.

  1.  Search Bar – Search filed that filters out the skills based on the user’s input in the search bar.
  2.  Scope – Dropdown menu that filters out the skills based on the scope assigned. Users can assign a skill scopes global, private or local.
  3.  Status – Dropdown menu that filters out the skills based on the status assigned.
  4.  Reset – Reset button that discards all the filters applied to the skill builder page.

Pagination

Allows user to view skills in the skill page by clicking next or previous page.

Skill Details

Allows user to view skills in the skill page by clicking next or previous page.

  1.  Skill Name – Contains the name of the skill.
  2.  Published – A checkmark that indicates that the skill is published.
  3.  Draft – An icon that indicates that the skill is a draft.
  4.  Skill Author – Contains the name of the user who created the skill.
  5.  Click here to view Bots – Pop-up window that shows a list of chat bots that uses the specific skill.
  6.  Scope – Shows the scope of the skill.
  7.  Export Skill – Creates and downloads a copy of the skill in JSON format.
  8.  Edit Skill – Redirects user to the Skill Builder page to modify and edit the skill.
  9.  Delete Skill – Removes the skill from the skill list page.

Skill Builder page contains the building blocks responsible for creating and designing intuitive skills to solve problems. One of the main structures in the KLoBot application, the skill builder page opens a huge selection of features where users can get creative and connect to various APIs and Connectors to retrieve information or data such as contact information or a list of documents.

The possibilities are endless within the Skill Builder page. Users can create easy to more complicated skills catered to their needs. Skill Builder Page can dynamically connect to several connectors available within KLoBot:

HTTPS Connector

SharePoint Connector

NetDocuments Connector

iManage Connector

Microsoft SQL Server Connector

Common Terminologies

Skill Category – Type of skill.

Reminder – A skill type to remind users.

Task – A skill type to perform a skill or a task for the user.

Information – A skill type to inform the user.

FAQ – Skills created within the Knowledge Builder module.

Intent

The action the chat bot should perform. It represents the task or the action expressed from a user utterance. This is what the chat bot uses to predict a skill.

Example | Utterance

Messages or input that came from the user that the chat bot needs to interpret. Utterances or examples are crucial for chat bot to be able to predict what the user wants to perform.

Entity

Represents data from the user utterance. It could be a single word or a significant group of words representing data such as name, location, date, title, phone number. An utterance from a user can have multiple entities assigned.

Machine-learning Entity – Preferred entity for the Skill Builder. This is the most common entity used to label an utterance as a Machine-learning entity.

Patterns

Created within the training section to improve prediction accuracy when several utterances are very similar. Allows the chat bot to predict intents more accurately.

NOTE:  Once chat bot is deployed to a channel, communicate with the chat bot and ensure that the desired results are met.

Train | Training

The action or method needed to teach the chat bot to recognize, understand and predict utterances.

Prompts

The follow-up question or prompt that the chat bot asks to the user to collect and extract data or information.

Adaptive Card

A type of result or end response from the chat bot that formats the message collectively in a form of an Adaptive Card. For more information, proceed to the Adaptive Card Overview page.

Features

Add a New Skill

A component in the Skill Builder page that allows the user to enter a skill name and select, assign or import a new skill template.

  1. Skill Name – Contains the name of the skill the user is creating
  2. Select Type of Template – Contains a checklist to allow users to select which type of template to use for the skill.
    1. Blank – A blank or a fresh template. The user will have to create a skill from scratch.
    2. Import New Template – Opens a window to import a skill template in a form of a JSON file extracted from the skill builder.

Navigation Bar

Contains all the primary action buttons to save, save as a template, delete, discard changes and test the skill created.

  1. Cancel & Go Back – Discards all changes made within the skill. This button opens a modal to validate discarding the changes.
  2. Save as a Template – Allows a user to save the skill and store it as a template. When user clicks this button, it creates a copy or a template of the skill whenever a user decides to add a new skill.
  3. Export Skill – Creates and downloads a copy of the skill in a form of a JSON file. This copy can be used to import in skill builder for training.
  4. Export Skill – Creates and downloads a copy of the skill in a form of a JSON file. This copy can be used to import in skill builder for training.
  5. Test – Opens a chat bot window to test the skill created within the skill builder page.
  6. Publish – Publishes all the skills trained and created in the skill list page. It is required to click Publish every time a user saves a skill. Otherwise, the chat bot may not predict intents accurately.

Skill Properties

The first section in the skill builder. This section contains basic information of the skill such as the owner or skill author, skill name, skill scope and skill category.

  1. Hide Button – Hides the contents of the Skill Properties section.
  2. Owner – Contains the author or owner of the skill. Users can edit the owner of the skill by clicking the pencil icon on the right-hand side.
  3. Skill Name – Shows the name of the skill.
  4. Skill Scope – Contains a selection of scope icons so users can select the scope of the skill. The scope could be local, private or global.
  5. Skill Category – A dropdown menu that shows a list of Skill Categories. The skill category could be Reminder, Information, Task or FAQ.

This section contains the name of the skill’s intent. Intent serves as the main action or task of a skill.

  1. Delete – Deletes the whole intent. When a user clicks the delete intent button, it removes all the properties created after the intent section such as train, prompts, process and results section.
  2. Edit – Allows the user to edit the intent name. The user must enter a unique intent name. Otherwise, it will throw an error.
  3. Save Intent Name – Saves the modified intent name.

One of the important sections in the skill builder page. Train allows the user to teach the chat bot utterances and examples. The user can assign entities, add patterns and assign pattern.any to utterances to teach the chat bot for better language understanding and intent prediction.

1. Enter an example – Allows users to enter utterances or examples in the input bar. Users can enter an utterance by clicking the add button or just clicking enter from the keyboard.

Utterance

It is a list of messages, examples or user input pertaining to the intent. This list contains all the utterances that the chat bot understands pertaining to the intent that it has been assigned. Utterances can have entities or without entities.

2.a. Utterances without Machine Learning Entities

2.b. Utterances with Machine Learning Entities

3. Machine Learning Entities – a word or a group of words from the utterance. It is an assigned data within an utterance.

 In this example, the group of words “meaning of life” has an assigned M.L entity “greeting.entity:item”.

Patterns

Patterns improve prediction accuracy when utterances are very similar. This helps users prevent adding many utterances or examples to the skill and helps the chat bot to recognize utterances for an intent.

  • The intent in this example is Weather. The pattern added here is Can I get the weather in {weatherlocation:area}.
  • We assigned ‘Brooklyn’ to {weatherlocation:area} or pattern.any. It is the entity assigned to this pattern. More information regarding pattern.any below.
  • In this example, the chat bot would recognize any data or location that the user enters in {weatherlocation:area}.
  • This helps the user prevent training the same utterance with a different location over and over again since the chat bot would recognize this pattern.
  • Pattern Entity – The entity assigned to a pattern. It is similar to a Machine-Learning entity but this is only applicable for patterns. It helps the chat bot to extract data from well-formatted utterances.

5. Remove Utterance – Deletes the utterance in the examples/utterances section. The user has to click Train in order to remove it completely.

6. Train Button – Trains the utterances to an intent. Training process teaches the chat bot to have a better Language Understanding of utterances. This helps the chat bot to predict and recognize an utterance to an intent.

7. Next Button – Allows the user to proceed to the Prompts Section.

This is the follow-up question or a prompt to the user if the chat bot fails to extract an entity from the utterance. This is where the chat bot can grab user input to label the data as an entity.

Some of the common prompts used are correlated to date, location or a name of a person.

A prompt can either be a type Message, Choice or a Filter. Users can customize prompts to show up as a message, a choice that shows a list of choices.

Message Type

A type of prompt that shows the user a message or a question to extract information from the user.

  1. Data Type – A dropdown selector that allows users to customize the data type of the Prompt. It could either be a Message, Choice or Filter. The Prompt choices are changed depending on the data type.
  2. Prompt Message – An input box that contains the chat bot message in the prompt. This is the message that the chat bot asks to the user if the chat bot did not pick up the entity in the utterance.
  3. Machine Learning Entity Key – An input box that contains the machine learning entity assigned to the prompt. When the user responds to the prompt, the user input is then assigned as the Machine Learning Entity.
    • Add Variable – A popover window that contains all the entities trained. This feature allows users to select from a list of entities to bind to the prompt message.
  4. Pattern Entity Key – An input box that contains the Pattern Entity assigned to a pattern. The Pattern Entity is prioritized first than the Machine Learning Entity when a pattern is created.
    • Add Variable – A popover window that contains all the pattern entities trained. It opens a list of pattern entities trained by the user and allows the user to select from this list.

Choice Type

A type of prompt that shows the user a list of choices in order to extract data from the user or determine the intent.

  1. Machine Learning Entity Key – Users can bind and assign a choice to a machine learning entity key through this input box. When users click the add button, it opens up a popover menu with a list of ML entities.
  2. Machine Learning Entity Key – Users can bind and assign a choice to a machine learning entity key through this input box. When users click the add button, it opens up a popover menu with a list of ML entities.
  3. Is Mandatory – A selector that sets the prompt as a requirement. If user sets the prompt as mandatory, the chat bot will always ask the prompt to the user.
  4. Choices – A set of choices or options where a user can select and give data to the chat bot or select a sub-skill to trigger. There are two types of choices:
    • Select Data Users can select from a list of options and send data to the chat bot.
      1. Choice Title – The name or title of the choice. This piece of data is the one that gets shown to the user as an option.
      2. Action Type – The type of action or task that dictates the purpose of the choice. In this case, Data is required as an action type to indicate that the choice is a type data and not a sub-skill.
      3. Choice Value – The value that the user sends to the chat bot. The value varies on the action type of the prompt.
        • Data Type Choice Value – A string value “Sick Leave” is assigned to the value. This is the data that the user sends to chat bot.
    • Select Sub-skill Users can trigger or call sub-skill or intent through a list of options.
      1. Action Type – The type of action or task that dictates the purpose of the choice. In this case, Intent Name is required as an action type to trigger the skill “netdocuments.favorite” on click of the option.
      2. Choice Value – The value that the user sends to the chat bot. The value varies on the action type of the prompt.
        • Intent Type Choice Value – A sub-skill or intent name “netdocuments.favorite” is assigned to the value. This option allows the user to trigger the sub-skill “netdocuments.favorite” through the option.

Users can select the sub-skill through the sub-skill dropdown menu.

  1. Save Prompt – Saves all the changes for the individual prompt.
  2. Edit Prompt – Allows the user to modify the saved prompt.
  3. Delete Prompt – Removes the individual prompt.
  4. Add Choice – Adds a choice to the choice list.
  5. Add Prompt ­– Adds a prompt to the prompt list.
  6. Skip Prompts – Some skills or intents don’t require a prompt to extract information from the user. This option allows the user to skip the prompt and proceed to the Process section

This section is where the flow of the skill gets more intuitive. Users can dictate how to process the skill once the chat bot has picked-up and predicted the intent and identified the entities from the utterance or from the prompt.

The Process Section includes all the connectors that KLoBot supports the following:

The Process section would vary depending on which process type the user selects.

Form

This process type continues the flow of the skill to the next sub-skill and does not produce any type of message or adaptive card result.

  1. Select form name – A dropdown menu that contains all the sub-skills created. Users can select a sub-skill to assign when the parent skill has finished prompting the user and collecting data.
  2. Select form name – A dropdown menu that contains all the sub-skills created. Users can select a sub-skill to assign when the parent skill has finished prompting the user and collecting data.
  3. Add Intent – Adds a new sub-skill or intent.

Internal

Allows the user to set a default response or message. This process type does not use any connectors. It just allows the user to customize and set a default answer or response from the chat bot.

Users can create a simple question and answer skill through this process.

  1. Skill Type – A dropdown menu that indicates the type of internal skill. It could either be a greeting type, live agent or just a message.
  2. Next – Proceeds to the Result section.

This section is where the user can customize and get creative with the response message of KLoBot.

Common Terminologies

Adaptive Card – A JSON file that formats and shows information in a form of a card. Adaptive Cards are widely used in the KLoBot environment to format chat bot responses.

There are two types of response options:

Message

A response type in the result section. The chat bot would return the result in Message form.

In this example, the chat bot is in message response type.

The default message that will be shown to the users once the skill finished processing. It could contain a simple message or a message with entities.

  1. Message without entities
  2. Message with entities

Adaptive Card

A response type in the result section. The chat bot would return the result in an Adaptive Card format. This result type is more organized and the user can design and customize the sizes and the text format of the text.

In this example, the chat bot response is in Adaptive Card format.

Select Adaptive Template – A dropdown menu that automatically changes the adaptive card JSON file in the Custom Display Template. There are 5 templates:

  1. Custom Template – An option that does not contain a default Adaptive Card Template. A user would create an adaptive card JSON file from scratch.
  2. People Results Template – Changes the JSON file to a person type Adaptive Card. It includes the person’s name, picture, department, mobile number.
  3. Document Results Template – Changes the JSON file to a document type Adaptive Card. It includes the document title, a link to the document assigned to a button.
  4. Item Results Template – Changes the JSON file to an item type Adaptive Card. It includes a matter name, status, practice group, area of law, location and client name.
  5. iManage Results Template – A JSON file for iManage skills. It includes a document image, document name and a document info.

Configure Display Template

Opens the Adaptive Card Designer modal where a user can customize the adaptive card and get a draft or a preview of the adaptive card.

  1. Copy – Copies the JSON file in the text area.
  2. Paste – Pastes the JSON file to the text area. A user can design an Adaptive Card from the Microsoft Adaptive Card Designer website and can paste to the KLoBot text field.
  3. Open Adaptive Card Designer – Redirects the user to the Microsoft Adaptive Card Designer website.
  4. Text Area – A text field that contains the adaptive card JSON file.
    NOTE: A user must enter a correct adaptive card JSON format otherwise an error would be thrown from the Card view field.
  5. Card View – A preview or draft of the adaptive card JSON file.
  6. Select Card Variables – A popover menu where a user can map and replace a text to an entity. Highlight a text and right-click to open the popover.
    In designing an adaptive card, it is important to replace all the texts to the respective entities.
  7. Save Changes – Saves all the changes and modifications made in the Display Template.
  8. Close – Discards all the changes made and closes the modal.
  9. Default Message – Input box that contains the default message. Users can map out entities to utterances through the Select Variables.
  10. Default Message – Input box that contains the default message. Users can map out entities to utterances through the Select Variables.
  11. Error Message – Default error message when the chat bot fails to process and return a result.
  12. Response Option Text – Contains an utterance that will show to the user if the utterance used for the skill was not picked up. The utterance should be trained to the intent.

Skill Builder

How to add a pattern and pattern entity?

To improve intent prediction scores and to avoid manually adding many utterances, the user can add a Pattern.

Go to skill builder and select a skill to add a pattern. In this example, we are going to add a pattern for the weather skill.

Proceed to the Train section and enter an utterance. We added an utterance “Can I get the weather for San Francisco”.

Select the word “San Francisco” to assign the Pattern Entity.

Select a Pattern Entity or add a new entity by entering a pattern name and click the + button.

Once assigned, click the Train button. After training, click Add Prompt and set Prompt Choice to Message. Enter the Prompt Message.

Enter the Machine Learning Entities in the first key field then enter the Pattern Entity created from Step 2 in the second key field.

Click Save changes and Publish the skill.

To test the skill, click Test and enter the pattern we just created.

Notice how the utterance entered in the chat has a different location “Los Angeles” and KLoBot was able to pick-up the entity regardless.

HTTPS Connector

How to connect to HTTPS connector using Basic Auth?

This section will demonstrate how to build a skill connecting to the ServiceNow API using Basic Auth.

This skill called “IT Support Create” would allow users to POST a ticket, containing information about IT queries, to the service now table.

It would also allow users to GET information about their ticket using the GET method.

Requirements

  1. Developer account in the ServiceNow API. To create an account, head to https://developer.servicenow.com/.
  2. Instance URL. Ensure that the instance is online. This is where the instances tables are stored.
    For more information regarding Personal Developer instance, head over to the documentation site of ServiceNow.

Go to skill builder and create an intent for the “IT Support” skill. In this example, we named it “itsupport.create”.

In the train section, enter an utterance to trigger the skill. Ensure that the utterances are correlated to creating an IT Support ticket to ServiceNow.

Once training is done, enter the prompts for each appropriate field. It requires three entities to make a successful IT Support Ticket:

user_input - User’s full name

short_description – Contains a brief description of the query

description – Contains a detailed description of the query

Enter the message for the prompt and the respective entities (ex: user_input, short_description, description) to the entity fields.

NOTE: Ensure to set the prompt to MANDATORY to make it as a required prompt.

After filling out all the prompts, we will now test the API. Head over to the Process section and set the following values:

Type of the process – HTTPS

Method – Post

Endpoint https://your-developer-instance.com/api/now/table/incident

Security Type – Basic Auth

Basic Authorization

Username – Your developer instance username

Password – Your developer instance password

Under the Header Data section, click “Add Header” button and add a request header data as follows:

Header Data Key: Content-Type

Value: application/json

Save the changes.

Under the Data section, click “Add Data” and assign the entities we previously added on Step 3. Add the data keys and values as shown here:

User_input – Your full name

Short_description – Your short description for the ticket

Description – Detailed description for the ticket

After entering the Request Data, click Test. You will get a success or fail message.

In this example, we entered a simple thank you message containing the Ticket Number or Ticket Id we just created from the API request.

To include the ticket, simply click a word to open the Connector variables window. Then assign the ticket number entity.

Click Save then Publish Skill on the upper-righthand corner of the navigation bar.

Under the Result section, we will have to map the result of the API call.

QA Test

Under the Result section, we will have to map the result of the API call.

The chat bot would then ask for a brief description and the detailed description of your IT Support Query. The chat bot response then contains the ticket number that we assigned previously in Steph 7 of the guide.

How to connect to HTTPS connector using OAuth 2.0?

This section will demonstrate how to build a skill connecting to the ServiceNow API using OAuth 2.0.

For demo purposes, we will be using the Salesforce API to retrieve users from the application using the OAuth 2.0 Authentication.

Requirements

Endpoint – The API Endpoint URL responsible for processing the request.

Authorization URL – URL to process the authorization code.

Client ID & Client Secret – These parameters are configured in the application you have created.

Access Token URL – URL to process the access token to gain access to the API.

  1. Go to the skill builder and create a skill. For this example, we are going to create a skill called “Salesforce” which will retrieve users from the Salesforce application.Under the Intent section, we assigned the intent name to “salesforce”.

    In the Examples section, we entered “SalesForce” as the utterance.

    For this demo, we will skip the Prompts section.

  2. Under Process section, in the Type of the Process select “HTTPS”.
  3. Since we’re retrieving information from the Salesforce application, set the method to “Get”.
  4. Enter the endpoint for the REST API. This would vary depending on the application’s endpoint
  5. For Security Type, select “OAuth 2.0”.
  6. Under Authorization Request, enter the Authorization URL. This is required to get the Authorization code to gain the Access Token.
  7. Enter the client id and the client secret. This is required to process the Authorization process as well.
  8. Enter “code” for the response_type. More often, the response_type would expect a value of “code” for most APIs.
  9. Enter the redirect URL. This is a default depending on the domain name of your KLoBot application.
  10. Under Access Token Request, enter the Access Token Request URL to create the Access Token.
  11. Lastly under the Grant Type, enter “authorization_code”.
  12. After entering all the credentials, click the “Test” button and it should open a new window containing the Authentication Page of the API.This window would only open if all the credentials are entered correctly.Enter your developer credentials and click Log In
  13. It would then redirect you to the redirect URI, and a Success or Fail Toaster Message would show.
  14. Once you have successfully connected via OAuth 2.0 authentication, you can map the results received from the API call in the Result Section.

 

SharePoint Connector

How to remove duplicate results from SharePoint?

KLoBot can also remove duplicate results from the SharePoint list.

In this SharePoint list example, there’s a duplicate entry in the “Area” column called “Client Development”. We can filter the results to remove the duplicate entry and only show one.

Once you have added a SharePoint library to perform a search, navigate to the Process section and select Remove Duplicates.

You will see a list of Column names previously set as Return Fields in the Site settings page.

We selected “Area” Return Field to remove duplicates results.

Save all the changes made.

To test, click Test and enter the utterance.

Notice how the utterance only returned one document made from “Miriam Graham” and removed the duplicate entry in the “Area” column.

How to create a Filter to filter out the results from SharePoint?

KLoBot has configured a default filter feature where a user can manipulate and control the results shown using the filter.

In this SharePoint list example, documents are divided based on the ‘Audience column.

Go to the skill builder page, create a skill and train the intent.

In the skill builder, create a Prompt and select Filter as a data type.

Assign the Filter Entity based on the SharePoint column. Since we want to filter out document results based on “Audience”, we will set the Entity to “Audience”.

Enter the default filter value. In this example, we want to filter out “Staff” documents based on the Audience column.

Save the Prompt and add a SharePoint Site.

To apply the filter, select the column name as a Search Field. We would need to assign the Filter Entity “Audience” from Step 3 to the Entities section.

Apply all the relevant return fields and click Save Changes.

To test the filter, click Test on the right-hand side of the Navigation Bar.

In this example, the user searched for a document based on the “Name” column.

Since we applied the Filter Entity to the “Audience” column set to “Staff” from Step 4, KLoBot returned only one result.

How to create SharePoint GET method skill?

KLoBot has the ability to connect to a SharePoint website and retrieve a document or contact information from a list, library or a different SharePoint site.

The GET method fetches the information of a document entry or contact information in a SharePoint list.

For this example, we are going to retrieve contact information in a SharePoint list.

Go to Skill Builder and create a skill. Assign the Skill Properties.

Assign the Intent and enter examples in the utterances field.

In this example, we are looking for a person’s contact information.

We entered “Get profile information on Michael” and assigned the word “Michael” as a Machine Learning Entity {general.name:name}

Click Train.

NOTE: You can also add a Pattern and assign a Pattern Entity to avoid re-adding multiple utterances.

Click Add Prompt and assign the prompt message, Machine Learning Entity in the key section and the Pattern Entity if there’s any.

Click Save Prompt and proceed to the Process section.

In the process section, select SharePoint in the type of process. Select Get Method in the Request Method Type.

Enter the credentials and click Add Site(s).

In the Site Settings page, enter SharePoint Site URL in the endpoint URL field.

Click Get List(s).

Select a SharePoint list and click + button to add the list.

Select the Column name to perform a search. In this example, we assigned “Person” as a Search Field.

Select the Entity for the Search Field. We assigned pattern entity “mytestspentity:mytestspSearch”.

Assign all the Return Fields you want to be returned after the search and click Save Changes.

Proceed to the Result section. We want the result to be shown in a Card template. Select Card & Message as a Result Type.

Since this skill will search for a person’s contact information, we need the People Results Template

Click Configure Display Template to assign all the Return Fields in the Adaptive Card Template.

In the text section with the word “Name”, we need to replace this text with the appropriate return field.

Highlight the word “Name” and right-click to open the Card Variables and select the column “Person”.

Assign the rest of the properties to the appropriate return fields then click Save Changes.

Click Add Message to enter a default message.

Assign the Error Message and the Response Option Text.

Click Save.

On the right-hand side, click Save skill as a Draft. Then Publish the skill.

You have successfully created a SharePoint GET Method Skill!

How to create SharePoint POST method skill?

KLoBot has the ability to connect to a SharePoint website and post a new entry to a SharePoint list.

As an example, we will create the “Time Entry” skill that allows users to send a time entry to the “TimeSheet” SharePoint list.

Go to Skill Builder and create a skill. Assign the Skill Properties.

Assign the Intent and enter examples in the utterances field.

For this example, we are going to post a new entry to the TimeSheet SharePoint list. We entered “Submit Time Sheet” in the examples list.

Click Train and proceed to Prompt.

Click Add Prompt.

The number of Prompts would depend on the number of the Columns in the SharePoint list.

In this example, we have 4 columns namely Title, ClientName, Hours and Date.

For the “Title” column which is expecting a person’s name, set the Prompt Choice to Message, enter the Prompt message, assign the Machine learning entity {general.name:name}, then click Save.

Do the same for the following columns and assign the appropriate entity of your choice following the format general:entity:entity.

 Click next to proceed to the Process.

In the process section, set the Process Type to SharePoint.

Select Post Method in the Request Method Type and enter the credentials.

Click Add Site(s).

In the Site Settings page, enter SharePoint Site URL in the endpoint URL field.

Click Get List(s).

Select a SharePoint list and click + button to add the list.

Select the Fields that represent the Columns from the SharePoint list. Assign the Entities that we just added on Step 3 to the selected Fields.

Save Changes and proceed to Results process.

For the results, we are going to send a success message with a link to redirect the user to the SharePoint page with all the time entry details.

Set the result type to Message, enter your success message. Notice how the word “path” has been included to the message. This will replace the word to the actual Machine Learning entity assigned to Step 3.

Select the word “Path”, then replace it with the Path entity in the Card Variables.

Enter the Error Message and the Response Option Text and then Save all changes.

On the right-hand side, click Save skill as a Draft. Then Publish the skill.

You have successfully created a SharePoint POST Method Skill!

To test, navigate back to the skill and click Test. Enter the utterance and provide all the data from the Prompts.

You should get a result that looks like this.