Business Central Under the Hood episode 14: Building Agents in Business Central
Building custom agents in Business Central sandboxes without code: the three required parts (instructions, profile, permissions), how the platform wraps instructions in a larger prompt, how profiles limit the agent UI, and when an agent fits better than AL code. Also covers the sample agents and the announced agent testing capability.
- Opening
- Introduction to Custom Agents
- Custom Agents and Built-in Agents
- Three Required Components: Instructions, Profile, and Permissions
- Writing Agent Instructions
- Instructions as Part of Larger Prompts and Security
- Understanding Profiles and UI Limitation
- Profile Design Principles and Implementation
- Testing Profiles and Handling Third-Party Extensions
- UI Complexity and Agent Usability
- Creating Custom Pages and Fixing Product Usability
- Permission Sets and Security for Agents
- Model Selection and Prompt Management
- Instruction Syntax and Getting Started with Custom Agents
- Sample Agents and When to Build Agents
- Good Agentic Scenarios and Use Cases
- Language Models and Variability in Agents
- Local Knowledge and Multi-Language Support
- Low-Frequency Agentic Scenarios and Cost
- SDK, Future Development and Closing
Overview
Episode 14 of Business Central Under the Hood explains how custom agents are built in a sandbox. A custom agent needs instructions, a profile and a permission set. The speakers recommend short, natural-language instructions. They note that the platform wraps these in a larger prompt and protects against prompt injection. Page-specific instructions use a curly braces and percentage syntax.
The video spends time on profiles, which limit the agent’s UI and set the starting role center. Three new profile properties clear actions, fields and saved views from a page, and code then adds back only what the agent needs. The talk also covers permissions as the intersection of user and agent permission sets, and the sample agents (Sales Validator, a sales return agent in development). It ends with guidance on good agentic scenarios, low cost for infrequent tasks, the upcoming SDK and agent testing.
Key points
- Custom agents are built in a sandbox without code from three parts: instructions, a profile and permissions. A wizard opens from the plus icon or the agents list.
- Instructions are wrapped by the platform in a larger prompt. The recommendation is to write minimal natural-language instructions. Page-specific instructions use curly braces and percentage syntax.
- Profiles limit the agent’s UI and set the starting role center. Three new profile properties clear all actions, fields and saved views from a page, and code adds back what is needed. The speaker said the vanilla W1 items page has 120 actions.
- An agent runs with the intersection of the permission sets of the user who gave it the task and the agent’s own permission set. Anything the agent can do, the user should be able to do.
- Fields from third-party extensions can be exposed to agents through configuration. If an extension adds mandatory fields the agent cannot fill, it asks for user intervention.
- Agents suit scenarios with variability, ad-hoc tasks, and language or external knowledge. They do not suit fixed algorithms, where AL code fits better. The speaker cited about 20-30 dollars a month for a low-frequency scenario.
- Microsoft controls model selection and partners are notified of model changes. The SDK for partners to ship agents and agent testing are both described as coming, with no dates given.
Features
| Feature | Status | At | Evidence |
|---|---|---|---|
| Custom Agents | status not stated | 1:04 | |
| Sales Order Agent | status not stated | 2:03 | |
| Payables Agent | status not stated | 2:03 | |
| Agent Instructions | status not stated, demoed | 4:47 | |
| Agent Profiles | status not stated | 10:38 | |
| Profile UI Clearing Properties | status not stated | 13:09 | |
| Agent Security Handling | status not stated | 9:40 | |
| UI-based profile configuration | status not stated | 13:41 | |
| Profile code support for extended properties | status not stated | 14:06 | |
| Configuration-based field extension for agents | status not stated, demoed | 14:58 | |
| Agent response to extension mandatory fields | status not stated, demoed | 15:44 | |
| Item availability search page | status not stated | 18:34 | |
| Smarter search platform support | status not stated | 18:59 | |
| Agent permission set intersection | status not stated | 21:01 | |
| Indirect inherited permissions | status not stated | 22:54 | |
| Model abstraction for partners | status not stated | 24:03 | |
| Page-specific instruction syntax | status not stated | 26:28 | |
| Timeline-reflective instructions structuring | status not stated | 26:18 | |
| Custom agent creation wizard | status not stated | 27:34 | |
| Sales Validator sample agent | status not stated | 28:26 | |
| Sales return agent | status not stated, demoed | 28:42 | |
| Agentic scenarios guidance | status not stated | 29:22 | |
| PDF document and image analysis in agents | status not stated, demoed | 30:23 | |
| Language model knowledge in agents | status not stated, demoed | 31:38 | |
| Multi-language email processing | status not stated | 33:18 | |
| Low-frequency task automation with agents | status not stated | 33:52 | |
| Agent SDK | status not stated | 34:57 | |
| Agent testing capability | announced | 35:12 | “giving you the ability to test your agents which we will be releasing quite soon” (35:12) |
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.
- page 4316 “Agent List” at 1:14
- page “role center” at 1:14
- page 9301 “Sales Invoice List” at 8:36
- page “items page” at 16:47
- page 42 “Sales Order” at 16:47
Not found in BC28-30: page “role center”, page “items page”.
Quotes
- 1:04 “the custom agents are the agents that you can build in sandboxes out of the box without writing any code”
- 5:05 “when we were writing the sales order agent, the instructions that we have written I think in the minimum instruction set contained three or”
- 6:18 “Now, you cannot ship with this, right? So people don’t get the wrong assumptions because in half of the cases, it will post the”
- 8:11 “The platform is wrapping the instructions that they write within a much larger prompt. Thus, the instructions that they provide will get additional handling”
- 10:38 “the profile is needed so you can limit the agent’s UI”
- 12:10 “anything that the agent is able to do, the end user should be able to do as well”
- 13:09 “we added three properties that are going to clear the action all of the actions that you have in the UI, all of the”
- 16:47 “On the items page, there is 120 actions. Pure vanilla W1. And sales order has together with lines, it has around close to 100”
- 21:01 “When agent is running, it’s going to run as the intersection of the permission sets of the user that gave it the task and”
- 21:36 “We have written the negative test case where we were expecting the agent to ask for the user intervention. There was no customer and”
- 24:03 “they cannot control which model they will be using. The models are decided by us and we are the ones that are updating the”
- 26:06 “if you have a complicated page and you would like to add some page-specific instructions, there is a syntax that these instructions will be”
- 26:40 “So for page-specific instructions, it is something like curly braces percentage if page equals this”
- 27:34 “when you log into the sandbox, you will see a small icon with a plus that helps you to create a custom agent. It”
- 27:34 “you will see a small icon with a plus that helps you to create a custom agent. It will open a simple wizard”
- 28:26 “it is basically checking for the open sales orders if they are ready to release”
- 29:47 “my recommendation to all of you is to use the best tool for the job, right?”
- 29:59 “it’s a scenario which has a lot of variability, where you need the agent to go and to do a specific task potentially in”
- 30:23 “Out of the box, the platform is enabling me to analyze the attached PDF documents. If the customer has attached any images, we can”
- 34:44 “The company can make a small investment of 20-30 dollars a month and get their scenarios up and running.”
- 34:57 “We are also releasing the SDK and the SDK will allow partners to build and ship their own agents.”
- 35:12 “The second item that we are going to be looking into is giving you the ability to test your agents which we will be”
Disclaimers in the video
- 13:30 subject-to-change: we are also considering to enable this thing through the UI. And possibly also to have some agentic help to help you to generate these pages
- 13:41 coming-later: we are also considering to enable this thing through the UI. And possibly also to have some agentic help to help you to generate these pages
- 22:54 coming-later: we are also have started working on changing the way how we are writing instructions permissions and how we are handling permissions in the product. We are moving more to these indirect inherited permissions
- 28:42 coming-later: We are working to ship more samples. And one of the samples that I’m looking at at the moment is writing these sales return agent
- 34:57 coming-later: We are also releasing the SDK and the SDK will allow partners to build and ship their own agents.
- 35:12 coming-later: giving you the ability to test your agents which we will be releasing quite soon
- 35:54 other: we have a lot of items on the backlog and we are really looking forward for your feedback what to prioritize
Presenters (as heard): Vincent, Nikolai.
