How to extend the Role Explorer

In this video, I show how you can put stuff into the Role Explorer in Business Central and enable your users to explore all the cool things you have added, check it out:

https://youtu.be/_FJNzjCloYk

In this video, Erik walks through how to extend the Role Explorer in Business Central using AL. While the search function (Alt+Q) is great for finding pages you already know about, the Role Explorer serves as a structured menu for discovering what’s available within a role. Erik demonstrates the difference between adding pages to the search function versus the Role Explorer, how to extend an existing Role Center, and how to create a custom profile that appears in the Role Explorer.

The Problem: Search vs. Role Explorer

Business Central moved away from the traditional menu system, replacing it with the search function (Alt+Q). While this works great if you know what you’re looking for, it presents a problem: if you don’t know what to search for, you can’t find it. That’s where the Role Explorer comes in — it provides an organized overview of everything available within a role.

You can access the Role Explorer by clicking the hamburger menu (☰) on the Role Center. From there, you can see everything in your current role, click “Explore more roles” to browse other roles, filter, and search across all available functionality.

Setting Up a Simple Example

To demonstrate, Erik creates a small app with a table called Fantastico and a corresponding list page. Here’s the table:

table 50109 Fantastico
{
    Caption = 'Fantastico';
    DataClassification = ToBeClassified;
    
    fields
    {
        field(1; Primo; Code[20])
        {
            Caption = 'Primo';
            DataClassification = ToBeClassified;
        }
        field(2; Description; Text[100])
        {
            Caption = 'Description';
            DataClassification = ToBeClassified;
        }
        field(3; "Value"; Decimal)
        {
            Caption = 'Value';
            DataClassification = ToBeClassified;
        }
    }
    keys
    {
        key(PK; Primo)
        {
            Clustered = true;
        }
    }
}

And here’s the list page:

page 50109 "Fantastico List"
{
    Caption = 'Fantastico List';
    PageType = List;
    SourceTable = Fantastico;
    UsageCategory = Lists;
    ApplicationArea = all;

    layout
    {
        area(content)
        {
            repeater(General)
            {
                field(Primo; Rec.Primo)
                {
                    ApplicationArea = all;
                }
                field(Description; Rec.Description)
                {
                    ApplicationArea = all;
                }
                field("Value"; Rec."Value")
                {
                    ApplicationArea = all;
                }
            }
        }
    }
}

UsageCategory: Only Affects Search, Not the Role Explorer

Notice the UsageCategory = Lists property on the page. This controls how the page appears in the search function. When you search for “Fantastico” using Alt+Q, you’ll find it categorized under Lists — just like how searching for “Customer” shows results grouped into lists, reports, and so on.

However, if you open the Role Explorer and search for “Fantastico,” you’ll get zero results. The UsageCategory only adds the page to the search function — it does not add it to the Role Explorer.

Extending an Existing Role Center

To get your page into the Role Explorer, you need to add it to a Role Center. You can extend an existing one using a page extension. Erik uses the Page Inspector (Alt+Ctrl+F1) to identify the current Role Center — in this case, the “Business Manager Role Center.”

Understanding the Role Center Structure

Role Centers have a specific structure with different action areas. The key areas to understand are:

  • area(Embedding) — This corresponds to the Home section in the Role Center navigation. The name “Embedding” is admittedly confusing and is a holdover from the old Windows client, but that’s how it works.
  • area(Sections) — These correspond to the named tabs in the Role Center navigation (like Finance, Cash Management, Sales, etc.). Sections can only contain groups, and each group becomes a collapsible section.

Adding to an Existing Section

If you use addfirst targeting a specific group like “Cash Management,” your action will appear within that existing section both in the Role Center navigation and the Role Explorer.

Creating a New Section

To create an entirely new section, you add a group within sections:

pageextension 50109 "Role1" extends "Business Manager Role Center"
{
    actions
    {
        addfirst(sections)
        {
            group(FantasGroup)
            {
                Caption = 'Fantastico';
                action(Fantas)
                {
                    Caption = 'Fantastico';
                    ApplicationArea = all;
                    RunObject = Page "Fantastico List";
                }
            }
        }
    }
}

After deploying this, the “Fantastico” section appears in the Role Center navigation bar at the top, and it also shows up in the Role Explorer under the current role. The group caption becomes the section heading, and the actions within it become the items listed under that heading.

Creating a Custom Profile and Promoting It

When you click “Explore more roles” in the Role Explorer, not all roles appear there. Only roles that are promoted show up. To create a custom role that appears in the Role Explorer, you need to create both a profile and a Role Center page.

Profiles vs. Roles: A Brief Aside

Erik notes the ongoing naming confusion within Business Central between “profiles” and “roles.” The menu item in the system reads “Profiles (Roles)” — they’re essentially the same thing. A profile has a Role Center connected to it, and when users select a role in their settings, they’re actually selecting a profile.

Creating the Profile and Role Center

Here’s how to create a custom profile with its own Role Center:

profile youtube
{
    Caption = 'YouTube';
    RoleCenter = "My RoleCenter";
    Promoted = true;
    Enabled = true;
}

page 50110 "My RoleCenter"
{
    PageType = RoleCenter;
    actions
    {
        area(Embedding)
        {
            action(Fantas)
            {
                Caption = 'Fantastico';
                ApplicationArea = all;
                RunObject = Page "Fantastico List";
            }
        }
    }
}

Key properties on the profile:

  • Promoted = true — This is the critical property. Without it, your profile will exist but won’t appear in the “Explore more roles” view of the Role Explorer.
  • Enabled = true — While this is the default, it’s good practice to explicitly state your intent.
  • RoleCenter — Points to the Role Center page that defines the content for this profile.

Note that Erik places both the profile and the page in the same file. While convention typically puts each object in its own file, there’s no rule or technical limitation preventing multiple objects in a single AL file.

The Result

After deploying, the custom “YouTube” profile becomes available in user settings (Alt+T → select a role). When you switch to it, the Role Center shows only the “Fantastico” action under the Home section. More importantly, when you go to the Role Explorer and click “Explore more roles,” the YouTube role now appears in the list because it’s been promoted. From there, you can continue building out the Role Center with additional sections, groups, and actions to populate the Role Explorer with all the functionality your users need.

Summary

Here’s a quick recap of the key concepts:

  1. UsageCategory on a page only adds it to the Alt+Q search function — it does not add it to the Role Explorer.
  2. To add items to the Role Explorer, you must add them to a Role Center page (either by extending an existing one or creating a new one).
  3. The area(Embedding) section maps to the “Home” section in the Role Center and Role Explorer.
  4. The area(Sections) section contains groups that become the named navigation tabs (like Finance, Sales, etc.).
  5. To make a custom role appear in the “Explore more roles” view, create a profile object with Promoted = true.