addActionHandler (справочник по API клиента)

Регистрирует пользовательскую функцию обработчика для действия Microsoft 365 Copilot.

Syntax

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

Parameters

Имя параметра Тип Обязательный Description
actionId string Да Уникальный идентификатор действия для обработки.
actionHandler Function Да Функция, вызываемая при активации действия. Получает полезные данные действия в качестве аргумента.
successCallback Function Да Функция, вызываемая при успешном выполнении операции.
errorCallback Function Да Функция, вызываемая при сбое операции.

Возвращаемое значение

Тип: Promise<void>

Remarks

Для одного и того же actionIdобработчика можно зарегистрировать несколько обработчиков. Они выполняются последовательно. API автоматически игнорирует регистрацию одной и той же ссылки на функцию дважды для одного и того же actionId. API ничего не делает, если Microsoft 365 Copilot не включен.

Встроенные идентификаторы действий

Следующие идентификаторы действий имеют обработчики по умолчанию платформы, зарегистрированные автоматически. Вы можете добавить пользовательские обработчики вместе с ними или сначала удалить обработчики по умолчанию с помощью removeDefaultActionHandlers.

Идентификатор действия Description Свойства данных
MS.PA.CopilotChat.OpenRecord Открывает запись. entity (строка) — логическое имя таблицы; recordId (string) — идентификатор записи
MS.PA.CopilotChat.NavigateToView Переходит к представлению. entity (строка) — логическое имя таблицы; fetchXml (строка) — запрос FetchXML

Пример

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 клиента)