Lead with a complete plugin quick start and add task-oriented usage, troubleshooting, customization, and contribution guides. Preserve the broader plugin framing, correct conflicting contract guidance, support Agents folder reviews, and align repository validation. Convert existing sample references to clickable links without changing knowledge rules. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1.6 KiB
| bc-version | domain | keywords | technologies | countries | application-area | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
agents |
|
|
|
|
Wire all three agent interfaces on the metadata provider
Description
An AL agent type is registered by extending Agent Metadata Provider. The platform locates factory, metadata, and task-execution behaviour only through the Implementation property on that enum value. Omitting IAgentFactory, IAgentMetadata, or IAgentTaskExecution leaves create, UI identity, or task runs unbound. Models often ship a single codeunit and skip the enum wiring.
Best Practice
On the enum value, set Implementation for all three interfaces, each pointing at a dedicated codeunit. Keep factory (create, defaults, first-time setup), metadata (setup page, summary, annotations), and task execution (message analysis, intervention suggestions) in separate objects.
See sample: wire-all-three-agent-interfaces.good.al.
Anti Pattern
An Agent Metadata Provider value with no Implementation, only one interface mapped, or all three interfaces pointing at one catch-all codeunit that cannot satisfy the contracts. Detection signal: enumextension of Agent Metadata Provider whose value does not list IAgentFactory, IAgentMetadata, and IAgentTaskExecution.
See sample: wire-all-three-agent-interfaces.bad.al.
See also
register-copilot-capability-for-the-agent.md covers the feature capability linked by the factory implementation.