This topic describes the basic settings required to create a new Standard Bot. After you create a basic Standard Bot, you can access the Settings tab, and then define detailed settings for the Bot.
Step 1: Create a Standard Bot
- Log in to the Bot Builder and on the top right corner of the landing page, click New Bot.
- On the Select an option page, click Create Standard Bot.
- On the Create Bot page, enter the following details and then click Create:
Field Name Description Name The name of the Bot displayed for example, Book Flights. While a bot is in Published status, you cannot change its name. This field is required.
Select General Public if the bot is for public use for both managed and unmanaged users in your domain. Bot assignments are not required and when the Bots Admin deploys the bot, it is available for use by all domain users. Use this option to make a bot widely available for all user types.
Select Enterprise Users if the bot is for managed users only in a domain, for example, for your employees or paid customers. After the Bots Admin approves and deploys this bot, it is not available to any managed users unless explicitly assigned by the Bots Admin. Use this bot when you want to control which managed users in your domain can access and setup this bot on their devices.
Once Target Audience is defined and saved, you cannot change them.
Default Bot Language Select the default language for the bot from the drop-down list. You can add additional languages for the bot after creating it, from the Bot Settings page.
Step 2: Define Bot Tasks
With your Standard Bot created, you are ready to define how your bot will work. You can define your Bot by starting with the bot tasks. Define one or more tasks or flows for your Bot on the Bot Tasks tab. Tasks are what your Bot does for the end-user, such as Book a flight, Get Weather Information, or Cancel a Ticket. You can define the following task types in the Bot Builder:
- Dialog Tasks – Consists of multiple sub-intents and component nodes to conduct a complex conversational flow between a user and the bot.
- Alert Tasks – Monitors a web service for events and then sends a notification message to the user when the event occurs. You can use this task type for scheduled polling or near real-time notification using webhooks.
- Information Tasks – Provides a report of data by asking the user for input parameters and then executing a web service call. The formatted data is presented to the user as a link to a report that a user can click to display the data, for example, Show my tickets, or 3-day Weather Forecast.
- Action Tasks – Queries a user on demand for input parameters, and then executes a web service call along with a confirmation message, for example, Create New Ticket, or Get Weather for this Location.
- Knowledge Graph – Turns static FAQ pages into intelligent, personalized conversational experience. Build an ontology of crucial terms, add questions to the right nodes in the hierarchy and leave the task of responding to users to the bot, thus enabling your Support staff to engage with more complex tasks.
- Creating Flows – Associates one task to another task of the same or different Bot. For example, a flow for a Twitter tweet notification could be to Create New Follower.
Step 3: Optimize the Bot for NLP
Refine your bot’s natural language using a step-by-step approach. The Natural Language tab of your bot consists of the following sections to optimize the bot’s NLP performance:
- Machine Learning – As a first step in optimizing the bot, you need to add example utterances for each bot task. For example, users intend the same Book Flight task when they say Book a Ticket to LA or Book Me Flight Tickets. For more information, see Machine Learning.
- Synonyms – Improve the bot’s intent and entity recognition by adding the synonyms of words. The Platform includes a built-in synonym library for standard terms. You can further optimize the accuracy of the NLP engine by easily adding synonyms for bot names, words used in the names of your tasks and task fields, and any words associated with your dialog task entity node. For more information, see Managing Synonyms.
- Patterns – Kore.ai also lets you take into account slang, metaphors, and other idiomatic expressions by adding patterns to tasks, task fields, dialog task Intent nodes, and dialog task entity nodes. A pattern can be defined as a sentence that represents the task but does not actually contain any of the words in the name of the task, task field, or associated dialog task. For example, the task for Get Current Weather can be defined with patterns such as Get* Weather, or Get Today’s*, where the ” * ” represents any number of words that can follow until the next word in the pattern. When the NLP engine matches a synonym to one task or field, and a pattern to a different task or field, the pattern match is prioritized and used for positive recognition over the synonym match. For more information, see Managing Patterns.
- Standard Responses – Developers can replace default, universal responses and error messages with unique, configured messages via a dedicated bot response editor. These messages can vary by channel and be randomized when more than one message option is present in a bot configuration. The Kore.ai Bots Platform supports the following standard response types: Statements • Queries • Errors & Warnings • Choices • Greetings • Questions. For more information, see Managing Standard Responses.
- Ignore Words – Configure bot intelligence by persisting data for each task to pre-populate data fields in another related task for the same bot in the Field Memory settings for each task. You can also define words to ignore in user utterances to increase performance and intent recognition. For more information, see Managing Ignore Words & Field Memory.
- Task Identification Settings – Specify the interpreter confidence levels for performance and accuracy of tasks. For more information, see Task Identification Settings.
Step 4: Test and Train the Bot
Kore.ai provides all the comprehensive, step-by-step elements needed to test your bot configuration and settings, from testing request chaining to intent recognition, conversation flow, and more. The Bot Builder lets you run your bot in a proxy messaging window and connect it to the NLP interpreter, to perform tasks, verify authentication with the user and the web service, receive prompts for required task field information, and watch as the bot executes the task as if it were a live session. The platform also supports the ability to test a bots NLP configuration for regression by testing the last 1000 utterances. Test how the NLP engine recognizes and responds to user inputs for each bot and optimize the bot as explained in the previous step to improve utterance recognition when the bot fails to understand the input
Step 5: Add Channels
Add delivery channels to your bot that end-users can use to access and interact with your bot when it is deployed. For example, you can enable your bot for use in the Kore.ai Messaging application, or allow interaction with your bot through an email address or a Twilio SMS account. You can also enable your bot in third-party applications such as Facebook or Slack. For more information, read Adding channels to your bot.
Step 6: Configure Bot Settings
After you create your bot, you can define additional optional settings on the Settings tab for your Bot. Depending on your bot type, its settings vary. For a Standard Bot, the following sections are available:
- General Settings: Define or modify the Bot Name, Description, Icon, Color, and Purpose of Use. For more information, see General Bot Settings.
- Language Management: Manage bot languages and language detection capabilities. For more information, see Enabling an additional bot language.
- Authorization Profiles: Define one or more authorization profiles for your Bot to access your third-party web service as basic auth, oAuth v1, oAuth v2, or an API Key. For more information, see Bot Authorization.
- Invite Developer: In an enterprise, you can share your Bot for co-development to other developers. For more information, see Sharing Bots for Development.
- Bot Variables: Add variables that can be used when defining tasks and configurations. These are very useful when importing bot definitions between bots. For more information, see Using Bot Variables.
- Export Bot: Export bot tasks and configurations as a JSON file that can be imported into another bot. For more information, see Exporting and Importing Bots.
- Import Bot: Overwrite bot tasks and configurations by importing a valid JSON file. For more information, see Exporting and Importing Bots.
- IVR Settings: Enable and define IVR channel settings for the bot. For more information, see IVR Integration.
- Advanced Settings: Define optional advanced settings for your Bot to include enable for Hold & Resume, Bot Setup Confirmation Message, Bot Tenancy, Show Link for Task Setup/Execution, and customizing Bot Error Messages. For more information, see Advanced Bot Settings.
- Custom Library: Modify additional advanced settings like subdomains, bot contact card, and Kore.ai identity requirements.
- Change Logs: View a list of system events related to your Bot by a user, event, and timestamp. For more information, see Viewing the Bot Change Log.
- Delete Bot: Click to delete the Bot. Only unpublished and suspended bots can be deleted. If the bot has any published tasks, it cannot be deleted. For more information, see Deleting a Bot.
Step 7: Publish and Analyze the Bot
Developers can initiate a publish request for administrators to review, approve or disapprove new or upgraded bots and tasks before deployment. Approved bots or bot tasks can be quickly and easily deployed to multiple channels from a single configuration. Developers also have the option to publish a bot to the public bots store by contacting Kore.ai Support to initiate a review and approval process. For more information, see Publishing Tasks.
After publishing the bot, open the Analyze page for insights into your bot’s performance at identifying and executing tasks. It lets you view necessary information for user utterances that matched and didn’t match with intents. Also, it shows the tasks that failed to execute after matching an intent as well as the backend performance of the script and service nodes. For more information, see Analyzing your Bot.
On any tab, you can test your Bot tasks in a messaging window as long as the Bot has at least one task in Configured or Published Status, if you click the Talk to Bot icon located on the lower rightmost side in Bot Builder. For more information, see Talk to Your Bot.