본 문서는 샘플 뱅킹 봇을 생성하는 단계를 자세히 설명합니다. 이 봇은 개발자 설명서의 방법 섹션에 나와 있는 다양한 활용 사례 시나리오에서 사용됩니다. 전제 조건:

  • Kore.ai 봇 플랫폼에 가입해야 합니다
  • 봇 구축에 대한 기본 사항을 알고 있어야 합니다(이 링크 참조).
  • 간단한 봇을 만들어야 합니다(예를 보려면 여기 참조).
  • 잔액 가져오기 작업이 포함된 뱅킹 봇을 만들어야 합니다(예를 보려면 여기 참조).

봇 개요

구축할 봇은 기본적인 은행 거래를 합니다. 이 봇은 다음을 수행합니다:

  • 여기 보이는 대로 사용자가 입력한 계좌 번호 및 계좌 유형에 따라 계좌 잔액을 가져옵니다.
  • 이 페이지에서 잔액과 계좌를 업데이트합니다.
  • 여기 주어진 대로 사용자 계좌에서 수취인 계좌로 지정된 금액을 이체합니다.

잔액 업데이트 작업을 추가해 보겠습니다.

잔액 의도 업데이트

  • 잔액 업데이트 작업은 계좌 번호와 계좌 유형(저축/당좌)을 입력하라는 메시지를 사용자에게 표시합니다.
  • 그러면 업데이트 유형을 표시합니다. – 입금 또는 출금과 업데이트할 금액
  • 세부 정보를 가져오고 잔액을 계산하는 서비스 호출이 수행된 다음 잔액을 업데이트하는 다른 서비스 호출이 이루어집니다.
  • 성공/실패 메시지가 표시됩니다.

1단계: 대화 작업

  1. 잔액 가져오기 작업이 이미 설정된 뱅킹 봇을 엽니다. 자세한 내용은 여기를 참조하세요.
  2. 상단 메뉴에서 구축 탭이 선택되어 있는지 확인합니다.
  3. 왼쪽 메뉴에서 대화형 스킬 -> 대화 작업 페이지로 이동합니다.
  4. 오른쪽 상단에서 대화 생성을 클릭합니다.
  5. 대화 생성 화면이 열립니다.
  6. 다음 세부 정보를 입력합니다:
    • 의도 이름 – 의도 이름을 입력합니다. 이는 대화를 트리거 하는 구문입니다. 의도 이름은 간단해야 하며 3~4개 단어를 초과해서는 안 됩니다. 예: '잔액 업데이트'
    • 설명기타 옵션 아래에서 기타 대화 관련 세부 정보를 추가할 수 있습니다. 변경 사항 없이 기본 설정을 그대로 유지하겠습니다.
    • 이러한 의도를 학습하기 위해 발화도 포함할 수 있습니다.
    • 대화 기반 대화 빌더 시도 옵션을 선택합니다.
  7. 진행을 클릭합니다.
  8. 사용자 의도에 대한 속성 패널이 표시됩니다. 기본 속성은 그대로 유지됩니다.
  9. 참고 사항: 이전 대화 빌더에 대한 지시 사항은 여기 참조
  10. 사용자 의도 속성 패널을 닫습니다.

2단계: 엔티티 노드

엔티티 노드는 일반적으로 사용자로부터 정보를 수집하는 데 사용됩니다. 여기서는 이를 계좌 번호와 계좌 유형, 거래 유형 및 금액에 대한 사용자 입력값을 캡처하는 데 사용합니다.

  1. 사용자 의도 노드 아래의 + 클릭
  2. 엔티티 옵션 선택.
    • 잔액 가져오기 작업을 설정하는 동안 이미 생성된 계좌 번호 엔티티를 선택합니다.
    • 계좌 번호 엔티티 속성 패널을 닫습니다.
  3. 계좌 번호 노드 아래의 + 클릭
  4. 엔티티 옵션 선택.
    • 잔액 가져오기 작업을 설정하는 동안 이미 생성된 계좌 유형 엔티티를 선택합니다.
    • 계좌 유형 엔티티 속성 패널을 닫습니다.
  5. 계좌 유형 노드 아래의 + 클릭
  6. 엔티티 옵션 선택.
    • + 새 엔티티 클릭 
    • 엔티티 노드의 속성 패널이 표시됩니다. 표시되지 않으면 새로 생성된 엔티티를 클릭하여 엽니다.
      • 다음 세부 정보를 입력합니다:
        • 이름: 거래 유형
        • 표시 이름: 거래 유형 
        • 유형: 드롭다운에서 ‘항목 목록(열거됨)’을 선택합니다. 사용자가 선택할 수 있는 값 목록을 제공해야 합니다.
          • 필드 옆에 나타나는 설정(톱니바퀴) 아이콘을 클릭합니다.
          • 스태틱 목록을 위한 선택
          • 별도의 행에 표시 이름(입금출금)으로 다음 옵션을 입력합니다. 값 및 동의어 열은 자동으로 입력되므로 그대로 둡니다.
          • 저장을 클릭합니다.
        • 엔티티 속성 패널로 돌아갑니다.
        • 사용자 프롬프트: 다음 텍스트를 입력하고 Enter 키를 눌러 저장합니다: Select the transaction type.
        • 값 목록 표시: '네, 기본 메시지를 위해 형성된 채널을 사용하고 최종 사용자에게 사용할 수 있는 값 목록을 표시합니다'라고 표시합니다. 그러면 지원되는 채널에 대한 버튼 템플릿에 값 목록이 표시됩니다.

      • 거래 유형 엔티티 속성 패널을 닫습니다.
  7. 거래 유형 노드 아래의 + 클릭
  8. 엔티티 옵션 선택.
    • + 새 엔티티 클릭 
    • 엔티티 노드의 속성 패널이 표시됩니다. 표시되지 않으면 새로 생성된 엔티티 노드를 클릭하여 엽니다.
    • 다음 세부 정보를 입력합니다:
      • 이름: 금액
      • 표시 이름: 금액 
      • 유형번호
      • 사용자 프롬프트: 다음 텍스트를 입력하고 Enter 키를 눌러 저장합니다: Enter the amount to {{context.entities.TransactionType}}
    • 금액 엔티티 속성 패널을 닫습니다.

3단계: 봇 동작 – 서비스 노드 – 잔액 가져오기

서비스 노드를 사용하면 백엔드 API 호출을 할 수 있습니다. 봇 조치에 포함되어 있습니다. 여기서 서비스 노드는 API를 호출하여 사용자가 입력한 계좌 번호에 대한 계좌 잔액을 가져오는 데 사용됩니다. 이 튜토리얼에서는 더미 API 설정을 사용합니다. 다음과 같은 필드로 이 목적을 위해 특별히 생성된 모의 API를 사용하겠습니다. 성, 이름, 주소, 도시, 국가, 우편번호, 계좌 번호, 계좌 유형, 잔액.

  1. 금액 엔티티 노드 아래의 + 클릭
  2. 봇 조치를 선택하고 클릭하여 속성을 열고 ToGetBalance로 명명한 다음 속성 창을 닫습니다.
  3. 서비스 노드를 추가하려면 ToGetBalance 봇 조치 옆의 + 를 클릭하여 이를 확장합니다
  4. 봇 조치 레이아웃 내에서 +를 클릭합니다.
  5. 서비스 선택 – 서비스 노드는 백엔드 API를 호출하여 계좌 잔액 정보를 가져오는 데 사용됩니다.
  6. 잔액 가져오기 작업에서 생성된 기존 GetAccountBalance 서비스 노드를 선택합니다.

4단계: 봇 조치 – 스크립트 노드

스크립트 노드를 사용하면 프로그래밍 논리를 봇에 통합할 수 있으며 이는 봇 조치의 일부입니다. 여기서 스크립트 노드는 사용자가 입력한 금액을 계좌에서 입금하거나 출금하는 데 사용됩니다.

  1. 봇 조치 레이아웃 내에서 GetAccountBalance 노드 아래의 +를 클릭
  2. 스크립트 선택 – 업데이트할 잔액을 계산하는 데 스크립트 노드가 사용됩니다.
  3. + 새 스크립트 클릭
  4. 스크립트 노드의 속성 패널이 표시됩니다. 표시되지 않으면 새로 생성된 스크립트 노드를 클릭하여 엽니다.
  5. 다음 세부 정보를 입력합니다:
    • 이름: BalanceCalculation
    • 표시 이름: 잔액 계산
    • 스크립트 정의 섹션에서 스크립트 정의 링크를 클릭합니다.
    • 스크립트 추가 창에서 다음 스크립트를 입력합니다. 이 스크립트는 먼저 계정 유형이 사용자 항목과 일치하는지 확인한 다음 해당 기록에 대한 잔액을 추출합니다
      var balance, i; for (i=0; i < context.GetAccountBalance.response.body.length; i++ ) { if (context.GetAccountBalance.response.body[i].AccountType == context.entities.AccountType) { balance = parseFloat(context.GetAccountBalance.response.body[i].Balance); } }
    • 저장을 클릭합니다.
  6. 스크립트 속성 패널을 닫습니다

4단계: 봇 동작 – 서비스 노드 – 잔액 업데이트

여기서 서비스 노드는 API를 호출하여 사용자가 입력한 계좌 번호에 대한 계좌 잔액을 업데이트하는 데 사용됩니다. 이 튜토리얼에서는 더미 API 설정을 사용합니다.

  1. BalanceCalculation 스크립트 노드 아래의 +를 클릭
  2. 서비스 선택 – 서비스 노드는 백엔드 API를 호출하여 계좌 잔액 정보를 업데이트하는 데 사용됩니다.
  3. + 새 서비스 클릭 
  4. 서비스 노드 속성 패널이 표시됩니다. 표시되지 않으면 새로 추가된 서비스 노드를 클릭하여 엽니다.
  5. 다음 세부 정보를 입력합니다:
    • 이름: 잔액 업데이트
    • 표시 이름: 잔액 업데이트
    • 서비스 유형: 맞춤형 서비스
    • 유형: 웹 서비스
    • 하위 유형: REST
    • 요청 정의 클릭
      • 요청 정의 페이지에서 다음 세부 정보를 입력합니다.
        • 요청 유형PUT
        • URL 요청https://5c3c633d29429300143fe4d2.mockapi.io/AccountDetails/{{context.entities.AccountNumber}}.
        • 이 API에는 인증 매개 변수가 필요하지 않습니다.
        • 본문 탭에서 유형을 application/json으로 선택
        • 테스트 요청 탭 선택
        • 샘플 컨텍스트 값 섹션에 계정 번호와 잔액을 입력합니다.
        • 테스트 버튼 클릭
        • 테스트가 완료될 때까지 기다리면 다음과 같은 상태를 얻습니다: 200
        • 샘플 응답으로 저장 클릭
        • 저장을 클릭합니다.
    • 서비스 노드 속성 창에서 연결 탭을 클릭합니다.
      • 연결 규칙 섹션에서 기본 연결이 봇 조치의 끝으로 설정되어 있는지 확인합니다.
    • 서비스 속성 패널을 닫습니다
    • 봇 조치 노드 옆의 를 클릭하여 봇 조치 노드를 축소합니다.

5단계: 메시지 노드

메시지 노드는 봇에서 사용자에게 메시지를 표시하는 데 사용됩니다. 여기에서는 메시지 노드를 사용하여 성공 메시지를 표시합니다.

  1. ToUpdateBalance 봇 조치 아래의 +를 클릭
  2. 메시지를 선택하고 + 새 메시지를 클릭 
  3. 메시지 노드에 대한 속성 패널이 표시됩니다
  4. 다음 세부 정보를 입력합니다:
    • 이름: 메시지 업데이트
    • 표시 이름: 메시지 업데이트
    • 봇 응답: Your account balance has been updated를 입력하고 Enter 키를 눌러 저장
  5. 봇 응답 속성 패널에서 '연결' 아이콘을 클릭하여 연결 탭을 엽니다.
    • 기본 연결을 '연결되지 않음’ 에서 '대화 끝'으로 변경합니다.
    • 저장을 클릭합니다.
  6. 속성 패널을 닫습니다.

테스트

대화 작업을 테스트하려면 오른쪽 하단 코너에 있는 '봇과 대화'를 사용하면 됩니다. 다음 발화(의도 이름) "잔액 업데이트"를 입력합니다. 봇 지시 사항을 따릅니다.

  • 계좌 번호 입력 – 29565731
  • 계정 유형 선택 – 저축 또는 당좌
  • 거래 유형(입금 또는 출금)을 선택합니다
  • 금액 입력 – 100
  • 성공 메시지를 확인합니다.

다음 단계

뱅킹 봇이 거의 완료되었습니다. 잔액 가져오기 및 잔액 업데이트 대화를 봇에 성공적으로 추가했습니다. 다음 단계는 자금 이체 작업을 포함하는 것입니다. 계속하려면 여기를 클릭하세요.

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed

この文書では、バンキングボットのサンプルを作成する手順を詳しく説明しています。このボットは、開発者向け文書の「ハウツー」セクションで紹介されているさまざまなユースケースシナリオで使用されます。

必要条件

  • Kore.aiボットプラットフォームにサインアップしている必要があります
  • ボット構築の基本を認識している必要があります(このリンクをご参照ください)
  • 簡単なボットを作成したことがある必要があります(例としてはこちらをご参照ください)
  • 残高取得タスクで、バンキングボットを作成したことがなければなりません(例としてはこちらをご参照ください

ボットの概要

これから構築しようとするボットは、基本的な銀行取引を行うものです。このボットは以下のことを行います。

  • ユーザーが入力した口座番号と口座の種類に基づいて、口座残高を手に入れます( こちらで見えます)。
  • このページで、口座残高を更新します。
  • ここに示されるように、支払人口座から受取人口座へ指定された金額を送金します。

残高更新タスクを追加してみましょう。

残高インテントを更新

  • 残高更新タスクでは、口座番号と口座の種類(普通預金/当座預金)の入力を指示されます。
  • 続いて、更新の種類(クレジットまたはデビット)と更新する金額の入力を指示されます。
  • 詳細情報を取得して残高を計算し、さらに残高を更新するためのサービスコールが行われます。
  • 成功/失敗のメッセージが表示されます。

ステップ1: ダイアログタスク

  1. 残高取得タスクがすでに設定されている状態で、バンキングボットを開きます。 詳しくはこちらをご覧ください
  2. トップメニューから、構築タブが選択されていることを確認します。
  3. 左側メニューから、会話スキル->ダイアログタスクのページへ移動します。
  4. 右上から、ダイアログの作成をクリックします。
  5. ダイアログの作成の画面が開きます。
  6. 以下の詳細を入力します。
    • インテント名-インテント名を入力します。これは、ダイアログをトリガーするフレーズです。インテント名はシンプルにして、3~4語を超えないようにする必要があります。例:「残高を更新」。
    • 説明を追加できたり、その他のオプションでその他のダイアログ関連の詳細を追加できたりします。何も変更せずに、デフォルトの設定を保持しましょう。
    • また、このインテントをトレーニングするために、発話を入れることもできます。
    • 会話駆動型ダイアログビルダーの試行 オプションを選択します。
  7. 続行をクリック。
  8. ユーザーインテントのプロパティパネルが表示されます。デフォルトのプロパティを保持します。
  9. メモ:旧ダイアログビルダーの操作方法については こちらをご参照ください
  10. ユーザーインテントプロパティパネルを終了します。

ステップ2: エンティティノード

エンティティノードは、通常、ユーザーから情報を収集するために使用されます。ここでは、「口座番号」「口座の種類」「取引の種類」「金額」に関するユーザー入力をキャプチャするために使用します。

  1. ユーザーインテントノードの下のをクリック
  2. エンティティオプションを選択します
    • 残高取得タスクの設定時に作成された口座番号 エンティティを選択します。
    • AccountNumberエンティティプロパティパネルを終了します。
  3. 口座番号ノードの下の 「+」 をクリック
  4. エンティティオプションを選択します
    • 残高取得タスクの設定時にすでに作成されていた口座の種類エンティティを選択します。
    • AccountTypeエンティティプロパティパネルを終了します。
  5. 口座の種類ノードの下の 「+」をクリック
  6. エンティティオプションを選択します
    • +新規作成をクリックします 
    • エンティティノードのプロパティパネル が表示されます。そうならない場合は、新しく作成されたエンティティをクリックして、開きます。
      • 以下の詳細を入力します。
        • 名前TransactionType:
        • 表示名トランザクションタイプ 
        • タイプ:ドロップダウンから「項目のリスト(列挙型)」を選択します。ユーザーが選択できる「値のリスト」を提供する必要があります。
          • フィールドの横に表示される設定(歯車)アイコンをクリックします。
          • 静的リストを選択します。
          • 表示名– クレジットデビットとして、以下のオプションを別々の行に入力します。値と同義語の列は自動入力されますので、そのままにしておきます。
          • 保存をクリック。
        • エンティティプロパティパネルに戻ります。
        • ユーザープロンプト:以下のテキストを入力し、Enterキーを押して保存: Select the transaction type.
        • 値のリストを表示:「はい、デフォルトメッセージにチャネル固有の標準フォーマットを使用し、利用可能な値のリストをエンドユーザーに表示する」とマークします。これで、サポートされているチャネルのボタンテンプレートに「値のリスト」が表示されます。

      • TransactionTypeエンティティプロパティパネルを終了します。
  7. トランザクションタイプノードの下の+をクリック
  8. エンティティオプションを選択します
    • +新規エンティティをクリック 
    • エンティティノードのプロパティパネル が表示されます。そうならない場合は、新しく作成されたエンティティをクリックして、開きます
    • 以下の詳細を入力します。
      • 名前金額
      • 表示名金額 
      • タイプ番号
      • ユーザープロンプト:以下のテキストを入力し、Enterキーを押して保存: Enter the amount to {{context.entities.TransactionType}}
    • 金額エンティティプロパティパネルを終了します。

ステップ3: ボットアクション – サービスノード – 残高取得

サービスノードでは、バックエンドのAPIコールを行うことができます。ボットアクションに含まれています。ここでは、サービスノードを使用してAPIを呼び出し、ユーザーが入力した口座番号の口座残高を取得します。このチュートリアルでは、ダミーのAPIセットアップを使用します。ここでは、FirstName、LastName、住所、都市、国、ZipCode、AccountNumber、AccountType、残高の各フィールドで、この目的のために作成されたモックAPIを使用します。

  1. 「金額エンティティ」の下のをクリック
  2. ボットアクションを選択し、クリックしてプロパティを開き、 ToGetBalanceという名前を付けて、プロパティウィンドウを終了します。
  3. サービスノードを追加するには、ToGetBalanceボットアクションの横にある+をクリックして展開します
  4. ボットアクションレイアウト内のクリックします。
  5. サービスを選択 – サービスノードは、口座残高情報を取得するためのバックエンドAPI呼び出し行うために使用されます。
  6. 残高取得タスクで作成した既存の GetAccountBalanceサービスノードを選択します。

ステップ4: ボットアクション – スクリプトノード

スクリプトノードは、プログラミングロジックをボットに組み込めるようにし、ボットアクションの一部となります。ここで、スクリプトノードは、ユーザーが入力した金額を口座から出し入れしてクレジット/デビットに使用されます。

  1. ボットアクションレイアウト内のGetAccountBalanceノードの下の「+」をクリック
  2. スクリプトを選択 – スクリプトノードは、更新する残高を計算するために使用されます。
  3. +新しいスクリプトをクリック
  4. スクリプトノードのプロパティパネル が表示されます。そうならない場合は、新しく作成されたスクリプトをクリックして、開きます
  5. 以下の詳細を入力します。
    • 名前残高計算
    • 表示名残高計算
    • スクリプトの定義セクションでスクリプトを定義リンクをクリック
    • スクリプトを追加ウィンドウで、以下のスクリプトを入力します。このスクリプトでは、まず口座の種類をチェックしてユーザーの入力内容と一致させ、次にその記録の残高を抽出します。
      var balance, i; for (i=0; i < context.GetAccountBalance.response.body.length; i++ ) { if (context.GetAccountBalance.response.body[i].AccountType == context.entities.AccountType) { balance = parseFloat(context.GetAccountBalance.response.body[i].Balance); } }
    • 保存をクリック
  6. スクリプトプロパティパネルを終了

ステップ4: ボットアクション – サービスノード – 残高更新

ここでは、APIを呼び出して、ユーザーが入力した口座番号の口座残高を更新するために、サービスノードを使用します。このチュートリアルでは、ダミーのAPIセットアップを使用します。

  1. BalanceCalculationスクリプトノードの下のをクリック
  2. サービスを選択 – サービスノードは、口座残高情報を更新するためのバックエンドAPI呼び出し行うために使用されます。
  3. +新規サービスをクリック 
  4. サービスノードのプロパティパネル が表示されます。そうならない場合は、新しく追加されたサービスノードをクリックして、開きます
  5. 以下の詳細を入力します。
    • 名前UpdateBalance
    • 表示名残高更新
    • サービスのタイプカスタムサービス
    • タイプWebサービス
    • サブタイプREST
    • リクエストを定義をクリック
      • リクエストを定義済みページで、以下の内容を入力:
        • リクエストタイプ入力
        • リクエストURLhttps://5c3c633d29429300143fe4d2.mockapi.io/AccountDetails/{{context.entities.AccountNumber}}.
        • このAPIは、認証パラメータを必要としません。
        • 本文タブで、application/jsonとして記入を選択します。
        • テストリクエストタブを選択
        • サンプルコンテキスト値セッションにおいて口座番号と残高を入力します。
        • テストボタンをクリック
        • テストが完了するのを待つと、次のステータスが得られます。200
        • サンプル応答として保存をクリックします。
        • 保存をクリック
    • サービスノードのプロパティウィンドウで、接続タブをクリックします。
      • 接続ルールセクションで、 デフォルトの接続がボットアクションの終了に設定されていることを確認します。
    • サービスプロパティパネルを終了
    • クリック ボットアクションノードを折りたたむためのボットアクションノードの横。

ステップ5: メッセージノード

メッセージノードは、ボットからユーザーへのメッセージを表示するのに使用します。ここでは、メッセージノードを使用して成功メッセージを表示しています。

  1. ToUpdateBalanceボットアクションの下のをクリック
  2. メッセージを選択し、「+ 新規メッセージ」をクリックします 
  3. メッセージノードのプロパティパネルが表示されます
  4. 以下の詳細を入力します。
    • 名前UpdateMessage
    • 表示名更新メッセージ
    • ボットレスポンス: Your account balance has been updatedと入力し、Enterキーを押して保存
  5. ボットレスポンスのプロパティパネルで、接続アイコンをクリックして[接続]タブを開きます。
    • デフォルトの接続を未接続からダイアログの終了に変更します。
    • 保存をクリック。
  6. プロパティパネルを終了します。

テスト

ダイアログタスクをテストするには、右下の「ボットと会話」を使用します。次の発話(インテント名) – 「残高更新」を入力 ボットの指示に従います。

  • 口座番号 – 29565731を入力;
  • 口座の種類(普通または当座)を選択;
  • トランザクションタイプ(クレジットまたはデビット)を選択;
  • 金額 – 100 を入力;
  • 成功メッセージを確認します。

次のステップ

バンキングボットはほぼ完了しています。あなたは残高取得と残高更新のダイアログタスクを正常にボットに追加しました。次のステップは、「資金移動」タスクを含めることです。こちらをクリックして続ける

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed

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 with Get Balance task (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, on this page.
  • Transfer a specified amount from the payer account to a payee account, as given here.

Let us add the Update Balance task.

Update Balance Intent

  • The Update Balance task will prompt the user to enter the account number and the account type (Savings/Current).
  • It would then prompt for the type of update – credit or debit and the amount to be updated.
  • A service call will be made to fetch the details, calculate the balance, and then another service call to update the balance.
  • The success/failure message will be displayed.

Step 1: Dialog Task

  1. Open the Banking Bot with the Get Balance task already configured, see here for more.
  2. Ensure that the Build tab is selected from the top menu.
  3. Navigate to the Conversational Skills -> Dialog Task page from the left menu.
  4. Click Create Dialog from the top right.
  5. Create Dialog screen will open.
  6. 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, ‘Update Balance‘.
    • You can add a description and under More Options other dialog-related details. Let’s retain the default settings without any changes.
    • You can also include utterances to train this intent.
    • Select Try Conversation Driven Dialog Builder option.
  7. Click Proceed.
  8. Property Panel for User Intent will be displayed. We will retain the default properties.
  9. Note: For instructions with the older Dialog Builder, refer here
  10. 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 Account Number and Account Type, Type of transaction, and Amount.

  1. Click the + below the User Intent node
  2. Select the Entity option.
    • Select the Account Number entity already created while configuring the Get Balance task.
    • Close the AccountNumber Entity Property Panel.
  3. Click the + below the Account Number node
  4. Select the Entity option.
    • Select the Account Type entity already created while configuring the Get Balance task.
    • Close the AccountType Entity Property Panel.
  5. Click the + below the Account Type node
  6. Select the Entity option.
    • Click the + New entity 
    • Property Panel for the Entity Node is displayed, if not click on the newly created entity to open
      • Enter the following details:
        • Name: TransactionType
        • Display Name: Transaction Type 
        • Type: Select ‘List of Items (enumerated)‘ from the drop-down. We need to provide the list of values that the user can select.
          • Click the Settings (gear) icon that appears next to the field.
          • Opt for Static List.
          • Enter the following options under separate rows as the Display name – Credit and Debit.
            Value and Synonym columns will auto-populate, leave them as is.
          • Click Save.
        • Navigate back to Entity Property Panel.
        • User Prompts: Enter the following text and hit enter to save:
          Select the transaction type.
        • Display List Of Values: Mark as ‘Yes, use channel specific standard formatting for default messages and show the available list of values to end user‘. This will present the list of values in a button template for the supported channels.

      • Close the TransactionType Entity Property Panel.
  7. Click the + below the Transaction Type node
  8. Select the Entity option.
    • Click + New entity 
    • Property Panel for the Entity Node is displayed, if not click on the newly created entity node to open
    • Enter the following details:
      • Name: Amount
      • Display Name: Amount 
      • TypeNumber
      • User Prompts: Enter the following text and hit enter to save: Enter the amount to {{context.entities.TransactionType}}
    • Close the Amount Entity Property Panel.

Step 3: Bot Action – Service Node – Get Balance

Service Node allows you to make a backend API call. It is included in the Bot Actions.
Here the service node is used to call an API to get the account balance for the user entered account number.
We will be using a dummy API setup for this tutorial. We will be using a mock API created specifically for this purpose with the following fields – FirstName, LastName, Address, City, Country, ZipCode, AccountNumber, AccountType, Balance.

  1. Click the + below the Amount Entity node
  2. Select Bot Action, click to open properties, name it ToGetBalance, and close the properties window.
  3. To add a service node, click the + next to the ToGetBalance bot action to expand it
  4. Click the + within the bot action layout.
  5. Select Service – Service node is used to make a backend API call to get account balance information.
  6. Select the existing GetAccountBalance service node, created in the Get Balance task.

Step 4: Bot Action – Script Node

Script Node allows you to incorporate programming logic into the bot and is part of Bot Action.
Here the script node is used to credit/debit the user entered amount to/from the account.

  1. Click the + below the GetAccountBalance node within the Bot Action layout
  2. Select Script – Script node is used to calculate the balance to be updated.
  3. Click the + New Script
  4. Property Panel for the Script Node is displayed, if not click on the newly created script node to open
  5. Enter the following details:
    • Name: BalanceCalculation
    • Display Name: Balance Calculation
    • Under the Script Definition section click the Define Script link
    • In the Add Script window enter the following script. This script first checks the account type to match the user entry and then extracts the balance for that record
      var balance, i;
      for (i=0; i < context.GetAccountBalance.response.body.length; i++ )
      { if (context.GetAccountBalance.response.body[i].AccountType == context.entities.AccountType)
         { balance = parseFloat(context.GetAccountBalance.response.body[i].Balance);
         }
      }
      
    • Click Save
  6. Close the Script Property Panel

Step 4: Bot Action – Service Node – Update Balance

Here the service node is used to call an API to update the account balance for the user entered account number.
We will be using a dummy API setup for this tutorial.

  1. Click the + below the BalanceCalculation script node
  2. Select Service – Service node is used to make a backend API call to update account balance information.
  3. Click the + New service 
  4. Property Panel for the Service Node is displayed, if not click on the newly added service node to open
  5. Enter the following details:
    • Name: UpdateBalance
    • Display Name: Update Balance
    • Service Type: Custom Service
    • Type: Webservice
    • Sub Type: REST
    • Click DEFINE REQUEST
      • In the Define Request Page, enter the following details:
        • Request typePUT
        • Request URLhttps://5c3c633d29429300143fe4d2.mockapi.io/AccountDetails/{{context.entities.AccountNumber}}.
        • This API does not require any Auth Parameters.
        • In the Body tab, select the type as application/json
        • Select the Test Request tab
        • Enter an account number and balance in the Sample Context Values section.
        • Click the Test button
        • Wait for the test to be completed and you get a Status: 200
        • Click Save as Sample Response
        • Click Save
    • On the Service node Property window, click the Connections tab.
      • Under the Connection Rules section, ensure that the Default connection is set to End of Bot Action.
    • Close the Service Property Panel
    • Click  next to the Bot Action node to collapse the bot action node.

Step 5: 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 success message.

  1. Click the + below the ToUpdateBalance Bot Action
  2. Select Message and click the + New message 
  3. Property Panel for the Message Node is displayed
  4. Enter the following details:
    • Name: UpdateMessage
    • Display Name: Update Message
    • Bot Responses: Enter Your account balance has been updated and hit enter to save
  5. 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.
  6. 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) – “Update Balance
Follow the Bot instructions:

  • Enter Account Number – 29565731;
  • Select Account Type – Savings or Current;
  • Select the Transaction Type – Credit or Debit;
  • Enter the Amount – 100;
  • See the success message.

Next Steps

Your Banking Bot is almost complete, you have successfully added Get Balance and Update Balance dialog tasks to the Bot. The next step would be to include the Transfer Funds task. Click here to continue.

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed