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

Fin手順の構築

ステップ、ツール、ガイダンスを使って構造化された信頼できるFin手順を構築する方法。

Fin Proceduresは、複雑な問い合わせを処理する際にFinを導く明確で繰り返し可能なフローを設計できます。Stepsで構造を定義し、ToolsでFinの能力を拡張し、Guidanceで動作を形作ります。

情報収集、分岐ロジック、外部システムへの接続、チームメンバーへの引き継ぎなど、ProceduresはFinが会話を開始から終了までどのように扱うかを完全にコントロールできます。

注意:Proceduresを作成するには「can manage workspace data」の権限が必要です。

ヒント:コミュニティエキスパートやIntercomソリューションアーキテクトとProcedures Meetup Office Hoursでつながりましょう。隔週開催のこのセッションでは、Fin ProceduresやData connectorsの設定と最適化を支援するライブQ&Aなど実践的なリアルタイムサポートを提供します。


始める

新しいFin Procedureを作成するには、ワークスペースのFin AI Agent > Train > Proceduresに移動します。+ New procedureをクリックし、希望の作成方法を選択してください。

オプション1:AIに手順を作成させる

すでにプロセスが頭にあるか文書化されている場合、これが最速の方法です。

  1. Let AI draft your procedureを選択してください。

  2. 開始点を選択してください:

    • プロセスを説明する:自然言語でプロセスを書き込むか、既存のステップバイステップの指示や標準作業手順書(SOP)を直接テキストボックスに貼り付けてください。Finが自動的に適切な手順形式に構成します。含めるattributesとData Connectorsを選択できます。すべてを渡すのではなく特定のコネクターを選択可能で、attributesは単なるプレースホルダーではなくコンテキストとして機能します。

    • テンプレートを選択する:業界別テンプレート(例:SaaS、Ecommerce、Fintech、Gaming)を選び、「サブスクリプションのキャンセルまたは一時停止」などの一般的なシナリオを選択します。含めるattributesとData Connectorsを選択できます。すべてを渡すのではなく特定のコネクターを選択可能で、attributesは単なるプレースホルダーではなくコンテキストとして機能します。

  3. Continueをクリックします。Finは入力内容を分析し、過去の顧客との会話、既存のドキュメント、Data Connectorsを検索してワークスペースのコンテキストに基づいてドラフトを作成します。

  4. Finが特定のロジックや指示を具体化できるように、明確化の質問に答えてください。これらは任意ですが、提供するとより正確なドラフトが得られます。

  5. Finがドラフトを生成するとフィードバックモーダルが表示されます。Keepを選択してドラフトを承認、Clearで破棄してやり直し、Try againで再生成します。

ヒント:すでにステップバイステップの指示や文書化されたプロセスがある場合は、オプション1:AIに手順を作成させるを使いましょう。既存の指示を貼り付けるだけでFinが適切な手順形式に構成します。手動で各ステップをフォーマットする必要はありません。まずユースケースをドラフトして、ライブ前に設定すべきData Connectorsを特定することもできます。

オプション2:ゼロから作成する

手動でProcedureを構築したい場合にこの方法を使います。

  1. Create from scratchを選択してください。

  2. Procedureに名前を付け、エディターに入り手動でステップを追加し始めます。

ヒント:最初のFin Procedureを作成するためのクイックスタートガイドをお読みください。

FinにこのProcedureを使うタイミングを伝える

エディターの上部にWhen to use this procedureセクションがあります。これはFinにこのProcedureをいつ使うか正確に伝えるために重要です。Finが意図した時だけ起動するように、明確なトリガーロジックと高品質な会話例を提供する必要があります。これら2つの要素が連携して信頼性を高め、誤検知を減らします。

1. 「When to use this Procedure」のロジックを書く

このProcedureを開始すべき(および開始すべきでない)正確なタイミングを説明してください。強力なトリガーは具体的な条件と除外を含みます。

高品質なトリガーロジックの例:

このProcedureを起動するタイミング:顧客がソフトウェアが正しく動作しない、または予期しない動作をしていると報告したときにこのProcedureを起動します。

含む条件(起動する場合):

  • 顧客が特定の技術的問題やエラーを説明している。

  • 顧客が機能が壊れていると述べている。

  • 顧客がbug、グリッチ、または不具合について言及している。

除外条件(起動しない場合):

  • 顧客が新機能を要求している。

  • 顧客がアカウント関連の質問(例:パスワードリセット)をしている。

明確で包括的なトリガーは、Finが正しい顧客の意図に対してProcedureを起動し、無関係な問い合わせで誤作動しないようにします。

2. Finを例でトレーニングする

ロジックを書いたら、Finに会話例を提供してください。

  • Train Fin on examplesボタンをクリックします。

  • When to use:このProcedureが適切なフレーズやシナリオの例を提供してください。

  • When NOT to use:誤起動を防ぐために類似するが無関係な問い合わせの例を提供してください。

注意:これらの例は、AIが「パスワードリセット」と「一般的なログインポリシー情報」を区別するために重要です。

Procedureのトリガー動作の仕組み

Finはすべての顧客メッセージを評価し、Procedureのトリガー説明に合致するか判断します。会話が始まっただけでProcedureが開始されるわけではありません。Finが顧客の意図がProcedureの目的に合致すると確信したときに開始されます。テスト時は、「When to use this procedure」の指示に明確に意図を表現したメッセージを送ってください。短く曖昧な開始メッセージは避けてください。

Procedureに指示を追加する

Procedureが起動したときにFinに何をすべきか指示を書いて伝えられます。これに加えて、条件や外部データアクセス、属性更新を可能にするツールなど、Finにより多くの権限を与える決定論的コントロールも追加できます。

  • Stepsはフローを定義します。新しい行で「/」を入力して追加します。

  • ToolsはFinに権限を与えます(APIチェックなど)。Instructionステップ内で「@」を入力して追加します。

機能

何をするか

いつ使うか

指示

デフォルトのブロック。自然な言葉での指示。

ほぼすべてに使用。「お客様にメールアドレスを尋ねてください。」

条件

分岐ロジック(IF / ELSE)を追加します。

フローを大きく変える主要な相互排他的な経路に使用します(例:「アイテムが壊れている場合はXを実行。そうでなければYを実行。」)。

小さな変化や軽微な明確化には、分岐ではなく自然言語の指示を使ってください。これにより手順が簡潔になり、FinのAIがより自然に会話を処理できます。例えば、current channelでWhatsAppとウェブで異なるメッセージを送る、またはuser roleでleadsとusersを区別して扱う場合などです。

サブプロシージャを実行

サブプロシージャを実行します。

共通のフロー(例:「Verify Identity」)を再利用したい場合や、メインフローから隠したい複雑なフローに使用します。

終了

Procedureを即座に終了し、Finに戻します。各Endステップには設定可能な終了メッセージがあります。カスタムメッセージを作成するか、空欄にして何も送らないか、デフォルトのままにできます。また、Endステップ到達時の終了アクションを選択可能です:No action(会話は開いたまま)、Close conversation(会話を終了)、またはClose conversation and prevent replies(会話を終了し、顧客からの返信を禁止)。

特定の目標や条件が満たされたらProcedureを停止し、Finが手順を続けないようにします。

データコネクタを呼び出す

接続されたアプリ(Shopify、Stripeなど)からライブデータを取得します。

ステップ内で注文状況や残高を確認する必要がある場合。

属性を読み取る

既存の顧客データを参照します。

ステップ内で顧客のプラン、ID、役割、または現在のチャネルを確認する場合。

属性を更新する

顧客から得た情報を属性に保存します。

ステップ内で後で使うために回答を記憶する場合。

チームに引き継ぐ

意図的に会話をチームまたはチームメイトに引き継ぎます。

ステップ内でボットが問題を解決できない場合。これはDeployセクションで定義されたFinブロックに続くworkflowのエスカレーションパスに従います。

Webhookを待つ

Procedureを一時停止し、外部システムからのPOSTコールバックを待ってからFinが再開します。会話ごとに一意のコールバックURLを生成します。

ステップ内で非同期処理を行うサードパーティシステムと連携する場合。例:本人確認、支払い承認、承認workflows。

重要:

  • ネスト禁止: Conditionステップを他のCondition内にネストできません。

  • 単一ロジックタイプ: 1つのステップ内でコード条件と自然言語条件を混在させることはできません。

  • 未対応属性: 日付や小数などの属性は現在条件で参照できません。

サブプロシージャ

  • 再利用: 同じ親プロシージャ内でサブプロシージャを複数回再利用できます。

  • スコープ: サブプロシージャは現在ローカルで、他の無関係なプロシージャから呼び出せません。

データコネクタの操作

属性スコープ: データコネクタの出力はProcedure内のステップ出力として利用可能ですが、Inboxの会話属性には表示されません。コネクタの返す値を会話属性に永続化するには、Handoff to workflowステップを使い、Workflow内で属性を設定してください。Procedureは引き継ぎ後に再開しません。

常にコネクタの失敗を処理する: すべてのデータコネクタ呼び出し後にConditionステップを追加し、エラーや空の応答を処理してください。フォールバックがないと、コネクタが静かに失敗した場合にFinが予期せずエスカレーションする可能性があります。

ガイダンスを追加

Procedure実行中にFinが顧客とどのようにやり取りするか、具体的なガイダンスを与えます。ガイダンスを追加するには、Fin Procedureを開き、Instructionsエディタの右上にあるGuidanceをクリックしてください。

このprocedureに適用するワークスペースレベルのガイダンスを選択してください。Finは選択されたすべてのガイダンスを組み合わせます。

  • コミュニケーションスタイル

  • コンテキストと明確化

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

  • その他のガイダンス

この手順にのみ適用されるカスタムの手順固有ガイダンスも作成できます。Finはこれを選択したワークスペースレベルのガイダンスと組み合わせます。例:「お客様が先に返金について言及しない限り、返金の話はしないでください。」

注意:手順内でワークスペースガイダンスを使用する際は、次の3点を覚えておいてください。

  • ガイダンスは上書きではなく追加です。ワークスペースガイダンスが有効な場合、Finはそれをあなたが書いた手順固有のガイダンスと組み合わせます。どちらかがもう一方をキャンセルすることはなく、両方が同時に適用されます。

  • 広範なワークスペースルールは手順の途中で発動することがあります。Finが各応答を生成する際にワークスペースガイダンスを評価するため、広範なルールは手順の意図より早く顧客に情報を共有することがあります。ルールを手順外でのみ適用したい場合は、対象条件で範囲を狭めるか、そのロジックを明示的な手順として移動してください。

  • Finの組み込みエスカレーションは常に適用されます。顧客が人間を求めたり、強い不満や怒りを示したり、繰り返しのループに陥った場合に発動するFinのデフォルトエスカレーション動作は、ガイダンス設定に関わらず手順内で常に適用されます。これはワークスペースレベルのEscalation GuidanceやEscalation Rulesとは別で、これらはガイダンスパネルで明示的に有効化する必要があります。


終了メッセージの設定

デフォルトでは、手順終了時にFinは「他にお手伝いできることはありますか?」と送信します。このメッセージは各Endステップごとにカスタマイズ可能で、グローバルデフォルトを設定するか、空にして何も送らないこともできます。

各Endステップには設定可能なメッセージがあります。Endピルをクリックするとサイドパネルが開き、リッチテキストや@attributeメンションを使ってカスタムメッセージを書けます。

手順が自然に完了したとき(Endステップに達しない場合)のデフォルトメッセージを設定するには、手順の設定ダイアログを開き、終了メッセージタブに移動してください。

指示ステップ内にもEndステップを追加できます。@Endと入力してください。Endステップに達したときの動作を制御するには、Endピルをクリックしてサイドパネルを開き、終了アクションを選択します。

  • アクションなし:手順終了後も会話はオープンのままです。

  • 会話を閉じる:Endステップに達したときに会話が閉じられます。

  • 会話を閉じて返信を防止:会話は即座に閉じられ、顧客はそれ以上返信できません。

注意:終了メッセージは自動ローカライズに対応しています。ワークスペースの許可言語に翻訳され、用語集設定を尊重し、顧客の会話ロケールで提供されます。


チャネルを選択

Web、iOS、Android、Facebook、WhatsApp、Instagram、SMS、Email、Slackなど特定のチャネルで手順を実行するには、手順エディター内のAudience targeting設定を使用してください。Channelsドロップダウンメニューで希望のチャネルが選択されていることを確認してください。

特定のオーディエンス向けに手順を実行するには、手順エディター内のAudience targeting設定を使用してください。Audiencesドロップダウンメニューで希望のチャネルが選択されていることを確認してください。


手順のテストと検証

手順を公開する前に、意図した通りに動作するか検証する必要があります。エディター上部のTestボタンをクリックすると、2つのテスト方法にアクセスできます。

プレビュー

Previewタブでは、顧客のようにFinと対話できます。会話のトーン、挨拶、全体の流れを把握するのに役立ちます。

シミュレーション

Simulationsタブでは、指示内の異なるロジックパスを自動でテストできます。これにより、手順を実際の顧客に公開する前にFinが意図通りに動作することを確認できます。

PreviewとSimulationsの違い — どちらを使うべき? Previewは顧客向けの体験全体を表示します。手順がライブ中に使うと実際の顧客にメッセージが見える可能性があります。Simulationsはバックグラウンドで手順を実行し、顧客向けの出力はありません。ライブ前のロジック検証に最も安全な方法です。

シミュレーションタイプを選択してください:

  • ハッピーパス:FinのAIが標準的なシナリオを自動提案し、すぐに始められ、機能の動作を確認できます。

  • カスタムシミュレーションも作成可能:特定のシナリオを作成し、エッジケースや技術的統合をテストできます。以下を定義してください:

    • コンテキスト:開始時の顧客メッセージと会話の進行方法を設定します。

    • モックデータ:カスタム入力とモックData Connectorの応答を定義し、Finがライブデータ(例:「Payment Failed」のStripe応答)を処理する様子をシミュレートします。

    • 成功基準:どのツールが起動されるか、Finが提供すべき情報など、期待する正確な結果を指定します。

実行とレビュー:

シミュレーションを実行して、Finが手順を実行し、モックAPIをトリガーし、ロジックに従う様子を確認します。

  • 合格:シミュレーションはすべての定義された基準を満たしました。

  • 不合格:シミュレーションは失敗しました。シミュレーション内をクリックして、Finが指示からどこで逸脱したかを正確に確認してください。

結果に満足したら、Service agentをオンにしてPublish to Fin Mainをクリックし、手順を顧客に公開してください。


バージョン履歴を表示

手順をライブに設定するたびに、そのバージョンは保存され、バージョン履歴サイドパネルでアクセス可能です。これにより、Finに影響を与えたすべての変更を、過去のドラフトのノイズなしで管理された記録として保持できます。

サイドパネルには以下が表示されます:

  • これまでにライブになったすべてのバージョン

  • 現在のライブバージョン

  • アクティブなドラフト(存在する場合)

サイドパネルの任意のバージョンをクリックすると、そのバージョンの読み取り専用ビューがエディターで開きます。編集に戻るには、編集に戻るボタンをクリックしてください。

注意:過去のドラフトはバージョン履歴に表示されません。ライブに設定されたバージョンのみが記録されます。


手順間を賢く切り替える

有効にすると、Finは顧客の意図が変わったと判断した場合に、現在の手順から別のライブ手順へ自動的に切り替えることができます。

  • 変化する顧客ニーズに自動適応:

    Finは会話とProcedure Trigger Descriptionsをレビューし、手順を切り替えた方が顧客により良いサービスになると判断します。

  • 必要に応じて明確化の質問をする:

    複数の手順が顧客の状況に適している場合、Finは明確化の質問をして曖昧さを解消し、最適な選択肢を選ぶことがあります。

  • Help Centerが優先されます:

    Finは顧客の質問に対応する際、Agentic SwitchよりもHelp Centerのコンテンツを優先し続けます。

注意: 手順で有効になっている場合、Finはこの手順から他のライブ手順に切り替えることができます。移動先の手順はAgentic Switchを有効にしている必要はありません。@Switchコマンドを使って手動で手順を切り替えることも可能です。

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