addActionHandler (Referência da API do cliente)

Regista uma função de handler personalizada para uma ação do Microsoft 365 Copilot.

Sintaxe

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

Parameters

Nome do parâmetro Tipo Obrigatório Description
actionId cadeia (de caracteres) Yes O identificador único da ação a tratar.
actionHandler Function Yes A função para invocar quando a ação é acionada. Recebe a carga útil de dados da ação como argumento.
successCallback Function Yes Uma função a ser chamada quando a operação for bem-sucedida.
errorCallback Function Yes Uma função para chamar quando a operação falhar.

Valor de retorno

Tipo: Promise<void>

Remarks

Pode registar múltiplos handlers para o mesmo actionId. Elas correm sequencialmente. A API ignora silenciosamente o registo da mesma referência de função duas vezes para o mesmo actionId. A API não faz nada se o Microsoft 365 Copilot não estiver ativado.

IDs de ação incorporados

Os IDs de ação seguintes têm os handlers padrão da plataforma registados automaticamente. Podes adicionar handlers personalizados juntamente com eles, ou remover os handlers padrão primeiro usando removeDefaultActionHandlers.

ID da Ação Description Propriedades de dados
MS.PA.CopilotChat.OpenRecord Abre um disco. entity (string) — nome lógico da tabela; recordId (string) — ID do registo
MS.PA.CopilotChat.NavigateToView Navega até uma vista. entity (string) — nome lógico da tabela; fetchXml (string) — Consulta 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);

Método removeActionHandler
Xrm.Copilot (referência da API do cliente)