addActionHandler (クライアント API リファレンス)

Microsoft 365 Copilot アクションのカスタム ハンドラー関数を登録します。

Syntax

Xrm.Copilot.addActionHandler(actionId, actionHandler).then(successCallback, errorCallback);

Parameters

パラメーター名 タイプ 必須 Description
actionId 文字列 はい 処理するアクションの一意識別子。
actionHandler Function はい アクションがトリガーされたときに呼び出す関数。 アクションのデータ ペイロードを引数として受け取ります。
successCallback Function はい 処理が成功したときに呼び出す関数。
errorCallback Function はい 処理が失敗したときに呼び出す関数。

戻り値

タイプ: Promise<void>

Remarks

同じ actionIdに対して複数のハンドラーを登録できます。 これらは順番に実行されます。 API は、同じ actionIdに対して同じ関数参照の登録を 2 回自動的に無視します。 Microsoft 365 Copilotが有効になっていない場合、API は何も行いません。

組み込みのアクション ID

次のアクション ID には、プラットフォームの既定のハンドラーが自動的に登録されています。 カスタム ハンドラーを一緒に追加することも、 removeDefaultActionHandlers を使用して既定のハンドラーを最初に削除することもできます。

操作 ID Description データ プロパティ
MS.PA.CopilotChat.OpenRecord レコードを開きます。 entity (文字列) — テーブルの論理名。 recordId (文字列) — レコード ID
MS.PA.CopilotChat.NavigateToView ビューに移動します。 entity (文字列) — テーブルの論理名。 fetchXml (文字列) — FetchXML クエリ

Example

const handler = async ({ entity, recordId }) => {
    // Open the record in a side pane instead of navigating away
    const pane = Xrm.App.sidePanes.createPane({ canClose: true });
    await pane.navigate({ pageType: "entityrecord", entityName: entity, entityId: recordId });
};

await Xrm.Copilot.addActionHandler("My.Namespace.MyActionMessage", handler);

removeActionHandler メソッド
Xrm.Copilot (クライアント API 参照)