This document describes the steps to create a Super App within GeneXus. The Super App can be any Native Mobile application, online or offline, generated with GeneXus.
If you already have an application that is not developed with GeneXus technology and want to convert it into a Super App, read the GeneXus´s GitHub documentation, because GeneXus licenses the necessary technology to achieve it.
Note: The code snippets and images included in this document are obtained from the Verdant Bank Knowledge Base sample.
Suppose you have already developed an application that provides certain functionalities, and you want specific functionalities or services to be provided through Mini Apps. To do this, you must transform the application into a Super App. The steps are described below:
Before developing a Super App, you have to contact a sales representative in order to create a Mini App Center (because, without the Mini App Center, it will not be possible to upload the Mini Apps that will be executed within the context of a Super App).
Then you will need a Super App Administrator account in the Mini App Center, that will allow you to manage your Super App and the Mini Apps (developed by your organization or by third parties).
The steps here are:
- Register your Organization
- Define the Super App and the version
- Obtain the Public Key for the Super App version
In the Super App's Knowledge Base, you must:
The GeneXusSuperApps Module must be installed from Knowledge Manager > Manage Module References.

It is made up of two External Objects:
- Provisioning: To interact with the Mini App Center services in order to get the Mini Apps.
- MiniApps: To load and manage the Mini Apps.

It is assumed that you have already created an application, so you have a Panel object or Menu object declared as Main Object. This application will act as a Super App.
The next step is to add the functionality to access the Mini Apps. Add the code for this in the Panel where you will show the Mini Apps.
Event Refresh
&AllMiniApps = GeneXusSuperApps.Provisioning.GetByText('', &start, &count)
&FeaturedMiniAppCollection = GeneXusSuperApps.Provisioning.GetFeatured(&start, &count)
endevent
Event GridMainMiniApps.Load
&MiniAppName = !"QR Code"
&MiniAppIcon.FromImage(image:icon_QRCode)
load
For &MiniApp in &AllMiniApps
&MiniAppName = &MiniApp.Name
&MiniAppIcon = &MiniApp.Icon
load
endfor
endevent
Event GridThisWeek.Load
For &FeaturedMiniApp in &FeaturedMiniAppCollection
&MiniAppThisWeekEntryPoint = &FeaturedMiniApp.EntryPoint
&MiniAppThisWeekImage = &FeaturedMiniApp.Banner
load
endfor
endevent
Note: The methods of the GeneXusSuperApps Module can only be invoked from user events (client-events). In order to be invoked from a server event (such as Start, Refresh, or Load as in this example), the Panel must be offline or referenced from an offline Procedure object. This is a temporary limitation.
At the end of the process, in runtime, the application (Super App) will show something like this:

The next step implies the creation of a Super App object, which comprises two essential parts: Properties and Super App Source.

In the Properties section, you will configure various properties, including:
- Specify the Main object that will serve as the Super App.
- Provide the credentials required to access the Mini App Center.
- Set the registered Version ID for this particular Super App within the provisioning system.
When you build the Main object, the build process will note that this is a Super App, and it will generate the necessary configuration. As a result, when the application runs, it will operate seamlessly as a Super App, connecting to the designated provisioning server for retrieving the list of Mini Apps published for that particular Super App version.

3.2. Implement the communication interface for the Mini Apps
To learn more about this topic, see the following link: Super App API.
The final step is to do a Build, and then test and deploy the Super App.