Remember, your app is also a webpage!

The other day, we were struggling to fit a lot of information on a page in BC when I suddenly realized that my app is also “just” a web page and that I shouldn’t be afraid of thinking about the app as a webpage. Check out the video:

https://youtu.be/SIPLqz2ujrE

In this video, Erik shares a simple but easy-to-forget insight: your Business Central app runs in a web browser, which means you can leverage standard web patterns — like hyperlinks — to improve the user experience. What starts as a real-world challenge with the Simple Object Designer leads to an elegant solution that’s surprisingly easy to implement in AL.

The Problem: Too Much Text, Too Little Space

Erik and the team at hogarth.com were working on their Simple Object Designer extension. Through telemetry, they noticed that some users were having trouble downloading symbols — a process similar to what happens in Visual Studio Code when you need to download symbols to understand the fields, tables, and other objects in an environment.

The symbol download process is handled entirely in AL, connecting from within Business Central to the dev endpoints. For most users, it works fine, but depending on permissions and other factors, some users were running into issues.

The team wanted to provide better guidance. They had already added explanatory text to the page, but there was simply too much information to convey in the limited space available on a Business Central page. They considered writing a small description, but it would have been too much text crammed into too little space.

The “Aha” Moment: Your App Is Just a Web Page

Then the realization hit: our app is also just a web page. Since Business Central runs in the browser, why not simply add a hyperlink that takes the user to a documentation page with a full explanation?

In the old days, with other types of clients (not the web browser client), opening a browser was more cumbersome. But now, it’s just a link on a web page that opens another web page. There’s nothing special about it — and yet, for some reason, the idea of adding a link inside the app wasn’t at the forefront of the team’s thinking when brainstorming solutions.

How to Add a Clickable Link in AL

The implementation is surprisingly straightforward. The trick is to use a Label variable as a field on the page, hide its caption, and then use the OnDrillDown trigger to call the Hyperlink function. Here’s the complete example:

pageextension 50123 CustomerCardExt extends "Customer Card"
{
    layout
    {
        addlast(General)
        {
            field(HelpLinkCtl; HelpLink)
            {
                ApplicationArea = all;
                ShowCaption = false;
                trigger OnDrillDown()
                begin
                    Hyperlink('https://www.youtube.com/watch?v=dQw4w9WgXcQ');
                end;
            }
        }
    }
    var
        HelpLink: Label 'Get more help, we really need help!';
}

Let’s break down the key elements:

  • Use a Label variable — Not a text field on a table, but a Label variable. This gives you the clickable, link-styled text on the page.
  • Set ShowCaption = false — This removes the leading caption that would otherwise appear next to the control, keeping the display clean.
  • Set ApplicationArea = all — Even in version 22 and later when working on a page extension, you still need to specify the application area.
  • Use the OnDrillDown trigger — This is where the magic happens. When the user clicks the label, the Hyperlink procedure opens the specified URL in a new browser tab.

A Fun Copilot Surprise

In a humorous twist during the demo, Erik let GitHub Copilot suggest the URL for the hyperlink. The AI helpfully filled in a YouTube URL — which turned out to be a Rick Roll. As Erik put it: “That’s actually kind of funny that you’re getting Rick Rolled by Copilot.” The AI has a sense of humor, apparently.

Conclusion

The takeaway is simple but powerful: remember that your Business Central app runs in a web browser. This means you can use web-native patterns like hyperlinks to enhance the user experience. Instead of cramming lengthy instructions into a small page area, add a link that takes users to a full documentation page, a knowledge base article, or a help video. The Hyperlink procedure combined with a Label field and the OnDrillDown trigger makes this trivially easy to implement. Sometimes the best solutions are the ones hiding in plain sight.