スロット充填用の Webhook

実行時にインテントが一致すると、Dialogflow エージェントは、エンドユーザーが各必須パラメータにデータを提供するまでエンドユーザーから情報を収集し続けます。このプロセスをスロット充填と呼びます。

デフォルトでは、Dialogflow はエンドユーザーから必要なデータをすべて収集するまでフルフィルメント Webhook リクエストを送信しません。

スロット充填用の Webhook が有効な場合、Dialogflow はスロット充填中に会話ターンごとにフルフィルメント Webhook リクエストを送信します。

ほとんどの場合、必要なすべてのパラメータを収集するにはパラメータ プロンプトで十分ですが、スロット充填用の Webhook を使用すると、パラメータの収集中に特定のエージェント ロジックを定義できます。たとえば、Webhook では、フォローアップの質問のカスタマイズや、データベースなどのエンドユーザーのレスポンスから取得できないパラメータ スロットの設定を処理できます。

スロット充填用の Webhook を有効にする

設計時にスロット充填用の Webhook を有効にするには、次のようにします。

  1. Dialogflow ES コンソールに移動します。
  2. エージェントを選択します。
  3. 左側のサイドバーのメニューで [Intents] を選択します。
  4. インテントを選択します。
  5. [Fulfillment] セクションまで下にスクロールします。
  6. [Enable webhook call for slot filling] をオンにします。
  7. [SAVE] をクリックします。

実行時にスロット充填用の Webhook を処理する

Webhook サービスが受信した Webhook リクエスト メッセージには、queryResult.parameters フィールドがあります。このフィールドには、エンドユーザーから提供された現在のパラメータ セットが含まれます。まだ収集されていない値は、空の文字列として設定されます。

パラメータを設定するための Webhook レスポンス メッセージの例については、Webhook レスポンスの例をご覧ください。