Power Up - Upskill Yourself...
❌

Normal view

Received before yesterday
  • ✇Arun Potti's Power Platform blog
  • Fixing “Exceeded Retry Count of 10” Build Error in Visual Studio for D365 CE Projects
    Got the below error while building a Dataverse Console application in Visual Studio. Could not copy “obj\Debug\D365CEConsoleApp.exe” to “bin\Debug\D365CEConsoleApp.exe”. Exceeded retry count of 10. Failed. The file is locked by: “D365CEConsoleApp (18684)” I have followed the below steps and resolved this issue, Step 1: Right Click on PC Task bar and Click on Task Manager. Step 2: Search for the console App “D365CEConsoleApplication“. Note: Even though I stopped
     

Fixing “Exceeded Retry Count of 10” Build Error in Visual Studio for D365 CE Projects

10 September 2026 at 11:45

Got the below error while building a Dataverse Console application in Visual Studio.

Could not copy “obj\Debug\D365CEConsoleApp.exe” to “bin\Debug\D365CEConsoleApp.exe”. Exceeded retry count of 10. Failed. The file is locked by: “D365CEConsoleApp (18684)”

I have followed the below steps and resolved this issue,

Step 1: Right Click on PC Task bar and Click on Task Manager.

Step 2: Search for the console App “D365CEConsoleApplication“.

Note: Even though I stopped the debugging, still this exe is running in the background.

Step 3: Right click on the process and click on End task.

Once the process is closed, process is cleared from Task Manager.

After this, I build and ran the console application, and it started working without any issue.

Hope you had followed the steps and resolved this issue.

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.

How I Passed Microsoft AI Transformation Leader (AB‑731) Certification?

🚀 Free Microsoft Certification Voucher (AI Skills Fest 2026)

My AB‑730 Certification Experience: Preparation Guide, Exam Insights & Tips

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?

  • ✇Microsoft Dynamics 365 CRM Tips and Tricks
  • Build Dataverse Solutions Faster with a Coding Agent in Dynamics 365
    Traditionally, creating a Dataverse solution involves manually creating tables, columns, relationships, and sample records through the Power Apps maker portal or by writing scripts and using Power Platform CLI. With Dataverse skills for coding agents, we can describe our requirements in natural language and let the coding agent implement them directly in the connected Dataverse environment. In this blog, I will demonstrate this capability by building a Recruitment Management solution using a co
     

Build Dataverse Solutions Faster with a Coding Agent in Dynamics 365

Build Dataverse Solutions Faster with a Coding Agent in Dynamics 365

Traditionally, creating a Dataverse solution involves manually creating tables, columns, relationships, and sample records through the Power Apps maker portal or by writing scripts and using Power Platform CLI.

With Dataverse skills for coding agents, we can describe our requirements in natural language and let the coding agent implement them directly in the connected Dataverse environment.

In this blog, I will demonstrate this capability by building a Recruitment Management solution using a coding agent.

The objective is to create the required Dataverse tables, establish relationships, add realistic sample data, and verify that everything has been provisioned successfully in the connected environment.

Key Takeaways
1. Natural language drives Dataverse development.

Describe your solution in plain English. No manual table creation or CLI scripting required.

2. End-to-end automation inside Dataverse.

The coding agent handles the full Power Platform development workflow for tables, relationships, sample data, and verification.

3. Less context switching, faster delivery.

Stay inside the coding agent experience instead of jumping between the Power Apps maker portal, CLI, and documentation.

4. Human-in-the-loop approval keeps environments safe.

Before any Dataverse resource is modified, the agent requests sign-off that is critical for shared and sandbox environments.

5. Accelerated solution building with GitHub Copilot.

What once took multiple manual steps across tools now starts with a single natural language prompt.

Use Case: Recruitment Management

For this demonstration, we are building a simple Recruitment Management solution that takes a few tables like jobs, interviews, etc.

Prerequisites

Before starting the implementation, I had the following prerequisites:

  1. GitHub Copilot/coding agent
  2. Power Platform CLI
  3. Dataverse skills configured for the coding agent

GitHub Copilot Installation

The first step is to install and configure GitHub Copilot in your development environment.

After installation, verify that Copilot is available in your development environment and that you can interact with the coding agent.

Build Dataverse Solutions Faster with a Coding Agent in Dynamics 365

Step 1: Connect to the Dataverse Environment

The first step is to authenticate the coding agent with the target Microsoft Dataverse environment. This establishes the connection required for the agent to discover and work with Dataverse resources.

Using Power Platform CLI, authenticate against your Dataverse environment with the following command:

pac auth create –url https://<your-org>.crm.dynamics.com

Replace <your-org> with the URL of your Dataverse environment.

Once authentication is complete, verify the available authentication profiles:

pac auth list

With the Dataverse environment connected, the coding agent can work with the environment to create and manage solutions, tables, relationships, and data as part of the implementation.

Build Dataverse Solutions Faster with a Coding Agent in Dynamics 365

Step 2: Add Dataverse Skills

Once the Dataverse environment is connected, the next step is to add the Dataverse skills to the coding agent.

Dataverse skills provide the agent with the knowledge and capabilities required to understand Dataverse concepts and perform common development tasks, such as creating solutions, tables, columns, relationships, and data.

In the coding-agent terminal, add the Dataverse skills using:

/plugin marketplace add dataverse

After the Dataverse skills are added, the coding agent can use them when working with the connected Dataverse environment.

The key benefit is that developers don’t need to manually provide every Power Platform CLI command, tool parameter, or implementation detail. Instead, we can describe the desired outcome in natural language, and the coding agent can orchestrate the required Dataverse operations.

This also reduces context switching between documentation, CLI commands, scripts, and the Dataverse UI, allowing the development workflow to remain within the coding-agent experience.

Build Dataverse Solutions Faster with a Coding Agent in Dynamics 365

Step 3: Give the Prompt to the AI Agent

Now comes the implementation part.

Instead of manually creating five tables and their relationships, we can describe the solution we want using natural language.

Build Dataverse Solutions Faster with a Coding Agent in Dynamics 365

The agent interprets the requirements and determines the Dataverse components that need to be created.

At this point, we don’t have to manually specify every CLI command or create each table from the Power Apps maker portal.

Step 4: Approving Changes

As the agent performs operations against the environment, it may ask for approval before executing certain actions.

For example, the agent may request approval to:

  1. Create or modify Dataverse components
  2. Execute Power Platform CLI commands
  3. Run generated scripts
  4. Load data into the environment

Review the proposed action and approve it when you are comfortable with the changes.

This approval step is particularly important when working with development or shared environments because the coding agent is capable of making actual changes to Dataverse resources.

Build Dataverse Solutions Faster with a Coding Agent in Dynamics 365

Output

After the agent completes the requested operations, we can verify the solution in Dataverse.

The Recruiting solution should now contain the requested tables and relationships.

We can also inspect the tables and their relationships to verify that the requested data model was created successfully. The agent can then query the newly created data and answer business questions.

Build Dataverse Solutions Faster with a Coding Agent in Dynamics 365

Build Dataverse Solutions Faster with a Coding Agent in Dynamics 365

Conclusion

The introduction of Dataverse skills for coding agents provides a new way to build and manage Dataverse solutions using natural language. We use a coding agent to create the required tables, relationships, sample records, and verify the resulting components directly in the connected Dataverse environment.

FAQs

What are Dataverse skills for coding agents?
Dataverse skills are capabilities added to a coding agent such as GitHub Copilot that give it the knowledge to understand Dataverse concepts and perform development tasks like creating tables, columns, relationships, and data, all from natural language instructions.

Do I need to know Power Platform CLI to use this?
Basic familiarity helps for the initial setup and authentication steps, but once Dataverse skills are configured, you interact with the agent in natural language rather than writing CLI commands manually.

Is it safe to use a coding agent in a live Dataverse environment?
The agent includes an approval step before executing actions that affect Dataverse resources. It is still recommended to test in a development or sandbox environment before working with production data.

What kinds of Dataverse operations can the coding agent perform?
The agent can create and manage solutions, tables, columns, relationships, and sample data. It can also query the environment and answer business questions based on the data model it has built.

Can the coding agent replace a Dataverse developer entirely?
Not entirely, but it significantly reduces the time and effort required for common development tasks. Developers still need to review, approve, and validate the agent’s output to ensure it meets business requirements.

Does this work with any Dataverse environment?
Yes, as long as the environment is accessible via Power Platform CLI and the coding agent is authenticated against it using the standard pac auth create command.

What happens if the agent makes a mistake?
Because the agent requests approval before executing changes, you have the opportunity to review and reject any action that does not look right before it affects your environment.

The post Build Dataverse Solutions Faster with a Coding Agent in Dynamics 365 first appeared on Microsoft Dynamics 365 CRM Tips and Tricks.

  • ✇Microsoft Dynamics 365 CRM Tips and Tricks
  • Create and Use Business Skills in Dynamics 365 Using the Dataverse MCP Server
    We spend a lot of our time in Dynamics 365 CRM watching the same problem repeat itself in different forms: an agent, a bot, or a Copilot integration has data access, but no idea how our organization actually wants a task done. Give an AI agent the right permissions and it can read and write records all day. But ask it to “log this call the way we normally log it” and it has no reference point. Every agent ends up guessing, and every guess looks a little different. This is exactly the gap Busines
     

Create and Use Business Skills in Dynamics 365 Using the Dataverse MCP Server

Create and Use Business Skills in Dynamics 365 Using the Dataverse MCP ServerWe spend a lot of our time in Dynamics 365 CRM watching the same problem repeat itself in different forms: an agent, a bot, or a Copilot integration has data access, but no idea how our organization actually wants a task done. Give an AI agent the right permissions and it can read and write records all day. But ask it to “log this call the way we normally log it” and it has no reference point. Every agent ends up guessing, and every guess looks a little different.

This is exactly the gap Business Skills in Dataverse are meant to close. Instead of teaching an agent our process every single time through a long prompt, we write the process once, save it inside Dataverse, and any connected agent can pick it up and follow it consistently. We picked one everyday scenario, a support call getting logged against a Case, and tested the whole thing end to end using an AI agent connected through the Dataverse MCP server. This blog walks through exactly what we did.

What Is a Business Skill?

A Business Skill is a plain-language set of instructions stored inside Dataverse. It describes how a specific piece of work should get done: the steps involved, the information needed, and any rules that apply. Think of it as a written SOP, except this one is readable by an AI agent, not just a human.

The skill has three parts:

  • Description – a short line telling the agent when this skill applies. This is what the agent scans through to decide whether a skill is relevant to what the user just asked.
  • Instructions – the actual step-by-step process, written in markdown.
  • Resources (optional) – a supporting file, like a policy document, that the agent can refer to.

Once saved, any agent connected to that Dataverse environment can discover the skill and follow it, whether that agent is sitting in Copilot Studio, Microsoft 365 Copilot, or, in our case, a coding agent connected through the Dataverse MCP server. The MCP server is simply one of the doors an agent can walk through to reach these skills; it is not something the feature depends on.

Prerequisites

Before starting, make sure these are in place:

  • Managed Environment – Business Skills only work inside a Managed Environment. Power Platform Admin Center → Environments → select your environment → enable Managed Environment.
  • Dataverse intelligence turned on – Power Platform Admin Center → your environment → Settings → Product → Features → Dataverse intelligence → turn on “Turn on Dataverse intelligence for agents and AI experiences.”
  • Dataverse MCP server enabled – same Features page → Dataverse Model Context Protocol → allow MCP clients to interact with the Dataverse MCP server.
  • A connected agent client – we used VS Code with the GitHub Copilot extension in Agent mode. If you plan to use a client other than Copilot Studio, remember to also allow that specific client under Advanced Settings → Allowed MCP Clients. As shown in the screenshot below

Create and Use Business Skills in Dynamics 365 Using the Dataverse MCP Server
Create and Use Business Skills in Dynamics 365 Using the Dataverse MCP Server

  • Node.js installed, since VS Code’s MCP connection runs through it.

The Scenario We Tested

A support rep gets off a call with a customer. Instead of opening the Case record, scrolling to the timeline, and typing out a note by hand, we wanted an AI agent to do this for them: take the case number and a quick summary of the call, find the Case, and log it as a note automatically, in a consistent format every time.

Step 1: Create the Business Skill

Go to make.powerapps.com → your environment → More → Business skills (preview).

Create and Use Business Skills in Dynamics 365 Using the Dataverse MCP Server

Click Create skill. Give it a name, for example LogCallTranscript. Power Apps generates a unique name with an auto-assigned prefix. If that prefix does not read well, you can edit the unique name field directly before saving

Create and Use Business Skills in Dynamics 365 Using the Dataverse MCP ServerCreate and Use Business Skills in Dynamics 365 Using the Dataverse MCP Server

In the Description field, write a short line describing when the agent should use this skill and add a few trigger phrases:

Use this skill when the user wants to log a call transcript or conversation summary against a Case (Incident) record in Dataverse. Trigger phrases: “log this call”, “log this transcript”, “save this conversation to the case”.

In Instructions, write out the actual process. This is the part the agent will follow step by step, so it needs to be specific about which tool to call and what data to use, not just a general description:

## Purpose
Log a customer call transcript as a note on the related Case record.

## Steps
1. Ask the user for the Case number (ticketnumber) if not provided.
2. Call the Dataverse MCP `read_query` tool to run:
SELECT incidentid
FROM incident WHERE ticketnumber = ‘<case number>’.
3. If no case is found, ask the user to confirm the case number and retry.
4. Call the Dataverse MCP `create_record` tool to create a new “annotation”
record with:
– objectid: the incidentid GUID from step 2
– objecttypecode: “incident”
– subject: “Call Transcript – <today’s date>”
– notetext: the full transcript/summary provided by the user
5. After the create_record call succeeds, confirm to the user that the transcript was logged, and share the Case number.

## Example
Input: “Log this call for case CAS-01023-X4V2: Customer asked about refund status, informed 5-7 business days.”
Output: Note created on CAS-01023-X4V2 confirming refund status was discussed.

## Troubleshooting
– If case not found: verify ticket number format (CAS-XXXXX-XXXX), retry.
– If multiple matches: ask user to clarify.

Save the skill. We left the Resources section empty since our process did not need a supporting document. For visibility, we chose Individual, meaning only we could see and use this skill. Choosing Organization instead would make the skill visible to every maker and agent in that environment.
Create and Use Business Skills in Dynamics 365 Using the Dataverse MCP Server

Step 2: Connect an Agent to the Dataverse MCP Server

We used VS Code with GitHub Copilot’s Agent mode for this. From your environment, grab the instance URL (Settings → Session details → Instance URL).

In VS Code, open the Command Palette and run MCP: Add Server, choose HTTP/SSE, and paste your instance URL with /api/mcp appended:

https://<yourorg>.crm.dynamics.com/api/mcp 

https://<yourorg>.crm.dynamics.com/api/mcp

Open Copilot Chat, switch to Agent mode, and sign in when prompted.

Step 3: Ask the Agent to Find the Skill

Before testing the actual scenario, we confirmed the agent could see the skill at all:

Show me all business skills in this environment
https://<yourorg>.crm.dynamics.com/api/mcp

Step 4: Run the Scenario

With a real case number pulled from the environment, we asked:

Find and follow the LogCallTranscript business skill to log this call for case <case number>: Customer asked about refund status, informed 5-7 business days.

https://<yourorg>.crm.dynamics.com/api/mcp

The agent located the skill, ran a query to find the Case, created a note against it, and confirmed back with the case number.

The Result:

Opening the Case record and checking the Timeline, the note showed up exactly as the skill described, with the subject formatted as “Call Transcript – <date>” and the summary in the note body.

https://<yourorg>.crm.dynamics.com/api/mcp

No manual note-taking, and every future call gets logged the same way, regardless of which agent or which person triggers it, because the process itself lives in Dataverse and not in someone’s head.

Conclusion:

What stood out to us through this exercise is that Business Skills are not tied to any one type of agent. We tested it through the Dataverse MCP server because that gave us the most direct visibility into which tool the agent called and when, but the same skill would work just as well if it were picked up by a Copilot Studio agent or Microsoft 365 Copilot, since the skill lives inside Dataverse itself. Once the process is written down properly, any agent connected to that environment inherits the same behavior. For any team looking to bring AI agents into their day-to-day Dynamics 365 workflows without every agent behaving differently, this is worth setting up early.

FAQs

What are Business Skills in Dynamics 365 Dataverse?

Business Skills are reusable, natural language instructions stored in Microsoft Dataverse that define how AI agents should perform specific business tasks. Instead of relying on lengthy prompts, organizations can create standardized workflows that agents such as Microsoft 365 Copilot, Copilot Studio, or other MCP-compatible AI clients can discover and execute consistently.

Why should organizations use Business Skills in Dynamics 365?

Business Skills help organizations standardize how AI agents perform repetitive tasks. Instead of every agent interpreting instructions differently, they all follow the same documented workflow, improving consistency, reducing manual effort, and ensuring business processes remain aligned across Dynamics 365 applications.

How can businesses implement Business Skills in Dynamics 365?
Organizations can create Business Skills directly in Power Apps and make them available to connected AI agents. If you need guidance on implementing Business Skills, Dataverse MCP Server, or AI-powered Dynamics 365 solutions, Inogic helps organizations design and deploy intelligent business automation tailored to their workflows.

How do Business Skills work with the Dataverse MCP Server?

The Dataverse MCP Server enables AI agents to discover Business Skills, retrieve Dataverse data, and perform actions such as creating or updating records by following predefined business instructions instead of relying only on prompts.

Can organizations customize Business Skills for their own processes?
Yes. Every Business Skill can be tailored to match an organization’s internal SOPs, approval rules, and business requirements. Inogic helps businesses design customized Dynamics 365 and AI solutions that align with their unique operational workflows.

Can a Microsoft Dynamics 365 partner help implement Business Skills?
Yes. An experienced Dynamics 365 partner can help identify suitable use cases, configure Dataverse, and create reusable Business Skills. Inogic assists organizations in implementing AI-powered Dynamics 365 solutions that improve productivity and governance.

The post Create and Use Business Skills in Dynamics 365 Using the Dataverse MCP Server first appeared on Microsoft Dynamics 365 CRM Tips and Tricks.

  • ✇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 Mic
     

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.

  • ✇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:
     

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.

❌