addActionHandler (क्लाइंट एपीआई संदर्भ)

Microsoft 365 Copilot क्रिया के लिए एक कस्टम हैंडलर फ़ंक्शन पंजीकृत करता है।

सिंटैक्स

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

पैरामीटर

पैरामीटर का नाम प्रकार आवश्यक विवरण
actionId स्ट्रिंग हां संभालने के लिए कार्रवाई का अद्वितीय पहचानकर्ता.
actionHandler फलन हां क्रिया ट्रिगर होने पर आह्वान करने का फ़ंक्शन. एक तर्क के रूप में कार्रवाई का डेटा पेलोड प्राप्त करता है।
successCallback फलन हां ऑपरेशन सफल होने पर कॉल करने के लिए एक फ़ंक्शन।
errorCallback फलन हां ऑपरेशन विफल होने पर कॉल करने के लिए एक फ़ंक्शन।

लौटाया जाने वाला मान

प्रकार: Promise<void>

टिप्पणी

आप एक ही के actionIdलिए कई हैंडलर पंजीकृत कर सकते हैं। वे क्रमिक रूप से चलते हैं। एपीआई चुपचाप एक ही फ़ंक्शन संदर्भ को दो बार पंजीकृत करने की उपेक्षा करता है actionId। यदि Microsoft 365 Copilot सक्षम नहीं है तो API कुछ नहीं करता है।

अंतर्निहित कार्रवाई आईडी

निम्न क्रिया ID में प्लैटफ़ॉर्म-डिफ़ॉल्ट हैंडलर स्वचालित रूप से पंजीकृत होते हैं. आप उनके साथ कस्टम हैंडलर जोड़ सकते हैं, या पहले डिफ़ॉल्ट हैंडलर को removeDefaultActionHandlers का उपयोग करके निकाल सकते हैं।

कार्रवाई आईडी विवरण डेटा गुण
MS.PA.CopilotChat.OpenRecord एक रिकॉर्ड खोलता है। entity (स्ट्रिंग) - तालिका तार्किक नाम; recordId (स्ट्रिंग) - रिकॉर्ड आईडी
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 (क्लाइंट एपीआई संदर्भ)