メインコンテンツにスキップ

Fin手順のためのヒューマンインザループ承認

Finが手順を一時停止し、リスクの高いまたは機微な判断でチームメイト/エージェントの助けを得る方法を学びましょう。

対応者:Dawn

Loop in teammate / agentステップを使って、Fin Procedureの重要なポイントで一時停止し、Finが続行する前にチームメイトの意見や承認を求めます。これは重要な決定、コンプライアンスに敏感なリクエスト、または統合が完全に構築される前の手順フローのテストに役立ちます。Finが会話の制御を維持する間、チームメイトがコンテキストを確認し、決定や回答を入力し、Finは一時停止した場所から再開します。この記事ではヒューマンインザループ(HITL)の使用タイミング、設定とテスト方法、ステップがアクティブな間の割り当てとSLAの挙動について説明します。

注意:ヒューマンインザループは既存のFin Procedure内に追加するステップです。手順に不慣れな場合は、Fin Procedures explainedQuick start: Create a Fin Procedureを読んでから続行してください。


ヒューマンインザループを使うタイミング

Fin ProceduresのLoop in teammate / agentステップには主に2つの用途があります:

  • 人間の監視 — Finが進む前にチームメイトがレビューし承認する必要があるリスクの高いまたは高価値のアクション。例:返金や例外の承認、コンプライアンスに敏感なリクエスト(例:アカウント閉鎖、データ削除)、高価値の顧客エスカレーション、善意のジェスチャー、またはポリシーで人間の承認が必要な状況。

  • 手順のテスト — まだ構築されていないデータコネクターの代わりに立つため。返金やキャンセルのコネクターが開発中の場合、チームメイトが手動でそのステップを実行し、統合が準備できる前に手順全体のフローをテストできます。


ヒューマンインザループの仕組み

1. FinがLoop in teammate / agentステップに到達する

Finが手順のLoop in teammate / agentステップに到達すると:

  • ステップが実行される前に、Finが顧客に送信するメッセージを設定できます。

  • Loop in teammate / agentのメモがinboxに表示され、チームメイトがレビューし対応するために必要なすべてが示されます。

  • 会話はFinのinboxに留まり、人間に引き継がれてはいません。

  • Finはチームメイトが対応するかタイムアウトに達するまで手順を続行しません。

2. チームメイトがレビューして回答する

inboxまたはSlackから、チームメイトはFin requires your decisionカードを見て2つの選択肢から選べます:

  • オプション1:回答を送信(Finが続行): チームメイトは要求されたフィールド(例:決定や理由)を入力して送信します。

    Intercomのinboxにある「Fin requires your decision」カード。Loop in teammate / agentステップに到達した際にチームメイトが見るレビュー用フォームを表示。カードには手順の質問と、チームメイトが送信前に入力するフィールドが表示されます。

    その回答は会話に記録されます。

    Intercomの会話タイムラインにLoop in teammate / agentの回答が内部メモとして記録されている様子。チームメイトの送信した回答が元の質問の下に表示されています。

    Finは手順を再開します。チームメイトの回答は後続のステップやFinが顧客に送る最終メッセージで使用できます。

  • オプション2:会話を引き継ぐ(Finが停止): 必要に応じてチームメイトが会話を引き継げます。会話はチームメイトに割り当てられ、Finは応答を停止します。

    Intercomのinboxにある「Fin requires your decision」カードで、引き継ぎオプションを表示。引き継ぎをクリックすると会話が直接チームメイトに割り当てられ、Finは手順の続行を停止します。


ヒューマンインザループの設定方法

  1. 手順エディターで@を入力し、メニューからLoop in teammate / agentを選択します。

  2. 質問や指示を書く FinはLoop in teammate / agentカードでチームメイトに表示します。チームメイトに決定や対応を依頼するように書いてください。

    Fin ProcedureエディターのLoop in teammate / agentステップ設定パネル。質問フィールドがハイライトされています。ここにレビューするチームメイトに表示する指示や質問を書きます。

    例:「顧客のプランを年間プロに切り替えてもいいですか?」 手順の前半でCall data connectorステップが顧客データ(現在のプラン、請求日、アカウント履歴など)を取得していれば、そのデータがカードの質問の下に表示され、チームメイトが判断に必要なコンテキストを得られます。

  3. チームメイトが提供すべき情報を設定するにはResponse to Collectフィールドを使います。各フィールドにはデータタイプがあります:承認決定にはTrue/False(例:承認:はい/いいえ)、自由回答にはText(例:理由、メモ)を使います。

    Loop in teammate / agentステップのResponse to Collect設定パネル。名前入力、データタイプ選択(True/FalseまたはText)、必須切替があり、チームメイトが送信前に提供すべき情報を制御します。

  4. 後続のステップで回答を使う。 Loop in teammate / agentステップの後にRead attributeステップを追加してチームメイトの回答にアクセスします。IF/ELSE条件で回答に基づき手順を分岐できます。例:承認がTrueならアクションを続行、Falseならリクエストが拒否された旨を顧客に通知。Read attributeステップがないとFinはチームメイトの入力を後続ステップで参照できません。

    Fin ProcedureでRead attributeステップの後にIF/ELSE条件があり、チームメイトのLoop in teammate / agent回答に基づき分岐。承認がTrueなら手順が続行、Falseなら拒否メッセージが顧客に送信されます。

  5. レビュアーを割り当てる。 このステップをレビューすべきチームメイトを選択します。空欄の場合、FinはFin引き継ぎ設定で構成されたDefault担当者を使用します。Mark as priorityを使うとinboxで会話にフラグを立て、チームが優先的に対応できます。

    Loop in teammate / agentステップのレビュアー割り当て設定パネル。特定のチームメイトやチームを選択するドロップダウンと、inboxで会話にフラグを立てるMark as priority切替があります。

  6. 待機時間を設定する — Finがチームメイトの回答を待つ時間を設定し、タイムアウト後にエスカレーションします。設定内容:

    • 期間: タイムアウトをまたは時間で設定します。

    • エスカレーション所有者: タイムアウト時に会話の所有者を選択します。

    • エスカレーションメッセージ: チームメイトが時間内に回答しなかった場合にFinが顧客に送るメッセージを書きます。例:「まだチームメイトから返答がないため、チームに引き継ぎます。」

    • 営業時間外の一時停止(オプション):チームの営業時間外にタイマーを一時停止します。有効にすると、次の営業時間開始時にタイマーが再開されます。選択したチームの営業時間が使われ、未選択または単一チームメイトの場合はワークスペースのデフォルトが使われます。

    Loop in teammate / agentステップの待機時間設定パネル。分または時間の期間入力、タイムアウト時の会話所有者選択、チームメイトが時間内に回答しなかった場合にFinが顧客に送るエスカレーションメッセージ欄があります。

重要: Loop in teammate / agentステップを保存するには少なくとも1つの収集フィールドが必要です。タイムアウト期間とエスカレーションメッセージも設定しないと手順は公開できません。


Slack経由でヒューマンインザループを使う方法

Loop in teammate / agentステップ設定のMore channelsタブでSlackチャンネルを接続すると、このステップに到達した際にチームメイトに通知されます。

Loop in teammate / agentステップ設定パネルのMore channelsタブ。Slackセクションにチャンネルのドロップダウンがあり、手順のこのステップに到達した際に通知を受け取るSlackチャンネルを選択できます。
  1. ステップ設定パネルでMore channelsタブを選択します。

  2. Slackの下で通知したいチャンネルをドロップダウンから選択します。Slackワークスペースの設定や@Intercomのチャンネル追加についてはSet up Slack notificationsを参照してください。設定でChannel PurposePost Slack notifications onlyにすると、通知はSlackに投稿され、別のIntercom会話は作成されません。

Slack通知には手順名、顧客情報、最近の会話メッセージ、Loop in teammate / agentの質問が表示され、前のデータコネクターステップで取得したデータも含まれます。チームメイトはSlackから直接Respondをクリックして回答を送信するか、View in InboxでIntercomの会話を開けます。

Loop in teammate / agentステップのSlack通知。通知には手順名、顧客情報、チームメイトへの質問が表示され、RespondとView in Inboxのアクションボタンがあります。

チームメイトが対応すると、通知は自動的に更新されます:

  • 解決済み:チームメンバーが提出した回答が表示されます(例:approve: true)、そしてFinは手続きを続行します。

  • 期限切れ:タイムアウトが経過しても応答がない場合、通知に「応答がありません。会話はエスカレーションされました。」と表示されます。

複数のチームメンバーがSlackとInboxの両方で通知を見た場合、最初に提出された応答が有効となります。他のすべての未処理通知は自動的に「Resolved」に更新されます。


チームメンバーステップでLoop in teammateの外部データを使用する方法

Loop in teammate / agent ステップを自社システムのデータと組み合わせることができます。例えば:

  • 手続きの前のステップで、データコネクタを使って顧客のプラン、支出、リスクスコアを取得することがあります。

  • その情報はLoop in teammate / agentカードに直接表示され、チームメンバーがより迅速かつ適切な判断を下せるようになります。

  • 同じデータは、タイムアウトが発生した場合の顧客へのエスカレーションメッセージにも表示されます。


タイムアウトとエスカレーションの仕組み

Loop in teammate / agentステップにタイムアウトを設定すると:

  • Finはタイムアウトが切れるまでチームメンバーの応答を待ちます。

  • タイムアウトまでにチームメンバーから応答がない場合、Finはエスカレーションメッセージを送信し、会話から離脱し、エスカレーション設定に従って割り当てを行います。

  • チームが営業時間外の場合、タイマーを一時停止することも可能です。一時停止中は、選択したチームの営業時間、または未選択・単一チームの場合はワークスペースのデフォルト営業時間の開始時にタイマーが再開されます。

注意:待機中の顧客の返信はタイムアウトを延長しません。Finはチームメンバーが行動するまで応答しません。


ヒューマン・イン・ザ・ループのテスト方法

手続きエディタでTestをクリックしてテストオプションを開きます。Loop in teammate / agentステップはインタラクティブプレビューまたはシミュレーションでテストできます。

プレビュー

  1. 手続きエディタでTestをクリックし、トリガーフレーズ(例:「請求サイクルを月額から年額に変更したい」)を入力してプレビューを開始します。

  2. 顧客ビュー:Finは事前設定されたメッセージ(例:「プラン変更前にチームメンバーに確認します。」)を送信し、Loop in teammate / agentステップで一時停止します。

  3. チームメンバーのレビュー:プレビューウィンドウで「Review」または「Review as teammate from inbox」リンクをクリックします。これにより、チームがInboxで見る正確なLoop in teammate / agentカードが開きます。

    手続きプレビュウィンドウはLoop in teammate / agentステップで一時停止しています。「Review as teammate from inbox」リンクが表示され、テスターはチームがInboxで見る正確なレビューカードを開けます。

  4. アクションを完了する:収集フィールド(例:承認/拒否のドロップダウンと理由のテキストフィールド)に入力し、送信をクリックします。

    プレビューセッション中のIntercom inbox内のLoop in teammate / agentレビュー形式。収集フィールドと入力コントロール、送信ボタンが表示され、送信をクリックするとFinが提供された応答で手続きを再開します。

  5. 結果を確認する:Finが手続きを再開し、決定に基づいた適切なフォローアップメッセージ(例:「おめでとうございます!プランは年額請求に正常に変更されました。現在、Pro Yearlyプランで年間470ドル、年間118ドルの節約です。」)を送信することを確認します。予期しない結果の場合は、IF/ELSE条件とRead属性ステップがLoop in teammate / agentの応答フィールドを正しく参照しているか確認してください。

手続きプレビュウィンドウは、チームメンバーがLoop in teammate / agentの決定を提出した後のFinのフォローメッセージを表示し、手続きが正常に再開・完了したことを確認しています。

Preview as user or lead設定を使って、異なる顧客セグメントでの手続きの挙動をテストします。

シミュレーション

手続きにLoop in teammate / agentステップが含まれる場合、シミュレーションフォームにTeammate input available to Finセクションが表示されます。シミュレーションを実行する前に編集して値(例:「Approved: true」)を追加する必要があります。

Fin Procedure Simulationsタブは「Teammate input available to Fin」セクションを表示しています。ここでモック応答値(例:「Approved: true」)を入力して、Loop in teammate / agentの承認結果をテストできます。

シミュレーションを実行し、Loop in teammate / agentステップに到達すると:

  • Loop in teammate / agentの質問が記載されたノートが作成され、チームメンバーが実際の会話で見るものと同じです。

    手続きシミュレーション中にLoop in teammate / agentステップに到達した際、Intercom inboxに作成されたシミュレーションノート。質問とレビュアーの詳細が表示され、チームメンバーが実際の会話で見るものと一致します。

  • すべての必須値が事前入力済み:Finに「応答が提出されました」ノートが作成され、チームメンバーが応答したかのように手続きが続行されます。

  • 必須値が不足している場合:シミュレーションはタイムアウトとして扱われ、エスカレーションメッセージが送信され、会話がエスカレーションされます。実際にチームメンバーが時間内に応答しなかった場合と同様です。


ヒューマン・イン・ザ・ループ中の割り当てとSLAの挙動

Loop in teammate / agentステップ中の割り当て、SLA(サービスレベルアグリーメント)、チームメンバーの非アクティブ状態の挙動は、会話がFinまたは人間のチームメンバーから始まったかによって異なります。

ヒューマン・イン・ザ・ループの割り当ての仕組み

Finが会話を管理している場合(bot inbox有効)

  • FinはLoop in teammate / agentステップで設定されたレビュアーチームまたはチームメンバーに会話を割り当てます。

  • レビュアーチームの割り当てルールは通常通り適用されます — ラウンドロビン、負荷分散、または手動。

  • 会話は一時的に人間に渡っていても、引き続きボット管理下とみなされます。これによりSLAの延期やチームメンバーの非アクティブ状態の挙動に影響します(下記参照)。

  • チームメンバーがLoop in teammate / agentフォームを提出すると、会話はFinのbot inboxに戻り、手続きが再開されます。

チームメンバーがLoop in teammate / agent中に「引き継ぐ」をクリックした場合

  • 会話は「引き継ぐ」をクリックしたチームメンバーに割り当てられます。

  • 手続きは停止し、Finは再開しません。

人間がすでに会話を管理している場合(bot inboxなし)

  • Finはレビュアーに割り当てる前に現在の所有者を記録します。

  • チームメンバーがLoop in teammate / agentフォームを提出すると、会話は元の担当者に戻り、Finには戻りません。

ヒューマン・イン・ザ・ループ中のSLAの挙動

SLAの挙動は、bot inboxが有効かどうか、およびDefer SLAs for bot inboxがオンかどうかの2つのワークスペース設定に依存します。

Bot inboxオン、SLAは延期されます

Finを人間のSLAに影響を与えずに動作させたい場合、これが推奨設定です。

  • SLAはLoop in teammate / agent中は延期されたままです。会話を一時的にチームメイトに割り当ててもSLAタイマーは開始されず、引き続きbot管理として扱われます。

  • SLAは恒久的な退出時にのみ開始されます。タイマーは会話がbot inboxから恒久的に離れたときに始まります。例えば、Finがエスカレーションした場合、チームメイトがTake overをクリックした場合、またはLoop in teammate / agentステップがタイムアウトした場合です。

  • Loop in teammate / agent中の手動再割り当てはSLAを延期したままにします。チームメイトがLoop in teammate / agentが有効な間に会話を他の人に再割り当てしても、SLAは延期されたままです。

  • タイムアウトエスカレーションがSLAの時計を開始します。タイムアウトしたLoop in teammate / agentステップはbot inboxからの恒久的な退出であり、その時点で延期されていたSLAが開始されます。

Bot inboxオン、SLAは延期されず、会話はすでに人間のチームメイトに割り当てられています

これらすべてのシナリオでは延期はなく、SLAタイマーは適用された瞬間から動作します。

  • SLAタイマーは適用された時点から動作し、他の会話と同様です。

  • Loop in teammate / agentの割り当てはSLAの動作を変えません。SLAの目的では通常の割り当てと同様に扱われます。

ヒント: 手順とLoop in teammate / agentの最適な体験のために、bot inboxを有効にし、「Exclude the time conversations spend in the bot inbox from SLA targets」をオンにすることをお勧めします。これにより、Finは人間のSLAを消費せずにできるだけ多くの作業を完了し、チームメイトが引き継いだ後は既存のSLA動作を維持します。

Intercomワークスペース設定のSLA設定ページにある「Exclude the time conversations spend in the bot inbox from SLA targets」トグル。これを有効にすると、チームメイトが恒久的に引き継ぐまでbot管理の会話が人間のSLAタイマーを消費しません。

人間の介入中のチームメイトの非アクティブ状態

‘チームメイトが応答していない’ workflowsの動作は、会話がFin管理か、すでにチームメイトに割り当てられているかによって異なります。Loop in teammate / agentステップに到達した時点での状態によります。

Finに割り当てられた会話(bot inbox有効)

会話がレビューのために一時的にチームメイトに割り当てられると、‘チームメイトが応答していない’ workflowsはトリガーされません。会話は引き続きFin管理と見なされます。

  • 非アクティブワークフローはLoop in teammate / agent中はトリガーされません。会話は引き続きbot管理と見なされるため、‘チームメイト応答なし’ルールは発動しません。

  • 非アクティブワークフローは恒久的な退出後に再開します。会話がbot inboxから恒久的に離れると、非アクティブ動作は通常に戻ります。

すでにチームメイトに割り当てられた会話(bot inboxなし)

Loop in teammate / agentに到達しても動作は変わらず、‘チームメイトが応答していない’ workflowsはこれまで通りトリガーされます。

シナリオごとの概要

すべてのLoop in teammate / agentの結果におけるSLA、チームメイトの非アクティブ状態、割り当ての動作は以下の通りです。

シナリオ

SLAの動作

チームメイトの非アクティブ状態

Loop in teammate / agent後の割り当て 応答

Bot inboxオン、SLAは延期されます

延期 — SLAは開始されません

Loop in teammate / agent中は抑制されます

Finに戻る(bot inbox)

Bot inboxオン、SLAは延期されません

SLAは通常通り動作します

Loop in teammate / agent中は抑制されます

Finに戻る(bot inbox)

Bot inboxなし

SLAは通常通り動作します

通常通りトリガーされます

元の人間の担当者に戻ります

Loop in teammate / agentタイムアウト(どの設定でも)

SLAが開始されます — Finからの恒久的な退出

通常通りトリガーされます

Loop in teammate / agentステップのエスカレーションルールに従いエスカレーションされます

チームメイトが'Take over'をクリック

SLAが開始されます — Finからの恒久的な退出

通常通りトリガーされます

引き継いだチームメイトに割り当てられます


解決状態

以下の表は各Loop in teammate / agentの結果に対してFinが記録する解決状態と、その後の会話の動作を示しています。

シナリオ

解決状態

次に何が起こるか

チームメイトが時間内に応答する

通常の解決

Finは一時停止した手順の続きから実行を続けます。

チームメイトが会話を引き継ぐ

想定された解決

Finが停止します。会話はチームメイトに割り当てられ、人間の会話として続行されます。

タイムアウト内にチームメイトの応答なし

引き継ぎ / エスカレーション

Finが停止します。エスカレーションメッセージが顧客に送信され、会話はエスカレーション設定に従ってルーティングされます。


チームメイト / エージェントのループイン と手順のチームへの引き継ぎの違い

これら二つの機能は似ていますが、動作は異なります:

  • チームへの引き継ぎ: Finは応答を停止し、チームメイトがその時点から会話全体を引き継ぎます。

  • チームメイト / エージェントのループイン: Finは一時停止し、チームメイトの入力や判断を待ってから手順を再開します。チームメイトは貢献しますが、引き継ぎはしません。

顧客の視点から見ると、チームメイト / エージェントのループインは見えません — 会話は中断なく続きます。

こちらの回答で解決しましたか?