봇 대화 중 특정 작업이 발생하거나 봇 채널에서 특정 이벤트가 트리거 될 때 봇 이벤트가 트리거 됩니다.

예를 들면, 사용자가 시작하기 버튼을 눌러 FB 메신저 봇과 채팅을 시작하면 Facebook 환영 이벤트를 트리거 합니다. 이 이벤트를 사용하여 사용자의 성과 이름으로 이를 개인화하고, 사용자의 추가 정보를 캡처하고, 백엔드 시스템을 업데이트하는 등 환영 인사말을 커스터마이징 할 수 있습니다.

봇 행동

다음과 같은 옵션 중 하나를 사용하여 이벤트가 트리거 되면 개발자는 봇 행동을 정의할 수 있습니다.

작업 실행

이벤트가 트리거 될 때 호출되도록 대화 작업(표준 또는 숨겨진)을 선택합니다. 이벤트가 트리거 되면 대화 실행을 시작합니다. 다른 의도 감지로 인해 방해된 경우, 보유 및 재개 설정이 작동되기 시작합니다. 실행 도중 선택된 대화가 봇에 게시되지 않으면 이벤트는 삭제됩니다. 몇몇 사례에서는 작업이 아직 게시되지 않았거나 유예되었거나 단순히 사용자에게 할당되지 않은 경우와 같은 여러 이유로 인해 대화 도중 사용자가 대화를 사용할 수 없을 수도 있습니다. 이러한 경우 봇은 실행이 현재 불가능한 작업이라는 오류 메시지를 표시합니다. 개발자는 디버그 모드에서 봇을 테스트하여 이러한 상황을 회피할 수 있습니다. 디버그 콘솔은 오류에 대한 전체 세부 정보를 보여주며, 작업이 사용 불가능한 이유를 포함합니다.

스크립트 실행

이벤트가 트리거 되면 실행하기 위해 JavaScript를 정의합니다. 스크립트는 세션, 컨텍스트, 개체, 봇 변수, 봇 기능과 같은 모든 적용할 수 있는 컴포넌트를 사용할 수 있습니다. 디버그 모드를 사용하여 코드를 수정할 수도 있습니다.

메시지 표시

이벤트가 트리거 되면 사용자에게 간단한 메시지나 고급 메시지를 정의합니다. 봇 플랫폼에서 사용할 수 있는 모든 메시지 포매팅 기능을 제공하며, 채널 재정의 옵션을 사용한 여러 메시지를 포함합니다. 다국어 봇 행동:

  • 언어별 메시지를 정의할 수 있습니다.
  • 메시지가 특정 언어에 대한 이벤트에서 삭제되면 봇의 모든 다른 언어에서 제거됩니다.
  • 메시지가 언어에 추가되면 메시지는 같은 콘텐츠를 사용하는 모든 다른 언어에 추가됩니다.
  • 메시지가 언어에서 수정되면 해당 언어에서만 수정이 적용됩니다.

메시지 형식 및 템플릿에 대해 더 자세히 알아보세요.

이벤트 유형

응답을 트리거 하기 위해 다음 이벤트를 설정할 수 있습니다.

이벤트 트리거
환영 이벤트 채널에서 사용자로부터 첫 메시지를 수신할 때.
Facebook 환영 이벤트 Facebook 메신저에서 환영 이벤트를 수신할 때. 봇에 둘 다 설정되어 있으면 이 이벤트가 환영 이벤트보다 우선합니다.
텔레포니 환영 이벤트 IVR, Twilio, 또는 Audio Codes와 같은 음성 채널에서 사용자의 호출을 수신할 때. 자세한 내용은 아래를 참조하세요. (이전에 Twilio 음성 환영 이벤트라고 불림)
Telegram 환영 이벤트 Telegram에서 환영 이벤트를 수신할 때. 봇에 둘 다 설정되어 있으면 이 이벤트가 환영 이벤트보다 우선합니다.
연결 상태 웹 / 모바일 SDK 채널을 통해 사용자가 대화를 주고받는 모든 순간. 이 이벤트는 사용자가 대화를 시작하든 하지 않든 관계없이 트리거 됩니다. 이 이벤트는 웹 / 모바일 SDK 채널에만 적용되며 둘 다 설정된 환영 이벤트보다 우선합니다.
대화 종료 대화 종료에 도달할 때. 자세한 내용은 아래를 참조하세요.
작업 실행 실패 다음과 같은 대화 작업 실행에서 오류가 발생했을 때.

  • 봇 실행 중 오류,
  • 서비스 호출 실패,
  • 서버에 연결 불가능
  • 인간 상담사 전환 시 상담사 노드를 불러올 때 오류,
  • 지식 그래프 작업 실패,
  • WebHook 노드 실패,
  • 하위 대화 노드와 관련된 대화 불가능,
  • 봇 메시지를 파싱하는 데 있어서 예외 사항.
RCS 옵트인 이벤트 RCS 메시지 채널에 사용자가 옵트인 한 메시지를 수신할 때.
RCS 옵트아웃 이벤트 RCS 메시지 채널에 사용자가 옵트아웃 한 메시지를 수신할 때.

설정

봇 이벤트를 설정하려면 다음 단계를 따르세요.

  1. 상단 메뉴의 구축 팁에서 인텔리전스 >이벤트 관리자를 선택합니다.
  2. 이벤트 페이지에서 이벤트 중 하나를 선택합니다. 이벤트 설정 창 슬라이드가 열립니다.
  3. 선택된 이벤트가 감지되면 처리 방식을 정의하기 위해 이러한 옵션 중 하나를 선택합니다.
    • 작업 시작,
    • 스크립트 실행,
    • 메시지 표시.

설정

설정 옵션으로 다음과 같은 것들을 할 수 있습니다.

  • 변수 네임스페이스 관리를 통해 이벤트 관리자와 사용할 변수 네임스페이스를 연결합니다. 이 옵션은 봇에 변수 네임스페이스가 활성화되어 있을 때만 보입니다. 더 자세한 정보는 네임스페이스 관리를 참조하세요.

추가 참고 사항

작업 실행 실패 이벤트

  • 이 이벤트는 v6.40 릴리스부터 사용할 수 있습니다.
  • 기본으로 이 이벤트는 메시지 표시, 옵션과 함께 항상 활성화됩니다. 이벤트를 비활성화할 수 없습니다.
  • 이 봇 수준 행동은 대화 작업 설정에서 작업별 실패 이벤트를 정의하여 특정 작업에 대해 재정의될 수 있습니다. 방법에 대해서는 여기를 참조하세요.

환영/onConnect 이벤트

사용자는 간단한 인사부터 의도를 직접 표현하거나 FAQ를 질의하는 것까지 다양한 방식으로 봇 대화를 시작할 수 있습니다. 개발자가 사용자의 선택에 따라 봇 응답을 커스터마이징 하도록 범위를 용이하게 할 수 있도록, 환영 이벤트는 이벤트 구성으로 작업 또는 메시지 표시를 선택할 때 추가 옵션과 함께 제공됩니다. 예를 들어, 봇 작업에 첫 번째 사용자 발화가 매핑되면 봇은 이벤트 기반 작업이나 사용자 의도를 먼저 실행해야 할까요? ver9.0 이후, BotUserSession 컨텍스트 개체에서 isReturningUser 매개변수를 사용하여 반환 사용자를 식별할 수 있으며 적절한 환영 메시지를 보낼 수 있습니다(컨텍스트 개체는 여기를 참조하세요). 개발자로서 사용자가 아래 나열된 옵션에서 인사말, 작업 또는 FAQ로 봇과 대화를 시작할 때 봇 우선순위를 정의할 수 있습니다.

이벤트 구성 옵션
작업 시작
  • 인사말/스몰 토크
    • 인사나 스몰 토크에 응답하고 환영 이벤트 대화 시작
    • 사용자 메시지를 삭제하고 환영 이벤트 대화 시작
  • FAQ
    • FAQ에 응답하고 환영 이벤트 대화 시작
    • 사용자 메시지를 삭제하고 환영 이벤트 대화 시작
  • 작업
    • 사용자가 요청한 작업을 시작하고 환영 이벤트 대화 삭제
    • 환영 이벤트 대화를 시작하고 사용자 요청 작업을 후속 의도에 추가

작업이 아직 게시되지 않았거나 유예되었거나 단순히 사용자에게 할당되지 않은 경우와 같은 이유로 인해 사용자가 작업을 할 수 없다면, 이러한 경우 봇은 작업 실행이 현재 불가능하다는 오류 메시지를 보여줍니다.

메시지 표시
  • 인사말/스몰 토크
    • 인사나 스몰 토크에 응답하고 환영 이벤트 메시지 표시
    • 인사나 스몰 토크에 응답하고 환영 이벤트 메시지 삭제
  • FAQ
    • FAQ에 응답하고 환영 이벤트 메시지 표시
    • FAQ에 응답하고 환영 이벤트 메시지 삭제
  • 작업
    • 환영 이벤트 메시지를 표시하고 사용자가 요청한 작업 실행
    • 환영 이벤트 메시지를 삭제하고 사용자가 요청한 작업 실행
참고: 봇 빌더 플랫폼은 환영 메시지를 더 이상 지원하지 않습니다. 이전 버전의 플랫폼에서 환영 메시지를 정의했다면 업그레이드된 버전은 자동으로 해당하는 환영 이벤트와 On Connect 이벤트를 생성하여 이전 버전과 호환성을 보장합니다.

대화 종료

대화 종료는 봇이 사용자에게 어떠한 메시지도 전송할 것으로 예상되지 않거나 사용자로부터 어떠한 메시지도 송신 받지 못할 것이라고 예상되면 트리거 됩니다. 작업 종료 이벤트에 추가된 작업 종료에 대한 이유를 나타내는 새로운 플래그는 대화 행동 종료를 결정하는 데 도움이 됩니다. 조치의 적절한 과정을 결정하기 위해 BotKit, RTM 및 Webhook 채널의 클라이언트 측 구현은 컨텍스트에서 작업 완료 플래그에 대한 이러한 이유를 사용할 수 있습니다. 이 이벤트를 트리거 하자마자 컨텍스트는 다음과 같은 세부 사항과 함께 업데이트됩니다.

  • 이벤트를 트리거 하는 이유(아래 표 참조)
  • 방금 종료된 작업의 이름. FAO라면 작업 이름은 'FAQ'로 설정됩니다.
시나리오 대화 종료 플래그
대화의 마지막 노드에 도달함 이행됨
사용자가 작업을 취소함 취소됨
작업 또는 FAQ 실행 중 오류(작업 실패 이벤트 없음, 보류 작업 없음) 실패함
부모 대화에 반환 없이 완료된 링크된 대화 Fulfilled_LinkedDialog
FAQ에 답변할 때 이행됨
스크립트 실행 또는 메시지 표시로 성공적인 이벤트 실행(보류 중인 작업 없음) Fulfilled_Event
스크립트 실행 또는 메시지 표시로 이벤트 실행 중 오류(보류 중인 작업 없음) Failed_Event
보류 중인 작업을 계속하기 위한 사용자 감소(보류 중인 작업이 없을 때) 취소됨

IVR 영향 또한 이 이벤트를 사용하여 음성 기반 채널에서 호출이 종료되어야 하는 방식과 시기를 정의할 수 있습니다. IVR 구현은 '대화 종료'가 완료되었을 때만 세션/호출의 종료를 활성화하도록 강화되었습니다. 방법은 여기를 참조하세요.

텔레포니 환영 이벤트

이 이벤트는 음성 채널에서 플랫폼에 대한 음성 호출을 수신하자마자 트리거 됩니다. 이 이벤트는 처음뿐만 아니라 사용자의 호출이 플랫폼에 도달할 때마다 트리거 됩니다. 여기에는 두 가지 옵션이 있습니다 – '대화 실행' 및 '음성 통화 속성'

  • 대화 실행 – 제공된 드롭다운 목록에서 트리거 될 작업 선택
  • 음성 통화 속성은 다음과 같이 설정될 수 있습니다.
    • 적어도 하나의 '초기 프롬프트' 정의
    • 시간 초과와 일치 없음에 대한 프롬프트가 정의될 수 있음
    • 고급 제어에서 시간 초과, 재시도 횟수, 끼어들기에 대한 설정이 정의될 수 있습니다. 자세한 내용은 여기를 참조하세요.

ボットイベントは、ボットの会話中に特定のアクションが発生したとき、またはボットチャネルで特定のイベントが発生したときにトリガーされます。

たとえば、ユーザーが開始ボタンをクリックして、FB Messenger ボットとのチャットを開始すると、Facebookウェルカムイベントがトリガーされます。このイベントを使用して、ユーザーの名字および名前でのパーソナライズ、ユーザーからの追加情報の取得、バックエンドシステムの更新など、ウェルカムグリーティングのカスタマイズを行うことができます。

ボットの動作

開発者は、以下のオプションを使用して、イベントがトリガーされた際のボットの動作を定義することができます。

タスクを実行する

イベントが発生した際に呼び出されるダイアログタスク(標準または非表示)を選択します。イベントがトリガーされると、ダイアログの実行が開始されます。他のインテント検出によって一時停止された場合は、一時停止と再開の設定が有効になります。実行中に、選択済みのダイアログがボットで公開されていない場合、イベントは破棄されます。場合によっては、タスクが未公開、一時停止されている、あるいは単にユーザーに割り当てられていないなどの様々な理由により、会話中にユーザーがダイアログを利用できない場合があります。このような場合、ボットは、そのタスクが現在実行できないというエラーメッセージを表示します。開発者は、デバッグモードでボットをテストすることにより、こうした事態を未然に防ぐことができます。デバッグコンソールは、タスクが利用できない理由など、エラーの詳細を示します。

スクリプトを実行する

イベントが発生した際に実行するJavaScriptを定義します。スクリプトは、セッション、コンテキストオブジェクト、ボット変数、ボット関数など、該当するすべてのコンポーネントを利用することができます。デバッグモードを使用してコードを修正することもできます。

メッセージを表示する

イベントが発生した際にユーザーに表示するシンプルなメッセージまたは詳細なメッセージを定義します。ボットプラットフォームで利用可能なすべてのメッセージフォーマット機能をサポートしており、チャネルの上書きオプションを使用した複数のメッセージにも対応しています。多言語ボットの動作:

  • 言語固有のメッセージを定義することができます。
  • 特定の言語のイベントからメッセージが削除された場合、ボットの他のすべての言語からも削除されます。
  • ある言語でメッセージが追加されると、他のすべての言語で同じ内容のメッセージが追加されます。
  • ある言語でメッセージの内容が変更された場合、その変更内容はその言語のみに適用されます。

メッセージのフォーマットやテンプレートについてはこちらをご確認ください

イベントタイプ

以下のイベントが応答のトリガーとなるように設定することができます。

イベント トリガー
ウェルカムイベント チャネルでユーザーからの最初のメッセージを受信した時。
Facebookウェルカムイベント Facebook Messengerからウェルカムイベントを受信した時。ボットに両方が設定されている場合、このイベントはウェルカムイベントよりも優先されます。
テレフォニーウェルカムイベント IVR、Twilio、Audio Codesなどの音声チャネルからユーザーの呼び出しを受信した時。詳細は以下をご確認ください。(旧称:Twilio音声ウェルカムイベント)
Telegramウェルカムイベント Telegramからウェルカムイベントを受信した時。ボットに両方が設定されている場合、このイベントはウェルカムイベントよりも優先されます。
接続時 ユーザーがウェブ/モバイルSDKチャネルで会話するたび。このイベントは、ユーザーが会話を開始したかどうかにかかわらず、トリガーされます。このイベントはウェブ/モバイルSDKチャネルにのみ適用され、両方設定されている場合はこのイベントがウェルカムイベントよりも優先されることにご注意ください。
会話の終了 会話の終了を迎えた時。詳細は以下をご確認ください
タスクの実行に失敗しました ダイアログタスクの実行中に、以下のようなエラーが発生した時。

  • ボットの実行中のエラー
  • サービスコールの失敗
  • サーバーに接続できない
  • 人間のエージェントへの転送の際の、エージェントノードの呼び出しエラー
  • ナレッジグラフのタスクの失敗
  • Webhookノードの失敗
  • サブダイアログのノードに関連するダイアログが利用できない
  • ボットメッセージを解析する際の例外。
RCS オプトイン イベント ユーザーがRCSメッセージングチャネルを選択したというメッセージを受信した時。
RCS オプトアウト イベント ユーザーがRCSメッセージングチャネルからオプトアウトしたというメッセージを受信した時。

設定

ボットのイベントを設定するには、以下の手順に従います。

  1. トップメニューのボットビルドタブで、インテリジェンスイベントハンドラーを選択します。
  2. イベントページで、イベントを1つ選択します。イベント設定ウィンドウがスライドして開きます。
  3. これらのオプションのいずれかを選択して、選択したイベントが検出されたときの処理方法を定義します。
    • タスクを開始
    • スクリプトを実行
    • メッセージを表示

設定

設定オプションでは、以下のことができます。

  • 変数の名前空間の管理で、イベントハンドラーで使用する変数の名前空間を関連付けます。このオプションは、ボットで変数の名前空間が有効になっている場合にのみ表示されます。詳細は、名前空間の管理をご確認ください。

その他の注意事項

タスク実行の失敗イベント

  • このイベントは、v6.40リリース以降利用可能です。
  • デフォルトでは、このイベントはメッセージを表示オプションで常に有効になっています。このイベントを無効にすることはできません。
  • このボットレベルの動作は、ダイアログタスクの設定からタスク固有の失敗イベントを定義することで、特定のタスクに対して上書きすることができます。方法はこちらを参照してください

ようこそオンコネクトイベント

ユーザーは、簡単な挨拶から、直接的な意思表示やFAQの質問まで、様々な方法でボットとの会話を始めることができます。ユーザーの選択に応じて開発者がボットの応答をカスタマイズできるように、イベント設定としてタスクを開始またはメッセージを表示を選択した場合、ウェルカムイベントには追加のオプションが出現します。例えば、最初のユーザーの発話がボットのタスクにマッピングされている場合、ボットはイベントベースのタスクまたはユーザーインテントを最初に実行する必要がありますか?ver9.0以降では、BotUserSessionコンテキストオブジェクトのisReturningUserパラメータを使用して、リピーターを識別し、適切なウェルカムメッセージを送信できます(コンテキストオブジェクトについてはこちらを参照してください)。開発者は、ユーザーが挨拶、タスク、FAQなどでボットとの会話を始めたときのボットの優先順位を、以下のオプションから定義することができます。

イベントの設定 オプション
タスクを開始
  • 挨拶/スモールトーク
    • 挨拶や世間話に応答し、ウェルカムイベントのダイアログを開始する挨拶やスモールトークに応答して、ウェルカムイベントのダイアログを開始
    • ユーザーメッセージを破棄し、ウェルカムイベントのダイアログを開始
  • よくある質問(FAQ)
    • FAQに回答し、ウェルカムイベントのダイアログを開始
    • ユーザーメッセージを破棄し、ウェルカムイベントのダイアログを開始
  • タスク
    • ユーザーが要求したタスクを開始し、ウェルカムイベントダイアログを破棄
    • ウェルカムイベントダイアログを開始し、フォローアップインテントにユーザーが要求したタスクを追加

タスクがまだ公開されていない、一時停止されている、単にユーザーに割り当てられていないなどの理由で、タスクがユーザーに利用されていない場合、ボットは、そのタスクが現在実行できないというエラーメッセージを表示します。

メッセージを表示
  • 挨拶/スモールトーク
    • 挨拶や世間話に対応し、ウェルカムイベントのメッセージを表示
    • 挨拶や世間話に対応し、ウェルカムイベントのメッセージを破棄
  • よくある質問(FAQ)
    • FAQに回答し、ウェルカムイベントのメッセージを開始
    • FAQに回答し、ウェルカムイベントのダイアログを破棄
  • タスク
    • ウェルカムイベントメッセージを表示し、ユーザーが要求したタスクを実行
    • ウェルカムイベントメッセージを削除し、ユーザーが要求したタスクを実行
メモ:ボットビルダーのプラットフォームは、ウェルカムメッセージをサポートしていません。旧バージョンのプラットフォームでウェルカムメッセージを定義していた場合、アップグレード版では、下位互換性を確保するために、対応するウェルカムイベントおよび接続時イベントが自動的に作成されます。

会話の終了

会話の終了は、ボットがユーザーにメッセージを送信したり、ユーザーからメッセージを受信したりすることを想定されなくなった場合にトリガーされます。タスクの終了イベントに追加された、タスクを終了する理由を示す新しいフラグは、会話の終了の動作を決定するのに役立ちます。BotKits、RTM、Webhookチャネルのクライアント側の実装では、このタスク完了フラグの理由をコンテキストで使用して、適切な動作を決定することができます。このイベントがトリガーされると、以下の詳細とともにコンテキストが更新されます。

  • イベント発生の理由(下表参照)
  • 終了したばかりのタスクの名前。FAQの場合、タスク名に「FAQ」が設定されます。
シナリオ 会話の終了フラグ
ダイアログの最後のノードに到達 遂行済み
タスクがユーザーにキャンセルされた キャンセル済み
タスクまたはFAQの実行時のエラー(タスク失敗イベントなし、タスクの一時停止なし) 失敗
リンクされたダイアログが親ダイアログに戻らずに終了する Fulfilled_LinkedDialog
FAQへの回答時 遂行済み
スクリプトを実行またはメッセージを表示によるイベント実行の完了(一時停止中のタスクなし) Fulfilled_Event
スクリプトを実行またはメッセージを表示によるイベントを実行時のエラー(一時停止中のタスクなし) Failed_Event
ユーザーが一時停止中のタスクの再開を拒否(他に一時停止されているタスクがない場合) キャンセル済み

IVR Impact このイベントを使用して、音声ベースのチャネルのコールをいつどのように終了させるかを定義することもできます。IVRの導入が強化され、「会話の終了」が完了したときにのみセッション/コールを閉じることができるようになりました。方法はこちらをご確認ください

テレフォニーウェルカムイベント

このイベントは、任意の音声チャネルからプラットフォームへの音声通話を受信した際にトリガーされます。このイベントは、初回だけでなく、ユーザーの通話がプラットフォームで受信されるたびに発生します。これには「ダイアログの実行」と「音声通話のプロパティ」の2つのオプションがあります。

  • ダイアログの実行 – 与えられたドロップダウンリストからトリガーされるタスクを選択します。
  • 音声通話のプロパティは以下のように設定することができます。
    • 「初期プロンプト」を少なくとも1つ定義します。
    • タイムアウトや一致なしのプロンプトを定義することができます。
    • 高度なコントロールで、タイムアウト、試行回数、バージインなどの設定を定義することができます。詳細はこちらをご確認ください

Bot Events are triggered when specific actions occur during bot conversation or when specific events are triggered on bot channels.

For example, when a user clicks the Get Started button to initiate a chat with your FB Messenger bot, it triggers the Facebook Welcome event. You can use this event to customize the welcome greeting such as personalizing it with the user’s first and last names, capturing additional information from users, and updating back-end systems.

Bot Behavior

Developers can define bot behavior when an event is triggered using one of the following options:

Run a task

Select a Dialog task (Standard or Hidden ) to be invoked when the event triggers. Once the event is triggered, the dialog starts executing. If it is interrupted because of other intent detections, the Hold and Resume settings come into play. During execution, if the selected Dialog is not published in the bot, the event is discarded.

In some cases, the Dialog may not be available to the user during a conversation for various reasons such as the task is not yet published or suspended or simply not assigned to the user. In such cases, the bot throws an error message that the task is not currently available for execution. Developers can preempt such situations by testing the bot in Debug mode. Debug Console shows full details about the error, including the reason for the non-availability of the task.

Run a script

Define a JavaScript to run when the event triggers. The script can make use of all applicable components such as session, context objects, bot variables, and bot functions. You can also fix the code using the Debug mode.

Show a message

Define a simple or advanced message to the user when the event triggers. It supports all messaging formatting features available in the Bots Platform, including multiple messages with channel override options.

Multilingual bot behavior:

  • You can define language-specific messages;
  • If a message is deleted from an Event for a specific language then it will be removed from all other languages of the bot;
  • If a message is added for a language then the message would be added in all other languages using the same content;
  • If a message is modified in a language, then the modifications will be applied for that language alone.

Learn more about message formatting and templates.

Event Types

You can configure the following events to trigger responses:

Event Trigger
Welcome Event On receiving the first message from the user from any channel.
Facebook Welcome Event On receiving Welcome Event from Facebook Messenger. This event takes precedence over Welcome Event if both are configured for a bot.
Telephony Welcome Event On receiving a user’s call from a voice channel like IVR, Twilio, or Audio Codes. See below for details.

(previously called Twilio Voice Welcome Event)

Telegram Welcome Event On receiving the Welcome Event from Telegram. This event takes precedence over Welcome Event if both are configured for a bot.
On Connect Every time a user converses over Web / Mobile SDK channels. The event will be triggered irrespective of whether the user has started the conversation or not.
Note that this event applies ONLY for Web/Mobile SDK channel and takes precedence over the Welcome event of both are configured.
End of Conversation On reaching the end of conversation. See below for details.
Task Execution Failure On encountering an error in dialog task execution like:

  • an error in the execution of the bot,
  • service call failure,
  • unable to reach the server
  • error in invoking agent node in case of Human-agent transfer,
  • Knowledge Graph Task failures,
  • Webhook node failures,
  • Dialog related to a sub-dialog node not available,
  • exceptions in parsing the bot message.
RCS Opt-in Event On receiving the message that a user has opted for the RCS Messaging channel.
RCS Opt-out Event On receiving the message that a user has opted out of RCS Messaging channel.

Configuration

Follow these steps to configure a bot event:

  1. On the bot Build tab of the top menu, select Intelligence > Event Handlers.
  2. On the Events page, select one of the events. The Event Configuration window slides open.
  3. Select one of these options to define how to proceed when the selected event is detected:
    • Initiate Task,
    • Run Script,
    • Show Message.

Settings

The settings option allows you to:

  • Manage Variable Namespaces to associate the Variable Namespaces to be used with the Event Handler. This option will be visible only when the Variable Namespace is enabled for the bot. For more information, see Managing Namespace.

Additional Notes

Task Execution Failure Event

  • This event is available from the v6.40 release.
  • By default, this event is always enabled with the Show Message option. This event cannot be disabled.
  • This bot-level behavior can be overridden for specific tasks by defining task-specific failure event from the dialog task settings. Refer here for how.

Welcome/onConnect Event

Users can initiate bot conversations in varied ways, from a simple greeting to directly expressing an intent or asking an FAQ. To facilitate a scope for the developer to customize the bot response based on the user choice, the Welcome event comes with additional options when you choose Initiate Task or Show Message as the event configurations. For example, if the first user utterance maps to a bot task, should the bot execute the event-based task or the user intent first?

Post ver9.0, you can use the isReturningUser parameter in the BotUserSession context object to identify returning users and sending an appropriate welcome message (refer here for context object).

As a developer, you can define the bot priority when the user starts the bot conversation with a greeting, task, or FAQ from the options listed below:

Event Configuration Options
Initiate Task
  • Greetings / Small Talk
    • Respond to greetings or small talk and initiate Welcome Event dialog
    • Discard user message and initiate Welcome Event dialog
  • FAQ
    • Respond to FAQ and initiate Welcome Event dialog
    • Discard user message and initiate Welcome Event dialog
  • Task
    • Initiate user-requested task and discard Welcome Event dialog
    • Initiate Welcome Event dialog and add the user-requested task to Follow-up Intents

If the Task is unavailable to the user for any reason such as the task is not yet published or suspended or simply not assigned to the user, in such cases, the bot throws an error message that the task is not currently available for execution.

Show Message
  • Greetings / Small Talk
    • Respond to greetings or small talk and display Welcome Event message
    • Respond to greetings or small talk and discard Welcome Event message
  • FAQ
    • Respond to FAQ and display Welcome Event message
    • Respond to FAQ and discard Welcome Event message
  • Task
    • Display Welcome Event message and run the user-requested task
    • Discard Welcome Event message and run the user-requested task
Note: The Bot Builder platform no longer supports Welcome Message. If you have defined a Welcome Message in previous versions of the platform, the upgraded version automatically creates a corresponding Welcome event and On Connect event to ensure backward compatibility.

End of Conversation

End of Conversation is triggered when the bot is not expected to send any message to the user or receive any message from the user.

A new flag indicating the reason for ending the task, added to the end of task event, will help in deciding the end of the conversation behavior. Client-side implementations of BotKits, RTM, and Webhook channels can use this reason for task completion flag in the context, to determine an appropriate course of action.

On triggering this event, the context will be updated with the following details:

  • Reason for triggering event (see the table below)
  • Name of the task that has just ended. If its a FAQ then the task name will be given set to ‘FAQ’
Scenario End of Conversation Flag
Reached the last node of the dialog Fulfilled
The task is canceled by the user Canceled
Error in task or FAQs execution (without Task Failure Event, no hold tasks) Failed
Linked dialog completed without returning to the parent dialog Fulfilled_LinkedDialog
On answering a FAQ Fulfilled
Successful event execution with Run Script or Show Message (no tasks on hold) Fulfilled_Event
Error in executing an event with Run Script or Show Message (no tasks on hold) Failed_Event
User declines to resume on-hold task (when no other task is on hold Canceled

IVR Impact

You may also use this event to define how and when the calls should be terminated for voice-based channels. The IVR implementation has been enhanced to enable the closure of the session/call only when the ‘end of conversation’ is completed. See here for how.

Telephony Welcome Event

This event is triggered upon receiving the voice call to the platform from any voice channel. This event will be triggered every time a user’s call reaches the platform, and not just for the first time.

It has two options – ‘Run a Dialog’ and ‘Voice Call Properties’.

  • Run a Dialog – Select a task to be triggered from the drop-down list provided
  • Voice Call Properties can be set as follows:
    • Define at least one ‘Initial Prompts’
    • Prompts for Timeout, and No Match can be defined
    • Under Advanced Controls, settings for Timeout, No. of Retries, and Barge-in can be defined.
      See here for details.