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はチームメイトが対応するかタイムアウトに達するまで手順を続行しません。
注意事項:
会話の割り当てはワークスペースとFin Procedureの設定によります。ワークスペースでBot Inboxが有効で、「Review Team」がデフォルトのままの場合、Finは割り当てられたままで会話はBot Inboxに残ります。Bot Inboxが無効で「Review Team」がデフォルトの場合、会話はデフォルトの担当者に割り当てられます。
どちらの場合も、Team Inboxが割り当てられていれば、会話はそのInboxに割り当てられます。
2. チームメイトがレビューして回答
inboxまたはSlackから、チームメイトはFin requires your decisionカードを見て2つの選択肢から選べます:
オプション1: 回答を送信(Finが続行): チームメイトは要求されたフィールド(例:決定や理由)を入力して送信します。
回答は会話に記録されます。
Finは手順を再開します。チームメイトの回答は後続のステップやFinが顧客に送る最終メッセージで使用できます。
オプション2: 会話を引き継ぐ(Fin停止): 必要に応じてチームメイトが会話を引き継げます。会話はチームメイトに割り当てられ、Finは応答を停止します。
ヒューマンインザループの設定方法
手順エディタで@を入力し、メニューからLoop in teammate / agentを選択します。
質問や指示を書く 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引き継ぎ設定のデフォルト担当者を使用します。優先マークを使うとinboxで会話にフラグを立て、チームが優先的に対応できます。
待機時間を設定 チームメイトの回答を待つ時間を設定し、期限切れ時のエスカレーションを構成します。
期間: タイムアウトを分または時間で設定。
エスカレーション所有者: タイムアウト時に会話の所有者を選択。
エスカレーションメッセージ: チームメイトが期限内に回答しなかった場合にFinが顧客に送るメッセージを書きます。例:「チームメイトからの返答がまだないため、チームに引き継ぎます。」
営業時間外の一時停止(任意):チームの営業時間外にタイマーを一時停止します。次の営業時間開始時にタイマーが再開され、選択したチームの営業時間が適用されます。チーム未選択または単一チームメイト選択時はワークスペースのデフォルトが使われます。
引き継ぎ先: 以前と同様にチームまたはチームメイトにルーティングするにはTeamを選択、ワークフローに引き継ぐにはWorkflowを選択します。手順のチャネルで実行可能なワークフローのみが選択肢に表示されます。ワークフローに引き継ぐと手順は終了し、ワークフロー実行後に再開しません。タイマー発動時にワークフローがアーカイブ、ドラフト、削除されている場合はチーム引き継ぎ設定に戻ります。
重要:Loop in teammate / agentステップを保存するには少なくとも1つの収集フィールドが必要です。タイムアウト期間とエスカレーションメッセージも設定しないと手順は公開できません。
Slack経由でのヒューマンインザループの使い方
Loop in teammate / agentステップ設定のMore channelsタブでSlackチャンネルを接続すると、このステップに到達した際にチームメイトに通知されます。
ステップ設定パネルでMore channelsタブを選択します。
Slackの下で通知したいチャンネルをドロップダウンから選択します。Slackワークスペースの設定や@Intercomをチャンネルに追加する方法はSlack通知の設定を参照してください。設定でチャンネルの目的をPost Slack notifications onlyにすると、通知はSlackに投稿され、別のIntercom会話は作成されません。
Slack通知には手順名、顧客情報、最近の会話メッセージ、そしてLoop in teammate / agentの質問が表示されます。以前のデータコネクターステップで取得したデータも含まれます。チームメイトはSlackから直接Respondをクリックして回答を送信するか、View in InboxをクリックしてIntercomで会話を開くことができます。
チームメイトが行動すると、通知は自動的に更新されます:
✅ 解決済み:チームメイトが送信した回答が表示され(例:approve: true)、Finは手順を続行します。
⏳ 期限切れ:タイムアウトが過ぎて回答がない場合、通知には「回答がありません。会話はエスカレーションされました。」と表示されます。
複数のチームメイトがSlackとInboxの両方で通知を見た場合、最初に送信された回答が有効となります。他のすべての未処理通知は自動的に「解決済み」に更新されます。
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中に「Take over」をクリックした場合
会話は「Take over」をクリックしたチームメイトに割り当てられます。
手順は停止し、Finは再開しません。
人間がすでに会話を管理している場合(bot inboxなし)
Finは割り当て前に現在の所有者を記録します。
チームメイトがLoop in teammate / agentフォームを送信すると、会話はFinではなく元の担当者に戻ります。
ヒューマンインザループ中のSLAの動作
SLAの動作は、bot inboxが有効かどうか、およびExclude the time conversations spend in the bot inbox from SLA targetsがオンかどうかの2つのワークスペース設定に依存します。
Bot inboxオン、SLAは保留
Finが人間のSLAに影響を与えずに動作することを望む場合、これが推奨設定です。
Loop in teammate / agent中はSLAは保留のままです。会話を一時的にチームメイトに割り当てても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タイマーは他の会話と同様に、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動作が維持されます。
注意:ヒューマンインザループ中にチームメイトがTake overをクリックしたときに特定のSLAを適用するために別のWorkflowを作成した場合(例えば「Team assignment changed」や他の割り当て変更条件でトリガーされるもの)、そのWorkflowは発動しない可能性があります。Take overは管理レベルでのみ会話を再割り当てし、チームレベルではなく、IntercomのWorkflowエンジンはこの種の内部bot作成の再割り当てをWorkflowトリガーから除外しています。現在、代替策としての一般的な「Assignment changed」トリガーはなく、Fin Proceduresはまだ手順ステップとしてのApply SLAアクションをサポートしていません。上記のSLA保留設定がTake over時に自動的にSLAを開始する信頼できる方法です。もしTake overの瞬間に特化したWorkflowが必要な場合は、会話を引き継ぐチームが手動でSLAを適用する必要があります。
ヒューマンインザループ中のチームメイトの非アクティブ状態
‘チームメイトが応答していない’Workflowの動作は、会話がFin管理か、すでにチームメイトに割り当てられているかによって異なります。Loop in teammate / agentステップに到達した時点での状態によります。
Finに割り当てられた会話(bot inbox有効)
会話が一時的にチームメイトに割り当てられてレビューされている間は、‘チームメイトが応答していない’Workflowはトリガーされません。会話は引き続きFin管理と見なされます。
Loop in teammate / agent中は非アクティブWorkflowはトリガーされません。会話は引き続きbot管理と見なされるため、‘チームメイトが応答していない’ルールは発動しません。
恒久的に退出した後に非アクティブWorkflowは再開されます。会話がbot inboxを恒久的に離れると、非アクティブ動作は通常に戻ります。
すでにチームメイトに割り当てられた会話(bot inboxなし)
Loop in teammate / agentに到達しても動作は変わらず、‘チームメイトが応答していない’Workflowはこれまで通りトリガーされます。
シナリオ別のまとめ
すべての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からの恒久的な退出 | 通常通りトリガーされます | Take overしたチームメイトに割り当てられます |
解決状態
次の表は、各Loop in teammate / agentの結果に対する解決状態Finレコードと、その後の会話の流れを示しています。
シナリオ | 解決状態 | 次に起こること |
チームメイトが時間内に応答する | 通常の解決 | Finは一時停止した手順の続きから実行を続けます。 |
チームメイトが会話を引き継ぐ | 想定解決 | Finは停止します。会話はチームメイトに割り当てられ、人間の会話として続行されます。 |
タイムアウト内にチームメイトの応答なし | 引き継ぎ | Finは停止します。タイムアウトメッセージが顧客に送信され、会話は設定されたターゲット(チーム、チームメイト、またはworkflow)に引き継がれます。workflowの場合は次の処理を決定し、手順は再開されません。 |
Loop in teammate / agent とチームへの手順引き継ぎの違い
これら二つの機能は似ていますが、動作は異なります。
チームへの引き継ぎ: Finは応答を停止し、チームメイトがその時点から会話全体を引き継ぎます。
Loop in teammate / agent: Finは一時停止し、チームメイトの入力や判断を待ってから手順を再開します。チームメイトは貢献しますが、引き継ぐわけではありません。
顧客の視点では、Loop in teammate / agentは見えず、会話は中断なく続きます。
















