20260713 - From Zero to Agent Building agents in Business Central
Building custom agents in Business Central, shown with an inventory check agent demo. Covers setup, instructions, permissions, task architecture, billing and AL-based agent creation. Custom agent creation is in preview, sandbox only, minimum version 27.4.
- Introduction and webinar housekeeping
- Speaker introduction and agenda overview
- What is an agent and existing agents in Business Central
- Requirements and setup for building custom agents
- Creating a custom agent - configuration and templates
- Live demo - inventory check agent scenario
- Agent-created purchase orders and task architecture
- Code units for agent tasks - task builder and message builder
- Background orchestration and external orchestrator
- Agent instructions, prompting, and memory management
- Agent access control, permissions, and consumption monitoring
- Agent debugging, testing, and code-based creation
- Agent configuration, KPI tracking, and AL development
- Q&A: Sandbox, attachments, multi-agent, and security
Overview
An Areopa webinar that explains what agents are, lists the existing agents (sales order, payables, expense), and then walks through building a custom agent. A live demo uses an inventory check scenario: the agent reads an email, checks stock, creates a purchase order when items are missing, and replies, with human-in-the-loop requests and an audit trail.
The second half is aimed at developers. It covers the task, task builder and task message builder codeunits, the external orchestrator, job queue use for email, instructions and memory, role center and page restrictions, permission elevation, consumption monitoring, and creating agents in AL with the Agent Factory, configuration dialogue pages, capability registration and a KPI page. Custom agent creation is in preview and works only in sandbox, with no production date given.
Key points
- Custom agent creation is in preview, works only in sandbox, not production, and needs version 27.4 or higher.
- Billing must be set up because agent actions consume credits; if credits run out, agents stop working. Agent admin and agent diagnostic permissions are needed.
- Agent execution is based on tasks and task messages linked by conversation IDs; the agent task builder and task message builder codeunits create them, and an external orchestrator runs tasks.
- Instructions drive agent behavior. Memory holds actions, not state, and must be requested in the prompt. Instructions need guards against prompt injection, such as blocking price changes.
- Restrict agents with a dedicated role center and page customization. Agents have no Tell Me search, and they read tool tips and error messages, so clear UI text matters.
- When a user approves an agent action in a review dialog, the agent gets the combined permissions of the user and the agent for that action.
- In AL, use the Agent Factory codeunit and Agent Beta Data interface, register capabilities with billing type build, and test with many variants again after any model change.
Features
| Feature | Status | At | Evidence |
|---|---|---|---|
| Sales order agent | status not stated | 4:49 | |
| Payables agent | status not stated | 5:36 | |
| Expense agent | generally available | 4:49 | “now also we have the expense agent that is released recently” (4:49) |
| Custom agent creation | preview, demoed | 5:59 | “it is still on on on preview. They are really testing right now from what is happening.” (45:23) |
| Agent permissions | status not stated | 9:07 | |
| Agent instructions and prompting | status not stated, demoed | 9:22 | |
| Agent model selection | status not stated, demoed | 9:39 | |
| Agent testing and execution | status not stated, demoed | 9:59 | |
| Inventory check agent | status not stated, demoed | 10:20 | |
| Agent audit trail | status not stated, demoed | 13:03 | |
| Agent billing and credits | status not stated | 6:29 | |
| Purchase order creation by agent | status not stated, demoed | 14:42 | |
| Task and task message architecture | status not stated | 16:57 | |
| Agent task builder codeunit | status not stated | 19:05 | |
| Agent task message builder codeunit | status not stated | 19:50 | |
| External orchestrator | status not stated | 20:41 | |
| Job queue integration for email processing | status not stated | 18:38 | |
| Human-in-loop intervention | status not stated, demoed | 25:47 | |
| Agent memory | status not stated, demoed | 26:39 | |
| Agent tools per page type | status not stated, demoed | 27:35 | |
| Page-Specific Instructions | status not stated | 28:21 | |
| Agent Role Center Limitation | status not stated, demoed | 29:08 | |
| Page Column Limitation | status not stated, demoed | 30:08 | |
| Tell Me Search Restriction | status not stated | 30:43 | |
| Page Customization with Boolean Flags | status not stated, demoed | 31:13 | |
| Agent Permission Model | status not stated, demoed | 32:05 | |
| Agent Consumption Tracking | status not stated, demoed | 33:09 | |
| Agent Task and Subtask Execution | status not stated, demoed | 34:17 | |
| Agent JSON Representation and Visibility | status not stated, demoed | 35:32 | |
| Tool Tips and Error Messages for Agents | status not stated, demoed | 35:48 | |
| Agent Testing in UI | status not stated | 37:38 | |
| Agent Factory Codeunit | status not stated, demoed | 38:18 | |
| Agent Beta Data Interface | status not stated | 38:18 | |
| Agent Configuration Dialogue Page Type | status not stated, demoed | 38:58 | |
| Agent Capability Registration | status not stated, demoed | 40:15 | |
| Agent Creation Codeunit with Activate Function | status not stated, demoed | 40:33 | |
| Agent KPI Page | status not stated, demoed | 41:15 | |
| AL Agent Development | status not stated, demoed | 42:23 | |
| Copilot Studio vs AL Agent Comparison | status not stated | 42:23 | |
| Copilot-AL Agent Interaction | announced | 43:31 | “later on the road map there will be also that copilot agents can interact with AL agents” (43:31) |
| Sandbox-Only Development | status not stated | 43:51 | |
| Agent Testing Requirements | status not stated | 44:04 | |
| Agent Attachment Handling | status not stated | 46:03 | |
| Single Agent Context Limitation | status not stated | 46:44 | |
| Prompt Injection Prevention | status not stated | 47:44 | |
| AL Agent Project Template | status not stated | 48:15 |
AL objects mentioned
As heard in the captions. A name that matches one object page by exact type and name links to it; the others stay as named.
- other “Sales validation agent template” at 8:35
- other “Inventory check agent” at 10:20
- codeunit 4303 “Agent Task” at 19:05
- codeunit 4315 “Agent Task Builder” at 19:05
- codeunit 4316 “Agent Task Message Builder” at 19:05
- page 31 “Item List” at 24:46
- page 9307 “Purchase Order List” at 25:12
- other “Agent Factory” at 38:18
- interface “Agent Beta Data” at 38:18
- page “Configuration Dialogue” at 39:21
- codeunit “Agent Creation Codeunit” at 40:33
- page “setup page” at 39:09
- page “KPI page” at 41:15
- codeunit “create activate” at 40:33
Not found in BC28-30: interface “Agent Beta Data”, page “Configuration Dialogue”, codeunit “Agent Creation Codeunit”, page “setup page”, page “KPI page”, codeunit “create activate”.
Quotes
- 3:50 “an agent is more like an a piece of software that can perform task on behalf of your self it it will listen to”
- 4:49 “The sales order agents that was the first agents for it. The purchase agent and now we have a merchant or purchase agent it’s”
- 6:14 “it cannot be implemented inside the production uh the minimum version is 27.4 for it will automatically uh install it”
- 6:29 “You need to have an agent admin and an agent diagnostic. And it’s quite important that you have to have set up your billing”
- 9:22 “You have to set up instructions. So in that case that tells the agent what he needs to do inside this central what kind”
Disclaimers in the video
- 6:14 preview: it cannot be implemented inside the production uh the minimum version is 27.4
- 7:18 preview: it’s currently is just for prototyping because it’s only working in in sandbox
- 7:58 preview: please be aware it’s uh currently possible inside production because it’s still in preview
- 38:18 preview: Agent Factory codeunit and Agent Beta Data interface - part of agent development framework
- 39:21 preview: Configuration Dialogue page type is a new page type for agent setup
- 43:31 coming-later: later on the road map there will be also that copilot agents can interact with AL agents
- 43:51 preview: it is prototyping only. It’s working only on an sandbox for it
- 45:00 not-in-this-release: agents are only available on sandbox environments at the moment
- 45:23 preview: It is still on on on preview. They are really testing right now
- 45:23 coming-later: there is no end date from or there’s sorry no date from when it will be available for uh production environments
Presenters (as heard): Tobias Fencler, Bat Fabake.
