Chatbot Overview
Conversational Bots
Intents & Entities
Intelligent Bots
Kore.ai's Approach
Kore.ai Conversational Platform
Bot Concepts and Terminology
Natural Language Processing (NLP)
Bot Types
Bot Tasks
Starting with Kore.ai Platform
How to Access Bot Builder
Working with Kore.ai 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
Deprecations
Bot Builder
Creating a Bot
Design
Develop
Storyboard
Dialog Task
User Intent Node
Dialog Node
Entity Node
Supported Entity Types
Composite Entities
Supported Time Zones
Supported Colors
Supported Company Names
Form Node
Logic Node
Message Nodes
Confirmation Nodes
Service Node
Custom Authentication
2-way SSL for Service nodes
Script Node
Agent Transfer Node
WebHook Node
Grouping Nodes
Connections & Transitions
Managing Dialogs
Prompt Editor
Alert Tasks
Alert Tasks
Ignore Words and Field Memory
UI Forms
Digital Views
Knowledge Graph
Terminology
Building
Generation
Importing and Exporting
Analysis
Knowledge Extraction
Small Talk
Action & Information Task
Action Tasks
Information Tasks
Establishing Flows
Natural Language
Overview
Machine Learning
ML Model
Fundamental Meaning
NLP Settings and Guidelines
Knowledge Graph Training
Traits
Ranking and Resolver
NLP Detection
Bot Intelligence
Overview
Context Management
Session and Context Variables
Context Object
Dialog Management
Sub-Intents
Amend Entity
Multi-Intent Detection
Sentiment Management
Tone Analysis
Sentiment Management
Default Conversations
Default Standard Responses
Channel Enablement
Test & Debug
Talk to Bot
Utterance Testing
Batch Testing
Record Conversations
Publishing your Bot
Analyzing your Bot
Overview
Dashboard
Custom Dashboard
Conversation Flows
Bot Metrics
Advanced Topics
Bot Authorization
Language Management
Collaborative Development
IVR Integration
Data Table
Universal Bots
Defining
Creating
Training
Customizing
Enabling Languages
Smart Bots
Defining
Sample Bots
Github
Asana
Travel Planning
Flight Search
Event Based Bot Actions
koreUtil Libraries
Bot Settings
Bot Functions
General Settings
PII Settings
Customizing Error Messages
Bot Management
Bot Versioning
Using Bot Variables
API Guide
API Overview
API List
API Collection
SDKs
SDK Overview
SDK Security
SDK App Registration
Web SDK Tutorial
Message Formatting and Templates
Mobile SDK Push Notification
Widget SDK Tutorial
Widget SDK – Message Formatting and Templates
Web Socket Connect & RTM
Using the BotKit SDK
Installing
Configuring
Events
Functions
BotKit SDK Tutorial – Agent Transfer
BotKit SDK Tutorial – Flight Search Sample Bot
Using an External NLP Engine
Bot Administration
Bots Admin Console
Dashboard
User Management
Managing Users
Managing Groups
Managing Role
Bots Management
Enrollment
Inviting Users
Bulk Invites
Importing Users
Synchronizing Users from AD
Security & Compliance
Using Single Sign-On
Security Settings
Cloud Connector
Analytics
Billing
Bot Store
Overview
Creating a Kore.ai Bot Account
Adding a Kore.ai Bot
Choosing a Channel for a Bot
Interacting with a Kore.ai Bot
Setting Up Web Service Alerts
Setting Up RSS Alerts
Setting Up the Kore.ai Webhook Bot
Custom Kore.ai Bots
Bots for your Customers FAQs
Bots for your Workforce FAQs
Adding Bots
Contacting Kore.ai Support
Setting Up Filters
Bot Store Settings
How Tos
Creating a Simple Bot
Creating a Banking Bot
Transfer Funds Task
Update Balance Task
Context Switching
Using Traits
Schedule a Smart Alert
Configure UI Forms
Add Form Data into Data Tables
Configuring Digital Views
Add Data to Data Tables
Update Data in Data Tables
Custom Dashboard
Custom Tags to filter Bot Metrics
Patterns for Intents & Entities
Build Knowledge Graph
Global Variables
Content Variables
Using Bot Functions
Configure Agent Transfer
  1. Home
  2. Docs
  3. Bots
  4. How Tos
  5. Banking Bot – Transfer Funds

Banking Bot – Transfer Funds

This is document details steps in creating a sample banking bot. This bot is used in various use case scenarios presented in the How-Tos section of the developer documentation.

Prerequisites:

  • You must have signed up with the Kore.ai Bots Platform
  • You must be aware of the basics of Bot building (refer to this link)
  • You must have created a simple bot (refer here for an example)
  • You must have created a Banking Bot (refer here for example)

Bot Overview

The Bot we will be building will be performing the basic banking transactions.
This Bot will:

  • Get account balance based on the Account Number and Account Type entered by the user, as seen here.
  • Update accounts with the balance, as seen here.
  • Transfer a specified amount from the user account to a payee account.

Let us add the Transfer Funds task.

Transfer Funds Intent

  • The Transfer Funds task will prompt the user to enter Payee and Payer account number.
  • Next it would prompt for the amount to be transferred.
  • It will then make a service call to update the accounts appropriately.
  • The message indicating success or failure is displayed.

Step 1: Dialog Task

We need to add an Intent Dialog as the first step in the Bot. Intent Dialog is the first step in the user-bot conversation flow.

  • Open the Banking Bot with the two pre-configured tasks – Get Balance and Update Balance.
  • From the left navigation menu, select Bot Tasks
  • Click on the + next to the Dialog Task.
  • Bot Task Page will open
  • Enter the following details:
    • Intent Name – Enter the Intent name, this is the phrase that triggers the dialog. The intent name should be simple and not more than 3-4 words. For example, ‘Transfer Funds’
    • Under the More Options, you can add a description and other dialog related details. Let’s retain the default settings.
  • Click Create & Proceed.
  • Property Panel for User Intent will be displayed. We will retain the default properties.
  • Close the User Intent Property Panel.

Step 2: Entity nodes

Entity Node is typically used to gather information from the user.
Here we will be using it to capture the user input for the Payee and Payer Account Number and amount to be transferred.

  • Click the + next to the User Intent node
  • Select the Entity option.
  • Click the New entity node +
  • Property Panel for the Entity Node is displayed
  • Enter the following details:
    • Name: PayerAccount
    • Display Name: Payer Account 
    • TypeNumber
    • User Prompts: Enter the following text and hit enter to save:
      Enter the Account from where you want to transfer funds.
  • Close the PayerAccount Entity Property Panel.
  • Repeat the above steps to add another entity with the following details:
    • Name: PayeeAccount
    • Display Name: Payee Account 
    • TypeNumber
    • User Prompts: Enter the following text and hit enter to save:
      Enter the Account to which you want to transfer funds.
  • Close the PayeeAccount Entity Property Panel.
  • Repeat the above steps to add another entity with the following details:
    • Name: Amount
    • Display Name: Amount 
    • TypeNumber
    • User Prompts: Enter the following text and hit enter to save:
      Enter the amount to transfer.
  • Close the Amount Entity Property Panel.

The next steps would update the balance in both the Payer and Payee accounts. Since we already have Update Balance task, we will see how to run it from the current task.

Step 3: Run Dialog Task

Pre-defined dialog tasks can be triggered from within another task. Let us see how.

  • Click the + next to the Amount Entity node
  • Select Dialog Task
  • From the given task list, select the required task – UpdateBalance
  • Property Panel for the Dialog Node is displayed
  • Navigate to the Instance Properties tab and enter the following details:
  • Entity Pre-Assignments section – these are the entity values required by the Dialog Task if they are not populated here the user will be prompted to enter the same. Since we have already collected the information through the entities defined in the previous step we will be passing those user-entered values to the UpdateBalance task
    • AccountNumber: context.entities.PayerAccount
    • Amount: context.entities.Amount
    • DBorCR: Debit (payer account needs to be deducted of the transferred amount)
  • Close the UpdateBalance Dialog Properties panel.
  • Repeat the same steps to Update the Payee Account with the following values
  • Entity Pre-Assignments section
    • AccountNumber: context.entities.PayeeAccount
    • Amount: context.entities.Amount
    • DBorCR: Credit
  • Close the UpdateBalance Dialog Properties panel.

Step 4: Message Node

A Message Node is used to display a message from the Bot to the user.
Here we will be using the Message node to show the balance.

  • Click the + next to the UpdateBalance [2] Service node
  • Select Message and click the ‘New message node +
  • Property Panel for the Message Node is displayed
  • Enter the following details:
      • Name: FinalMessage
      • Display Name: Final Message
      • Bot Responses:
  • On the Bot Response Property Panel, open the connections tab by clicking the ‘Connections‘ icon.
    • Change the Default connection from ‘Not Connected‘ to ‘End of Dialog‘.
    • Click Save.
  • Close the Property Panel.

Test

To test the Dialog task, you can use the ‘Talk to bot’ at the bottom right corner.
Enter the following utterance (intent name)
Transfer Funds
Follow the Bot instructions:

  • Enter Payer Account – 02929664;
  • Enter Payee Account – 44994354;
  • Enter Transfer Amount – 200
  • See the success message.
Menu