Codeunit 7773 "Copilot Capability"
System Application · System.AI
Across versions
- BC23-24present
- BC251 events added
- BC26unchanged
- BC272 procedures changed, 2 procedures added
- BC28-30unchanged
Neighbourhood 33 connected objects and pages
System Application · System.AI · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Public |
Events published
OnGetRequiredPrivacyNotices(CopilotCapability: Enum "Copilot Capability"; AppId: Guid; var RequiredPrivacyNotices: List of [Code[50]])+ BC25 (integration): Event that is raised to specify if a Copilot capability depends on any additional privacy notices.- subscribers: Codeunit 6951 “Exp. Privacy Notice Reg.” OnGetRequiredPrivacyNotices, Codeunit 7760 “Copilot Capability Install” OnGetRequiredPrivacyNotices
Procedures
RegisterCapability(CopilotCapability: Enum "Copilot Capability"; LearnMoreUrl: Text[2048])Δ BC27 + BC27: Register a capability.RegisterCapability(CopilotCapability: Enum "Copilot Capability"; CopilotAvailability: Enum "Copilot Availability"; LearnMoreUrl: Text[2048])Δ BC27 + BC27 (obsolete 27.0: Using RegisterCapability now requires additional input parameter, BillingType. Use the other overload for RegisterCapability instead.): Register a capability.RegisterCapability(CopilotCapability: Enum "Copilot Capability"; CopilotAvailability: Enum "Copilot Availability"; CopilotBillingType: Enum "Copilot Billing Type"; LearnMoreUrl: Text[2048])Δ BC27 + BC27: Register a capability.ModifyCapability(CopilotCapability: Enum "Copilot Capability"; CopilotAvailability: Enum "Copilot Availability"; LearnMoreUrl: Text[2048])Δ BC27 + BC27 (obsolete 27.0: Using ModifyCapability now requires additional input parameter, BillingType. Use the other overload for ModifyCapability instead.): Modify an existing capability.ModifyCapability(CopilotCapability: Enum "Copilot Capability"; CopilotAvailability: Enum "Copilot Availability"; CopilotBillingType: Enum "Copilot Billing Type"; LearnMoreUrl: Text[2048])Δ BC27 + BC27: Modify an existing capability.UnregisterCapability(CopilotCapability: Enum "Copilot Capability"): Unregister a capability.IsCapabilityRegistered(CopilotCapability: Enum "Copilot Capability"): Boolean: Check if your capability has been registered.IsCapabilityRegistered(CopilotCapability: Enum "Copilot Capability"; AppId: Guid): Boolean: Check if a specific capability has been registered.IsCapabilityActive(CopilotCapability: Enum "Copilot Capability"): Boolean: Check if your capability is active.IsCapabilityActive(CopilotCapability: Enum "Copilot Capability"; AppId: Guid): Boolean: Check if the capability is active.
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 7774 “Copilot Capability Impl” (5 calls:
IsCapabilityActive → IsCapabilityActive,IsCapabilityRegistered → IsCapabilityRegistered,ModifyCapability → ModifyCapability, …)
Called by
- Codeunit 6290 “Sust. Emis. Suggestion Impl.” (4 calls:
IsReadyToUse → IsCapabilityRegistered,RegisterCapability → IsCapabilityRegistered,RegisterCapability → RegisterCapability, …) - Codeunit 3303 “Payables Agent” (3 calls:
RegisterCapability → IsCapabilityRegistered,RegisterCapability → ModifyCapability,RegisterCapability → RegisterCapability) - Codeunit 4587 “SOA Impl” (3 calls:
RegisterCapability → IsCapabilityRegistered,RegisterCapability → ModifyCapability,RegisterCapability → RegisterCapability) - Codeunit 7250 “Bank Rec. AI Matching Impl.” (3 calls:
RegisterCapability → IsCapabilityRegistered,RegisterCapability → ModifyCapability,RegisterCapability → RegisterCapability) - Codeunit 2014 “Entity Text AI Install” (2 calls:
RegisterCapability → IsCapabilityRegistered,RegisterCapability → RegisterCapability) - Codeunit 2015 “Entity Text AI Upgrade” (2 calls:
RegisterCapability → IsCapabilityRegistered,RegisterCapability → RegisterCapability) - Codeunit 327 “No. Series Copilot Register” (2 calls:
RegisterCapability → IsCapabilityRegistered,RegisterCapability → RegisterCapability) - Codeunit 3305 “Payables Agent Upgrade” (2 calls:
AddBillingTypeToCapability → IsCapabilityRegistered,AddBillingTypeToCapability → ModifyCapability) - Codeunit 3307 “Payables Agent Setup” (2 calls:
AllowCreateNewAgent → IsCapabilityActive,CanShowAgentActions → IsCapabilityActive) - Codeunit 4350 “Custom Agent Setup” (2 calls:
RegisterCapability → IsCapabilityRegistered,RegisterCapability → RegisterCapability) - Codeunit 4589 “SOA Upgrade” (2 calls:
AddBillingTypeToCapability → IsCapabilityRegistered,AddBillingTypeToCapability → ModifyCapability) - Codeunit 6992 “Install Expense Agent Setup” (2 calls:
RegisterCapability → IsCapabilityRegistered,RegisterCapability → RegisterCapability) - Codeunit 7275 “Sales Lines Suggestions Impl.” (2 calls:
RegisterCapability → IsCapabilityRegistered,RegisterCapability → RegisterCapability) - Codeunit 7345 “Create Product Info. Utility” (2 calls:
RegisterCapability → IsCapabilityRegistered,RegisterCapability → RegisterCapability) - Codeunit 7760 “Copilot Capability Install” (2 calls:
RegisterSaaSCapability → IsCapabilityRegistered,RegisterSaaSCapability → RegisterCapability) - Codeunit 7776 “Copilot Capability Upgrade” (2 calls:
OnUpgradePerDatabase → IsCapabilityRegistered,OnUpgradePerDatabase → ModifyCapability) - Codeunit 8358 “MCP Copilot Cap. Reg.” (2 calls:
RegisterMCPCapability → IsCapabilityRegistered,RegisterMCPCapability → RegisterCapability) - Table 7775 “Copilot Settings” (2 calls:
EnsurePrivacyNoticesApproved → OnGetRequiredPrivacyNotices,EvaluateStatus → IsCapabilityActive) - Codeunit 2011 “Entity Text AOAI Settings” (1 call:
IsEnabled → IsCapabilityRegistered) - Codeunit 324 “No. Series Copilot Impl.” (1 call:
IsCopilotVisible → IsCapabilityRegistered) - Codeunit 8359 “MCP Notifications” (1 call:
ShowFeatureDisabledIfApplicable → IsCapabilityActive) - Page 7770 “Copilot Cap. Early Preview” (1 call:
SetActionsEnabled → IsCapabilityActive) - Page 7773 “Copilot Capabilities Preview” (1 call:
SetActionsEnabled → IsCapabilityActive) - Page 7774 “Copilot Capabilities GA” (1 call:
SetActionsEnabled → IsCapabilityActive) - Page extension 7253 “BankAccReconciliationExt” (1 call:
OnOpenPage → IsCapabilityRegistered) - Page extension 7254 “BankAccReconciliationListExt” (1 call:
OnOpenPage → IsCapabilityRegistered) - Page extension 7277 “Sales Invoice Sub Form Ext” (1 call:
OnOpenPage → IsCapabilityRegistered) - Page extension 7278 “Sales Order Sub Form Ext” (1 call:
OnOpenPage → IsCapabilityRegistered) - Page extension 7279 “Sales Quote Sub Form Ext” (1 call:
OnOpenPage → IsCapabilityRegistered) - Page extension 7330 “Item Substitution Entry Ext.” (1 call:
OnOpenPage → IsCapabilityRegistered)
Deprecations
- procedure ModifyCapability: Pending 27.0 (#if not CLEAN27), “Using ModifyCapability now requires additional input parameter, BillingType. Use the other overload for ModifyCapability instead.”
- procedure RegisterCapability: Pending 27.0 (#if not CLEAN27), “Using RegisterCapability now requires additional input parameter, BillingType. Use the other overload for RegisterCapability instead.”
Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Copilot Capability"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.