Loop in teammate / agentステップを使って、Fin Procedureの重要なポイントで一時停止し、Finが続行する前にチームメイトの意見や承認を求めます。これは重要な決定、コンプライアンスに敏感なリクエスト、または統合が完全に構築される前の手順フローのテストに役立ちます。Finが会話の制御を維持する間、チームメイトがコンテキストを確認し、決定や回答を入力し、Finは一時停止した場所から再開します。この記事ではヒューマンインザループ(HITL)の使用タイミング、設定とテスト方法、ステップがアクティブな間の割り当てとSLAの挙動について説明します。
注意:ヒューマンインザループは既存のFin Procedure内に追加するステップです。手順に不慣れな場合は、Fin Procedures explainedとQuick 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が続行): チームメイトは要求されたフィールド(例:決定や理由)を入力して送信します。
その回答は会話に記録されます。
Finは手順を再開します。チームメイトの回答は後続のステップやFinが顧客に送る最終メッセージで使用できます。
オプション2:会話を引き継ぐ(Finが停止): 必要に応じてチームメイトが会話を引き継げます。会話はチームメイトに割り当てられ、Finは応答を停止します。
ヒューマンインザループの設定方法
手順エディターで@を入力し、メニューからLoop in teammate / agentを選択します。
質問や指示を書く FinはLoop in teammate / agentカードでチームメイトに表示します。チームメイトに決定や対応を依頼するように書いてください。
例:「顧客のプランを年間プロに切り替えてもいいですか?」 手順の前半でCall data connectorステップが顧客データ(現在のプラン、請求日、アカウント履歴など)を取得していれば、そのデータがカードの質問の下に表示され、チームメイトが判断に必要なコンテキストを得られます。
チームメイトが提供すべき情報を設定するにはResponse to Collectフィールドを使います。各フィールドにはデータタイプがあります:承認決定にはTrue/False(例:承認:はい/いいえ)、自由回答にはText(例:理由、メモ)を使います。
後続のステップで回答を使う。 Loop in teammate / agentステップの後にRead attributeステップを追加してチームメイトの回答にアクセスします。IF/ELSE条件で回答に基づき手順を分岐できます。例:承認がTrueならアクションを続行、Falseならリクエストが拒否された旨を顧客に通知。Read attributeステップがないとFinはチームメイトの入力を後続ステップで参照できません。
レビュアーを割り当てる。 このステップをレビューすべきチームメイトを選択します。空欄の場合、FinはFin引き継ぎ設定で構成されたDefault担当者を使用します。Mark as priorityを使うとinboxで会話にフラグを立て、チームが優先的に対応できます。
待機時間を設定する — Finがチームメイトの回答を待つ時間を設定し、タイムアウト後にエスカレーションします。設定内容:
期間: タイムアウトを分または時間で設定します。
エスカレーション所有者: タイムアウト時に会話の所有者を選択します。
エスカレーションメッセージ: チームメイトが時間内に回答しなかった場合にFinが顧客に送るメッセージを書きます。例:「まだチームメイトから返答がないため、チームに引き継ぎます。」
営業時間外の一時停止(オプション):チームの営業時間外にタイマーを一時停止します。有効にすると、次の営業時間開始時にタイマーが再開されます。選択したチームの営業時間が使われ、未選択または単一チームメイトの場合はワークスペースのデフォルトが使われます。
重要: Loop in teammate / agentステップを保存するには少なくとも1つの収集フィールドが必要です。タイムアウト期間とエスカレーションメッセージも設定しないと手順は公開できません。
Slack経由でヒューマンインザループを使う方法
Loop in teammate / agentステップ設定のMore channelsタブでSlackチャンネルを接続すると、このステップに到達した際にチームメイトに通知されます。
ステップ設定パネルでMore channelsタブを選択します。
Slackの下で通知したいチャンネルをドロップダウンから選択します。Slackワークスペースの設定や@Intercomのチャンネル追加についてはSet up Slack notificationsを参照してください。設定でChannel PurposeをPost Slack notifications onlyにすると、通知はSlackに投稿され、別のIntercom会話は作成されません。
Slack通知には手順名、顧客情報、最近の会話メッセージ、Loop in teammate / agentの質問が表示され、前のデータコネクターステップで取得したデータも含まれます。チームメイトはSlackから直接Respondをクリックして回答を送信するか、View in InboxでIntercomの会話を開けます。
チームメイトが対応すると、通知は自動的に更新されます:
✅ 解決済み:チームメンバーが提出した回答が表示されます(例: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ステップはインタラクティブプレビューまたはシミュレーションでテストできます。
プレビュー
手続きエディタでTestをクリックし、トリガーフレーズ(例:「請求サイクルを月額から年額に変更したい」)を入力してプレビューを開始します。
顧客ビュー:Finは事前設定されたメッセージ(例:「プラン変更前にチームメンバーに確認します。」)を送信し、Loop in teammate / agentステップで一時停止します。
チームメンバーのレビュー:プレビューウィンドウで「Review」または「Review as teammate from inbox」リンクをクリックします。これにより、チームがInboxで見る正確なLoop in teammate / agentカードが開きます。
アクションを完了する:収集フィールド(例:承認/拒否のドロップダウンと理由のテキストフィールド)に入力し、送信をクリックします。
結果を確認する:Finが手続きを再開し、決定に基づいた適切なフォローアップメッセージ(例:「おめでとうございます!プランは年額請求に正常に変更されました。現在、Pro Yearlyプランで年間470ドル、年間118ドルの節約です。」)を送信することを確認します。予期しない結果の場合は、IF/ELSE条件とRead属性ステップがLoop in teammate / agentの応答フィールドを正しく参照しているか確認してください。
Preview as user or lead設定を使って、異なる顧客セグメントでの手続きの挙動をテストします。
シミュレーション
手続きにLoop in teammate / agentステップが含まれる場合、シミュレーションフォームにTeammate input available to Finセクションが表示されます。シミュレーションを実行する前に編集して値(例:「Approved: true」)を追加する必要があります。
シミュレーションを実行し、Loop in teammate / agentステップに到達すると:
Loop in teammate / agentの質問が記載されたノートが作成され、チームメンバーが実際の会話で見るものと同じです。
すべての必須値が事前入力済み: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動作を維持します。
人間の介入中のチームメイトの非アクティブ状態
‘チームメイトが応答していない’ 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は一時停止し、チームメイトの入力や判断を待ってから手順を再開します。チームメイトは貢献しますが、引き継ぎはしません。
顧客の視点から見ると、チームメイト / エージェントのループインは見えません — 会話は中断なく続きます。
















