bcquality/community/knowledge/agents/agent-setup-page-is-configuration-dialog.md
Stefano Demiliani 53e2cf2fa4
Add community guidance and review support for Business Central agents (#137)
* 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
2026-09-02 16:06:25 +02:00

1.3 KiB

bc-version domain keywords technologies countries application-area
27..
agents
configurationdialog
agent-setup-part
setup-page
pagetype
system-actions
al
w1
all

Agent setup pages use ConfigurationDialog and the Agent Setup Part

Description

Instance setup is not a Card or StandardDialog. The toolkit expects PageType = ConfigurationDialog so OK and Cancel are system actions, plus the built-in Agent Setup Part for name, display name, state, and access. A Card with custom fields only drops those shared controls and the AI-use notices the part carries.

Best Practice

Declare PageType = ConfigurationDialog, host part(...; "Agent Setup Part"), and put agent-specific fields in another group. Keep system OK/Cancel. Use a temporary source record and defer persistence until Update, as described in agent-setup-source-table-is-temporary.md. Following Microsoft's agent setup samples, set Extensible = false.

See sample: agent-setup-page-is-configuration-dialog.good.al.

Anti Pattern

A Card or StandardDialog setup page with no Agent Setup Part. Detection signal: setup page ID from IAgentFactory / IAgentMetadata whose page is not ConfigurationDialog or has no Agent Setup Part.

See sample: agent-setup-page-is-configuration-dialog.bad.al.