Kore.ai의 범용 봇은 여러 개의 표준 개별 봇을 하나로 연결하여 확장할 수 있는 모듈식 봇 구축 접근 방식을 지원합니다.

  • 모듈식: 도메인별 이슈를 해결하는 개별 봇을 구축하고 최적으로 상호 운용하기 위해 봇들을 통합합니다.
  • 확장성: 키 사용 사례를 해결하는 봇을 구축하기 시작하고 더 많은 사용 사례를 해결하기 위한 추가 봇을 지속적으로 추가합니다.

범용 봇 생성으로 시작하기 전에 범용 봇 작동 방식과 표준 봇과 얼마나 다른지 이해하겠습니다.

봇 행동

범용 봇 응답은 그들의 관련성(완전 일치 또는 제안 사항)과 함께 사용자 의도와 일치하는 봇과 작업의 개수에 따라 변합니다. 자연어 처리(NLP) 엔진은 연결된 봇에 전달된 발화를 처리하고, 사용자 의도를 감지하고, 관련성에 따라 순위를 매깁니다. 개발자로서 범용 봇 테스트에 설명된 대로 봇 응답을 테스트하고 학습할 수 있습니다. 다음 테이블은 다양한 가능한 NLP 결과에서 범용 봇 응답이 어떻게 작동하는지 보여줍니다.

NLP 결과 봇 응답
연결된 봇에서 발견된 단 하나의 완전 일치 완전 일치로 작업 실행
여러 개의 연결된 봇에서 발견된 완전 일치 봇 결과와 사용자 발화의 호출 이름을 일치시키려고 시도하며 그렇지 않으면 사용자에게 하나를 선택하도록 유도합니다.
하나의 연결된 봇에서 두 개 이상의 작업과 발견된 완전 일치 현재 봇 컨텍스트를 사용하여 명확히 하고, 그렇지 않으면 사용자에게 하나를 선택하도록 유도합니다.
여러 개의 연결된 봇에서 발견된 제안 사항 개별 점수를 평가하고 P&R 설정에 따라 최상의 의도를 실행합니다.
하나의 연결된 봇에서 두 개 이상의 작업과 발견된 제안 사항 P&R 설정에 따라 최상의 의도를 실행합니다.
발견된 단 하나의 제안 사항 사용자에게 이를 선택하고 싶은지 묻는 제안 사항 표시
완전 일치 없음 또는 발견된 제안 사항 범용 봇에서 의도 확인 – 스몰 토크 또는 폴백 봇

표준 봇 vs. 범용 봇

범용 봇은 여러 표준 봇을 단일 봇으로 연결합니다. 범용 봇은 몇 가지 예외 사항과 함께 대부분의 표준 봇 기능을 지원합니다.

활성화된 기능 및 설정

이 섹션은 표준 봇의 기초를 사용자가 이해하고 있다고 가정합니다. 범용 봇에만 관련된 상세 정보는 여기 나열되어 있습니다. 기초에 대한 도움말은 관련된 표준 봇 설명서를 참조하는 것이 좋습니다. 다음 테이블의 이 기능 열 입력은 표준 봇 설명서에 대한 URL을 제공합니다. 설명 열의 자세히 알아보기 링크는 표준 봇 설명서를 참조합니다.

기능 설명
자연어
테스트 범용 봇이 표준 봇과 함께 연결되어 있기 때문에, 자연어 처리(NLP), 설정은 관련 봇과 의도를 정확히 식별하기 위해 최적화되어 있습니다. 작은 차이로 표준 봇과 같이 범용 봇을 테스트하고 학습할 수 있습니다. 작업을 학습하면 연결된 봇 수준에서 작업이 발생합니다. 자세히 알아보기.
학습 (UB 2.0) 플랫폼 ver7.3 이후 표준 봇 2.0은 학습될 수 있으며, 표준 봇과는 접근이 살짝 다릅니다. 자세히 알아보기.
표준 응답 범용 봇은 인사말과 같은 봇 수준 기능과 관련된 제한된 일련의 표준 응답을 보류합니다. 자연 언어 -> 기본 대화로 이동하고 표준 응답 섹션에 액세스하여 관련 표준 응답을 편집합니다.
배치 테스트하기 범용 봇은 사용자 정의된 발화 테스트만 지원하며 개발자 정의 발화성공적인 사용자 발화는 지원하지 않습니다. 업로드하는 JSON 데이터 세트 파일에 모든 테스트 사례에 대한 의도와 입력과 함께 봇 이름을 포함해야 한다는 것을 제외하고 사용자 정의된 발화 테스트 제품군은 표준 봇과 유사하게 유지됩니다. 또한, 다운로드된 배치 테스트 보고서는 해당하는 봇 이름과 함께 결과를 보여줍니다.
기본 대화 범용 봇에는 식별되지 않은 의도에 대해 트리거 된 기본 대화 작업이 포함되어 있습니다. 이 작업을 커스터마이즈하거나 새 작업을 가져올 수 있습니다. 자세히 알아보기.
이벤트 기반 봇 조치 Ver8.0으로, 여러 이벤트에 대해 연결된 봇에서 다양한 작업을 선택할 수 있습니다. 자세히 알아보기.
지원 사용자가 채팅 도중 지원을 입력하면 표준 봇은 수행할 수 있는 작업의 목록을 응답하며, 사용자는 작업 이름을 선택하여 실행할 수 있습니다. 범용 봇에 관한 한, 사용자가 지원을 입력하면 봇은 연결된 봇의 이름으로 응답합니다. 사용자는 목록에서 작업을 선택하거나 실행할 수 없습니다.
채널 설정
전체 범용 봇은 연결된 봇의 채널 설정을 취하지 않으며 독립적인 채널 설정이 필요합니다. 연결된 봇 채널의 범용 봇 독립에 대한 새 채널을 설정할 수 있습니다. 연결된 봇의 게시된 작업은 범용 봇 채널에서 실행됩니다. 자세히 알아보기.
설정
일반 설정 범용 및 표준 봇은 같은 일반 설정을 공유합니다.
언어 관리 표준 봇은 연결된 봇의 활성화된 언어를 얻지 않습니다. 범용 봇에 기본값과 추가 언어를 명확하게 활성화해야 합니다. 하지만 사용자 발화가 활성화된 언어로 만들어진 경우, 범용 봇은 이를 언어가 이러한 연결된 봇 작업에만 라우팅을 지원합니다. 예를 들어, 표준 봇에 독일어가 활성화되어 있고 독일어로 된 사용자 발화가 있는 경우, NLP 엔진은 독일어를 지원하는 모든 연결된 봇 작업을 찾고 이러한 작업에 발화를 전송합니다. 자세히 알아보기.
개발자 협업 표준 봇과 비슷하게 작동합니다. 범용 봇을 다른 개발자와 공유하면 봇을 연결하거나 해제할 수 있습니다.
변경 로그 범용 봇 변경 로그는 표준 봇에 적용할 수 있는 모든 변경 사항을 기록하는 로그를 다음 사항과 함께 기록합니다.

  1. 봇 연결
  2. 봇 연결 해제
  3. 기본 대화 변경
  4. 기본 대화 게시
봇 가져오기 & 내보내기(ver.7.1에서 지원됨) 표준 봇과 같이, 게시되거나 게시되지 않은 범용 봇을 가져오거나 내보내기 할 수 있습니다. 범용 봇이 연결된 봇을 다루기 때문에 다음 사항을 주의해야 할 필요가 있습니다.

  • 범용 봇 내보내기 – 전체 연결된 봇 정의가 아닌 연결된 봇에 대한 레퍼런스만(레퍼런스 ID) 포함됩니다.
  • 범용 봇 가져오기 – 봇이 가져오기가 될 환경에서, 플랫폼은 연결된 봇과 일치하는 레퍼런스 Id로 봇을 확인합니다. 발견하는 경우 가져오게 된 범용 봇과 자동으로 연결됩니다. 또한, 연결된 봇에 대한 권한이 있어야 하며, 그렇지 않으면 연결되지 않습니다. 범용 봇을 가져오기 전에 연결된 봇을 가져와야 합니다.
봇 삭제 표준 봇과 같이, 게시되지 않은 범용 봇을 삭제할 수 있습니다.
변수 관리(UB 2.0) 표준 봇처럼, 범용 봇에서 전역 및 콘텐츠 변수를 정의할 수 있습니다. 게다가, 연결된 봇에 변수를 전달할 수 있는지 여부를 선택할 수 있습니다.
API 확장
SDK 툴킷 다음 이벤트로 활성화됨 – 메시지, hook, 이벤트, 알림에서
상담사 전환 상담사 전환은 범용 봇에 대해 설정될 수 있습니다. 에이전트 노드는 기본 대화에 추가되어야 하며 에이전트 노트가 허용되지 않은 후 후속 노드를 추가해야 합니다.
WebHook 노드 여러 WebHook 노드는 기본 대화에 배치될 수 있습니다. 대화 도중 WebHook 노드가 도달하면 플랫폼은 표준 봇과 유사한 BotKit을 불러옵니다.
채널로서의 SDK 활성화됨
분석
채팅 기록 모든 범용 봇 채팅은 녹음됩니다. 모든 시작된 학습은 개별 연결된 봇에 영향을 줍니다.
게시
전체 하나 이상의 연결된 봇을 선택하고 범용 봇을 게시할 수 있습니다. 게시 흐름에 대해 자세히 알아보기.

이벤트 관리

연결된 봇의 다음과 같은 BotKit 이벤트에 대한 범용 봇의 행동을 보여줍니다.

  • 대화 종료(아래 참조)
  • 메시지에서
  • 상담원
  • Webhook
  • 이벤트
  • 이벤트 알림

자식 봇이 컨텍스트에 있는 경우, 즉, 자식 봇의 작업이 진행 중이면 자식 봇과 관련된 이벤트는 개발자가 설정한 구성에 따라 트리거 됩니다.

  • 이벤트가 자식 봇에서 활성화되면 이벤트는 자식 봇 BotKit로 전달됩니다.
  • 이벤트가 자식 봇에서 활성화되지 않았으며
    • 이벤트가 범용 봇에서 활성화되면 이벤트는 범용 봇 BotKit로 전달됩니다.
    • 이벤트가 범용 봇에서 활성화되지 않으면 이벤트는 어떤 BotKit로도 전달되지 않습니다.

다음 테이블은 위의 시나리오와 행동을 요약합니다.

이벤트 이름 자식 봇 상태 범용 봇 상태 기대되는 행동
메시지에서 활성화됨 자식 봇 BotKit에 전송된 이벤트
비활성화됨 활성화됨 범용 BotKit에 전송된 이벤트
비활성화됨 비활성화됨 무효화된 시나리오 이 이벤트는 이 경우 트리거 되지 않습니다
모든 기타 이벤트 활성화됨 자식 봇 BotKit에 전송된 이벤트
비활성화됨 활성화됨 범용 BotKit에 전송된 이벤트
비활성화됨 비활성화됨 현재 행동과 같습니다. 예를 들어 대화는 WebHook 노드에 도달하지만 'on Hook' 이벤트는 활성화되지 않습니다

대화 종료

다음 테이블은 대화 종료 이벤트에 대한 봇 행동을 나타냅니다.

대화 종료 범용 봇에서의 대화 종료 이벤트 연결된 봇에서의 대화 종료 이벤트 행동
범용 봇 활성화됨 활성화됨 또는 비활성화됨 범용 봇에서의 트리거 이벤트
범용 봇 비활성화됨 활성화됨 또는 비활성화됨 트리거 된 이벤트 없음
연결된 봇 활성화됨 또는 비활성화됨 활성화됨 연결된 봇에서의 트리거 이벤트
연결된 봇 활성화됨 비활성화됨 범용 봇에서의 트리거 이벤트
연결된 봇 비활성화됨 비활성화됨 이벤트 트리거 되지 않음

다음 단계

  • 여기를 참조하여 범용 봇을 생성할 수 있습니다.
  • 여기에서 범용 봇 학습에 대해 학습할 수 있습니다.

Kore.aiのユニバーサルボットは、複数の独立した標準ボットを1つにまとめることで、拡張性のあるモジュール形式のボットの構築を可能にします。

  • モジュール化:ドメイン固有の課題に対応するボットを個別に構築し、それらを統合して最適な相互運用を行います。
  • 拡張性主要なユースケースに対応するボットをまず構築し、その他のユースケースに対応するボットを追加していきます。

ユニバーサルボットの作成を始める前に、ユニバーバルボットの仕組みや標準ボットとの違いについて理解しましょう。

ボットの動作

ユニバーサルボットの応答は、ユーザーインテントに合致するボットやタスクの数と、それらの関連性(完全一致または候補)によって異なります。自然言語処理(NLP)エンジンは、リンクされたボットに送信された発話を処理し、ユーザーインテントを検出して、関連性に基づいてランク付けします。開発者は、ユニバーサルボットをテストで説明されているように、ボットの応答をテストしてトレーニングすることができます。以下の表は、考えられる様々なNLPの結果において、ユニバーサルボットの応答がどのように動作するかを示しています。

NLPの結果 ボットの応答
リンクされたどのボットからも完全一致が1つしか見つからない 完全一致のタスクを実行する
1つ以上のリンクされたボットで完全一致が見つかった ユーザーの発話に含まれる呼び出し名とボットの結果の一致を試みますが、そうでない場合はユーザーに選択を促します。
リンクされた単一のボットの2つ以上のタスクで完全一致が見つかった 現在のボットのコンテキストを使用して曖昧さを解消し、そうでなければユーザーに選択を促します。
1つ以上のリンクされたボットで候補が見つかった 個々のスコアを評価し、P&Rの設定に基づいて上位インテントを実行します。
リンクされた単一のボットの2つ以上のタスクで候補が見つかった P&Rの設定に基づいて、上位インテントを実行します。
候補が1つのみ見つかった ユーザーに候補を表示し、選択するかどうかを尋ねる
完全一致または候補が見つからない ユニバーサルボットのインテントを確認する – スモールトークまたはフォールバックボット

標準ボット vs ユニバーサルボット

ユニバーサルボットは、複数の標準ボットを単一のボットにまとめます。いくつかの例外を除いて、ほとんどの標準ボットの機能をサポートしています。

有効な機能と設定

このセクションでは、標準ボットの基礎知識をお客様が理解していることを前提としています。ユニバーサルボットに関連する詳細のみをこちらに記載します。基本的な操作については、関連する標準ボットのドキュメントを参照することをお勧めします。以下の表の機能列の項目は、標準ボットのドキュメントのURLを示しています。説明列の詳細リンクは、ユニバーサルボットのドキュメントを参照しています。

機能 説明
自然言語
テスト ユニバーサルボットは標準ボットをリンクさせるため、自然言語処理(NLP)の設定が最適化され、関連するボットとインテントを正確に認識することができます。少しの違いで、標準ボットと同じようにユニバーサルボットのテストやトレーニングを行うことができます。タスクのトレーニングは、リンクされたボットのレベルで行われます。詳細
トレーニング(UB 2.0) ユニバーサルボット2.0は、プラットフォームのバージョン7.3以降、トレーニングできるようになりましたが、そのアプローチは通常のボットとは少し異なります。詳細
標準レスポンス ユニバーサルボットは、挨拶などのボットレベルの機能に関連する、限られた標準の応答を保持します。自然言語 > デフォルトの会話で、標準応答セクションにアクセスし、関連する標準の応答を編集します。
バッチテスト ユニバーサルボットは、カスタム定義された発話のテストのみをサポートしており、開発者が定義した発話成功したユーザー発話はサポートしていません。カスタム定義された発話のテストスイートは、標準ボットと同様ですが、アップロードするJSONデータセットファイルに、各テストケースのインテントおよび入力とともにボット名を含める必要があります。また、ダウンロードしたバッチテストのレポートには、対応するボット名とともに結果が表示されます。
デフォルトダイアログ ユニバーサルボットには、未確認のインテントでトリガーされるデフォルトのダイアログタスクが伴います。このタスクをカスタマイズしたり、新しいタスクをインポートすることができます。詳細
イベントベースのボットアクション バージョン8.0では、リンクされたボットから色々なイベント用に様々なタスクを選択できるようになりました。詳細
ヘルプ チャット中にユーザーがヘルプと入力した場合、標準ボットが実行可能なタスク一覧を返し、ユーザーはタスク名を選択して実行することができます。ユニバーサルボットに関して言えば、ユーザーがヘルプと入力すると、ボットはリンクされているボットの名前を返します。ユーザーは一覧からタスクを選択したり実行したりすることはできません。
チャネルの設定
すべて ユニバーサルボットは、リンクされたボットのチャネル設定を取得せず、独立したチャネル設定を必要とします。リンクされたボットのチャネルとは別に、ユニバーサルボットの新しいチャネルを設定することができます。リンクされたボットの公開済みタスクは、ユニバーサルボットのチャネルから実行されます。詳細
設定
一般設定 ユニバーサルボットと標準ボットの基本設定は同じです。
言語管理 ユニバーサルボットは、リンクされたボットの有効化された言語を取得しません。ユニバーサルボットで、デフォルト言語と追加言語を明示的に有効にする必要があります。ただし、ユーザーが有効な言語で発話した場合、ユニバーサルボットは、その言語をサポートするリンクされたボットタスクにのみその発話を伝達します。例えば、ユニバーサルボットでドイツ語が有効になっており、ユーザーがドイツ語で発話した場合、NLPエンジンはドイツ語をサポートするすべてのリンクされたボットのタスクを探し、それらのタスクにその発話を送信します。詳細
開発者コラボレーション 標準ボットと同様に動作します。ユニバーサルボットを別の開発者と共有すると、その開発者はボットをリンクしたりリンク解除したりすることができます。
ログの変更 ユニバーサルボットのログの変更には、標準ボットに適用されるすべての変更内容に加えて、以下の内容が記録されます。

  1. ボットのリンク
  2. ボットのリンク解除
  3. デフォルトダイアログへの変更
  4. デフォルトダイアログの公開
ボットのインポートとエクスポート(バージョン7.1より対応) 標準ボットと同様に、公開されているユニバーサルボットと公開されていないユニバーサルボットをエクスポートおよびインポートすることができます。ユニバーサルボットはリンクされたボットを扱うため、以下の点に注意する必要があります。

  • ユニバーサルボットのエクスポート – リンクされたボットへの参照(参照ID)のみが含まれ、リンクされたボットの定義全体は含まれません。
  • ユニバーサルボットのインポート – ボットがインポートされる環境で、プラットフォームはリンクされたボットと一致する参照IDを持つボットを確認します。見つかった場合は、インポートされたユニバーサルボットに自動的にリンクされます。リンクされたボットの権限を有しており、そうでない場合はリンクされません。ユニバーサルボットをインポートする前に、必ずリンクされたボットをインポートします。
ボットの削除 標準ボットと同様に、公開されていないユニバーサルボットを削除することができます。
変数管理(UB 2.0) 標準ボットと同様に、ユニバーサルボットでもグローバル変数やコンテンツ変数を定義することができます。さらに、変数をリンクされたボットに伝えるかどうかを選択することもできます。
API 拡張
SDKツールキット オンメッセージ、オンフック、オンイベント、オンアラートなどのイベントで有効
エージェントへの転送 エージェントへの転送は、ユニバーサルボットに設定することができます。デフォルトダイアログでエージェントノードを追加する必要があり、エージェントノードの後に別のノードを追加することはできません。
WebHookノード 複数のWebhookノードをデフォルトダイアログに配置することができます。会話中にWebhookノードに到達すると、プラットフォームは標準ボットと同様にBotKitを起動します。
チャネルとしてのSDK 有効になっている
分析する
チャット履歴 ユニバーサルボットのチャットはすべて記録されます。開始されたトレーニングは、リンクされた個別のボットに影響を与えます。
公開する
すべて リンクされたボットを1つまたは複数選択し、ユニバーサルボットを公開することができます。公開フローについては、こちらをご確認ください

イベント管理

リンクされたボットの以下のBotKitイベントに対するユニバーサルボットの動作を見てみましょう。

  • 会話の終了(以下を参照
  • メッセージ
  • エージェント
  • Web フック
  • イベント
  • 通知イベント

コンテキストに子ボットがある場合(子ボットからのタスクが進行中の場合)、開発者の設定に基づいて、子ボットに関連するイベントがトリガーされます。

  • 子ボットでイベントが有効になっている場合、そのイベントは子ボットのBotKitに転送されます。
  • 子ボットでイベントが有効になっていない場合
    • ユニバーサルボットでイベントが有効になっている場合、そのイベントはユニバーサルボットのBotKitに送信されます。
    • ユニバーサルボットでもイベントが有効になっている場合、そのイベントはどのBotKitにも転送されません。

以下の表は、上記のシナリオと動作をまとめたものです。

イベント名 チャイルドボットのステータス ユニバーサルボットのステータス 想定される動作
メッセージ 有効になっている 子ボットのBotKitに送信されるイベント
無効になっています 有効になっている ユニバーサルBotKitに送信されるイベント
無効になっています 無効になっています 無効なシナリオです。この場合、イベントは発生しません
その他のイベント 有効になっている 子ボットのBotKitに送信されるイベント
無効になっています 有効になっている ユニバーサルBotKitに送信されるイベント
無効になっています 無効になっています 現在の動作と同じです。例:ダイアログがWebhookノードに到達したが、「オンフック」イベントが有効になっていない。

会話の終了

次の表は、会話の終了イベントに対するボットの動作を表しています。

会話の終了 ユニバーサルボットの会話の終了イベント リンクされたボットの会話の終了イベント 動作
ユニバーサルボット 有効になっている 有効または無効 ユニバーサルボットのトリガーイベント
ユニバーサルボット 無効になっています 有効または無効 イベントがトリガーされない
リンクされたボット 有効または無効 有効になっている リンクされたボットのトリガーイベント
リンクされたボット 有効になっている 無効になっています ユニバーサルボットのトリガーイベント
リンクされたボット 無効になっています 無効になっています イベントが発生しませんでした

Kore.ai’s Universal Bots facilitate a scalable, modular approach to bot building by linking several standard individual bots into one.

  • Modularity: Build separate bots that address domain-specific issues and then integrate them to optimally interoperate.
  • Scalability: Start building bots that address key use cases and keep adding additional bots to address more use cases.

Before starting with creating a Universal Bot, let us understand how Univeral Bots work and how they differ from the Standard Bots.

Bot Behavior

Universal bot responses vary with the number of bots and tasks that match the user intent along with their relevance (exact matches or suggestions). The Natural Language Processing (NLP) engine processes the utterances sent to the linked bots, detects the user intents, and ranks them based on relevance. As a developer, you can test and train the bot responses as explained in Test the Universal Bot.

Following the table shows how universal bot responses operate in various possible NLP outcomes:

NLP Outcome Bot Response
Only one exact match found from any of the linked bots Executes the task with the exact match
Exact matches found in more than one linked bot Tries to match the invocation names from the user utterance with the bot results, else prompts the user to select one.
Exact matches found with two or more tasks of a single linked bot Disambiguates using the current bot context, else prompts the user to select one.
Suggestions found in more than one linked bot Evaluates the individual scores and executes the winning intent based on the P&R settings.
Suggestions found with two or more tasks of a single linked bot Executes the winning intent based on the P&R settings.
Only one suggestion found Shows the suggestion to the user asking if they would like to select it
No exact match or suggestion found Checks for intent in the Universal Bot – small talk or fallback bot

Standard Bots vs. Universal Bots

Universal Bots connect multiple Standard Bots into a single bot. They support most Standard Bot features with a few exceptions.

Enabled Features and Configurations

This section assumes that you understand the fundamentals of standard bots. Details relevant to the Universal Bots alone are listed here. We recommend you to refer to the relevant standard bot documentation for help with the basics.
The Feature column entries in the following table provide URLs to the standard bot documentation.
The Learn more links in the Description column refer to the universal bot documentation.

Feature Description
Natural Language
Testing Since the universal bot links together standard bots, the Natural Language Processing (NLP) settings are optimized to accurately recognize the relevant bot and intent. You can test and train the universal bot like a standard bot with small differences. When you train the task it happens at the linked bot level. Learn more.
Training

(UB 2.0)

Post ver7.3 of the platform, the Universal Bot 2.0 can be trained, the approach is slightly different from the standard bots. Learn more.
Standard Responses The universal bot will hold a limited set of standard responses that are relevant to bot level functions like greetings. Go to Natural Language -> Default Conversation, to access the Standard Responses section to edit the relevant standard responses.
Batch Testing Universal bots only support testing Custom-defined utterances and not Developer-defined utterances and Succesful user utterances.
The Custom-defined utterances test suites remain similar to the standard bots’ except that the JSON Dataset file that you upload should contain a bot name along with the intent and input for every test case. Also, the downloaded batch test report shows the results with corresponding bot names.
Default Dialog Universal bots come with a default dialog task that gets triggered for unidentified intents. You can customize this task or import a new one. Learn more.
Event-Based Bot Actions With ver8.0, you can choose different tasks from the linked bots for various events. Learn more.
Help When a user types Help during a chat, a standard bot responds with the list of tasks that it can perform, allowing the user to select a task name to execute.

When it comes to Universal bots, if a user types Help, the bot responds with the names of linked bots. The user cannot select or execute a task from the list.

Channel Configuration
All Universal bots do not obtain the channel configurations of the linked bots and need an independent channel configuration. You can set up new channels for the universal bot independent of the linked bot channels. The published tasks in the linked bots execute from the universal bot channels. Learn more.
Settings
General Settings Universal and standard bots share the same general settings.
Language Management Universal bots do not obtain the enabled languages of the linked bots. You must enable default and additional languages explicitly for the universal bot. But when user utterances are made in an enabled language, the universal bot routes it to only those linked bot tasks that support the language. For example, if German is enabled for the universal bot and a user utters in German, the NLP engine looks for all the linked bot tasks that support German and sends the utterance to those tasks. Learn more.
Developer Collaboration Works similar to standard bots. Once you share a Universal Bot with other developers, they can link and unlink bots.
Change Logs Universal bot change logs record all the changes applicable to the standard bots, plus the following:

  1. Linking of a bot
  2. Un-linking of the bot
  3. Change to default dialog
  4. Publishing of default dialog
Import & Export bot

(supported from ver7.1)

Like standard bots, you can export and import the published and unpublished universal bots. Since universal bots deal with linked bots the following need to be taken care of:

  • Export of a universal bot – only the reference to the linked bot (reference id) will be included not the entire linked bot definition;
  • Import of the universal bot – in the environment where the bot is being imported to, the platform checks for the bots with reference id matching the linked bot. If found they are automatically linked to the imported universal bot. Also you should have permissions for the linke bot, else it will not be linked. Ensure that you import the linked bots before importing the universal bot.
Delete bot Like standard bots, you can delete the unpublished universal bots.
Variable Management

(UB 2.0)

Like standard bots, you can define global and content variables in universal bots. In addition, you can choose whether or not the variables can be propagated to the linked bots.
API Extensions
SDK toolkit Enabled with the following events – on message, on hook, on event, on alert
Agent Transfer Agent Transfer can be configured for a Universal Bot. The Agent Node needs to be added in default dialog and addition of any subsequent nodes after the agent node is not allowed.
WebHook Node Multiple webhook nodes can be placed in the default dialog. When a webhook node is reached during the conversation, the platform invokes the BotKit similar to that of a Standard Bot.
SDK as Channel Enabled
Analyze
Chat History All the Universal Bot chats get recorded. Any initiated training will affect the individual linked bot.
Publish
All You can select one or more linked bots and publish the Universal Bot. Learn more about the publish flow.

Event Management

Let us see the behavior of Universal Bots for the following BotKit events in Linked Bots:

  • End of Conversation (see below)
  • On Message
  • Agent
  • Webhook
  • Event
  • Alert Events

When a child bot is in context i.e., a task from a child bot is in progress, then the events related to the child bots will be triggered based on the configurations set up by the developer:

  • If an event is enabled in child bot, then the event will be forwarded to child bot BotKit
  • If an event is not enabled in child bot and
    • if that event is enabled in Universal bot, then the event will be sent to Universal bot BotKit
    • if that event is not enabled in Universal bot as well, then the event will not be forwarded to any BotKit.

Following table summarises the above scenarios and behavior:

Event Name Child Bot Status Universal Bot Status Expected Behavior
On Message Enabled Event sent to child bot BotKit
Disabled Enabled Event sent to Universal BotKit
Disabled Disabled Invalid scenario. The event does not trigger in this case
All other events Enabled Event sent to child bot BotKit
Disabled Enabled Event sent to Universal BotKit
Disabled Disabled Same as the current behavior. E.g. dialog reaches Webhook node but ‘on Hook’ event is not enabled

End of Conversation

The following table depicts the bot behavior for the end of the conversation event:

Conversation ends End of Conversation Event in Univeral Bot End of Conversation Event in Linked Bot Behavior
Universal Bot Enabled Enabled or Disabled Trigger event in Universal Bot
Universal Bot Disabled Enabled or Disabled No event triggered
Linked Bot Enabled or Disabled Enabled Tigger event in Linked Bot
Linked Bot Enabled Disabled Tigger event in Universal Bot
Linked Bot Disabled Disabled Event not triggered

Next Steps

  • You can start creating your Universal Bots by referring here.
  • You can learn about training the Universal Bots from here.