What's New: Extending Copilot in Business Central (2024 Release Wave 2)
Copilot extensibility changes for developers in Business Central 2024 release wave 2: prompt actions on card and document pages, errors and messages inside prompt dialogs, parallel function calling, telemetry to Application Insights, and managed AI resources (private preview). Includes a "Suggest Project with Copilot" build walkthrough.
- Introduction and Copilot Developer Toolkit Overview
- Copilot Prompt Actions on Additional Page Types
- Error and Message Display in Copilot Dialogs
- Column Resizing, UI Improvements, and Parallel Function Calling
- Telemetry and Application Insights
- Managed AI Resources and Preview Announcement
- Demo and Building the Suggest Project with Copilot Extension
- Building Copilot Actions and Prompt Guides
- Azure OpenAI Setup and Authorization
- Chat Completion and Tool Function Calling
- Implementing Copilot Functions and Interfaces
- Summary and Next Steps
Overview
The session covers what is new for developers extending Copilot in Business Central in 2024 release wave 2. It lists the platform changes: copilot prompt actions on more page types, inline errors and messages in prompt dialogs, column resizing, parallel function calling, and telemetry to Application Insights. It also covers managed AI resources, which are in private preview, with a public preview expected at the end of 2024.
The second part builds a “Suggest Project with Copilot” extension on the Project page. The walkthrough registers a capability, builds a prompt dialog page and prompt guides, sets up Azure OpenAI authorization, and uses chat completion with tools and function calling. It finishes by implementing the function interface.
Key points
- Copilot prompt actions now work on card and document pages, in addition to list, list part, worksheet and standard dialog pages.
- Errors, warnings and messages can show inside a copilot prompt dialog. Only the last message is shown, line breaks are not supported, and after an error is thrown later messages are not rendered.
- Parallel function calling lets the model return several tool calls in one response, which reduces round trips. A new AL interface supports it.
- Telemetry to Application Insights needs a connection string in app.json and a telemetry logger set up in code.
- Managed AI resources are in private preview, with a public preview expected at the end of 2024. Managed resource authorization with Azure OpenAI is limited to selected partners for now. A custom Azure subscription is still an option.
- Tools are defined as JSON function definitions, replacing XML parsing. A function must implement the three required interface functions (get name, execute, get prompt) to be recognized.
- Capabilities must be registered so admins can control which copilot capabilities are active. Max tokens and temperature are optional settings.
Features
| Feature | Status | At | Evidence |
|---|---|---|---|
| Copilot Prompt Actions on Card and Document Pages | status not stated, demoed | 1:29 | |
| Error and Message Display in Copilot Dialogs | status not stated, demoed | 3:23 | |
| Column Resizing in Copilot Dialogs | status not stated, demoed | 5:04 | |
| Parallel Function Calling | status not stated | 5:50 | |
| Telemetry for Copilot Features | status not stated | 6:50 | |
| Managed AI Resources | preview | 8:36 | “these manag AI resources they are currently in private preview uh we expect a public preview to open in the end or Al of” (9:17) |
| Suggest Project with Copilot Feature | status not stated, demoed | 9:52 | |
| Prompt Guides | status not stated, demoed | 14:17 | |
| Copilot Progress Dialog Customization | status not stated, demoed | 14:57 | |
| Manage Resource Authorization for Azure OpenAI | status not stated | 16:32 | |
| Copilot Capability Registration and Administration | status not stated, demoed | 16:52 | |
| Temperature and Max Tokens Configuration | status not stated | 17:13 | |
| Chat Completion Endpoint with System and User Messages | status not stated, demoed | 17:53 | |
| Tools and Function Calling | status not stated, demoed | 18:11 | |
| Tool Invocation Preferences | status not stated, demoed | 18:32 | |
| AOI Function Interface Implementation | status not stated, demoed | 19:53 | |
| Prompt Dialog Page Framework | status not stated, demoed | 13:40 |
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.
- enum “Copilot Capability” at 12:27
- codeunit “Copilot Capability Code Unit” at 12:47
- page 89 “Job List” at 13:07
- page “Project List” at 13:07
- page “Prompt Dialog Page” at 13:40
- codeunit “Suggested Job Generate Proposal Code Unit” at 14:57
- codeunit “suggest job generate proposal code unit” at 14:57
- interface “aoi function interface” at 20:13
Not found in BC28-30: enum “Copilot Capability”, codeunit “Copilot Capability Code Unit”, page “Project List”, page “Prompt Dialog Page”, codeunit “Suggested Job Generate Proposal Code Unit”, codeunit “suggest job generate proposal code unit”, interface “aoi function interface”.
Quotes
- 0:26 “allowing Al developers a quick and convenient way to tap into the Asher open AI service using Al code and bring generative co-pilot experiences”
- 2:10 “we’re now introducing support for co-pilot prompt actions on additional page types C document and list page uh page types”
- 3:43 “co-pilot features that displays a prompt dialogue can now show errors and messages directly inside of the dialogue”
- 6:30 “we have unblocked parallel function calling so that the model returns uh the tool calls in one response and that optimizes the round trips”
- 9:17 “these manag AI resources they are currently in private preview uh we expect a public preview to open in the end or Al of”
- 13:40 “we have a prompt dialog page and in the layout we have two important areas The Prompt area and the content area”
- 16:52 “with selected partners that is going to open up to every partner”
- 17:33 “you can also fine tune some more parameters for example the max tokens or the temperature you don’t need to do that”
- 18:52 “with the tool invoke preference you can tell our al toolkit that you want the”
- 20:34 “you need to implement all three of them for your function to be recognized by the AL toolkit”
- 22:53 “make sure as we mentioned before multiple times to keep an eye on the public preview for manage resources that’s coming later this year”
Disclaimers in the video
- 9:17 preview: managed AI resources they are currently in private preview uh we expect a public preview to open in the end or Al of 2024
- 16:52 preview: we are now running this program with selected partners that is going to open up to every partner very soon to use manage resources from Microsoft
- 22:53 coming-later: keep an eye on the public preview for manage resources that’s coming later this year
Presenters (as heard): Peter Boring, Julia Mulet, Enrio Jimyen.
