Integrate with Assisted Setup in your extension

Completed

From the Dynamics 365 Business Central 2021 release wave 1, the records in Manual Setup and Assisted Setup are migrated to a new table, Guided Experience Item. This table has a field, Type that determines the type of each record:

Assisted Setup - Where all assisted setup wizards now reside.

Manual Setup - Where all manual setup records now reside.

Learn - Records of type Learn point to an external URL.

Tour - Records of type Tour point to a tour of the role center. Currently, only Microsoft can add these in the Business Central platform. We're considering enabling AL developers to add and control these tours in time.

Spotlight Tour - Records of type Spotlight Tour point to a special tour where Business Central opens a page in a special mode that suppresses other tours and shines a bright spotlight on core capabilities, such as Open in Excel or Share to Teams. Use the spotlight tour in sales and evaluation scenarios to show off key capabilities that get customers excited about the product. Consider how you can use these spotlights for your own or other features. The following illustration shows a spotlight tour that calls out Teams and Excel integration on a page.

Screenshot of Spotlight Tour to call out Teams and Excel integration features.

The spotlight tour suppresses teaching tips on the page and immediately calls out Teams and Excel integration features as shown in the following illustration.

Screenshot of the Spotlight Tour suppressing Teaching tips on the page and calling out Teams and Excel integration features.

Video - Records of type Video enables the user to watch a video provided by a custom URL. The video plays in a window inside Business Central. Consider how you can utilize video to explain a feature or capability. Video is normally used in a sales/evaluation scenario but could also be used for training purposes in an onboarding case. The following illustration shows a video player that is started from the checklist.

Screenshot of a video player inside Business Central, started from the checklist.

Application Feature - Records of type Application Feature enables a checklist task to open any page inside Business Central. Similar to Manual Setup, it opens a page and displays a page tour if any is defined.

Checklist items can be based on records in the Guided Experience Item table, which means that before you surface a task on the checklist, you must first add it to Guided Experience Item.

To insert a record in the Guided Experience Item table, use the façade functions in the Guided Experience codeunit:

  • InsertManualSetup

  • InsertAssistedSetup

  • InsertLearnLink

  • InsertTour

  • InsertSpotlightTour

  • InsertVideo

  • InsertApplicationFeature

For example, let's say that you have the page My ISV Solution Setup where the user can configure your app. You want to invite the business manager to access this page from the checklist. In this example, you must insert a new record in the Guided Experience Item table with the type Manual Setup and provide the metadata as data (title, descriptions, and so on) as described below.

After having created this record, it can now be referenced from and inserted into a checklist.

Easily access setup pages for new apps

You can add an option to run a setup page directly from the Extensions Management page if the app has specified a setup page. The developer of the app should provide a reference to the setup page in the app manifest, so that Business Central knows which page to run for the specific app.

In practical terms, there are two new features:

  • An ability to get an overview of setup pages brought by an app, if the app registers those in the Guided Experience Item table.

  • A new action on the Extensions Management page that runs the page that the developer specified.

Screenshot showing the Set up this app option.

Add to the Assisted Setup page

Page 1901 Assisted Setup of the base application gives users quick access to all assisted setup guides. This section explains how you can add your assisted setup guide to the page.

The base application includes several objects that control what items appear in the Assisted Setup page. For example, table 1990 Guided Experience Item is an internal table that's the source for the Assisted Setup page. Codeunit 1990 Guided Experience is used to register your assisted setup guide in the Guided Experience Item table and run it from the Assisted Setup page. The Guided Experience codeunit publishes the OnRegisterAssistedSetup event that notifies the Assisted Setup page to add new items.

[IntegrationEvent(false, false)]
internal procedure OnRegisterAssistedSetup()
begin
end;

To add an assisted setup guide to the Assisted Setup page, add a codeunit that subscribes to the OnRegisterAssistedSetup event. The following code illustrates how you can add the ToDoAssistedSetup assisted setup guide. The example also creates a new category called Tasks on the Assisted Setup page a link to ToDoAssistedSetup is listed:

codeunit 50100 "AddToDoAssistedSetup"
{
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"Guided Experience", 'OnRegisterAssistedSetup', '', true, true)]
    local procedure OnRegisterAssistedSetup()
    var
        AssistedSetup: Codeunit "Guided Experience";
        GuidedExperienceType: Enum "Guided Experience Type";
        AssistedSetupGroup: Enum "Assisted Setup Group";
        VideoCategory: Enum "Video Category";
    begin
        if not AssistedSetup.Exists(GuidedExperienceType::"Assisted Setup",
            ObjectType::Page,
            Page::"ToDoAssistedSetup") then
        AssistedSetup.InsertAssistedSetup(
        // Link text for the assisted setup guide
        'Add a to-do',
        // Short description, not shown on page
        'Create a task for your team',
        // Text that shows in Description column
       'Register a task for your team and assign people',
       1,
       ObjectType::Page,
       Page::ToDoAssistedSetup,
       // Assign guide to Task category
       AssistedSetupGroup::Tasks,
       //Video URL not required
       '',
       VideoCategory::Uncategorized,
       //Help URL not required
       '');
    end;
}

enumextension 50100 MyEnumExtension extends "Assisted Setup Group"
{
    value(100; Tasks)
    {
    }
}