addActionHandler (Referencia da API do cliente)

Rexistra unha función de manexador personalizada para unha acción de Microsoft 365 Copilot.

Sintaxe

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

Parámetros

Nome do parámetro Tipo Necesario Descripción
actionId cadea Si O identificador único da acción a manexar.
actionHandler Función Si A función para invocar cando se activa a acción. Recibe a carga útil de datos da acción como argumento.
successCallback Función Si Unha función a chamar cando a operación teña éxito.
errorCallback Función Si Unha función a chamar cando a operación falla.

Valor devolto

Tipo: Promise<void>

Observacións

Podes rexistrar múltiples manexadores para o mesmo actionId. Funcionan de forma secuencial. A API ignora silenciosamente rexistrar a mesma referencia de función dúas veces para o mesmo actionId. A API non fai nada se Microsoft 365 Copilot non está activado.

IDs de acción incorporados

Os seguintes IDs de acción teñen os manipuladores por defecto da plataforma rexistrados automaticamente. Podes engadir xestores personalizados xunto a eles, ou eliminar primeiro os manexadores predeterminados usando removeDefaultActionHandlers.

ID de acción Descripción Propiedades dos datos
MS.PA.CopilotChat.OpenRecord Abre un disco. entity (cadea) — nome lóxico da táboa; recordId (cadea) — ID de rexistro
MS.PA.CopilotChat.NavigateToView Navega ata unha vista. entity (cadea) — nome lóxico da táboa; fetchXml (cadea) — Consulta FetchXML

Exemplo

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);

método removeActionHandler
Xrm.Copilot (Referencia da API do cliente)