Power Up - Upskill Yourself...
❌

Normal view

Today — 6 June 2026Main stream
  • ✇Arun Potti's Power Platform blog
  • My AB‑730 Certification Experience: How I Prepared, What I Learned, and Tips for You
    Clearing the AB‑730: AI Business Professional certification has been one of the most rewarding learning experiences in my AI journey. This exam is designed for professionals who want to understand how to use Microsoft Copilot, Agentic AI, and AI‑driven business workflows to solve real‑world problems. In this post, I’m sharing my preparation path, key takeaways, and practical tips that will help anyone planning to take AB‑730.Why I Chose AB‑730: As someone deeply involved in Microso
     

My AB‑730 Certification Experience: How I Prepared, What I Learned, and Tips for You

Clearing the AB‑730: AI Business Professional certification has been one of the most rewarding learning experiences in my AI journey. This exam is designed for professionals who want to understand how to use Microsoft Copilot, Agentic AI, and AI‑driven business workflows to solve real‑world problems.

In this post, I’m sharing my preparation path, key takeaways, and practical tips that will help anyone planning to take AB‑730.

Why I Chose AB‑730:

As someone deeply involved in Microsoft 365, Power Platform, and AI‑driven productivity, AB‑730 felt like the perfect certification to validate my skills. It focuses on:

  • Applying Copilot in day‑to‑day business scenarios
  • Understanding AI capabilities across Microsoft 365
  • Choosing the right Copilot for the right task
  • Improving workflows using AI reasoning and orchestration

It’s not a technical exam – it’s about practical AI usage, decision‑making, and business impact.

My Preparation Path

I followed the official Microsoft Learn certification path, which is more than enough to prepare you thoroughly. The learning modules are structured, scenario‑based, and aligned directly with the exam.

What I used:

  • Microsoft Learn AB‑730 learning path
  • Microsoft AB 730 free Practice Assessment (which has 50 questions)
  • Hands‑on practice with Microsoft 365 Copilot
  • Real business scenarios from my daily work

The Learn modules helped me understand the concepts, but the real confidence came from using Copilot in real workflows – writing emails, analyzing data, summarizing documents, and automating tasks.

AB 730 and AB 731 Certification Course completed on Technofocus | Skill Up with Level Up with a Test. This helped me a lot to gain more knowledge on the exam.

For revision I followed the below YouTube video,

AB-730 Microsoft AI Business Professional Exam Revision Guide

What the Exam Felt Like

The exam focuses on practical understanding, not memorization. Expect questions around:

  • Choosing the right Copilot (M365 Copilot, Copilot Studio, Copilot Chat, etc.)
  • Identifying the best AI capability for a scenario
  • Understanding how AI reasoning improves business workflows
  • Recognizing governance and responsible AI considerations
  • Applying Copilot to solve business problems

If you’ve used Copilot in real scenarios, the exam feels intuitive.

My Key Takeaways

1. Copilot is more than a chatbot

The exam emphasizes Copilot as a reasoning engine that can analyze, summarize, generate, and orchestrate tasks.

2. Business context matters

Many questions test whether you can choose the right Copilot for the right scenario.

3. Governance and responsible AI are essential

Even though AB‑730 is business‑focused, you still need to understand the basics of data boundaries, safety, and compliance.

4. Real usage beats theory

Using Copilot daily helped me answer scenario questions confidently.

Tips for Anyone Preparing

Here’s what I wish I knew earlier:

  • Complete the Microsoft Learn path end‑to‑end — it covers everything.
  • Practice using Copilot in Word, Excel, Outlook, Teams, and Edge.
  • Focus on scenarios, not definitions.
  • Understand the differences between Copilot types (M365 Copilot, Copilot Studio, Copilot Chat, etc.).
  • Review governance basics – data access, boundaries, and responsible AI.
  • Don’t overthink – the exam is practical and straightforward.

Final Thoughts

AB‑730 is a fantastic certification for anyone who wants to become an AI‑empowered business professional. It validates your ability to use Copilot effectively, make informed decisions, and drive AI adoption in your organization.

If you’re already using Microsoft 365 Copilot or planning to, this certification is absolutely worth it.

Also, if you had not enrolled for the free certification voucher for this exam. Follow the below article and complete the course it before 31st May 2026.

LevelUp Microsoft Exam Vouchers: Eligibility & Rules (May 2026)

Hope you had liked this article about AB 730 Certification.

Please like and share your valuable feedback on this article. Also, follow my blog to get my articles to your Inbox.

Graphic promoting a YouTube channel with the text 'Has my blog post helped you?' and buttons for 'WATCH', 'LEARN', and 'SUBSCRIBE'.

Below are my earlier articles that you can have a look.

LevelUp Microsoft Exam Vouchers: Eligibility & Rules (May 2026)

Explore Dataverse Tools: FetchXML Formatter Online by Arun Potti – JavaScript (JS) Example

Microsoft’s New AI Certifications for 2026: Full List, Retirements, and Replacement Paths

Boost Your CRM Productivity with Arun Potti’s FetchXML Formatter

Streamline FetchXML with Online Formatter for Dataverse Tools

Fixing Postman Connection Issues: A Step-by-Step Guide

Explore Microsoft AB-Series Certification: Skills for AI Roles

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Usage)

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Installation)

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Overview)

Limited Time Offer: 50% Off Microsoft Certification Vouchers

How to send an automated email in Dataverse using Power Automate?

Understanding Activity Party Types in Dynamics 365 CE

How to configure donotreply email using Shared mailboxes in Dynamics 365 CE?

Microsoft Power Pages: The authentication key for your portal will expire

Microsoft Azure: You’re not eligible for an Azure free account

How to create Microsoft Azure 30 days trial?

Edit in Visual Studio Code for the Web in Power Apps Portals

Error: The object cannot be updated because it is read-only in Microsoft Power Apps

Resolved: Fix connections issue in Power Automate Flow

Clear all objects feature in Power Apps Solutions

Power Automate Error: The ‘inputs.parameters’ of workflow operation of type ‘OpenApiConnection’ is not valid.

Power Automate Error: To use FilteringAttributes, your trigger must include an Update event on Dataverse Trigger

Dynamics 365 CE Solution Import Failed in Azure DevOps Pipelines

Power Automate Error: Cannot write more bytes to the buffer than the configured maximum buffer size: 104857600

Error while opening a Tool in XRMToolBox

The Power Automate Cloud Flows Best Practices Whitepaper is now LIVE!

Error in Power Automate: There’s a problem that needs to be fixed to trigger this flow. To see more details, open Flow checker.

How to get the Dataverse Table’s first row from List Rows in Power Automate?

Microsoft Dataverse Accelerator – Part 2 – Installation

Microsoft Dataverse Accelerator – Part 1 – Introduction

How to get the Database Version of the Dataverse?

API playground feature not available in Dataverse Accelerator App?

How to Explore and test Dataverse in the Web API playground (preview)?

Web resource method does not exist in Dynamics 365 CE

How to get Environment Variable Value in Dynamics 365 CE using JavaScript?

Model-driven Apps – openAlertDialog – JavaScript – Code Snippet

Power Automate – Flow is not running on Trigger condition

Power Automate – Input field Delete option is disabled

Recipient of type ‘Contact’ with ID is marked as non-emailable

Preferred Solution | New feature | Microsoft Dataverse

New and Retired Microsoft Dynamics 365 Certifications

Environment settings behavior (Preview) feature in Model-driven Apps

Error while connecting to Dataverse environment in XrmToolBox

Power Fx Formula Columns in Microsoft Power Apps

How to Enable 2024 Release Wave 1 Updates in the Microsoft Dynamics 365 CE Environment?

Delete and Restore records (Preview) feature in Microsoft Dataverse

Microsoft Power App Environments Retention Period

How to Override the Model-driven app header colors?

Timeline Highlights (New feature) in Microsoft Power Apps

Model-driven App – Cannot “See associate records” option in the sub grid (arunpotti.com)

Bookmark the Important Dynamics 365 URLs

How to Enable Tenant-level analytics for Power Automate and Power Apps?

Microsoft Power Automate Copy and Paste Action in New DesignerHow to Setup Multi-Factor Authentication for your Microsoft Power Apps environment?

Microsoft Power Apps | Modern Themes | Preview feature

How to Download and Install the .NET Framework?

How to Create a SharePoint Site Online?

How to add and use Copilot answer control (Preview) in Microsoft Power Apps?

Dark Mode in Microsoft Power Apps

How to create Microsoft 365 E3 Trial for 30 days?

Refreshed look of solution dependencies in Dataverse Solutions

Microsoft Power Automate | Version History | Restore | New Feature

MICROSOFT LEARN – Artificial Intelligence Skills Challenge​ 2024!!!

Resolved – ‘InvokerConnectionOverrideFailed’ Error When a Power App Custom Page call a Power Automate Flow

How to Create Microsoft Power Apps Trial 30 days?

Not able to Create Power Automate Flow in Custom Page in Model-Driven App?

How to Enable Inline Actions feature in Microsoft Canvas Apps?

How to use /mention in Outlook web client for Dataverse records?

Associate Activities Multiple Related Records (Preview) feature in Microsoft Dynamics 365 CE

How to Enable Aggregation (preview) feature in Microsoft Power Apps?

Power Apps – Some components of this app require you to sign in. If you don’t sign in, part of the app may not work.

How to Enable the SQL Server stored procedures (preview) feature in the Power Apps?

How to get the Client Version of the Model Driven Apps?

How to get Microsoft 365 E3 Trial for 30 days?

How to Enable Copilot for Model-Driven apps feature in Dynamics 365 CE Environment?

[Resolved] Web resource method does not exist in Dynamics 365 CE JavaScript Error

How to Enable Blocking unmanaged customizations (Preview) feature in Dynamics 365 CE?

How to create Microsoft Power Apps Developer Plan Environment?

Microsoft Power Apps Developer Plan vs Power Apps Trial 30 days

What is Microsoft Power Apps Developer Plan?

[Resolved] PCF Field Control not showing anything in the PCF Test Environment?

[Issue Resolved] ReferenceError: Web resource method does not exist in Dynamics 365 CE Javascript Error

[Issue Resolved] Subcomponent cannot be added to the solution because the root component Template is missing in Dataverse

How to Turn Off the Modern Look in the Model Driven Apps?

How to Turn on the New modern, refreshed look for the Model-Driven apps?

Microsoft Power Apps – Apps filter feature

How to Create Microsoft Power Apps 30 days Online Trial Version and an Environment?

Microsoft Power Apps – Solutions filter Preview feature

How to Show the Power Automate complete Expressions?

Dataverse Error: Cannot start the requested operation [EntityCustomization] because there is another [PublishAll] running at this moment.

Power Automate Error: You should specify a contact or account.

How to get the Choice Text and Value in the Dataverse using JavaScript?

Microsoft Dataverse Low Code No Code Plugins

How to convert the Number String to Number Array?

How to Integrate Instant Plugins in the Power Automate Flow?

Power Apps – ‘actionname’ is an unknown or unsupported function in namespace ‘Environment’

Dataverse Browser V1.1.0.1 is available for Dataverse Plugin Debugging

How to Integrate Instant Plugins in the Canvas App?

How to Enable Access to Microsoft Dataverse Actions (Preview feature) in the Power Apps?

How to Create an Instant Plugin in the Dataverse Environment?

How to Install the Microsoft Dataverse Accelerator in the Dataverse Environment?

What is Microsoft Dataverse Accelerator?

How to get the Logged in User Information in the Power Apps?

How to Install Power Platform Tools in Visual Studio Code?

How to Install the Apps from the Microsoft AppSource to your Dataverse Environment?

Microsoft Power Apps Maker Portal has a new look

Microsoft Power Apps Emulator (New Feature)

How to Enable the Dataverse Offline (Experimental Feature) in the Canvas Apps?

How to set the Authoring Version in the Canvas App?

New version of Dataverse Browser is available for Dataverse Plugin Debugging

Latest Free Practice Assessments for Microsoft Certifications

Download CRM 365 V9.X Tools using PowerShell

How to set the Refresh cadence for a Power Platform Environment?

Update forms and views (Preview feature) in Dataverse

How to connect to Microsoft Dataverse in Power Automate Flow using Service principal?

How to Enable Copilot (Preview) feature in Canvas Apps?

How to Debug a Dataverse Plugin without Installing the Profiler in the Plugin Registration Tool?

How to Enable the Licenses (Preview) feature for a Power Platform Environment?

How to Enable Maker Welcome Content (preview) in Power Apps Maker Portal?

How to Enable Managed Environments for a Dataverse Environment?

How to Enable the Modern Controls (Preview feature) in the Canvas Apps?

How to Enable 2023 Release Wave 1 updates in the Dataverse Environment?

How to Deploy Enterprise Applications in the new Dataverse Environment?

What is Preview, Experimental and Retired features in Canvas Apps?

How to Enable the New Power Fx Formula Bar in Power Apps Studio?

Writing Power Fx formulas with natural language

Power Fx Formula Columns in Dataverse

Generating Power Fx formulas from examples

How to Create Dynamics 365 Marketing 30 Days Trial Version Online?

How to disable Multi-Factor Authentication (MFA) on Dynamics 365 Login?

How to Create Microsoft Power Apps 30 days Online Trial Version and an Environment?

Explore Dataverse Tools: FetchXML Formatter Online by Arun Potti – JavaScript (JS) Example

In my earlier articles, I had explained about,

What is Arun Potti’s FetchXML Formatter – Tool

How to use Arun Potti’s FetchXML Formatter Tool

and now in this article, I explain about how to retrieve the data using JS and FetchXML using Arun Potti’s FetchXML Formatter Tool.

Requirement: Retrieve all the Active Contacts created in last 1 hour.

Solution: Follow the below steps.

Step 1: Below is the JavaScript code (Without FetchXML), to fetch all the Active contacts created in last 1 hour.

Step 2: Copy and Paste the JS code into the fetchXML variable (FetchXML sample is from my previous article Step 5 in Explore Dataverse Tools: FetchXML Formatter Online by Arun Potti – Usage).

After updating it, the final JavaScript looks like the below.

async function getContacts() {
try {
// Use with Xrm.WebApi.retrieveMultipleRecords or equivalent.
const fetchXml = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>" +
" <entity name='contact'>" +
" <attribute name='fullname'/>" +
" <attribute name='address1_composite'/>" +
" <attribute name='mobilephone'/>" +
" <attribute name='birthdate'/>" +
" <attribute name='contactid'/>" +
" <order attribute='fullname' descending='false'/>" +
" <filter type='and'>" +
" <condition attribute='createdon' operator='last-x-hours' value='1'/>" +
" <condition attribute='statecode' operator='eq' value='0'/>" +
" </filter>" +
" </entity>" +
"</fetch>";
const encoded = encodeURIComponent(fetchXml);
const response = await Xrm.WebApi.retrieveMultipleRecords(
"contact",
"?fetchXml=" + encoded
);
console.log("All Active Contacts created in last 1 hour");
response.entities.forEach(cnt => {
console.log(`Contact: ${cnt.fullname} (${cnt.contactid})`);
});
} catch (err) {
console.error("Error while fetching the Contacts in getContacts(): ", err);
}
}

Step 3: Configured the below Script on On Load of Contact Form.

Step 4: Open any Contact record in a Model-driven app. Right Click anywhere on the screen and click on Inspect and Click on Console to check the data.

I hope you had successfully retrieved the data using Arun Potti’s FetchXML Formatter, Fetchxml and JS code.

In the next article, will explain how to use them in real code C# and Web API and get the desired results.

Please like and share your valuable feedback on this article. Also, follow my blog to get my articles to your Inbox.

Graphic promoting a YouTube channel with the text 'Has my blog post helped you?' and buttons for 'WATCH', 'LEARN', and 'SUBSCRIBE'.

Below are my earlier articles that you can have a look.

Microsoft’s New AI Certifications for 2026: Full List, Retirements, and Replacement Paths

Boost Your CRM Productivity with Arun Potti’s FetchXML Formatter

Streamline FetchXML with Online Formatter for Dataverse Tools

Fixing Postman Connection Issues: A Step-by-Step Guide

Explore Microsoft AB-Series Certification: Skills for AI Roles

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Usage)

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Installation)

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Overview)

Limited Time Offer: 50% Off Microsoft Certification Vouchers

How to send an automated email in Dataverse using Power Automate?

Understanding Activity Party Types in Dynamics 365 CE

How to configure donotreply email using Shared mailboxes in Dynamics 365 CE?

Microsoft Power Pages: The authentication key for your portal will expire

Microsoft Azure: You’re not eligible for an Azure free account

How to create Microsoft Azure 30 days trial?

Edit in Visual Studio Code for the Web in Power Apps Portals

Error: The object cannot be updated because it is read-only in Microsoft Power Apps

Resolved: Fix connections issue in Power Automate Flow

Clear all objects feature in Power Apps Solutions

Power Automate Error: The ‘inputs.parameters’ of workflow operation of type ‘OpenApiConnection’ is not valid.

Power Automate Error: To use FilteringAttributes, your trigger must include an Update event on Dataverse Trigger

Dynamics 365 CE Solution Import Failed in Azure DevOps Pipelines

Power Automate Error: Cannot write more bytes to the buffer than the configured maximum buffer size: 104857600

Error while opening a Tool in XRMToolBox

The Power Automate Cloud Flows Best Practices Whitepaper is now LIVE!

Error in Power Automate: There’s a problem that needs to be fixed to trigger this flow. To see more details, open Flow checker.

How to get the Dataverse Table’s first row from List Rows in Power Automate?

Microsoft Dataverse Accelerator – Part 2 – Installation

Microsoft Dataverse Accelerator – Part 1 – Introduction

How to get the Database Version of the Dataverse?

API playground feature not available in Dataverse Accelerator App?

How to Explore and test Dataverse in the Web API playground (preview)?

Web resource method does not exist in Dynamics 365 CE

How to get Environment Variable Value in Dynamics 365 CE using JavaScript?

Model-driven Apps – openAlertDialog – JavaScript – Code Snippet

Power Automate – Flow is not running on Trigger condition

Power Automate – Input field Delete option is disabled

Recipient of type ‘Contact’ with ID is marked as non-emailable

Preferred Solution | New feature | Microsoft Dataverse

New and Retired Microsoft Dynamics 365 Certifications

Environment settings behavior (Preview) feature in Model-driven Apps

Error while connecting to Dataverse environment in XrmToolBox

Power Fx Formula Columns in Microsoft Power Apps

How to Enable 2024 Release Wave 1 Updates in the Microsoft Dynamics 365 CE Environment?

Delete and Restore records (Preview) feature in Microsoft Dataverse

Microsoft Power App Environments Retention Period

How to Override the Model-driven app header colors?

Timeline Highlights (New feature) in Microsoft Power Apps

Model-driven App – Cannot “See associate records” option in the sub grid (arunpotti.com)

Bookmark the Important Dynamics 365 URLs

How to Enable Tenant-level analytics for Power Automate and Power Apps?

Microsoft Power Automate Copy and Paste Action in New DesignerHow to Setup Multi-Factor Authentication for your Microsoft Power Apps environment?

Microsoft Power Apps | Modern Themes | Preview feature

How to Download and Install the .NET Framework?

How to Create a SharePoint Site Online?

How to add and use Copilot answer control (Preview) in Microsoft Power Apps?

Dark Mode in Microsoft Power Apps

How to create Microsoft 365 E3 Trial for 30 days?

Refreshed look of solution dependencies in Dataverse Solutions

Microsoft Power Automate | Version History | Restore | New Feature

MICROSOFT LEARN – Artificial Intelligence Skills Challenge​ 2024!!!

Resolved – ‘InvokerConnectionOverrideFailed’ Error When a Power App Custom Page call a Power Automate Flow

How to Create Microsoft Power Apps Trial 30 days?

Not able to Create Power Automate Flow in Custom Page in Model-Driven App?

How to Enable Inline Actions feature in Microsoft Canvas Apps?

How to use /mention in Outlook web client for Dataverse records?

Associate Activities Multiple Related Records (Preview) feature in Microsoft Dynamics 365 CE

How to Enable Aggregation (preview) feature in Microsoft Power Apps?

Power Apps – Some components of this app require you to sign in. If you don’t sign in, part of the app may not work.

How to Enable the SQL Server stored procedures (preview) feature in the Power Apps?

How to get the Client Version of the Model Driven Apps?

How to get Microsoft 365 E3 Trial for 30 days?

How to Enable Copilot for Model-Driven apps feature in Dynamics 365 CE Environment?

[Resolved] Web resource method does not exist in Dynamics 365 CE JavaScript Error

How to Enable Blocking unmanaged customizations (Preview) feature in Dynamics 365 CE?

How to create Microsoft Power Apps Developer Plan Environment?

Microsoft Power Apps Developer Plan vs Power Apps Trial 30 days

What is Microsoft Power Apps Developer Plan?

[Resolved] PCF Field Control not showing anything in the PCF Test Environment?

[Issue Resolved] ReferenceError: Web resource method does not exist in Dynamics 365 CE Javascript Error

[Issue Resolved] Subcomponent cannot be added to the solution because the root component Template is missing in Dataverse

How to Turn Off the Modern Look in the Model Driven Apps?

How to Turn on the New modern, refreshed look for the Model-Driven apps?

Microsoft Power Apps – Apps filter feature

How to Create Microsoft Power Apps 30 days Online Trial Version and an Environment?

Microsoft Power Apps – Solutions filter Preview feature

How to Show the Power Automate complete Expressions?

Dataverse Error: Cannot start the requested operation [EntityCustomization] because there is another [PublishAll] running at this moment.

Power Automate Error: You should specify a contact or account.

How to get the Choice Text and Value in the Dataverse using JavaScript?

Microsoft Dataverse Low Code No Code Plugins

How to convert the Number String to Number Array?

How to Integrate Instant Plugins in the Power Automate Flow?

Power Apps – ‘actionname’ is an unknown or unsupported function in namespace ‘Environment’

Dataverse Browser V1.1.0.1 is available for Dataverse Plugin Debugging

How to Integrate Instant Plugins in the Canvas App?

How to Enable Access to Microsoft Dataverse Actions (Preview feature) in the Power Apps?

How to Create an Instant Plugin in the Dataverse Environment?

How to Install the Microsoft Dataverse Accelerator in the Dataverse Environment?

What is Microsoft Dataverse Accelerator?

How to get the Logged in User Information in the Power Apps?

How to Install Power Platform Tools in Visual Studio Code?

How to Install the Apps from the Microsoft AppSource to your Dataverse Environment?

Microsoft Power Apps Maker Portal has a new look

Microsoft Power Apps Emulator (New Feature)

How to Enable the Dataverse Offline (Experimental Feature) in the Canvas Apps?

How to set the Authoring Version in the Canvas App?

New version of Dataverse Browser is available for Dataverse Plugin Debugging

Latest Free Practice Assessments for Microsoft Certifications

Download CRM 365 V9.X Tools using PowerShell

How to set the Refresh cadence for a Power Platform Environment?

Update forms and views (Preview feature) in Dataverse

How to connect to Microsoft Dataverse in Power Automate Flow using Service principal?

How to Enable Copilot (Preview) feature in Canvas Apps?

How to Debug a Dataverse Plugin without Installing the Profiler in the Plugin Registration Tool?

How to Enable the Licenses (Preview) feature for a Power Platform Environment?

How to Enable Maker Welcome Content (preview) in Power Apps Maker Portal?

How to Enable Managed Environments for a Dataverse Environment?

How to Enable the Modern Controls (Preview feature) in the Canvas Apps?

How to Enable 2023 Release Wave 1 updates in the Dataverse Environment?

How to Deploy Enterprise Applications in the new Dataverse Environment?

What is Preview, Experimental and Retired features in Canvas Apps?

How to Enable the New Power Fx Formula Bar in Power Apps Studio?

Writing Power Fx formulas with natural language

Power Fx Formula Columns in Dataverse

Generating Power Fx formulas from examples

How to Create Dynamics 365 Marketing 30 Days Trial Version Online?

How to disable Multi-Factor Authentication (MFA) on Dynamics 365 Login?

How to Create Microsoft Power Apps 30 days Online Trial Version and an Environment?

  • ✇Microsoft Dynamics 365 CRM Tips and Tricks
  • Calling Dataverse Actions and Functions from Power Apps Code Apps
    When building Power Apps code apps, one of the most powerful things you can do is reach directly into Dataverse to trigger business logic. Whether it is routing a support ticket to the right queue, checking who the current user is, or running a custom API operation, Dataverse actions and functions are the engine behind most enterprise workflows. In the past, calling these operations required manually writing Web API fetch calls, constructing the right URLs, and handling typed responses by hand.
     

Calling Dataverse Actions and Functions from Power Apps Code Apps

DataverseWhen building Power Apps code apps, one of the most powerful things you can do is reach directly into Dataverse to trigger business logic. Whether it is routing a support ticket to the right queue, checking who the current user is, or running a custom API operation, Dataverse actions and functions are the engine behind most enterprise workflows.

In the past, calling these operations required manually writing Web API fetch calls, constructing the right URLs, and handling typed responses by hand. It worked, but it was slow, error-prone, and hard to maintain as schemas evolved.

Microsoft has now introduced a much cleaner developer experience through the Power Apps npm CLI. With just two commands — find-dataverse-api and add-dataverse-api — you can discover operations in your Dataverse environment, generate fully typed TypeScript service classes, and call them directly from your code app with confidence.

This blog walks through exactly how to do that, using a real-world scenario: a support team that needs to automatically route incoming cases to the correct queue based on priority.

Client Scenario: Automated Case Routing

A client running a customer support operation on Dynamics 365 came to us with a specific pain point. Their agents were starting every shift by manually scanning a shared queue, finding cases relevant to them, and self-assigning each one individually through the Dynamics 365 UI. With dozens of queued cases at any given time, agents were spending the first 15–20 minutes of every shift just on assignment, before they had even looked at a single customer issue.

They needed a code app that displayed all cases currently sitting in the queue and allowed an agent to pick and assign any case to themselves with a single click. The assignment logic already existed as a Dataverse bound action called PickFromQueue. The challenge was invoking it cleanly from a modern Power Apps code app.

The requirements the client laid out were straightforward:

  • View all active cases in a clean, filterable list
  • Select a case from the queue and assign it to yourself with one click
  • Show who is currently logged in so agents can confirm their session
  • Ensure all operations are type-safe and maintainable

This is exactly the kind of scenario the add-dataverse-api command was built for.

Prerequisites

Before following this guide, make sure the following are in place:

  • A Power Apps code app initialised using npx power-apps init
  • The @microsoft/power-apps package at version 1.1.1 or later in your package.json
  • An active CLI session (the CLI will prompt you to authenticate if not already logged in)
  • Access to the Dataverse environment that contains the operations you want to call
  • js installed on your machine (version 18 or later recommended)

Note: Run npm list @microsoft/power-apps to confirm the package version (1.1.1 or later). The CLI version (shown by npx power-apps –version) may differ from the package version..

Dataverse 1

Step 1: Discover Available Dataverse Operations

The first step is to find out which Dataverse operations are available in your environment. The find-dataverse-api command performs a case-insensitive substring search against the operation names in your connected environment.

For this scenario, we need two operations. The first is WhoAmI, which identifies the current logged-in user. The second is PickFromQueue, which picks a case from a queue and assigns it to a specified user.

Finding WhoAmI

Run the following command in your terminal from inside the code app project folder:

npx power-apps find-dataverse-api --search "WhoAmI"

The output will show the operation name, its kind (Function or Action), and its return type:

Dataverse

Finding PickFromQueue

Next, search for the PickFromQueue action:

npx power-apps find-dataverse-api --search "PickFromQueue"

You will see something like this:

Dataverse

Notice that PickFromQueue is a bound action — it is bound to mscrm.queueitem, meaning it must be called with the GUID of the queue item record as its first argument. This is an important distinction that affects how the generated service method works, which we will cover shortly.

If you want to inspect the raw JSON output for scripting purposes, add the –json flag:

npx power-apps find-dataverse-api --search "PickFromQueue" --json

Step 2: Add the Operations to Your Code App

Once you have confirmed the operation names, use the add-dataverse-api command to wire them into your project. This command does several things automatically:

  • Fetches the full operation definition from your environment’s Dataverse metadata endpoint
  • Creates a schema file at the configured schema path
  • Generates TypeScript model files for any entities referenced in the operation
  • Generates a typed service class for the operation
  • Updates power.config.json with the necessary database reference
  • Regenerates dataSourcesInfo.ts to include the new operation

Adding WhoAmI

npx power-apps add-dataverse-api --api-name WhoAmI

On success, you will see:

Dataverse 1

Adding PickFromQueue

npx power-apps add-dataverse-api --api-name PickFromQueue

Or using the short alias:

Dataverse

npx power-apps add-dataverse-api -n PickFromQueue

Once both commands complete, your project structure will include new generated files. Here is a summary of what was created or updated:

File What Changed
schemas/dataverse/WhoAmI.Schema.json Created — operation schema
schemas/dataverse/PickFromQueue.Schema.json Created — operation schema
schemas/appschemas/dataSourcesInfo.ts Regenerated to include both operations
power.config.json Updated with default.cds database reference
generated/services/WhoAmIService.ts Generated typed service class
generated/services/PickFromQueueService.ts Generated typed service class

Dataverse

Step 3: Use the Generated Services in Your App

With the service classes generated, you can now import and call them directly in your application code. The CLI handles all the Web API URL construction, authentication headers, and response parsing behind the scenes.

Calling WhoAmI

Import the WhoAmIService from the generated services directory and call it to retrieve the current user’s identity:

import { WhoAmIService } from './generated/services/WhoAmIService';

const userInfo = await WhoAmIService.WhoAmI() as any;

const currentUserId = userInfo.UserId;

const businessUnitId = userInfo.BusinessUnitId;

const orgId = userInfo.OrganizationId;

The result object contains three GUIDs — UserId, BusinessUnitId, and OrganizationId — all fully typed. In the case routing app, we use the UserId to display which agent is currently logged in, giving the team lead confidence before performing any routing action.

Calling PickFromQueue

The PickFromQueue action is a bound operation, which means the generated service method takes the queue item GUID as its first argument, followed by the operation parameters:

import { PickFromQueueService } from './generated/services/PickFromQueueService';
const handlePickCase = async (queueItemId: string, currentUserId: string) => {

const systemUser = {

'@odata.type': 'Microsoft.Dynamics.CRM.systemuser',

systemuserid: currentUserId

};

await PickFromQueueService.PickFromQueue(

queueItemId,    // GUID of the queue item (first arg for bound actions)

systemUser,     // The system user to assign the case to

true            // RemoveQueueItem — remove from queue after picking

);

console.log('Case picked from queue successfully');

};

The function picks the case from the queue and assigns it to the specified user. When RemoveQueueItem is true, the item is automatically removed from the queue to prevent duplicate assignments.

Note: For bound operations, the first argument is always the GUID of the record the action is bound to. In this case, PickFromQueue is bound to mscrm.queueitem, so the first argument is the queue item ID.

Step 4: Build the Case Routing UI

With both services wired up, the final step is to build the actual interface the team leads will use. The component needs to show a list of open cases, allow selection, and trigger the routing action.

Below is a simplified version of how the component comes together:

import { useEffect, useState } from 'react';

import { WhoAmIService } from './generated/services/WhoAmIService';

import { PickFromQueueService } from './generated/services/PickFromQueueService';

// Sample cases in queue (in production, fetch from Dataverse)

const queuedCases = [

{ id: 'CAS-1001', title: 'Printer not working',    queueItemId: '< queue-item-guid-1 >' },

{ id: 'CAS-1002', title: 'Password reset request', queueItemId: '< queue-item-guid-2 >' },

{ id: 'CAS-1003', title: 'Software installation',  queueItemId: '< queue-item-guid-3 >' },

];

export const CaseRoutingApp = () => {

const [currentUserId, setCurrentUserId] = useState('');

const [routedCases, setRoutedCases] = useState<Record<string, boolean>>({});

useEffect(() => {

WhoAmIService.WhoAmI().then((r: any) => setCurrentUserId(r.UserId));

}, []);

const handlePickCase = async (queueItemId: string, caseId: string) => {

const systemUser = {

'@odata.type': 'Microsoft.Dynamics.CRM.systemuser',

systemuserid: currentUserId

};

await PickFromQueueService.PickFromQueue(queueItemId, systemUser, true);

setRoutedCases(prev => ({ ...prev, [caseId]: true }));

};

return ( /* your JSX here */ );

};

Dataverse 

Once you are happy with the result in local preview, run:

npx power-apps push

This deploys the app to your Dataverse environment and makes it available inside the model-driven app.

Important Notes and Common Pitfalls

A few things to keep in mind as you work with this feature:

Bound vs. Unbound Operations

The distinction between bound and unbound operations matters for how you call the generated service method. Bound operations always take an id: string as the first argument (the GUID of the record the operation is bound to). Unbound operations, like WhoAmI, take only the declared parameters.

The CLI detects the operation type automatically and generates the method signature accordingly. You do not need to configure anything manually.

Re-running add-dataverse-api is Safe

If the operation’s signature changes in your environment — for example, a developer added a new optional parameter — simply re-run the same command:

npx power-apps add-dataverse-api --api-name PickFromQueue

The command is idempotent. It overwrites the schema and regenerates the service class with the latest definition. It will not create duplicate entries in power.config.json, and it will not overwrite entity schema files that already exist.

Conclusion

The add-dataverse-api command is a significant quality-of-life improvement for developers building Power Apps code apps. Instead of handwriting Web API calls, managing URL patterns for bound vs. unbound operations, and manually typing response objects, you get fully generated, type-safe service classes in seconds.

For the support team in our scenario, the result was exactly what the client needed. Cases are now routed with a single click, the correct agent identity is confirmed before any action is taken, and the development time was a fraction of what it would have taken with raw Web API calls.

Whether you are calling WhoAmI to verify the current session, triggering a bound action like PickFromQueue to execute business logic, or invoking a custom operation your team has built, the CLI handles the scaffolding so you can focus on building the experience.

FAQs

What is add-dataverse-api in Power Apps code apps?

The add-dataverse-api command is a Power Apps CLI feature that generates fully typed TypeScript service classes for Dataverse actions and functions. It eliminates the need to manually write Web API fetch calls when building Power Apps code apps.

How do you call Dataverse actions from a Power Apps code app?

You can call Dataverse actions in a Power Apps code app by using the Power Apps npm CLI commands find-dataverse-api and add-dataverse-api. These commands generate typed service classes that let developers invoke Dataverse actions directly in TypeScript.

What is the difference between bound and unbound Dataverse actions?

Bound Dataverse actions are linked to a specific Dataverse table or record and require a record GUID as the first parameter. Unbound actions are standalone operations that do not require a record reference. For example, PickFromQueue is bound, while WhoAmI is unbound.

The post Calling Dataverse Actions and Functions from Power Apps Code Apps first appeared on Microsoft Dynamics 365 CRM Tips and Tricks.

Before yesterdayMain stream
  • ✇Arun Potti's Power Platform blog
  • Explore Dataverse Tools: FetchXML Formatter Online by Arun Potti – Usage
    In my previous article, I had explained about Arun Potti’s FetchXML Formatter and in this article, will explain about how to use this Tool. Requirement: Get all the Active Contacts created in the last 1 hour using JS, C# and Web API. Solution: Follow the below steps, Step 1: Click on the below link to open the Arun Potti’s FetchXML formatter. Arun Potti’s FetchXML Formatter Step 2: Open the Advanced Find and Select the conditions as mentioned below. Look for: Con
     

Explore Dataverse Tools: FetchXML Formatter Online by Arun Potti – Usage

In my previous article, I had explained about Arun Potti’s FetchXML Formatter and in this article, will explain about how to use this Tool.

Requirement: Get all the Active Contacts created in the last 1 hour using JS, C# and Web API.

Solution:

Follow the below steps,

Step 1: Click on the below link to open the Arun Potti’s FetchXML formatter.

Arun Potti’s FetchXML Formatter

Step 2: Open the Advanced Find and Select the conditions as mentioned below.

Look for: Contacts

Conditions:

Created On – Last X Hours – 1
Status Equals Active

Step 3: Click on Download Fetch XML.

Step 4: Click on Open file.

Step 5: Select and copy the downloaded FetchXML.

FetchXML Code:

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="contact">
<attribute name="fullname"/>
<attribute name="address1_composite"/>
<attribute name="mobilephone"/>
<attribute name="birthdate"/>
<attribute name="contactid"/>
<order attribute="fullname" descending="false"/>
<filter type="and">
<condition attribute="createdon" operator="last-x-hours" value="1"/>
<condition attribute="statecode" operator="eq" value="0"/>
</filter>
</entity>
</fetch>

Step 6: Paste the copied FetchXML in the FetchXML Input in the Arun Potti’s FetchXML formatter mentioned in the Step 1.

After the FetchXML input is provided, the tool automatically produces fully formatted JavaScript, C#, and Web API code snippets in the Generated Code section for the direct implementation.

Hope you have successfully downloaded the required FetchXML, provided the Input and saw all the outputs.

In the next article, will explain how to use them in real code JS, C# and Web API and get the desired results.

Please like and share your valuable feedback on this article. Also, follow my blog to get my articles to your Inbox.

Graphic promoting a YouTube channel with the text 'Has my blog post helped you?' and buttons for 'WATCH', 'LEARN', and 'SUBSCRIBE'.

Below are my earlier articles that you can have a look.

Streamline FetchXML with Online Formatter for Dataverse Tools

Fixing Postman Connection Issues: A Step-by-Step Guide

Explore Microsoft AB-Series Certification: Skills for AI Roles

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Usage)

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Installation)

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Overview)

Limited Time Offer: 50% Off Microsoft Certification Vouchers

How to send an automated email in Dataverse using Power Automate?

Understanding Activity Party Types in Dynamics 365 CE

How to configure donotreply email using Shared mailboxes in Dynamics 365 CE?

Microsoft Power Pages: The authentication key for your portal will expire

Microsoft Azure: You’re not eligible for an Azure free account

How to create Microsoft Azure 30 days trial?

Edit in Visual Studio Code for the Web in Power Apps Portals

Error: The object cannot be updated because it is read-only in Microsoft Power Apps

Resolved: Fix connections issue in Power Automate Flow

Clear all objects feature in Power Apps Solutions

Power Automate Error: The ‘inputs.parameters’ of workflow operation of type ‘OpenApiConnection’ is not valid.

Power Automate Error: To use FilteringAttributes, your trigger must include an Update event on Dataverse Trigger

Dynamics 365 CE Solution Import Failed in Azure DevOps Pipelines

Power Automate Error: Cannot write more bytes to the buffer than the configured maximum buffer size: 104857600

Error while opening a Tool in XRMToolBox

The Power Automate Cloud Flows Best Practices Whitepaper is now LIVE!

Error in Power Automate: There’s a problem that needs to be fixed to trigger this flow. To see more details, open Flow checker.

How to get the Dataverse Table’s first row from List Rows in Power Automate?

Microsoft Dataverse Accelerator – Part 2 – Installation

Microsoft Dataverse Accelerator – Part 1 – Introduction

How to get the Database Version of the Dataverse?

API playground feature not available in Dataverse Accelerator App?

How to Explore and test Dataverse in the Web API playground (preview)?

Web resource method does not exist in Dynamics 365 CE

How to get Environment Variable Value in Dynamics 365 CE using JavaScript?

Model-driven Apps – openAlertDialog – JavaScript – Code Snippet

Power Automate – Flow is not running on Trigger condition

Power Automate – Input field Delete option is disabled

Recipient of type ‘Contact’ with ID is marked as non-emailable

Preferred Solution | New feature | Microsoft Dataverse

New and Retired Microsoft Dynamics 365 Certifications

Environment settings behavior (Preview) feature in Model-driven Apps

Error while connecting to Dataverse environment in XrmToolBox

Power Fx Formula Columns in Microsoft Power Apps

How to Enable 2024 Release Wave 1 Updates in the Microsoft Dynamics 365 CE Environment?

Delete and Restore records (Preview) feature in Microsoft Dataverse

Microsoft Power App Environments Retention Period

How to Override the Model-driven app header colors?

Timeline Highlights (New feature) in Microsoft Power Apps

Model-driven App – Cannot “See associate records” option in the sub grid (arunpotti.com)

Bookmark the Important Dynamics 365 URLs

How to Enable Tenant-level analytics for Power Automate and Power Apps?

Microsoft Power Automate Copy and Paste Action in New DesignerHow to Setup Multi-Factor Authentication for your Microsoft Power Apps environment?

Microsoft Power Apps | Modern Themes | Preview feature

How to Download and Install the .NET Framework?

How to Create a SharePoint Site Online?

How to add and use Copilot answer control (Preview) in Microsoft Power Apps?

Dark Mode in Microsoft Power Apps

How to create Microsoft 365 E3 Trial for 30 days?

Refreshed look of solution dependencies in Dataverse Solutions

Microsoft Power Automate | Version History | Restore | New Feature

MICROSOFT LEARN – Artificial Intelligence Skills Challenge​ 2024!!!

Resolved – ‘InvokerConnectionOverrideFailed’ Error When a Power App Custom Page call a Power Automate Flow

How to Create Microsoft Power Apps Trial 30 days?

Not able to Create Power Automate Flow in Custom Page in Model-Driven App?

How to Enable Inline Actions feature in Microsoft Canvas Apps?

How to use /mention in Outlook web client for Dataverse records?

Associate Activities Multiple Related Records (Preview) feature in Microsoft Dynamics 365 CE

How to Enable Aggregation (preview) feature in Microsoft Power Apps?

Power Apps – Some components of this app require you to sign in. If you don’t sign in, part of the app may not work.

How to Enable the SQL Server stored procedures (preview) feature in the Power Apps?

How to get the Client Version of the Model Driven Apps?

How to get Microsoft 365 E3 Trial for 30 days?

How to Enable Copilot for Model-Driven apps feature in Dynamics 365 CE Environment?

[Resolved] Web resource method does not exist in Dynamics 365 CE JavaScript Error

How to Enable Blocking unmanaged customizations (Preview) feature in Dynamics 365 CE?

How to create Microsoft Power Apps Developer Plan Environment?

Microsoft Power Apps Developer Plan vs Power Apps Trial 30 days

What is Microsoft Power Apps Developer Plan?

[Resolved] PCF Field Control not showing anything in the PCF Test Environment?

[Issue Resolved] ReferenceError: Web resource method does not exist in Dynamics 365 CE Javascript Error

[Issue Resolved] Subcomponent cannot be added to the solution because the root component Template is missing in Dataverse

How to Turn Off the Modern Look in the Model Driven Apps?

How to Turn on the New modern, refreshed look for the Model-Driven apps?

Microsoft Power Apps – Apps filter feature

How to Create Microsoft Power Apps 30 days Online Trial Version and an Environment?

Microsoft Power Apps – Solutions filter Preview feature

How to Show the Power Automate complete Expressions?

Dataverse Error: Cannot start the requested operation [EntityCustomization] because there is another [PublishAll] running at this moment.

Power Automate Error: You should specify a contact or account.

How to get the Choice Text and Value in the Dataverse using JavaScript?

Microsoft Dataverse Low Code No Code Plugins

How to convert the Number String to Number Array?

How to Integrate Instant Plugins in the Power Automate Flow?

Power Apps – ‘actionname’ is an unknown or unsupported function in namespace ‘Environment’

Dataverse Browser V1.1.0.1 is available for Dataverse Plugin Debugging

How to Integrate Instant Plugins in the Canvas App?

How to Enable Access to Microsoft Dataverse Actions (Preview feature) in the Power Apps?

How to Create an Instant Plugin in the Dataverse Environment?

How to Install the Microsoft Dataverse Accelerator in the Dataverse Environment?

What is Microsoft Dataverse Accelerator?

How to get the Logged in User Information in the Power Apps?

How to Install Power Platform Tools in Visual Studio Code?

How to Install the Apps from the Microsoft AppSource to your Dataverse Environment?

Microsoft Power Apps Maker Portal has a new look

Microsoft Power Apps Emulator (New Feature)

How to Enable the Dataverse Offline (Experimental Feature) in the Canvas Apps?

How to set the Authoring Version in the Canvas App?

New version of Dataverse Browser is available for Dataverse Plugin Debugging

Latest Free Practice Assessments for Microsoft Certifications

Download CRM 365 V9.X Tools using PowerShell

How to set the Refresh cadence for a Power Platform Environment?

Update forms and views (Preview feature) in Dataverse

How to connect to Microsoft Dataverse in Power Automate Flow using Service principal?

How to Enable Copilot (Preview) feature in Canvas Apps?

How to Debug a Dataverse Plugin without Installing the Profiler in the Plugin Registration Tool?

How to Enable the Licenses (Preview) feature for a Power Platform Environment?

How to Enable Maker Welcome Content (preview) in Power Apps Maker Portal?

How to Enable Managed Environments for a Dataverse Environment?

How to Enable the Modern Controls (Preview feature) in the Canvas Apps?

How to Enable 2023 Release Wave 1 updates in the Dataverse Environment?

How to Deploy Enterprise Applications in the new Dataverse Environment?

What is Preview, Experimental and Retired features in Canvas Apps?

How to Enable the New Power Fx Formula Bar in Power Apps Studio?

Writing Power Fx formulas with natural language

Power Fx Formula Columns in Dataverse

Generating Power Fx formulas from examples

How to Create Dynamics 365 Marketing 30 Days Trial Version Online?

How to disable Multi-Factor Authentication (MFA) on Dynamics 365 Login?

How to Create Microsoft Power Apps 30 days Online Trial Version and an Environment?

  • ✇Arun Potti's Power Platform blog
  • Explore Dataverse Tools: FetchXML Formatter Online by Arun Potti
    Working with FetchXML can sometimes get messy – especially when dealing with long, nested queries. To make this easier, I’ve created a new Online FetchXML Formatter. This tool automatically beautifies and structures your FetchXML, making it more readable and developer‑friendly. This is a lightweight web tool for Dataverse / Dynamics 365 CE developers. It helps them format FetchXML and instantly generate ready-to-use JavaScript, C#, and Web API snippets. All of this is possible from a
     

Explore Dataverse Tools: FetchXML Formatter Online by Arun Potti

26 February 2026 at 13:50
Logo of Dataverse featuring a green circular design with the text 'Dataverse' in a modern font.

Working with FetchXML can sometimes get messy – especially when dealing with long, nested queries. To make this easier, I’ve created a new Online FetchXML Formatter. This tool automatically beautifies and structures your FetchXML, making it more readable and developer‑friendly.

This is a lightweight web tool for Dataverse / Dynamics 365 CE developers. It helps them format FetchXML and instantly generate ready-to-use JavaScript, C#, and Web API snippets. All of this is possible from a single FetchXML input.

Click on the below link to open the Tool.

Arun Potti’s FetchXML Formatter

Features:

Clear separation between input and the three outputs.

🔹 Single FetchXML input

Paste FetchXML in standard XRM / Dataverse format

Basic XML validation (parse + root <fetch> check)

🔹 Automatic formatting

Auto-beautifies FetchXML on input/change

Fixes indentation and line breaks for readability

🔹 Code generation

JavaScript snippet for Xrm.WebApi.retrieveMultipleRecords or Web API calls

C# verbatim string snippet for plugins, custom workflow activities, or console apps

Web API URL parameter (fetchXml) with URL-encoded FetchXML

🔹 Copy to clipboard

One-click Copy for:

  • JavaScript output
  • C# output
  • Web API output
  • Formatted FetchXML

🔹 Sample FetchXML

Insert a sample FetchXML query with one click to test the tool

🔹 Clean, responsive UI

Modern layout that works on desktop and mobile

In the next post, I’ll walk you through what the tool does. I will explain how it works.

Please like and share your valuable feedback on this article. Also, follow my blog to get my articles to your Inbox.

Graphic promoting a YouTube channel with the text 'Has my blog post helped you?' and buttons for 'WATCH', 'LEARN', and 'SUBSCRIBE'.

Below are my earlier articles that you can have a look.

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Usage)

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Installation)

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Overview)

Limited Time Offer: 50% Off Microsoft Certification Vouchers

How to send an automated email in Dataverse using Power Automate?

Understanding Activity Party Types in Dynamics 365 CE

How to configure donotreply email using Shared mailboxes in Dynamics 365 CE?

Microsoft Power Pages: The authentication key for your portal will expire

Microsoft Azure: You’re not eligible for an Azure free account

How to create Microsoft Azure 30 days trial?

Edit in Visual Studio Code for the Web in Power Apps Portals

Error: The object cannot be updated because it is read-only in Microsoft Power Apps

Resolved: Fix connections issue in Power Automate Flow

Clear all objects feature in Power Apps Solutions

Power Automate Error: The ‘inputs.parameters’ of workflow operation of type ‘OpenApiConnection’ is not valid.

Power Automate Error: To use FilteringAttributes, your trigger must include an Update event on Dataverse Trigger

Dynamics 365 CE Solution Import Failed in Azure DevOps Pipelines

Power Automate Error: Cannot write more bytes to the buffer than the configured maximum buffer size: 104857600

Error while opening a Tool in XRMToolBox

The Power Automate Cloud Flows Best Practices Whitepaper is now LIVE!

Error in Power Automate: There’s a problem that needs to be fixed to trigger this flow. To see more details, open Flow checker.

How to get the Dataverse Table’s first row from List Rows in Power Automate?

Microsoft Dataverse Accelerator – Part 2 – Installation

Microsoft Dataverse Accelerator – Part 1 – Introduction

How to get the Database Version of the Dataverse?

API playground feature not available in Dataverse Accelerator App?

How to Explore and test Dataverse in the Web API playground (preview)?

Web resource method does not exist in Dynamics 365 CE

How to get Environment Variable Value in Dynamics 365 CE using JavaScript?

Model-driven Apps – openAlertDialog – JavaScript – Code Snippet

Power Automate – Flow is not running on Trigger condition

Power Automate – Input field Delete option is disabled

Recipient of type ‘Contact’ with ID is marked as non-emailable

Preferred Solution | New feature | Microsoft Dataverse

New and Retired Microsoft Dynamics 365 Certifications

Environment settings behavior (Preview) feature in Model-driven Apps

Error while connecting to Dataverse environment in XrmToolBox

Power Fx Formula Columns in Microsoft Power Apps

How to Enable 2024 Release Wave 1 Updates in the Microsoft Dynamics 365 CE Environment?

Delete and Restore records (Preview) feature in Microsoft Dataverse

Microsoft Power App Environments Retention Period

How to Override the Model-driven app header colors?

Timeline Highlights (New feature) in Microsoft Power Apps

Model-driven App – Cannot “See associate records” option in the sub grid (arunpotti.com)

Bookmark the Important Dynamics 365 URLs

How to Enable Tenant-level analytics for Power Automate and Power Apps?

Microsoft Power Automate Copy and Paste Action in New DesignerHow to Setup Multi-Factor Authentication for your Microsoft Power Apps environment?

Microsoft Power Apps | Modern Themes | Preview feature

How to Download and Install the .NET Framework?

How to Create a SharePoint Site Online?

How to add and use Copilot answer control (Preview) in Microsoft Power Apps?

Dark Mode in Microsoft Power Apps

How to create Microsoft 365 E3 Trial for 30 days?

Refreshed look of solution dependencies in Dataverse Solutions

Microsoft Power Automate | Version History | Restore | New Feature

MICROSOFT LEARN – Artificial Intelligence Skills Challenge​ 2024!!!

Resolved – ‘InvokerConnectionOverrideFailed’ Error When a Power App Custom Page call a Power Automate Flow

How to Create Microsoft Power Apps Trial 30 days?

Not able to Create Power Automate Flow in Custom Page in Model-Driven App?

How to Enable Inline Actions feature in Microsoft Canvas Apps?

How to use /mention in Outlook web client for Dataverse records?

Associate Activities Multiple Related Records (Preview) feature in Microsoft Dynamics 365 CE

How to Enable Aggregation (preview) feature in Microsoft Power Apps?

Power Apps – Some components of this app require you to sign in. If you don’t sign in, part of the app may not work.

How to Enable the SQL Server stored procedures (preview) feature in the Power Apps?

How to get the Client Version of the Model Driven Apps?

How to get Microsoft 365 E3 Trial for 30 days?

How to Enable Copilot for Model-Driven apps feature in Dynamics 365 CE Environment?

[Resolved] Web resource method does not exist in Dynamics 365 CE JavaScript Error

How to Enable Blocking unmanaged customizations (Preview) feature in Dynamics 365 CE?

How to create Microsoft Power Apps Developer Plan Environment?

Microsoft Power Apps Developer Plan vs Power Apps Trial 30 days

What is Microsoft Power Apps Developer Plan?

[Resolved] PCF Field Control not showing anything in the PCF Test Environment?

[Issue Resolved] ReferenceError: Web resource method does not exist in Dynamics 365 CE Javascript Error

[Issue Resolved] Subcomponent cannot be added to the solution because the root component Template is missing in Dataverse

How to Turn Off the Modern Look in the Model Driven Apps?

How to Turn on the New modern, refreshed look for the Model-Driven apps?

Microsoft Power Apps – Apps filter feature

How to Create Microsoft Power Apps 30 days Online Trial Version and an Environment?

Microsoft Power Apps – Solutions filter Preview feature

How to Show the Power Automate complete Expressions?

Dataverse Error: Cannot start the requested operation [EntityCustomization] because there is another [PublishAll] running at this moment.

Power Automate Error: You should specify a contact or account.

How to get the Choice Text and Value in the Dataverse using JavaScript?

Microsoft Dataverse Low Code No Code Plugins

How to convert the Number String to Number Array?

How to Integrate Instant Plugins in the Power Automate Flow?

Power Apps – ‘actionname’ is an unknown or unsupported function in namespace ‘Environment’

Dataverse Browser V1.1.0.1 is available for Dataverse Plugin Debugging

How to Integrate Instant Plugins in the Canvas App?

How to Enable Access to Microsoft Dataverse Actions (Preview feature) in the Power Apps?

How to Create an Instant Plugin in the Dataverse Environment?

How to Install the Microsoft Dataverse Accelerator in the Dataverse Environment?

What is Microsoft Dataverse Accelerator?

How to get the Logged in User Information in the Power Apps?

How to Install Power Platform Tools in Visual Studio Code?

How to Install the Apps from the Microsoft AppSource to your Dataverse Environment?

Microsoft Power Apps Maker Portal has a new look

Microsoft Power Apps Emulator (New Feature)

How to Enable the Dataverse Offline (Experimental Feature) in the Canvas Apps?

How to set the Authoring Version in the Canvas App?

New version of Dataverse Browser is available for Dataverse Plugin Debugging

Latest Free Practice Assessments for Microsoft Certifications

Download CRM 365 V9.X Tools using PowerShell

How to set the Refresh cadence for a Power Platform Environment?

Update forms and views (Preview feature) in Dataverse

How to connect to Microsoft Dataverse in Power Automate Flow using Service principal?

How to Enable Copilot (Preview) feature in Canvas Apps?

How to Debug a Dataverse Plugin without Installing the Profiler in the Plugin Registration Tool?

How to Enable the Licenses (Preview) feature for a Power Platform Environment?

How to Enable Maker Welcome Content (preview) in Power Apps Maker Portal?

How to Enable Managed Environments for a Dataverse Environment?

How to Enable the Modern Controls (Preview feature) in the Canvas Apps?

How to Enable 2023 Release Wave 1 updates in the Dataverse Environment?

How to Deploy Enterprise Applications in the new Dataverse Environment?

What is Preview, Experimental and Retired features in Canvas Apps?

How to Enable the New Power Fx Formula Bar in Power Apps Studio?

Writing Power Fx formulas with natural language

Power Fx Formula Columns in Dataverse

Generating Power Fx formulas from examples

How to Create Dynamics 365 Marketing 30 Days Trial Version Online?

How to disable Multi-Factor Authentication (MFA) on Dynamics 365 Login?

How to Create Microsoft Power Apps 30 days Online Trial Version and an Environment?

  • ✇Microsoft Dynamics 365 CRM Tips and Tricks
  • How to restrict Unwanted Power Automate flow execution
    In Microsoft Dataverse, Power Automate flows are commonly used to execute business logic when records are created, updated, or deleted. They work well for most user-driven and real-time business operations. However, in certain scenarios such as integrations, background jobs, bulk data operations, or system maintenance tasks running these flows is not always required and can negatively impact performance or cause unintended automation triggers. To address this, Microsoft provides a way to bypass
     

How to restrict Unwanted Power Automate flow execution

Power Automate

In Microsoft Dataverse, Power Automate flows are commonly used to execute business logic when records are created, updated, or deleted. They work well for most user-driven and real-time business operations.

However, in certain scenarios such as integrations, background jobs, bulk data operations, or system maintenance tasks running these flows is not always required and can negatively impact performance or cause unintended automation triggers.

To address this, Microsoft provides a way to bypass Power Automate flow execution when performing operations through the Dataverse SDK. This allows developers to update or delete records without triggering associated flows, giving greater control over when automation should or should not run.

In this blog, we’ll explore when and why bypassing Power Automate flows makes sense, how it works at a technical level, and what to keep in mind before using it in production environments.

Why Bypass Power Automate Flows?

Bypassing flows is useful when the operation is system-driven and the flow logic is not needed.

Some common reasons include:

  • Avoiding unnecessary flow execution during background operations
  • Improving performance during bulk updates or migrations
  • Preventing flows from triggering repeatedly or causing loops
  • Keeping business automation separate from technical or maintenance logic

This approach ensures that Power Automate flows run only when they genuinely add business value, rather than during behind-the-scenes system updates.

Steps to Perform

For demonstration purposes, the logic is implemented using a desktop application. The objective is to clearly compare a standard update operation with one that bypasses Power Automate flow execution.

In both scenarios:

  • The same account record is updated
  • The only difference is whether the bypass flag is applied during the update request

Update Event Without Bypass

In this scenario, the record is updated using the standard SDK request without any bypass flag.

/// <summary>

/// Update the record Account record

/// </summary>

/// <param name="service"></param>

private static void UpdateRecord(CrmServiceClient service, string accountName, Guid accountId)

{

try

{

//Step 1: Get Record to update

Entity ent = new Entity("account", accountId);

#region Create Account name

ent["name"] = accountName;

#endregion

// Step 2: Update

service.Update(ent);

Console.WriteLine($"Record updated successfully. {DateTime.Now}");

}

catch (Exception ex)

{

SampleHelpers.HandleException(ex);

}
}

Restrict Unwanted Power Automate flow execution

Restrict Unwanted Power Automate flow execution

Observed behavior:

  • The update operation succeeds
  • The associated Power Automate flow is triggered
  • Any downstream logic defined in the flow executes as expected (for example, SharePoint operations, notifications, or validations)

This is the default and expected behavior when performing update operations through the SDK.

Update Event with Power Automate Flow Bypass

In this scenario, the same update operation is executed, but the request includes the bypass flag to skip Power Automate flow execution.

/// <summary>

/// Update the record Account record with bypass logic

/// </summary>

/// <param name="service"></param>

private static void UpdateRecordWithBypass(CrmServiceClient service, string accountName, Guid accountId)

{

try

{

//Step 1: Get Record to update

Entity ent = new Entity("account", accountId);

#region Create entity record object

ent["name"] = accountName;

#endregion

// Step 2: Create delete request

var updateRequest = new UpdateRequest

{

Target = ent

};

// Step 3: Bypass Power Automate flows

updateRequest.Parameters.Add("SuppressCallbackRegistrationExpanderJob", true);

// Step 4: Execute

service.Execute(updateRequest);

Console.WriteLine($"Record updated with bypass successfully. {DateTime.Now}");

}

catch (Exception ex)

{

SampleHelpers.HandleException(ex);

}
}

Restrict Unwanted Power Automate flow execution

Restrict Unwanted Power Automate flow execution

Observed behavior:

  • The record is updated successfully.
  • Power Automate flow does not execute.
  • No SharePoint or automation logic tied to the flow is triggered.

This allows the system to perform controlled updates without affecting existing automation logic.

Conclusion

Bypassing Power Automate flows in Microsoft Dataverse is a powerful capability designed for advanced scenarios, such as:

  • System integrations
  • Maintenance or cleanup jobs
  • Bulk updates and data migrations

When used appropriately, it helps improve performance, avoid unnecessary automation, and maintain clean separation between business logic and technical processes.

However, this feature should be applied carefully and intentionally. Overusing it can lead to missed automation or inconsistent system behavior. When used in the right context, it results in cleaner implementations and more predictable outcomes.

The post How to restrict Unwanted Power Automate flow execution first appeared on Microsoft Dynamics 365 CRM Tips and Tricks.

  • ✇Jukka Niiranen blog
  • The spirit of the licensing.guide
    My dedicated website for all things Microsoft licensing (Power Platform, Dynamics 365, Copilot) has now been launched. Introducing: The Licensing Guide. Continue reading The spirit of the licensing.guide at Jukka Niiranen blog.
     

The spirit of the licensing.guide

9 December 2025 at 14:51
The spirit of the licensing.guide

The Licensing Guide website launch image

My dedicated website for all things Microsoft licensing (Power Platform, Dynamics 365, Copilot) has now been launched. Introducing: The Licensing Guide.

Continue reading The spirit of the licensing.guide at Jukka Niiranen blog.

Building Standalone Apps with Power Apps Code Apps: Using Dataverse and Office 365 Users Connectors (Part 1)

Power Apps

In the Dynamics 365 and Power Apps ecosystem, we have several options for building applications, each one is for a specific type of requirement. Model-driven Apps works well when we need a structured UI with standard components, while we use Canvas Apps to create custom, mobile-friendly interfaces with a low-code approach. Recently, Microsoft introduced another application type called Code Apps, which offers a completely different way to build applications using pro code approach.

With the introduction of  Power Apps Code Apps, things have changed. Code Apps let us build standalone single page applications using modern web frameworks. These are independent applications that cannot be integrated with Canvas Apps or Model-driven Apps.

The best part is that we get direct access to more than 1,500 standard and premium connectors through the Power Apps SDK. We do not have to write any authentication code, no OAuth flows, no custom APIs, no middleware. We just have to connect and use.

In this article, we’ll walk you through creating a Code App from scratch. We’ll build Personal Dashboard, a simple application that pulls assigned cases and leads from Dataverse and shows current logged in user details using the Office 365 Users and Dataverse connectors.

What Makes Code Apps Different?

We can build a UI of our own choice and connect to a wide range of data sources using more than 1,500 standard and premium connectors provided by the Power Platform. All connections are secure because the Power Apps SDK handles authentication, and each connector enforces user-level permissions. This means the app can only access data that the signed-in user is allowed to see, so there’s no need to write custom authentication code.

Code Apps provide a balanced approach with several key advantages:

  • A standalone application that runs directly within Power Platform
  • Full development with modern web frameworks such as React, Vue, or Angular, with support for  your preferred libraries
  • Direct access to connectors through the Power Apps SDK without custom authentication code
  • Streamlined deployment through a single command to your environment

The connector integration is particularly valuable. Whether the need is to query Dataverse, access current user profile details, or use other services, the connector can be called directly. There’s no need to configure service principals, manage app registrations, or implement token management. The integration works seamlessly within the platform.

Prerequisites

Before getting started, we have to make sure the following prerequisites are in place:

  • Power Apps Premium license with Code Apps enabled environment
  • Visual Studio Code installed
  • Node.js LTS version
  • Power Platform Tools for VS Code extension

Step 1: Setting Up the Code App

Let’s create the app. Open VS Code, launch a PowerShell terminal, and run the following command:

npm create vite@latest PersonalDashboard — –template react-ts

For this application, we are using React as the framework and TypeScript as the variant. After that, navigate to the project folder and install the dependencies:

npm install

Install the node type definitions:

npm i –save-dev @types/node

After executing these commands, the project structure will appear as shown in the image below.

PowerAppsCode

According to the official Microsoft documentation, the Power Apps SDK currently requires the port to be 3000 in the default configuration. To configure this, open vite.config.ts and replace the content with the following code:

import { defineConfig } from 'vite'

import react from '@vitejs/plugin-react'

import * as path from 'path'

 

// https://vite.dev/config/

export default defineConfig({

base: "./",

server: {

host: "::",

port: 3000,

},

plugins: [react()],

resolve: {

alias: {

"@": path.resolve(__dirname, "./src"),

},

},

});

Note for Mac users: It may be necessary to modify the package.json scripts section.

Change from:

"scripts":  {

"dev": "start vite && start pac code run",

"build": "tsc -b && vite build",

"lint": "eslint .",

"preview": "vite preview"

}

to this

"scripts": {
"dev": "vite && pac code run",
"build": "tsc -b && vite build",
"lint": "eslint .",
"preview": "vite preview"
}

Save the file and run the Code App locally by executing:

npm run dev

Browse to http://localhost:3000. If the application loads successfully, press Ctrl+C to stop the server.

Step 2: Initialize the Code App

First authenticate to Power Platform:

pac auth create

After that, sign in with the credentials and select the environment:

pac env select -env <environment-url>

Initialize the Code App:

pac code init –displayName “Personal Dashboard”

This will create a power.config.json file in the project as shown in the image below.

PowerAppsCode

Now install the Power Apps SDK. This package provides APIs that allow the application to interact directly with Power Platform services and includes built-in logic to manage connections automatically as they are added or removed.

npm install –save-dev “@microsoft/power-apps

Update package.json to run both Vite and the Power Apps SDK server:

"scripts": {
"dev": "start pac code run && vite",
"build": "tsc -b && vite build",
"lint": "eslint .",
"preview": "vite preview"
}

Step 3: Configure Power Provider

 

Create PowerProvider.tsx under src and add the Power SDK context provider code given below.

 

import { initialize } from "@microsoft/power-apps/app";

import { useEffect, type ReactNode } from "react";

interface PowerProviderProps {

children: ReactNode;

}

export default function PowerProvider({ children }: PowerProviderProps) {

useEffect(() => {

const initApp = async () => {

try {

await initialize();

console.log('Power Platform SDK initialized successfully');

} catch (error) {

console.error('Failed to initialize Power Platform SDK:', error);

}

};

initApp();

}, []);

return <>{children}</>;

}

Update the main.tsx and add this line in the imports section:

import PowerProvider from './PowerProvider.tsx'

and change this code snippet

<StrictMode>
<App />
</StrictMode>,

to this

<StrictMode>

<PowerProvider>

<App />

</PowerProvider>

</StrictMode>,

Run the app by executing :

npm run dev

Open the URL provided by the Power SDK Server in the same browser profile as that of power platform tenant.

Step 4: Adding Dataverse Connector

Now comes the part where we will add the data source to our application. In this step, we’ll use the Dataverse connector to fetch assigned cases and leads for the logged-in user.

For that First, we need to create a connection:

1. Go to Power Apps and open Connections.

2. Click New Connection and select Dataverse.

Follow the instruction properly to create the connection, as shown in the

PowerAppsCode

Once the connection is ready, we have to open the terminal. For Dataverse, we have to add the tables required for the application. For this example, we’ll add the Leads and Incident (Cases) tables using the following commands:

pac code add-data-source -a dataverse -t lead

pac code add-data-source -a dataverse -t incident

PowerAppsCode

After running these commands, we can see that some files and folders are added to the project. Inside the generated folder, there are services and models folders. These contain the files for Leads, Incidents, and other tables, which can be used in the code. For example:

import { AccountsService } from './generated/services/AccountsService';

Import type { Accounts } from './generated/models/AccountsModel';

CRUD operations can be performed on Dataverse using the app. Before accessing any data, we have to initialize the Power Apps SDK to avoid errors. An async function or state check can ensure the SDK is ready before making API calls. For example:

useEffect(() => {

// Define a function of asynchronous type to properly initialize the Power Apps SDK to avoid any error during runtime

 

const init = async () => {

try {

await initialize(); // Wait for SDK initialization

setIsInitialized(true); // Mark the app as ready for data operations

} catch (err) {

setError('Failed to initialize Power Apps SDK'); // Handle initialization errors

setLoading(false); // Stop any loading indicators

}

};

 

init(); // Call the initialization function when the component mounts

}, []);

 

useEffect(() => {

If (!isInitialized) return;

 

// Place your data reading logic here

}, []);


 

Step 5: Adding Office 365 Users Connector

Similar to Dataverse, we need to create a connection for Office 365 Users by following the same steps. Once the connection is ready, we need to add it to the application. First, list all available connections to get the connection ID using command:

pac connection list

It will list all the connections available in the selected environment. We need to Copy the connection ID for Office 365 Users from the list, then add it to the project using:

pac code add-data-source -a “shared_office365users” -c “<connection-id>”

After running this command, the Office 365 Users connector will be available to use in the application, allowing access to user profiles, and other Office 365 user data.


Step 6: Building the UI

There are two ways to build a good UI. The first is the traditional coding approach where we write the complete code manually. The second is by using GitHub Copilot integrated in VS Code with the help of prompts.

Using GitHub Copilot:

We can generate the UI by writing a detailed prompt in GitHub Copilot. Here’s an example prompt:

Create a Personal Dashboard UI component in React with TypeScript that displays:

  1. A header section showing the current logged-in user’s profile information (name, email, job title, and profile photo) fetched from Office 365 Users connector
  2. Two main sections side by side:

– Left section: Display a list of assigned Cases (Incidents) from Dataverse

* Show case title, case number, priority, status, and created date

* Use card layout for each case

* Add loading state and error handling

– Right section: Display a list of assigned Leads from Dataverse

* Show lead name, company, topic, status, and created date

* Use card layout for each lead

* Add loading state and error handling

  1. Use modern, clean UI design with:

– Responsive layout (works on desktop and mobile)

– Tailwind CSS for styling

– Professional color scheme (blues and grays)

– Proper spacing and typography

– Loading spinners while data is fetching

– Error messages if data fails to load

After providing this prompt to GitHub Copilot, it will generate the complete component code. We can then review the generated code, make any necessary adjustments, and integrate it into our application.

Step 7: Deploy Your Code App

Once the code is complete and the app is running locally, the next step is to deploy the application. For Code Apps, deployment is straightforward. First, build the application by running:

npm run build

After a successful build, execute the following command to push the application to Power Apps:

pac code push

This command will deploy the application to Power Apps. To verify the deployment, go to the Power Apps portal and open the Apps section. The newly deployed Code App will be visible in the list as shown in the image below.

PowerAppsCode

To run the app, click the play button. On the first launch, the application will prompt for permission to access the connected data sources. After allowing the permissions, the application will use those connection references for all subsequent operations.

PowerAppsCode

 

PowerAppsCode

Conclusion

With Power Apps Code Apps, we can now build standalone applications. The real advantage here is the direct access to over 1,500 connectors through the Power Apps SDK. We can connect to Dataverse, Office 365 Users, and other services without writing any authentication code. The Power Apps SDK handles all the security, and each connector respects user level permissions automatically.

We also get complete freedom to design our own UI using any libraries we prefer. The deployment process is simple. Just run the build command and push it to Power Platform with a single command.

In this article, we built a Personal Dashboard that pulls data from Dataverse and Office 365 Users. The same approach works for any application that needs to connect with Power Platform services. The setup is straightforward, and once the project is initialized, adding new data sources is just a matter of running a few commands.

Code Apps provide a practical way to build custom applications within the Power Platform ecosystem while maintaining secure connections and proper access control.

Frequently Asked Questions (FAQs)

What are Power Apps Code Apps?

Power Apps Code Apps are a new application type in Microsoft Power Platform that allow developers to build standalone single-page applications using modern web frameworks such as React, Angular, or Vue. They provide direct access to Power Platform connectors through the Power Apps SDK without requiring custom authentication code.

How are Code Apps different from Canvas Apps and Model-Driven Apps?

Unlike Canvas Apps and Model-Driven Apps, Code Apps:

  • Are fully standalone applications
  • Use a pro-code development approach
  • Allow complete control over UI and application architecture
  • Cannot be embedded into Canvas or Model-Driven Apps
  • Use modern frontend frameworks instead of low-code designers

Do Power Apps Code Apps require authentication setup?

No. Authentication is handled automatically by the Power Apps SDK. Developers do not need to implement OAuth flows, manage tokens, or configure app registrations. All connectors enforce user-level permissions by default.

Can Power Apps Code Apps connect to Dataverse?

Yes. Power Apps Code Apps can connect directly to Dataverse using the Dataverse connector. Developers can perform CRUD operations on Dataverse tables, such as Leads and Incidents once the SDK is initialized.

How do Code Apps access Office 365 user information?

Code Apps use the Office 365 Users connector to retrieve profile details such as name, email, job title, and profile photo. The connector respects the signed-in user’s permissions automatically.

The post Building Standalone Apps with Power Apps Code Apps: Using Dataverse and Office 365 Users Connectors (Part 1) first appeared on Microsoft Dynamics 365 CRM Tips and Tricks.

  • ✇Arun Potti's Power Platform blog
  • My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles
    I recently released my first XRMToolBox plugin, “Dataverse Users, Security Roles, Teams and Teams Security Roles,” designed to help administrators, developers, and auditors easily explore detailed user access data within Microsoft Dataverse environments. You can check the below articles in order for more details. Dataverse Users, Security roles, Teams and Teams security roles (Overview) Dataverse Users, Security roles, Teams and Teams security roles (Installation) Datavers
     

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles

10 September 2025 at 00:01
Logos featuring a stylized letter 'D' in blue and a wrench icon next to a blue and red graphic element.

I recently released my first XRMToolBox plugin, “Dataverse Users, Security Roles, Teams and Teams Security Roles,” designed to help administrators, developers, and auditors easily explore detailed user access data within Microsoft Dataverse environments.

You can check the below articles in order for more details.

Hope you liked my new XrmToolBox tool “Dataverse Users, Security roles, Teams and Teams security roles“.

Please like and share your valuable feedback on this article. Also, follow my blog to get my articles to your Inbox.

Click on the below image to navigate to my YouTube Channel.

Graphic promoting a YouTube channel with the text 'Has my blog post helped you?' and buttons for 'WATCH', 'LEARN', and 'SUBSCRIBE'.

Below are my earlier articles that you can have a look.

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Usage)

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Installation)

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Overview)

Limited Time Offer: 50% Off Microsoft Certification Vouchers

How to send an automated email in Dataverse using Power Automate?

Understanding Activity Party Types in Dynamics 365 CE

How to configure donotreply email using Shared mailboxes in Dynamics 365 CE?

Microsoft Power Pages: The authentication key for your portal will expire

Microsoft Azure: You’re not eligible for an Azure free account

How to create Microsoft Azure 30 days trial?

Edit in Visual Studio Code for the Web in Power Apps Portals

Error: The object cannot be updated because it is read-only in Microsoft Power Apps

Resolved: Fix connections issue in Power Automate Flow

Clear all objects feature in Power Apps Solutions

Power Automate Error: The ‘inputs.parameters’ of workflow operation of type ‘OpenApiConnection’ is not valid.

Power Automate Error: To use FilteringAttributes, your trigger must include an Update event on Dataverse Trigger

Dynamics 365 CE Solution Import Failed in Azure DevOps Pipelines

Power Automate Error: Cannot write more bytes to the buffer than the configured maximum buffer size: 104857600

Error while opening a Tool in XRMToolBox

The Power Automate Cloud Flows Best Practices Whitepaper is now LIVE!

Error in Power Automate: There’s a problem that needs to be fixed to trigger this flow. To see more details, open Flow checker.

How to get the Dataverse Table’s first row from List Rows in Power Automate?

Microsoft Dataverse Accelerator – Part 2 – Installation

Microsoft Dataverse Accelerator – Part 1 – Introduction

How to get the Database Version of the Dataverse?

API playground feature not available in Dataverse Accelerator App?

How to Explore and test Dataverse in the Web API playground (preview)?

Web resource method does not exist in Dynamics 365 CE

How to get Environment Variable Value in Dynamics 365 CE using JavaScript?

Model-driven Apps – openAlertDialog – JavaScript – Code Snippet

Power Automate – Flow is not running on Trigger condition

Power Automate – Input field Delete option is disabled

Recipient of type ‘Contact’ with ID is marked as non-emailable

Preferred Solution | New feature | Microsoft Dataverse

New and Retired Microsoft Dynamics 365 Certifications

Environment settings behavior (Preview) feature in Model-driven Apps

Error while connecting to Dataverse environment in XrmToolBox

Power Fx Formula Columns in Microsoft Power Apps

How to Enable 2024 Release Wave 1 Updates in the Microsoft Dynamics 365 CE Environment?

Delete and Restore records (Preview) feature in Microsoft Dataverse

Microsoft Power App Environments Retention Period

How to Override the Model-driven app header colors?

Timeline Highlights (New feature) in Microsoft Power Apps

Model-driven App – Cannot “See associate records” option in the sub grid (arunpotti.com)

Bookmark the Important Dynamics 365 URLs

How to Enable Tenant-level analytics for Power Automate and Power Apps?

Microsoft Power Automate Copy and Paste Action in New DesignerHow to Setup Multi-Factor Authentication for your Microsoft Power Apps environment?

Microsoft Power Apps | Modern Themes | Preview feature

How to Download and Install the .NET Framework?

How to Create a SharePoint Site Online?

How to add and use Copilot answer control (Preview) in Microsoft Power Apps?

Dark Mode in Microsoft Power Apps

How to create Microsoft 365 E3 Trial for 30 days?

Refreshed look of solution dependencies in Dataverse Solutions

Microsoft Power Automate | Version History | Restore | New Feature

MICROSOFT LEARN – Artificial Intelligence Skills Challenge​ 2024!!!

Resolved – ‘InvokerConnectionOverrideFailed’ Error When a Power App Custom Page call a Power Automate Flow

How to Create Microsoft Power Apps Trial 30 days?

Not able to Create Power Automate Flow in Custom Page in Model-Driven App?

How to Enable Inline Actions feature in Microsoft Canvas Apps?

How to use /mention in Outlook web client for Dataverse records?

Associate Activities Multiple Related Records (Preview) feature in Microsoft Dynamics 365 CE

How to Enable Aggregation (preview) feature in Microsoft Power Apps?

Power Apps – Some components of this app require you to sign in. If you don’t sign in, part of the app may not work.

How to Enable the SQL Server stored procedures (preview) feature in the Power Apps?

How to get the Client Version of the Model Driven Apps?

How to get Microsoft 365 E3 Trial for 30 days?

How to Enable Copilot for Model-Driven apps feature in Dynamics 365 CE Environment?

[Resolved] Web resource method does not exist in Dynamics 365 CE JavaScript Error

How to Enable Blocking unmanaged customizations (Preview) feature in Dynamics 365 CE?

How to create Microsoft Power Apps Developer Plan Environment?

Microsoft Power Apps Developer Plan vs Power Apps Trial 30 days

What is Microsoft Power Apps Developer Plan?

[Resolved] PCF Field Control not showing anything in the PCF Test Environment?

[Issue Resolved] ReferenceError: Web resource method does not exist in Dynamics 365 CE Javascript Error

[Issue Resolved] Subcomponent cannot be added to the solution because the root component Template is missing in Dataverse

How to Turn Off the Modern Look in the Model Driven Apps?

How to Turn on the New modern, refreshed look for the Model-Driven apps?

Microsoft Power Apps – Apps filter feature

How to Create Microsoft Power Apps 30 days Online Trial Version and an Environment?

Microsoft Power Apps – Solutions filter Preview feature

How to Show the Power Automate complete Expressions?

Dataverse Error: Cannot start the requested operation [EntityCustomization] because there is another [PublishAll] running at this moment.

Power Automate Error: You should specify a contact or account.

How to get the Choice Text and Value in the Dataverse using JavaScript?

Microsoft Dataverse Low Code No Code Plugins

How to convert the Number String to Number Array?

How to Integrate Instant Plugins in the Power Automate Flow?

Power Apps – ‘actionname’ is an unknown or unsupported function in namespace ‘Environment’

Dataverse Browser V1.1.0.1 is available for Dataverse Plugin Debugging

How to Integrate Instant Plugins in the Canvas App?

How to Enable Access to Microsoft Dataverse Actions (Preview feature) in the Power Apps?

How to Create an Instant Plugin in the Dataverse Environment?

How to Install the Microsoft Dataverse Accelerator in the Dataverse Environment?

What is Microsoft Dataverse Accelerator?

How to get the Logged in User Information in the Power Apps?

How to Install Power Platform Tools in Visual Studio Code?

How to Install the Apps from the Microsoft AppSource to your Dataverse Environment?

Microsoft Power Apps Maker Portal has a new look

Microsoft Power Apps Emulator (New Feature)

How to Enable the Dataverse Offline (Experimental Feature) in the Canvas Apps?

How to set the Authoring Version in the Canvas App?

New version of Dataverse Browser is available for Dataverse Plugin Debugging

Latest Free Practice Assessments for Microsoft Certifications

Download CRM 365 V9.X Tools using PowerShell

How to set the Refresh cadence for a Power Platform Environment?

Update forms and views (Preview feature) in Dataverse

How to connect to Microsoft Dataverse in Power Automate Flow using Service principal?

How to Enable Copilot (Preview) feature in Canvas Apps?

How to Debug a Dataverse Plugin without Installing the Profiler in the Plugin Registration Tool?

How to Enable the Licenses (Preview) feature for a Power Platform Environment?

How to Enable Maker Welcome Content (preview) in Power Apps Maker Portal?

How to Enable Managed Environments for a Dataverse Environment?

How to Enable the Modern Controls (Preview feature) in the Canvas Apps?

How to Enable 2023 Release Wave 1 updates in the Dataverse Environment?

How to Deploy Enterprise Applications in the new Dataverse Environment?

What is Preview, Experimental and Retired features in Canvas Apps?

How to Enable the New Power Fx Formula Bar in Power Apps Studio?

Writing Power Fx formulas with natural language

Power Fx Formula Columns in Dataverse

Generating Power Fx formulas from examples

How to Create Dynamics 365 Marketing 30 Days Trial Version Online?

How to disable Multi-Factor Authentication (MFA) on Dynamics 365 Login?

How to Create Microsoft Power Apps 30 days Online Trial Version and an Environment?

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Usage)

9 September 2025 at 09:42
Logos of two software tools: a blue and purple graphic featuring a stylized 'D' and a red, white, and blue logo with a wrench symbol.

In my previous articles, I introduced my plugin tool, “Dataverse Users, Security Roles, Teams, and Team Security Roles“ and explained how to install it using XrmToolBox. In this article, I’ll Walk you through how to use the tool effectively.

Follow the below steps.

Step 1: Open XrmToolBox and search for “Dataverse Users, Security roles, Teams and Teams security roles” in Tools tab.

Click on it.

Screenshot of XrmToolBox interface showing the search bar and the plugin tool 'Dataverse Users, Security roles, Teams and Teams security roles'.

Step 2: Click on Yes to connect to an organization.

Screenshot of the XrmToolBox interface displaying the tool 'Dataverse Users, Security roles, Teams and Teams security roles' with an option to connect to an organization.

Step 3: Select the required connection and click on OK.

Screenshot of the XrmToolBox interface showing the 'Dataverse Users, Security roles, Teams and Teams security roles' tool with a dialog box for selecting connections.

Tool has been opened successfully.

Screenshot of XrmToolBox interface showing the 'Dataverse Users, Security roles' tool with a gray background and zero users retrieved.

Step 4: Click on Load Data.

Screenshot of the XrmToolBox interface showcasing the 'Dataverse Users, Security Roles, Teams' tool, with options to close, load data, and search, displaying zero users retrieved.

Tool will start retrieving all the System user details, Security roles (separated by semicolon ;), Teams (separated by semicolon 😉 and Team Security Roles (separated by semicolon ;).

XrmToolBox interface displaying the Dataverse Users, Security Roles tool, with a loading message indicating retrieval of system user details.

Once, the Tool retrieves the data, you can see the data in the grid and also can see the number of users retrieved.

Screenshot of XrmToolBox displaying user details and security roles for a Dataverse connector, showing fields such as Azure AD Object ID, Full Name, User Status, and User Security Roles.

Step 5: Search for some text to filter the data.

As an example, I have entered the text “System Administrator“, and you can see the grid filtered with the entered text and can see the updated count as well.

Screenshot of the XrmToolBox displaying user data, including user details, security roles, and teams, with a total of 85 users retrieved.

If you want to sort, click on any column in the grid to sort ascending or descending.

As an example, I have clicked on Full Name to sort in Ascending order.

Screenshot of the XrmToolBox displaying a grid of user details including User ID, Application ID, Azure AD Object ID, Domain Name, Business Unit Name, Primary Email, User Status, Access Mode, User Security Roles, and User Teams.

Step 6: Click on Export to export the data in CSV format.

Note: Data will be exported to the CSV format only on the filtered data, which you can see on this grid.

Screenshot of XrmToolBox showing a grid with user details, including User ID, Application ID, Full Name, and Security Roles. Option buttons for Load Data and Export are visible at the top.

Step 7: Choose the required path and Provide the File name.

Click on Save.

User interface showing the file save dialog for exporting data to CSV in XrmToolBox.

Step 8: Once the data is exported successfully, you can see the Information message and the alert dialog with the Path, the file is downloaded.

Click on OK.

Screenshot showing a data export success message in XrmToolBox, indicating the export of user data to a specific file path with a grid of user information displayed.

Step 9: Go to the Downloads folder and open the file to see the data.

Screenshot of an Excel spreadsheet showing exported user and security role data, including columns for User ID, Full Name, and User Status.

Hope you liked my new XrmToolBox tool “Dataverse Users, Security roles, Teams and Teams security roles“.

Please like and share your valuable feedback on this article. Also, follow my blog to get my articles to your Inbox.

Click on the below image to navigate to my YouTube Channel.

Graphic promoting a YouTube channel with the text 'Has my blog post helped you?' and buttons for 'WATCH', 'LEARN', and 'SUBSCRIBE'.

Below are my earlier articles that you can have a look.

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Installation)

My first XRMToolBox Plugin: Dataverse Users, Security roles, Teams and Teams security roles (Overview)

Limited Time Offer: 50% Off Microsoft Certification Vouchers

How to send an automated email in Dataverse using Power Automate?

Understanding Activity Party Types in Dynamics 365 CE

How to configure donotreply email using Shared mailboxes in Dynamics 365 CE?

Microsoft Power Pages: The authentication key for your portal will expire

Microsoft Azure: You’re not eligible for an Azure free account

How to create Microsoft Azure 30 days trial?

Edit in Visual Studio Code for the Web in Power Apps Portals

Error: The object cannot be updated because it is read-only in Microsoft Power Apps

Resolved: Fix connections issue in Power Automate Flow

Clear all objects feature in Power Apps Solutions

Power Automate Error: The ‘inputs.parameters’ of workflow operation of type ‘OpenApiConnection’ is not valid.

Power Automate Error: To use FilteringAttributes, your trigger must include an Update event on Dataverse Trigger

Dynamics 365 CE Solution Import Failed in Azure DevOps Pipelines

Power Automate Error: Cannot write more bytes to the buffer than the configured maximum buffer size: 104857600

Error while opening a Tool in XRMToolBox

The Power Automate Cloud Flows Best Practices Whitepaper is now LIVE!

Error in Power Automate: There’s a problem that needs to be fixed to trigger this flow. To see more details, open Flow checker.

How to get the Dataverse Table’s first row from List Rows in Power Automate?

Microsoft Dataverse Accelerator – Part 2 – Installation

Microsoft Dataverse Accelerator – Part 1 – Introduction

How to get the Database Version of the Dataverse?

API playground feature not available in Dataverse Accelerator App?

How to Explore and test Dataverse in the Web API playground (preview)?

Web resource method does not exist in Dynamics 365 CE

How to get Environment Variable Value in Dynamics 365 CE using JavaScript?

Model-driven Apps – openAlertDialog – JavaScript – Code Snippet

Power Automate – Flow is not running on Trigger condition

Power Automate – Input field Delete option is disabled

Recipient of type ‘Contact’ with ID is marked as non-emailable

Preferred Solution | New feature | Microsoft Dataverse

New and Retired Microsoft Dynamics 365 Certifications

Environment settings behavior (Preview) feature in Model-driven Apps

Error while connecting to Dataverse environment in XrmToolBox

Power Fx Formula Columns in Microsoft Power Apps

How to Enable 2024 Release Wave 1 Updates in the Microsoft Dynamics 365 CE Environment?

Delete and Restore records (Preview) feature in Microsoft Dataverse

Microsoft Power App Environments Retention Period

How to Override the Model-driven app header colors?

Timeline Highlights (New feature) in Microsoft Power Apps

Model-driven App – Cannot “See associate records” option in the sub grid (arunpotti.com)

Bookmark the Important Dynamics 365 URLs

How to Enable Tenant-level analytics for Power Automate and Power Apps?

Microsoft Power Automate Copy and Paste Action in New DesignerHow to Setup Multi-Factor Authentication for your Microsoft Power Apps environment?

Microsoft Power Apps | Modern Themes | Preview feature

How to Download and Install the .NET Framework?

How to Create a SharePoint Site Online?

How to add and use Copilot answer control (Preview) in Microsoft Power Apps?

Dark Mode in Microsoft Power Apps

How to create Microsoft 365 E3 Trial for 30 days?

Refreshed look of solution dependencies in Dataverse Solutions

Microsoft Power Automate | Version History | Restore | New Feature

MICROSOFT LEARN – Artificial Intelligence Skills Challenge​ 2024!!!

Resolved – ‘InvokerConnectionOverrideFailed’ Error When a Power App Custom Page call a Power Automate Flow

How to Create Microsoft Power Apps Trial 30 days?

Not able to Create Power Automate Flow in Custom Page in Model-Driven App?

How to Enable Inline Actions feature in Microsoft Canvas Apps?

How to use /mention in Outlook web client for Dataverse records?

Associate Activities Multiple Related Records (Preview) feature in Microsoft Dynamics 365 CE

How to Enable Aggregation (preview) feature in Microsoft Power Apps?

Power Apps – Some components of this app require you to sign in. If you don’t sign in, part of the app may not work.

How to Enable the SQL Server stored procedures (preview) feature in the Power Apps?

How to get the Client Version of the Model Driven Apps?

How to get Microsoft 365 E3 Trial for 30 days?

How to Enable Copilot for Model-Driven apps feature in Dynamics 365 CE Environment?

[Resolved] Web resource method does not exist in Dynamics 365 CE JavaScript Error

How to Enable Blocking unmanaged customizations (Preview) feature in Dynamics 365 CE?

How to create Microsoft Power Apps Developer Plan Environment?

Microsoft Power Apps Developer Plan vs Power Apps Trial 30 days

What is Microsoft Power Apps Developer Plan?

[Resolved] PCF Field Control not showing anything in the PCF Test Environment?

[Issue Resolved] ReferenceError: Web resource method does not exist in Dynamics 365 CE Javascript Error

[Issue Resolved] Subcomponent cannot be added to the solution because the root component Template is missing in Dataverse

How to Turn Off the Modern Look in the Model Driven Apps?

How to Turn on the New modern, refreshed look for the Model-Driven apps?

Microsoft Power Apps – Apps filter feature

How to Create Microsoft Power Apps 30 days Online Trial Version and an Environment?

Microsoft Power Apps – Solutions filter Preview feature

How to Show the Power Automate complete Expressions?

Dataverse Error: Cannot start the requested operation [EntityCustomization] because there is another [PublishAll] running at this moment.

Power Automate Error: You should specify a contact or account.

How to get the Choice Text and Value in the Dataverse using JavaScript?

Microsoft Dataverse Low Code No Code Plugins

How to convert the Number String to Number Array?

How to Integrate Instant Plugins in the Power Automate Flow?

Power Apps – ‘actionname’ is an unknown or unsupported function in namespace ‘Environment’

Dataverse Browser V1.1.0.1 is available for Dataverse Plugin Debugging

How to Integrate Instant Plugins in the Canvas App?

How to Enable Access to Microsoft Dataverse Actions (Preview feature) in the Power Apps?

How to Create an Instant Plugin in the Dataverse Environment?

How to Install the Microsoft Dataverse Accelerator in the Dataverse Environment?

What is Microsoft Dataverse Accelerator?

How to get the Logged in User Information in the Power Apps?

How to Install Power Platform Tools in Visual Studio Code?

How to Install the Apps from the Microsoft AppSource to your Dataverse Environment?

Microsoft Power Apps Maker Portal has a new look

Microsoft Power Apps Emulator (New Feature)

How to Enable the Dataverse Offline (Experimental Feature) in the Canvas Apps?

How to set the Authoring Version in the Canvas App?

New version of Dataverse Browser is available for Dataverse Plugin Debugging

Latest Free Practice Assessments for Microsoft Certifications

Download CRM 365 V9.X Tools using PowerShell

How to set the Refresh cadence for a Power Platform Environment?

Update forms and views (Preview feature) in Dataverse

How to connect to Microsoft Dataverse in Power Automate Flow using Service principal?

How to Enable Copilot (Preview) feature in Canvas Apps?

How to Debug a Dataverse Plugin without Installing the Profiler in the Plugin Registration Tool?

How to Enable the Licenses (Preview) feature for a Power Platform Environment?

How to Enable Maker Welcome Content (preview) in Power Apps Maker Portal?

How to Enable Managed Environments for a Dataverse Environment?

How to Enable the Modern Controls (Preview feature) in the Canvas Apps?

How to Enable 2023 Release Wave 1 updates in the Dataverse Environment?

How to Deploy Enterprise Applications in the new Dataverse Environment?

What is Preview, Experimental and Retired features in Canvas Apps?

How to Enable the New Power Fx Formula Bar in Power Apps Studio?

Writing Power Fx formulas with natural language

Power Fx Formula Columns in Dataverse

Generating Power Fx formulas from examples

How to Create Dynamics 365 Marketing 30 Days Trial Version Online?

How to disable Multi-Factor Authentication (MFA) on Dynamics 365 Login?

How to Create Microsoft Power Apps 30 days Online Trial Version and an Environment?

❌
❌