addActionHandler (référence de l’API cliente)

Inscrit une fonction de gestionnaire personnalisée pour une action de Microsoft 365 Copilot.

Syntax

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

Paramètres

Nom du paramètre Catégorie Required Description
actionId string Oui Identificateur unique de l’action à gérer.
actionHandler Function Oui Fonction à appeler lorsque l’action est déclenchée. Reçoit la charge utile de données de l’action en tant qu’argument.
successCallback Function Oui Fonctionnalité à appeler lorsque l’opération aboutit.
errorCallback Function Oui Fonction à appeler lorsque l’opération échoue.

Valeur de retour

Type : Promise<void>

Remarks

Vous pouvez inscrire plusieurs gestionnaires pour le même actionId. Ils s’exécutent de manière séquentielle. L’API ignore silencieusement l’inscription de la même référence de fonction deux fois pour la même actionId. L'API ne fait rien si Microsoft 365 Copilot n'est pas activée.

ID d’action intégrés

Les ID d’action suivants ont des gestionnaires par défaut de plateforme inscrits automatiquement. Vous pouvez ajouter des gestionnaires personnalisés en même temps que ceux-ci ou supprimer les gestionnaires par défaut en premier à l’aide de removeDefaultActionHandlers.

ID d’action Description Propriétés des données
MS.PA.CopilotChat.OpenRecord Ouvre un enregistrement. entity (chaîne) — nom logique de table ; recordId (chaîne) — ID d’enregistrement
MS.PA.CopilotChat.NavigateToView Accède à une vue. entity (chaîne) — nom logique de table ; fetchXml (chaîne) — Requête FetchXML

Exemple

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, méthode
Xrm.Copilot (référence de l’API client)