音声対応エージェントは、多くの場合、CRM レコードの更新、ワークフローのトリガー、通話結果のログ記録など、通話終了後にバックエンド アクションを実行する必要があります。
会話の終了時に自動的に実行される呼び出し後のアクション トピックを構成できます。 会話終了イベントは、これらのアクションをトリガーします。 このイベントは、会話が完了し、それが終了した理由を示す信頼性の高い確定的なシグナルを提供します。 このシグナルにより、正確なバックエンド処理、一貫したレポート作成、および予測可能な自動化動作が可能になります。
呼び出し後のアクション
呼び出し後のアクションは、呼び出し元が切断された後、フローの最後に到達する前に、API を呼び出して外部システム (顧客バックエンド データストア) を更新するなどのアクションを実行するのに役立ちます。
Copilot Studio は、明確な会話終了シグナルを提供することで、通話後の自動化が会話ライフサイクルの正しいポイントで確実に実行されるようにします。
会話の終了イベント
音声会話が終了すると、Copilot Studio は 会話の終了 アクティビティを送信します。 このアクティビティは、音声操作が完了したことを明確に示します。
このイベントは、呼び出しがどのように終了したかに関係なく発生します。 これには、顧客の電話切り、外部電話番号への転送、Dynamics 365 Contact Center へのエスカレーションが含まれます。
このアクティビティを使用して、呼び出し後のアクショントピックをトリガーします。 これらのトピックでは、CRM レコードの更新、通話結果のログ記録、ワークフローの開始などのバックエンド処理を処理できます。
このイベントに対処するには、アクティビティ ベースのトリガーを使用してトピックを構成します。 アクティビティの種類を [ 会話の終了] に設定します。 また、システム プロパティ Conversation.EndReason を使用して、特定の会話終了シナリオに対して呼び出し後アクションを実行するかどうかを制御することで、オプションの条件を追加することもできます。
条件付き終了なし
会話の終了トリガーの条件を定義しない場合、呼び出し後のアクション トピックは、すべての会話終了の理由で実行されます。
この既定の動作には、顧客の電話切り、外部電話番号の転送、Dynamics 365 Contact Center へのエスカレーションが含まれます。
その他の条件は必要ありません。
条件付き終了
条件を明示的に定義することで、呼び出し後のアクションを特定の会話終了の理由に制限できます。
たとえば、条件付き終了には、Conversation.EndReasonと等しいCUSTOMER_HANGUPがあります。
この条件を適用すると、トピックは顧客のハングアップに対してのみ実行され、転送やエスカレーションには実行されません。
バックエンド CRM の更新の例
次のシナリオでは、顧客が電話を切ったときにのみ CRM ケースを更新します。
顧客が電話を切ったとき:
- CRM ケースの状態を更新します。
- 通話の終了時刻と終了理由を格納します。
通話が転送またはエスカレートされた場合:
- CRM ケースを更新しないでください。
呼び出し後のアクション トピックを作成する
音声会話が終了したときにバックエンド アクションを実行するには、 会話の終了 アクティビティをリッスンするトピックを明示的に作成する必要があります。
専用の通話後アクション トピックを作成する
呼び出し後処理用の新しいトピックを作成します。 たとえば、 呼び出し後アクションと呼ばれる新しいトピックを作成します。
トリガーをアクティビティ ベースのトリガーに変更する
トピックの [トリガー ] ノードを選択します。
[ トリガーの変更] (または [編集]) を選択します。
[ アクティビティが発生しました] を選択します。
会話の終了を使用するようにトリガーを構成する
[トリガー] ノードの 3 つのドット (...) を選択し、[プロパティ] を選択します。
[ アクティビティの種類 ] を選択し、[ 会話の終了] を選択します。
Note
必要に応じて、会話が終了した理由に基づいて 条件 を追加します。 システム プロパティ Conversation.EndReasonを使用して条件を追加します。 たとえば、 Conversation.EndReason は CUSTOMER_HANGUPと等しくなります。
呼び出し後のバックエンド アクションを追加する
次の例のようなバックエンド アクションを構成します。
- CRM レコードを更新します。
- ログ呼び出しの終了時刻と終了理由。
- ワークフローまたは自動化をトリガーします。
このトピックを構成すると、音声会話が終了し、 会話の終了 シグナルがアクティブになったときに自動的に実行されます。
会話の終了の理由
会話の終了アクティビティは、会話が終了した理由を示すシステム プロパティ Conversation.EndReasonを公開します。
サポートされている Conversation.EndReason 値
| 会話の終了理由文字列 | Description |
|---|---|
| CUSTOMER_HANGUP | 呼び出し元が呼び出しを切断します。 |
| ブラインド転送 | 音声エージェントは、通話を外部の電話番号に転送します。 [ 会話の転送 ] ノードで、[ 転送の種類 ] を [外部電話番号の転送] に設定します。 |
| CCAAS_TRANSFER | 音声エージェントは、通話を Dynamics 365 Contact Center にエスカレートします。 [ 会話の転送 ] ノードで、[ 転送の種類] を [ エージェントに転送] に設定します。 |
設計ガイダンス
同じ呼び出し後処理がすべての会話の終了に適用される場合は、条件を使用しないでください。
異なる終了理由で異なる呼び出し後アクションが必要な場合にのみ、明示的な条件を追加します。
API を使用して CRM レコードなどのバックエンド システムを更新する方法と、AI ドリブン アクションの安全な実行パターンに関するベスト プラクティスについては、音声の最適化に関するツール、ナレッジ、MCP、API と FAQ の詳細を参照してください。