What is Common Data Service?
Common Data Service lets you securely store and manage data that's used by business applications. Data within Common Data Service is stored within a set of entities. An entity is a set of records used to store data, similar to how a table stores data within a database. Common Data Service includes a base set of standard entities that cover typical scenarios, but you can also create custom entities specific to your organization and populate them with data using Power Query. App makers can then use PowerApps to build rich applications using this data.
For information on purchasing a plan to use Common Data Service, see Pricing info.
Why use Common Data Service?
Standard and custom entities within Common Data Service provide a secure and cloud-based storage option for your data. Entities let you create a business-focused definition of your organization's data for use within apps. If you're not sure if entities are your best option, consider these benefits:
- Easy to manage – Both the metadata and data are stored in the cloud. You don't need to worry about the details of how they're stored.
- Easy to secure – Data is securely stored so that users can see it only if you grant them access. Role-based security allows you to control access to entities for different users within your organization.
- Access your Dynamics 365 Data – Data from your Dynamics 365 applications is also stored within the Common Data Service allowing you to quickly build apps which leverage your Dynamics 365 data and extend your apps using PowerApps.
- Rich metadata – Data types and relationships are leveraged directly within PowerApps.
- Logic and validation – Define calculated fields, business rules, workflows, and business process flows to ensure data quality and drive business processes.
- Productivity tools – Entities are available within the add-ins for Microsoft Excel to increase productivity and ensure data accessibility.
Dynamics 365 and Common Data Service
Dynamics 365 applications, such as Dynamics 365 Sales, Dynamics 365 Customer Service or Dynamics 365 Talent, also use the Common Data Service to store and secure data used by the applications. This enables you to build apps using PowerApps and the Common Data Service directly against your core business data already used within Dynamics 365 without the need for integration.
Build Apps against your Dynamics 365 Data – Build apps quickly against your business data within PowerApps or using the Pro Developer SDK.
Manage reusable Business logic and rules – Business Rules and logic already defined in your Dynamics 365 entities are applied to your PowerApps to ensure data consistency regardless of how your users are accessing the data or through which app.
Reusable skills across Dynamics 365 and PowerApps – Users with skills previously in PowerApps or Dynamics 365 can now leverage those skills across the Common Data Service platform. Creating entities, forms, charts, etc are now common across your applications.
Finance and Operations apps currently requires the configuration of the Data Integrator to make your business data from Finance and Operations apps available in Common Data Service.
Integrating Data into the Common Data Service
Building an app typically involves data from more than one source, while this can sometimes be done at the application level, there are also cases where integrating this data together into a common store allows for an easier app building experience, and a single set of logic to maintain and operate over the data. The Common Data Service allows data to be integrated from multiple sources into a single store which can then be used in PowerApps, Flow and Power BI along with data already available from the Dynamics 365 applications.
- Scheduled integration with other systems – Data which is kept within another application can be regularly synchronized with the Common Data Service to allow you to leverage other applications data in PowerApps.
- Transform and import data using PowerQuery – Transforming data when importing into the Common Data Service can be done through PowerQuery from many online data sources, a common tool used across Excel and Power BI.
- One time import of data – Simple import and export of Excel and CSV files can be used for a one time or infrequent import of data into the Common Data Service.
For more infomation about integrating data into the Common Data Service, see Add data to an entity in Common Data Service by using Power Query.
Interacting with entities
When you develop an app, you can use standard entities, custom entities, or both. Common Data Service provides standard entities by default. These are designed, in accordance with best practices, to capture the most common concepts and scenarios within an organization.
For a full list of entities, see the Entity reference.
You can extend the functionality of standard entities by creating one or more custom entities to store information that's unique to your organization. For more information, see How to create a custom entity.
Logic and validation
Entities within Common Data Service can leverage rich server-side logic and validation to ensure data quality and reduce repetitive code in each app that creates and uses data within an entity.
- Business rules validate data across multiple fields and entities and provide warning and error messages, regardless of the app used to create the data. For more information, see Create a business rule.
- Business process flows guide users to ensure they enter data consistently and follow the same steps every time. Business process flows are currently only supported for Model driven apps. For more information, see Business process flows overview.
- Workflows allow you to automate business processes without user interaction. For more information, see Workflows overview.
- Business logic with code supports advanced developer scenarios to extend the application directly through code. For more information, see Apply business logic with code.
Common Data Service has a rich security model to protect the data integrity and privacy of users while promoting efficient data access and collaboration. You can combine business units, role-based security, record-based security, and field-based security to define the overall access to information that users have in a Common Data Service environment. More information: Security in Common Data Service
In addition to the features available through the PowerApps portal, Common Data Service also includes features for developers to programmatically access metadata and data to create entities and business logic, as well as interact with data. For more information, see Common Data Service Developer Overview
To get started using Common Data Service:
- Create a canvas app using a Common Data Service database.
- Create a custom entity and then create a canvas app that uses the entity.
- Create a model-driven app built on Common Data Service.
- Use Power Query to connect to an online or on-premises data source and import the data directly into Common Data Service.
With the Microsoft PowerApps common data model, Microsoft collects and stores custom entity and field names in our diagnostic systems. We use this knowledge to improve the common data model for our customers. The entity and field names that app Creators create help us understand scenarios that are common across the Microsoft PowerApps community and ascertain gaps in the service’s standard entity coverage, such as schemas related to organizations. The data in the database tables associated with these entities is not accessed or used by Microsoft or replicated outside of the region in which the database is provisioned. Note, however, that the custom entity and field names may be replicated across regions and are deleted in accordance with our data retention policies. Microsoft is committed to your privacy as described further in our Trust Center.