The following features apply to Google Domain Groups, Active Directory Domain Groups, and Okta groups.
If you have custom domain groups, you can leverage these inside of your Appsheet applications. For example, if you have a domain called www.yourcompany.com and you are using G Suite domain features - and specifically group management features - you can configure your Appsheet account and applications to use these groups.
You will then be able to retrieve group information using the built-in function USERROLE(), which in turn can be used throughout your application, e.g.
And similar. This will allow you to create powerful security mechanisms without having to duplicate your group/role information in two different systems.
The following steps and screenshots walk through this process. In this example, we use Google Domains and Google Domain Groups.
Step 1: Create one or more Google Domain Groups. In the screenshot below, we are using the admin.google.com console and have already created a few groups:
Step 2: Configure your Appsheet account to generally use Google Domain authentication. This is covered in this help article. If you have successfully performed this step, in your Appsheet account you should now see your Google auth provider in your integrations list, e.g.
Note: In the above screenshot, not only have we connected to our Google domain, but we have then shared this connection with our Appsheet team.
Step 3: create an application and configure it to use your Google domain. There are a few actions to take here which we call out using the following screenshot and numberings. In the screenshot we are looking at an app named "User Roles":
- Click on Security
- Click on Domain Authentication
- Toggle Domain Authentication to ON. This will override any manually-added users you may have already configured for this app.
- Select your previously configured Authentication Domain.
- A default display name is provided which you can optionally override.
- Important: type in the name of your domain. This is the suffix of the various email addresses for this domain. In our example below we are configuring a domain called appsheetdemo.com
- After a few moments, the box for step 6 should start to display a down arror, and further, a grid will appear where the "7" is shown below. Appsheet will render any groups in the popdown. This grid allows you to map Google Group names to friendly internal Appsheet names. For example, in the screenshot below we A) have mapped "New Appsheet Domain Group" to the application-specific word "Customgroup", and B) have left the default mapping for "devgroup" as "devgroup".
Step 4: for testing purposes, in this same application, create a virtual column to explore the function USERROLE(). In the following screenshot we have a table called "Asset" with a virtual column called RoleName with the USERROLE() function in its formula:
Step 5: Verify behavior using an "end user". If everything above has been successfully configured, an end user who is a member of the Google Domain Group called "New Google Domain Group" which we previously mapped to the word "Customgroup", will see the word "Customgroup" for the virtual field when they log into this app:
This proves that custom roles can then be leveraged throughout your application for a wide variety of security, navigation, and workflow purposes, e.g. this calc:
USERROLE() = "Customgroup"
will show a view if the current users' role is "Customgroup"
Note: in the case where a user is a member of more than one domain group, the first match will be the value that is used throughout the Appsheet application. For this reason, Appsheet allows you to reorder the domain group -to- Appsheet group mappings using the reordering icon (three horizontal lines):