Connect to Microsoft Dataverse

Overview

You can securely store your business data in Dataverse and build rich apps in Power Apps so that users can manage that data. You can also integrate that data into solutions that include Power Automate, Power BI, and data from Dynamics 365.

By default, the app connects to the current environment for Dataverse tables. If your app moves to another environment, the connector connects to data in the new environment. This behavior works well for an app using a single environment or an app that follows an ALM process for moving from Development to Test to Production.

When you add data from Dataverse, you can change the environment and then select one or more tables. By default, the app connects to data in the current environment.

Default environment.

If you select Change environment, you can specify a different environment to pull data from it instead of or in addition to the current environment.

Other environments.

The name of the selected environment appears under the tables list.

New environments.

Visibility and access

When you select Change environment, you're presented with a list of environments. Though you might see an environment in the list, the security role(s) in the environment govern what you can do in that environment. For example, if you don't have read privileges, you won't be able to see the tables and records in the environment.

Power Apps data type mappings

The Microsoft Dataverse connector is more robust than the Dynamics 365 connector and approaching feature parity. The following table lists the data types in Power Apps, and how they map to data types in Dataverse.

Power Apps Microsoft Dataverse
Choice Choice, Yes/No
DateTime Date Time, Date and Time, Date Only
Image Image
Number Floating Point Number, Currency, Decimal Number, Duration, Language, TimeZone, Whole Number
Text Email, Multiline Text, Phone, Text, Text Area, Ticker Symbol, URL
Guid Unique Identifier

Power Apps delegable functions and operations for Dataverse

These Power Apps operations, for a given data type, may be delegated to Dataverse for processing (rather than processing locally within Power Apps).

Item Number [1] Text [2] Choice DateTime [3] Guid
Filter Yes Yes Yes Yes Yes
Sort Yes Yes Yes Yes -
SortByColumns Yes Yes Yes Yes -
Lookup Yes Yes Yes Yes Yes
=, <> Yes Yes Yes Yes Yes
<, <=, >, >= Yes Yes No Yes -
In (substring) - Yes - - -
In (membership) (preview) Yes Yes Yes Yes Yes
And/Or/Not Yes Yes Yes Yes Yes
StartsWith - Yes - - -
IsBlank Yes [4] Yes [4] No [4] Yes [4] Yes
Sum, Min, Max, Avg [5] Yes - - No -
CountRows [6] [7], CountIf [5] Yes Yes Yes Yes Yes
  1. Numeric with arithmetic expressions (for example, Filter(table, field + 10 > 100) ) aren't delegable. Language and TimeZone aren't delegable.

  2. Doesn't support Trim[Ends] or Len. Does support other functions such as Left, Mid, Right, Upper, Lower, Replace, Substitute, etc.

  3. DateTime is delegable except for DateTime functions Now() and Today().

  4. Supports comparisons. For example, Filter(TableName, MyCol = Blank()).

  5. The aggregate functions are limited to a collection of 50,000 rows. If needed, use the Filter function to select 50,000

  6. CountRows on Dataverse uses a cached value. For non-cached values where the record count is expected to be under 50,000 records, use CountIf(table, True).

  7. For CountRows, ensure that users have appropriate permissions to get totals for the table.