Call Us: +32 2 466 00 16
Follow Us:

Developing for the Power Platform with Microsoft Dataverse

5 days
5 days

Upcoming Sessions





Book now





Book now

Interested in a private company training? Request it here.

Extensibility Overview

The goal of this module is to provide participants with an overview of the Microsoft Dataverse architecture and where the extension points are as a developer.

  • Introduction to Dataverse
  • Overview of the Dataverse extensibility model
  • overview of the Power Platform Developer Tooling
  • Introducing XrmToolBox
  • LAB: Setting up your development machine.

Working with the Dataverse Web API

The Dataverse Web API is one of two web services you can use to work with data and metadata in Dataverse. The other is the Organization Service. The Dataverse Web API provides a development experience that can be used across a wide variety of programming languages, platforms, and devices to access the Dataverse data and functionality. In this module, students will learn about the authentication and authorization options with the Dataverse Web API.

  • Introduction to the Dataverse Web API
  • Registering client applications with Azure Active Directory
  • Authenticate with the Dataverse Web API using OAuth 2.0 and MSAL
  • Performing a simple Create operation using the Dataverse Web API
  • Composing HTTP requests and error handling
  • Dataverse Web API URL and versions
  • The different HTTP methods and headers
  • Executing your first HTTP requests
  • LAB: Creating and configuring a client application for Dataverse using .NET 5.0

Using the Dataverse Web API

The Dataverse Web API provides a modern, RESTful web service you can use to interact with data and metadata in Dataverse using a wide variety of platforms, programming languages and devices. This module teaches students how they can execute CRUD operations, Actions and Functions using the Dataverse Web API.

  • Query Data using the Dataverse Web API
  • Creating, Updating and Deleting rows in tables
  • Executing batches
  • Impersonate another user using the Dataverse Web API
  • Detect duplicate data using the Dataverse Web API
  • LAB: Using Postman with the Dataverse Web API

Working with the Microsoft Dataverse Organization Service

This chapter introduces participants to the Dataverse Organization Service endpoint and will teach them how to do CRUD operations in .NET using late or early binding. The chapter also talks about the how the XRM Tooling SDK can be used to build Windows Application and what the future of the XRM Tooling will be

  • What is the Organization Service endpoint in Dataverse
  • The IOrganizationService Interface
  • The OrganizationServiceProxy class
  • Early versus late binding when accessing table rows
  • An introduction to XRM Tooling and it's future in the Power Platform
  • Working with CrmServiceClient
  • Use connection strings in XRM Tooling to connect to Dataverse
  • Create, update, delete and retrieve table rows using XRM Tooling
  • Retrieving data using the QueryExpression and QueryByAttribute classes
  • LAB: Writing a Dataverse client application using XRM Tooling

Querying Microsoft Dataverse with FetchXML

When accessing Dataverse as a developer you have several ways to query for data. In this chapter you will learn the syntax of the FetchXML language to query Dataverse.

  • Introduction to FetchXML
  • Writing FetchXML queries
  • Using XrmToolBox FetchXML Builder to create FetchXML queries
  • Executing FetchXML queries using the Dataverse Web API
  • Executing FetchXML queries using the Dataverse XRM Tooling
  • LAB: Creating and executing FetchXML queries


A plug-in is custom business logic that you can deploy inside Dataverse to modify or augment the standard behavior of Dataverse. This chapter teaches students how they can write a custom Plug-in in .NET and deploy it to Dataverse. Students also learn how to debug Plug-ins in Dataverse.

  • Introduction to the Microsoft Dataverse Event Framework
  • Plug-in overview
  • Writing custom plug-ins
  • Register and deploy plug-ins using the Plug-In Registration Tool
  • Debugging plug-ins in the Dataverse
  • Deploying Plug-Ins with Solutions
  • Automate Plug-in deployment using Spkl
  • Using Plugin Trace Viewer in XrmToolBox
  • LAB: Creating and deploying a Plug-in

Azure Integrations

Microsoft Dataverse supports integration with Azure. Developers can register plug-ins with Dataverse that can pass runtime message data, known as the execution context, to one or more Azure solutions in the cloud. Besides writing a custom Plugin, Azure is the only other supported solutions for communicating runtime context to external line-of-business (LOB) applications.

  • Overview of the Azure integration with the Dataverse
  • Integration with Azure Service Bus
  • Configuring the Azure-aware OOB plug-in
  • Write a custom Azure-aware plug-in
  • Integration between the Dataverse and Web Hooks

Creating and using Custom APIs and Actions

Use Custom APIs to create your own APIs in Dataverse. With a Custom API you can consolidate a group of operations into an API that you and other developers can call in their code.

  • Introduction to the Microsoft Dataverse Event Framework
  • Executing messages via the Web API
  • Executing Functions and Actions using the Web API
  • Creating Custom Actions
  • Creating Custom APIs
  • Registering and testing Custom APIs using XrmToolBox
  • Using Custom APIs and Actions with the Web API
  • Using Custom APIs and Actions in Power Automate
  • LAB: Implementing a Custom API

client scripting in model-driven apps using JavaScript

Client-side scripting using JavaScript is one of the ways to apply custom business process logic for displaying data on a form in a model-driven app. In this chapter you will learn how the JavaScript Client API of a model-driven app can be used to interact with forms and views

  • Creating JavaScript Web Resources
  • Handling Form/View and Field events
  • Root objects in the Client API object model
  • Working with the Client API execution context object
  • The Client API Form context object
  • Interacting with forms and attributes using the Client API object model
  • The Client API grid context object
  • The Client API Xrm object
  • Best practices in writing client-side Code
  • LAB: Using client-side scripting in table forms

Customizing the Command Bar in a model-driven app

The Command Bar is displayed above every form or view in a model-driven app. In this chapter you will learn about how you can customize the Command Bar by adding or removing Commands.

  • Overview of the Command Bar
  • Available Command Bars in model-driven apps
  • Working with Display and Enable rules
  • Creating a custom Ribbon Action
  • Pass data or URL parameters to a Ribbon Action
  • Adding or removing Commands in the Command Bar
  • Working with URL addressable forms and views
  • Using Ribbon Workbench to customize the command Bar
  • LAB: Using Ribbon Workbench to customize the command bar

Creating Web Resources

Web resources represent files that can be used to extend the Dataverse web application such as html files, JavaScript, and CSS, and several image formats.

  • Web resources overview
  • Building custom HTML Web Resources
  • Using the Xrm.WebApi JavaScript object model to access, create and manage records
  • LAB: Working with Xrm.WebApi in custom HTML web resources

An Introduction to Power Apps Component Framework

The Power Apps component framework enables developers create code components for model-driven and canvas apps to provide enhanced user experience for the users to work with data on forms, views, and dashboards.

  • Install the Microsoft Power Apps CLI
  • Using the Microsoft Power Apps CLI
  • Create and build a code component
  • Package a code component in a Solution

This course will teach developers how they can extend Microsoft Dataverse and Model-driven apps with custom code.

Although Microsoft Dataverse and Model-driven apps have quite some out of the box customization options, many companies have requirements which can only be met by extending the existing feature set of Microsoft Dataverse. This course is specifically designed to help .NET and JavaScript developers learn the various development features of Microsoft Dataverse and Model-driven apps. And since most Dynamics 365 Apps like Sales, Services, Marketing, ... are just model-driven build using Microsoft Dataverse, this training also applies to developers who would like to extend their Dynamics 365 Apps with custom code.

This course is targeting developers who have none or very limited development skills with the Power Platform and Model-driven apps or Dynamics 365. Before attending the course, delegates must have the following prerequisite knowledge and experience:

  • Basic understanding of Web development and design
  • Knowledge of a .NET programming language (C# or Visual Basic .NET) and JavaScript
  • Working knowledge of Model-driven apps and the Power Platform (power-user perspective)
Contact Us
  • Address:
    U2U nv/sa
    Z.1. Researchpark 110
    1731 Zellik (Brussels)
  • Phone: +32 2 466 00 16
  • Email:
  • Monday - Friday: 9:00 - 17:00
    Saturday - Sunday: Closed
Say Hi
© 2022 U2U All rights reserved.