| bc-version |
domain |
keywords |
technologies |
countries |
application-area |
|
|
agents |
| agent-session |
| isagentsession |
| bindsubscription |
| system-initialization |
| singleinstance |
|
|
|
|
Description
Page-filter tweaks, extra validation, and prompt dialogs for the agent should not run for every user. Agent Session.IsAgentSession distinguishes agent UI sessions. Binding those subscribers on System Initialization only when the session is an agent session avoids global subscriber cost. Models register SingleInstance table subscribers unconditionally.
Best Practice
On OnAfterInitialization, exit unless Agent Session.IsAgentSession. Then BindSubscription a single-instance codeunit that holds the current task id. Keep those subscribers internal.
See sample: bind-agent-subscribers-only-in-agent-session.good.al.
Anti Pattern
Event subscribers on Sales Header OnAfterInsert that always Message the agent, with no IsAgentSession guard. Detection signal: agent-only behaviour in a static subscriber that is not bind-gated.
See sample: bind-agent-subscribers-only-in-agent-session.bad.al.