Think Dynamic, Do Dynamic Microsoft Dynamic CE | Powerapps || Dynamic CRM || Power Apps || Power Platform || Canvas App || D365CE

Vibe Apps: the future of low-code development on Power Platform

 

Introduction 

Microsoft surprised everyone at Ignite 2025 with the exciting launch of Vibe Apps , a remarkable evolution within the Power Platform that significantly redefines how modern enterprise applications are created and developed.

In recent years, Power Platform has offered two main and distinct paths for building applications: Canvas Apps , known for their high flexibility and focus on the user's visual experience, and Model-driven Apps , which leverage the powerful Dataverse data model and an automatically generated interface to optimize processes. With the arrival of Vibe Apps , Microsoft introduces a third path that not only significantly accelerates the journey from initial idea to final solution, but also does so using natural language and advanced AI agents . Furthermore, it incorporates an enhanced modern frontend experience (React) , along with advanced native integration capabilities with essential tools like Microsoft 365 and Copilot. All of this is achieved without compromising corporate governance , which remains a fundamental pillar of the Power Platform ecosystem.

 What are Vibe Apps?

Vibe Apps are applications generated by Vibe Coding , a process where you describe what you want and the platform plans, models data (Dataverse), and builds a complete React frontend . The maker can view and review the code , iterate the solution with new insights, and publish the app as a governed Power Platform resource ( Microsoft Entra ID authentication , connectors, DLP, pipelines, telemetry).

  • Conversational Development (Vibe Coding) : You write the prompt; the experience includes an Enhance Prompt button , which is responsible for refining, improving and completing the requirements provided before proceeding with the generation of the plan and the corresponding model.
  • Modern React frontend : AI generates contemporary and highly functional screens and components (e.g., drag-and-drop kanban ) that far exceed the capabilities of traditional Canvas UI; the maker can inspect the generated code and continue developing efficiently without having to write it manually from scratch. 
  • Backend Dataverse : Create tables, relationships, and business logic solidly based on the corporate data model, ensuring a structured and efficient foundation for your applications. 
  • Integration with agents (Copilot/Microsoft 365) : Agents can efficiently and seamlessly read, write, and operate on the app using the new and advanced Model Context Protocol (MCP) Server, specially developed to improve functionality and experience in Power Apps. 
  • End-to-end governance : comprehensive management including inventory, DLP, sharing limits, deployment pipeline monitoring, health metrics tracking, and detailed agent auditing, all accessible directly from the PPAC

Key innovations announced at Ignite 2025

1) Vibe Coding (Preview)

The new development platform at vibe.powerapps.com provides an advanced environment that facilitates collaboration between creators and developers with agent teams , enabling them to define requirements , structure the data model , and develop a full-stack application in minutes. The official demo, along with coverage provided by the MVP community (Shane Young), showcases applications that integrate a React frontend and a Dataverse backend , generated from specific instructions.

Availability Note: This experience is currently in preview and is not recommended for production environments. It is currently only available in English and in environments located in the United States , and requires Copilot to be enabled .

2) Power Apps MCP Server (Preview)

MCP Server establishes a connection between artificial intelligence agents and the advanced functionalities of various applications, such as intelligent form filling, CRUD operations on records, queries, and the creation or updating of tables, using an open protocol . Dataverse assumes the role of MCP server , being compatible with tools such as Copilot Studio , GitHub Copilot (VS Code) , or third-party clients, such as Claude.

The available MCP tools include: create_record, list_tables, read_query, update_record, create_table, search, fetch, and others. It should be noted that, as specified in the official documentation, the use of MCP tools from external agents to Copilot Studio will be subject to charges starting December 15, 2025 .

3) Agent Feed (Preview)

centralized dashboard within model-driven apps designed to comprehensively monitor agent activity. This dashboard provides detailed information on completed tasks, pending tasks, errors, step-by-step execution maps, AI-generated summaries, and processes requiring manual approval . Its implementation is currently being rolled out gradually , it is only available in English , and for the time being, only the agent owner has access to the activity history.

4) Copilot in Power Apps

Microsoft 365 Copilot operates in context using application data and Microsoft Graph . This advanced feature can analyze information , create visualizations , and coordinate actions directly from its interface. It also provides visibility into the code it executes, such as Python scripts, through the Copilot dashboard.

5) Expanded Governance and Security (PPAC)

Advanced inventory and reporting features are integrated for applications, automations, and agents. External applications can be deployed on Power Platform via Microsoft Entra , ensuring controlled and governed access to over 1,400 connectors . All of this is subject to corporate DLP, workflow, and telemetry policies .

 Key benefits

  • Speed : going from idea to application in minutes.
  • Accesibilidad: democratiza el desarrollo, incluso para quienes no son programadores.
  • Modernización: interfaces más ricas que las Canvas Apps tradicionales.
  • Ecosistema unificado: integración nativa con Microsoft 365, Viva y Copilot.
  • Transparencia: el agente muestra el código, fomentando confianza y aprendizaje.

    Availability and current requirements

Risks and best practices

  • Functionality maturity : As it is in preview status , it is recommended  not to use it in production environments . Its implementation should be prioritized in controlled environments, such as sandbox systems and under feature flag management .
  • Traceability and Privacy : Configure Agent Feed and PPAC to conduct action audits; monitor compliance with applicable regulations, such as GDPR or local regulations, and manage agent access to sensitive data.
  • Prompt quality : The more specific , the better the result; use Enhance Prompt and iterate with human feedback. Context and details : Providing the right context and relevant details is key to getting accurate and useful answers. Be sure to include specific information about the topic, target audience, or purpose of the content you want to generate. The more complete the picture you offer, the better the model will be able to deliver relevant, high-quality results.
  • Code review : While it is not strictly necessary to modify React, performing a thorough inspection of the code and carrying out a rigorous testing process in the application contributes significantly to the prevention of errors and reinforces confidence in its functionality.

Practical example

Imagine a company that needs to develop a practical and efficient app to manage all internal requests in an organized way.

  1. The manager describes: “I want an application where employees can submit vacation requests, which are saved in Dataverse and which managers can approve from their mobile phones.”
  2. The Vibe agent automatically generates the application with forms, approval workflows, and tracking dashboards.
  3. In minutes, the company has a ready-to-use solution, with a modern interface and connected to the Microsoft ecosystem.

Conclusion

Vibe Apps embody the vision of AI-powered low-code that accelerates solution delivery and enhances user experience without compromising corporate security and governance . With Vibe Coding , MCP Server , Agent Feed , and Copilot integration , Power Platform is positioned for a future of conversational development and human-agent collaboration that can transform workflows and productivity across the organization. The recommendation today: experiment in preview with low-risk use cases, formalize governance practices , and pave the way for broader adoption as capabilities move to general-purpose ( GA).



Share:

 


Share:

 


Share:


 

Share:

 


Share:

test

Share:

HOW TO EASILY INSTALL UPDATES TO XRMTOOLBOX TOOLS

Step-by-Step Guide to Install Updates to XrmToolBox Tools

To maintain optimal performance and access new features, it’s important to install updates to XrmToolBox tools regularly. This guide will walk you through the process step by step.


When you log into XrmToolbox, you may see the message “Updates are available for your tools”:

Share:

channel


Share:

Dynamic CRM 365 JavaScript best practice

 Dynamic CRM 365 JavaScript best practice:  

These are the 5 refactorings I always do:

✅ Adding executionContext to functions;

Passing the executionContext is the new way to access Xrm.Page. Make sure you flag ‘Pass execution context as first parameter’. Waiting patiently for Microsoft to make this the default 

✅ Replacing var with let or const;

Using let or const prevents stupid bugs where you re-declare or overwrite variables when you didn’t mean to.

✅ Better names for variables;

While I’m replacing var, I also improve the names of the variables to make it clear what their intension is.

✅ Invert if statements and use early returns;

Remove all those nested if statements and make your code clearer to understand by returning immediately when a condition doesn’t apply or inverting the check in a if statement.

✅ Use async/await;

Remove promises and .then methods that are nesting your code and replace it with the async/wait pattern to improve your code readability.

Read More

Share:

How to use Autonumber field in Model Driven Apps

  How to use Autonumber field in Model Driven Apps

Autonumber fields are a type of field that automatically generates a unique, sequential number each time a new record is created in a Model-driven app. These fields are commonly used to assign unique identifiers to records, such as order numbers, invoice numbers, or case numbers. In this blog, we’ll explore how to use Autonumber fields in Model-driven apps.

To create an Autonumber field in a Model-driven app, follow these steps:

1. Navigate to the solution where you want to create the field.

2. Open the entity where you want to add the Autonumber field.

3. Select the “Fields” option from the left-hand menu, then click the “New” button.

4. Choose “Autonumber” as the field type and give it a name.

5. Choose the format of the Autonumber field. You can choose from a range of formats, including prefix, suffix, and separator.

6. Set the starting number and the increment value. The starting number is the first number that the Autonumber field will generate, while the increment value is the number that will be added to the previous number to generate the next number.

7. Choose the scope of the Autonumber field. You can set the field to be unique across all records in the system or unique within a specific record type.

Using an Autonumber Field:

Once you’ve created an Autonumber field, you can use it in your Model-driven app in a number of ways:

Display the Autonumber field on a form or view: You can add the Autonumber field to a form or view so that users can see the unique identifier for each record.

Use the Autonumber field in a workflow: You can use the Autonumber field in a workflow to trigger an action or send an email when a new record is created.

Filter records by the Autonumber field: You can filter records by the Autonumber field to find specific records more quickly.

Use the Autonumber field in a calculated field: You can use the Autonumber field in a calculated field to perform calculations on the unique identifier.

Export records with the Autonumber field: When you export records from a Model-driven app, the Autonumber field is included in the export so that you can easily identify and manage records.

Benefits of Using Autonumber Fields:

Using Autonumber fields in Model-driven apps can offer several benefits:

Easy identification of records: With a unique identifier for each record, it’s easier to identify and track records.

Efficient record management: Autonumber fields can help you manage records more efficiently by providing a way to sort and filter records.

Improved data accuracy: Autonumber fields can help ensure data accuracy by preventing duplicate records and providing a consistent format for records.

Increased productivity: With Autonumber fields, you can save time and reduce errors by automating the process of assigning unique identifiers to records.

Read More

Share:

Calculated fields considerations Dynamic CRM Fields

  Calculated fields considerations

You should be aware of certain conditions and limitations when working with calculated fields:

Saved queries, charts, and visualizations can have a maximum of 10 unique calculated fields.

The calculated field values are not displayed in the Customer Engagement Outlook Offline mode in the tile views or on entity main forms.

A maximum number of chained calculated fields is 5.

A calculated field can’t refer to itself or have cyclic chains.

If you change one of the condition operators in a multiple condition clause, all of the condition operators will update to that condition. For example, in the clause IF (x > 50) OR (y ==10) OR (z < 5), if you change the OR operator to the AND operator, then all OR operators in the clause will become AND operators.

You can access parental fields via the Lookup field to the parent entity, such as <LookupFieldName>.<FieldName>. This is not possible with multi-entity Lookup fields like Customer which can be Account or Contact. However, some entities have individual Lookup fields for a specific entity, such as ParentAccountid.<FieldName> or ParentContactid.<FieldName>.

Sorting is disabled on:

A calculated field that contains a field of a parent record.

A calculated field that contains a logical field (for example, address field).

A calculated field that contains another calculated field.

Calculated fields can span two entities only.

A calculated field can contain a field from another entity (spanning two entities – current entity and parent record).

A calculated field can’t contain a calculated field from another entity that also contains another field from a different entity (spanning three entities):

(Current Entity)Calculated Field <- (Parent Record) Calculated Field 1 <- (Parent Record) Calculated Field 2.

You can’t trigger workflows or plug-ins on calculated fields.

You can’t change an existing simple field to a calculated field. If your current application is using JavaScript or plug-ins to calculate a field, you would not be able to use the calculated fields feature without creating a new field.

Duplicate detection rules are not triggered on calculated fields.

A rollup can’t reference a calculated field that uses another calculated field, even if all the fields of the other calculated field are on the current entity.


Read More

Share:

A Custom Workflow Activity Plugin

  A Custom Workflow Activity Plugin is very similar to a Plugin exempt that it is executed from within a CRM Workflow, Whereas Plugins Are executed on Events that Occur on the Entity, So workflow Activities give you more control when the plugin will be executed as well as allowing you to configure some logic through the interface whereas a Custom Plugin has to be completely configured in Visual Studio and Plugin registration tool. Codeplex is full of usefull Custom Workflow Activities allowing you to overcome the limitations in CRM, so they are a create way for extending CRM for specific scenarios using Workflows.

wgen we are using Plugin we have a number of triggers availble(called as Steps/Message) to trigger the pluggin execusion,

where Custom workflows are triggered by standard workflows available in CRM,

that make the custom workflow triggers limited(Create, Updat, StatusChange, Delete and On assign).

So plugins have higher flexibility than workflows which makes it suitable for highly complex logics.

Where there are several opinion about this topic, i would state my thoughts as below,

Workflows are better when you need the operation needs to be configured periodically by non programmer administrator, where you can implement the configuration part as standard workflow (Workflow1), and static part of the functionality as custom workflow which will be executed by the standard workflow (workflow1).

Custom workflows has limited triggers when comparing to those of plugins, this is because Custom workflows need to be called from an OOB which can be triggered on create,update,delete or assign.

Plugins are richer in feature in terms of data bindings, triggers, execution ordering, which makes very high level of control over the operation and flexibility.

So in conclusion i would say if your scenario is not have big complexity in terms of triggers and operating modes or it needs some sort of reconfiguration needed by non programmers periodically go for Workflow/custom workflow else go for Plugins.

Read More

Share:

Difference Between Custom Workflow and Plugin:

  Difference Between Custom Workflow and Plugin:

When we are using Plugin we have a number of triggers availble (called as Steps/Message) to trigger the plugin execution,

Where Custom workflows are triggered by standard workflows available in CRM, that make the custom workflow triggers limited(Create, Update, Status Change, Delete and On assign).

Workflows and by extension, custom workflow activities, execute totally asynchronously.  Plugins can execute both asynchronously and synchronously.

Plugin overall execution time is lesser then workflows and if validations are required to be performed then plugins should be preffered.

Workflows can be manually executed, or automatically triggered by selected events.  Workflows can be limited to automatically execute within specific organizational scopes (ie. Org, BU, Parent and Child BUs, or for the Owner only).  Plugins are always triggered by the messages to which they’re subscribed, though some Messages allow limiting execution based on whether certain attributes have been passed into the Message.

Workflows can be turned off (by unpublishing).  Plugins are always on.  Custom workflow activities can be used in many Workflows.  Workflows can be developed through the Workflow design interface.  Plugins must be developed in Visual Studio.  Workflows do not require compiling (though custom workflow activities do).  Plugins and custom workflow activities must be compiled and deployed through processes external to CRM.

When speed of execution, security of process, and validity of data are integral, I choose Plugins.  When flexibility, functionality reuse, and optional user involvement are integral, I choose Workflows.


https://thepowerappsninja.com/2023/06/03/difference-between-custom-workflow-and-plugin/

Share:

Microsoft Dynamic CRM Marketing

 Customer Journey 

In Dynamics 365 Marketing, a Customer Journey is an automated marketing campaign intended for a specific target audience. With a drag-and-drop journey designer, marketers create a customized pipeline or path consisting of steps to send personalized email messages, schedule follow up activities for sales team members, trigger workflows, and execute campaign-related activities. As each member of the target segment progresses down the path, their reactions and interactions are tracked in the system, providing insight into the true reach and effectiveness of the marketing initiative.

Segments 

Segments let you create groups of related contacts that you can target with customer journeys. Segments are created using the segment designer. One way to build segments is by querying across related entities including contacts, leads, accounts, events, marketing lists, and more. You can also query the marketing-insights service to find contacts that have engaged with your marketing initiatives. The marketing-insights service also allows you to query contacts that you aren’t reaching because of issues such as email bounces.

Real time marketing:

Within real-time marketing you will have options to define journeys, event triggers, segments, consent center and more. Channels available include emails, push notifications and text messages.


Read More

Share:

What is Outbound Marketing?

 What is Outbound Marketing?

Outbound marketing is a broad term for messaging, advertisements, and other communications that attempt to attract sales lead prospects who might not be aware of your product, business, or service. Another distinction is that the typical recipient is not actively searching or shopping for what you are selling. This is why it is also known as interruption marketing. Your message interrupts or brings an unexpected awareness of your brand or product to the recipient’s attention. Modern outbound marketing efforts include unsolicited phone calls, cold email marketing campaigns, posts and promoted social media campaigns, and advertisements on websites.

What is Inbound Marketing?

Inbound marketing offers valuable content and resources on topics and products as a way to attract prospective buyers or customers, build brand awareness and authority, and drive lead conversions that translate into sales and revenue. Inbound marketing uses search engine optimization, landing pages, custom content assets, social media campaigns, and more to guide prospects down the buyer journey. Inbound marketing uses different channels than traditional outbound marketing (billboards, mailers, radio and t.v. ads) and offers prospective clients something valuable based on what they are searching for (instead of broadcasting a message to the general public).


Read More

Share:

Powerapps Portal Field Mandatory

 On click of the Next/Submit button, a function named entityFormClientValidate is executed. You can extend this method to add custom validation logic.

if (window.jQuery) {

   (function ($) {

      if (typeof (entityFormClientValidate) != ‘undefined’) {

         var originalValidationFunction = entityFormClientValidate;

         if (originalValidationFunction && typeof (originalValidationFunction) == “function”) {

            entityFormClientValidate = function() {

               originalValidationFunction.apply(this, arguments);

               // do your custom validation here

               // return false; // to prevent the form submit you need to return false

               // end custom validation.

               return true;

            };

         }

      }

   }(window.jQuery));

}

Read More

Share:

So, try to slice your plugin in more than one plugin that each executes in less than 10 seconds.

I got used to work on a project that is implemented over Dynamics CRM online 2015. One of the main limitations that you will be exposed to in any dynamics CRM online project is the two-minute time limit for the Plugin to finish execution, which will be a problem if you have huge data and huge number of records. Plugins that needs more than 2 minutes to execute will throw a timeout exceptions. 

So here are some solutions that I got used to work on to make the plugin execute in less than 2 minutes:

1) Microsoft says: If you intend to register your plug-ins for synchronous execution, we recommend that you design them to complete their operation in less than 10 seconds. It’s best to minimize processing time in plug-ins to maintain interactivity of the client applications that are connected to the same organization service that executes the plug-in.

So, try to slice your plugin in more than one plugin that each executes in less than 10 seconds. 

2) If your plugin is executed Asynchronously, move it to a scheduled task (job), by creating a console application that is triggered every (x) minutes; x: can is determined based on the business requirement; and put it in the Windows task scheduler. 

In this way, you will get rid of too many plugins, but make sure that you have a good memory in the server you are using to host your scheduled jobs. AZURE is a good solution. ðŸ™‚

3) If you want to process huge data in your plugin or any scheduled job, make sure you select only the needed columns and DON’T use ColumnSet(true), and use the offline methodology, which is: Retrieve the records and store them in server memory and process them offline without go and forth to CRM for every record you want to process, but remember you need a good server memory to store that large data. And use the “Using” statement to automatically dispose the CRM connection.  

Read More

Share:

Unable to cast object of type ‘Microsoft.Xrm.Sdk.OptionSetValue’ to type ‘System.String’

 Unable to cast object of type ‘Microsoft.Xrm.Sdk.OptionSetValue’ to type ‘System.String’

if you facing OptionSetValue Cast error in your Plugin use this code to resolve the problem

 OptionSetValue learnerAggrementoptionSetValue = guids.GetAttributeValue<OptionSetValue>(“vwi_learneragreementtype”);

 

if (learnerAggrementoptionSetValue != null)

{

int selectedOptionValue = learnerAggrementoptionSetValue.Value;

}


Read More

Share:

Dynamic 365

Talha Manzoor. Powered by Blogger.

Vibe Apps: the future of low-code development on Power Platform

  Introduction  Microsoft surprised everyone at Ignite 2025 with the exciting launch of  Vibe Apps  , a remarkable evolution within the Powe...

Search This Blog

Design by - Blogger Templates | Distributed by Talha Manzoor

Social

pictory