* feat(community/agents): add AL agent quality guidance - add 20 agent knowledge rules with good and bad AL samples - clarify setup dialog shape, temporary persistence, permissions, profiles, instructions, capability registration, and interface wiring - add the community-owned AL agents review skill - make review fixture discovery layer-aware with custom, community, and Microsoft precedence - document layer-aware evaluation behavior * fix(community/agents): align setup and permission samples - mark agent setup pages as non-extensible where required - narrow the agent profile by hiding an unrelated sales-order field - define a dedicated read-only permission set for the sales review agent - assign AL-defined permission sets with system scope and the owning app ID - clarify the permission scope guidance for default access controls * Address agent review feedback
1.5 KiB
| bc-version | domain | keywords | technologies | countries | application-area | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
agents |
|
|
|
|
Register a Copilot capability for the agent on install
Description
Each agent type needs a Copilot Capability enum value that the factory links as the feature switch and billing surface. The capability is invisible on Copilot and agent capabilities until an install codeunit calls RegisterCapability when it is not already registered. Unique ordinals matter across installed apps. Models often extend Agent Metadata Provider and never register the capability.
Best Practice
Extend Copilot Capability with a unique value. In OnInstallAppPerDatabase, call Copilot Capability.IsCapabilityRegistered and, if false, RegisterCapability with availability, billing type, and a learn-more URL. Point IAgentFactory at that capability.
See sample: register-copilot-capability-for-the-agent.good.al.
Anti Pattern
Shipping the agent enum without a Copilot Capability value, or adding the enum but never calling RegisterCapability. Duplicate ordinals across extensions also collide. Detection signal: agent metadata provider with no matching capability registration in an install codeunit.
See sample: register-copilot-capability-for-the-agent.bad.al.
See also
wire-all-three-agent-interfaces.md covers registration of the provider implementation that references this capability.