Recently, Microsoft added a new default table into Dataverse: The AAD User table.
The Contact and User table already exist longer. It’s time to explain the differences between those tables.
In Dataverse, a contact represents a person, usually an individual, with whom a business unit has a relationship, such as a customer, a supplier, or a colleague. The contact table is one of the tables that most other tables are linked to. A contact can be a stand-alone table. Included in this table are professional, personal, and family information, and multiple addresses.
By default, this table doesn’t contain any data.
When you add a new user to a Power Page (former name is Power Apps Portal), a record is added to the Contact table.
The user table is a read-only virtual table and is pre-populated by Microsoft Power Platform when you create an environment. It contains all the licensed users. If you choose a security group when creating the environment, only licensed users of that security group will be added to the User table.
“Licensed” means that the user has a Dataverse license.
In the example below, no security group is linked for this existing environment, so all licensed users in the tenant will be in the Users table.
Upon environment creation, you can link a security group as well.
AAD User table
The AAD User table makes it easy to retrieve any user in your organization’s Azure Active Directory. This means not just users who have a Dataverse license assigned to them. You can also retrieve details like job title, email, phone number and more.
The new AAD user table is available automatically without additional configuration.
Like you use a “Person” column in SharePoint to link a person to a list item, you can use the “AAD User” table in Dataverse to link a person to a record. The column type of the referencing column should not be of type “Person”, but should be a “Lookup” column to the “AAD User” table.