Chatbot Overview
Conversational Bots
Intents & Entities
Intelligent Bots's Approach Conversational Platform
Bot Concepts and Terminology
Natural Language Processing (NLP)
Bot Types
Bot Tasks
Starting with Platform
How to Access Bot Builder
Working with Bot Builder
Building your first Bot
Getting Started with Building Bots
Using the Dialog Builder Tool
Creating a Simple Bot
Release Notes
Latest Updates
Older Releases
Bot Builder
Creating a Bot
Dialog Task
Working with User Intent Node
Working with the Dialog Node
Working with Entity Node
Supported Entity Types
Working with Composite Entities
Supported Time Zones
Supported Colors
Supported Company Names
Working with Message Nodes
Working with the Confirmation Nodes
Working with Service Node
Implementing Custom Authentication
Enabling 2-way SSL for Service nodes
Working with Script Node
Working with Agent Transfer Node
Working with WebHook Node
Defining Connections & Transitions
Managing Dialogs
Prompt Editor
Action & Information Task
Working with Action Tasks
Working with Information Tasks
Establishing Flows
Alert Tasks
Working with Alert Tasks
Managing Ignore Words and Field Memory
Knowledge Graph
Building Knowledge Graph
Generation of Knowledge Graph
Importing and Exporting Knowledge Graph
Knowledge Graph Analysis
Knowledge Extraction
Natural Language
Machine Learning
ML Model
Fundamental Meaning
Knowledge Graph Training
Ranking and Resolver
NLP Detection
NLP Settings and Guidelines
Bot Intelligence
Context Management
Session and Context Variables
Context Object
Dialog Management
Amend Entity
Multi-Intent Detection
Sentiment Management
Tone Analysis
Sentiment Management
Default Conversations
Default Standard Responses
Channel Enablement
Test & Debug
Talking to Bot
Utterance Testing
Batch Testing
Recording Conversations
Publishing your Bot
Analyzing your Bot
Custom Dashboard
Conversation Flows
Bot Metrics
Advanced Topics
Bot Authorization
Language Management
Collaborative Development
IVR Integration
Universal Bots
Enabling Languages
Smart Bots
Sample Bots
Travel Planning
Flight Search
Event Based Bot Actions
Bot Settings
Bot Functions
General Settings
PII Settings
Customizing Error Messages
Bot Management
Using Bot Variables
API Guide
API Overview
API List
API Collection
SDK Overview
SDK Security
SDK App Registration Web SDK Tutorial
Message Formatting and Templates
Mobile SDK Push Notification
Web Socket Connect & RTM
Using the BotKit SDK
Installing the BotKit SDK
BotKit SDK Configuration
Events for the BotKit SDK
Functions for the BotKit SDK
BotKit SDK Tutorial – Agent Transfer
BotKit SDK Tutorial – Flight Search Sample Bot
Using an External NLP Engine
Bot Administration
Bots Admin Console
User Management
Managing Users
Managing Groups
Managing Role
Bots Management
Inviting Users
Sending Bulk Invites to Enroll Users
Importing Users and User Data
Synchronizing Users from Active Directory
Security & Compliance
Using Single Sign-On
Cloud Connector
How Tos
Context Switching
Using Traits
Live Agent Transfer
Schedule a Smart Alert
Configure Agent Transfer
Custom Dashboard
Patterns for Intents & Entities
Build Knowledge Graph
  1. Home
  2. Docs
  3. Bots
  4. Chatbot Overview
  5. Getting Started with Building Bots

Getting Started with Building Bots

This section contains topics that describe the process of creating and publishing bots, enabling and using Natural Language Processing for your bots created using the Bot Builder tool.

If you are new to Bot Builder and want to familiarize with the terms and concepts we use, see Bot Concepts.

Steps in Building your Bot

Once you get access to the Bot Builder Platform, you can build your first bot within no time by following the below mentioned steps. Each of the steps is elaborated in detail in this document.

Let’s look at each of the above-mentioned steps in detail.

Step 1: Define and Build

This step consists of two sub-tasks – Defining or Designing the Bot and Building or Developing the Bot.

Defining or Designing the Bot

Every bot should be built to solve a well-defined use case. The first step to creating a well-defined use case involves gathering market requirements and assessing internal needs to create a well-defined use case. Typically you’ll want to include all relevant business sponsors, product owners, business analysts, and bot developers in this process.

Get a good idea of what the Bot needs to do. A clear description of each step and a flow chart of the various conversation flows would go a long way in easing the process of building the Bot.

For more information, see Design.

Building or Developing the Bot

Once your Bot’s capabilities and ideal use case are well-defined, Bot developer can begin the process of configuring bot tasks, defining intents, and entities, and build the conversational dialog.

Bot capabilities and dialogs should flow naturally from the specs you defined in the previous step. It is always valuable to first take the time to review the list of tasks you want the bot to perform and ensure that they will deliver on the benefits you want the bot to provide and the pain points you want it to solve, before starting actual development. This will almost certainly save you time in the long run!

Selecting Bot Type

Based on the requirements, decide the type of Bot you want to create. You can create either a

  • Standard Bot – most common type of Bot with various tasks mapped to a conversation flow;
  • Universal Bot – to link multiple standard Bots;
  • Smart Bot – for common functionality which can be inherited by various verticals within your enterprise.

More on Bot Types.

Create Bot Tasks

Define one or more tasks for the bot. Tasks refer to different types of simple and complex “jobs” that a developer designates the chatbot to perform to fulfill the user intents.

Combination of various tasks will enable you to map the entire conversation flow that you have designed in the previous step.

For example, the most common tasks types that a travel bot might perform could be Book tickets, Find hotels, and Provide weather forecast, each catering to different user intents.

For more information, see Defining Bot Tasks.

Step 2: Train your Bot for NLP

Bots are awesome, but they’re not magic. Great bots, however, can certainly work wonders for you and your business. The best bots then are those that are well trained using an iterative process.

After developing your tasks and conversation flow, you need to start training your bots. Doing so allows your bots to better understand user utterances, and allows the engine to better prioritize one Bot task or intent over another based on the user input.

Bot developers and business analysts should work together to provide sample utterances and patterns that can be used to complete the initial training, which can be further augmented by an internal testing and field data once you deploy the bot.

Following tools help train your Bot so that the NLP engine recognizes and responds to user inputs efficiently and accurately.

  • Train the bot using Machine Learning to improve utterance recognition.
  • You can fine-tune the FM Engine and the bot’s configuration by adding additional utterances, synonyms, and patterns for a task or intents.
  • Enhance your Bot Intelligence by defining interruption handling, multi intent detection and more.

For more information, see Optimizing Bots for Natural Language Processing.

Step 3: Channel Enablement

This step refers to adding channels to your Bot that end users can use to access and interact with your Bot after it is published. End users can only interact with your bots, and by extension bot tasks, after Bots have been published and deployed to enabled channels.

Channels refer to various communication platforms where a bot can live such as SMS, email, mobile apps, websites, messaging apps and more. With the Bot Builder, you can design chatbot tasks once, and deploy across 20+ channels by merely checking a box.

For more information, see Adding Channels to your Bot.

Step 4: Test your Bot

Once you’ve built and trained your bot, the most important question that arises is how good is your bot’s NLP model? This is what testing is all about. You should also consider testing your bot across all planned messaging channels to get a feel for the actual end-user experience.

You need to carefully test and analyze your ML and NLP models and ensure you have not inadvertently trained your models using a large number of conflicting utterances while paying close attention to false positives and false negatives.

In all, testing helps determine whether or not more training is needed before deploying your bot. After every round of training or retraining, you should review the training model to determine that the changes made were appropriate and to determine whether they’ve enhanced or deteriorated the NLP model.

Talk to Bot option, Utterance Testing and Batch Testing aid in testing and improving the performance of the Bot.

For more information, see Test your Bot.

Step 5: Publish

Once your bot has been built and sufficiently tested, it’s time to deploy it to the environment of your choice and the communication channels where it will be engaged by users.

It is recommended that you work with the key business stakeholders to review and approve all bots and bot functionality prior to moving forward with the deployment.

Publish your bot tasks to your account, a space, or your company account. When you publish tasks, it initiates a publishing request to Bots Admin who can review and approve/ disapprove their deployment. Once your bot has been approved by all relevant parties, it should now be deployed to end users through the channels previously enabled.

For more information, see Publishing Tasks.

Step 6: Analyze

Once your bot has been deployed, it’s important that you continually monitor how people use it and take an active role in managing and refining it using an iterative process. Your bots performance should be monitored from an engagement, performance, and functional standpoint and the results analyzed, including monitoring conversations and other variables like messages per session, retention, location, user demographics, sentiment, and more.

Furthermore, bot developers and analysts should work together to identify drop-off points, uncover task or language failures, determine why conversations are abandoned and monitor service and script performance to improve the NLP and functional performance of your bots.

The data you’ve collected should be used to improve the NLP and functional performance of your bots. For example, you should take a look at all the utterances that your bot was not able to map to a bot intent or FAQ and retrain the bot to identify it in the future. For task failures, likewise, you can troubleshoot where the process went wrong and come up with solutions.

Building great bots isn’t the easiest thing to do, but the right platform, a little bit of structure, and a willingness to test, iterate, test, and iterate some more goes a long way in achieving bot success.

For more information, see Analyze your Bot.