为智能 Microsoft 365 Copilot 副驾驶®操作注册自定义处理程序函数。
Syntax
Xrm.Copilot.addActionHandler(actionId, actionHandler).then(successCallback, errorCallback);
Parameters
| 参数名称 | 类型 | 必需 | Description |
|---|---|---|---|
actionId |
字符串 | 是的 | 要处理的操作的唯一标识符。 |
actionHandler |
函数 | 是的 | 触发操作时要调用的函数。 接收操作的数据有效负载作为参数。 |
successCallback |
函数 | 是的 | 作成功时要调用的函数。 |
errorCallback |
函数 | 是的 | 作失败时要调用的函数。 |
返回值
类型:Promise<void>
Remarks
可以为同一 actionId个处理程序注册多个处理程序。 它们按顺序运行。 API 以无提示方式忽略为同 actionId一个函数引用注册两次。 如果未启用智能 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);