How to pass an object from a model app driven app to a custom page?
Oct25

How to pass an object from a model app driven app to a custom page?

According to the current documentation, we can pass a dataverse record as a parameter. This is still very beneficial for some scenarios. But what if we want to pass a set of parameters without using an existing record. After several attempts, I managed to pass an object containing some properties from the model driven app to the custom page using the navigateTo method. The next video… Continue Reading Mehdi El Amri’s...

Read More
Tired of creating a new console application to connect to Dynamics 365 CRM/Dataverse? Use a template!
Oct10

Tired of creating a new console application to connect to Dynamics 365 CRM/Dataverse? Use a template!

Sometimes we are asked to create console applications that interact with Dynamics CRM/ Dataverse, and like every new developer, we create a new project and look for a piece of code on the internet to start, or we copy existing code from an old project. I used this approach during all my projects, today I say stop, I want something more automatic and practical to start any new project of this… Continue Reading Mehdi El...

Read More
How to display a Power Apps | Canvas app in full screen without the title bar?
Sep21

How to display a Power Apps | Canvas app in full screen without the title bar?

Recently, I was asked to open a PowerApps | Canvas app without the title bar at the top of the screen. After some research, I found an answer from matthew devaney that proposed to add the “&hidenavbar=true” parameters to the URL of the application. This works perfectly and allows us to hide the title bar. Today, I’m going to present a method that will allow us to achieve the same need… Continue Reading...

Read More
Implementing triggers for Power Automate flows that are not supported by the Dataverse connector
Sep06

Implementing triggers for Power Automate flows that are not supported by the Dataverse connector

The Dataverse connector allows us to trigger Power Automate Cloud flows based on events that occur on Dataverse. These events include the creation, deletion and modification of a record or the execution of an action or from a step in a business process flow. Generally speaking, these triggers serve a large variety of requirements and give the flexibility to implement efficient triggers…. Continue Reading Mehdi El Amri’s...

Read More
Dynamics 365 Developer Toolkit reborn as Power Platform Tools for Visual Studio 2019
Aug17

Dynamics 365 Developer Toolkit reborn as Power Platform Tools for Visual Studio 2019

Kokulan's Blog Power Platform Developers who were using the Dynamics 365 Developer toolkit had issues connecting to online Dataverse instances after the regional discovery service was deprecated in June 2021. This toolkit was last updated in 2017 July and its source is not on GitHub. After the regional discover service deprecation this effectively stopped connecting to online instances,… Continue Reading Mehdi El...

Read More
Pass data from Custom page dialog to the parent model driven app
Aug03

Pass data from Custom page dialog to the parent model driven app

The new Custom Page component can be opened as a dialog in a model driven app. This feature will allow app makers to quickly create intuitive dialogs without code with a rendering that is close to the standard model driven app’s dialogs, since it uses Fluent UI controls that are also used by Model Driven Apps. In today’s post, we’ll see how we can pass an object from a Custom page… Continue Reading Mehdi El...

Read More
Let’s add terms and conditions to a Model Driven App using Custom Page
Jul29

Let’s add terms and conditions to a Model Driven App using Custom Page

This blog will discuss a new component for Power Apps Model Driven Apps called Custom Page. In fact, this component joins the family of existing pages like Forms, Views and Dashboards. This new type of page is based on the Canvas Apps container and will surely add power, flexibility and a lot of possibilities to model driven apps. The images below shows the rendering of a Custom page from… Continue Reading Mehdi El Amri’s...

Read More
First look at the multi-tab panel (sidePanes)
Jul14

First look at the multi-tab panel (sidePanes)

In this blog, we will discuss a new feature that will be available in the Powerplatform Wave 2 2021 release, it is about the side panel that appears on the right side of an MDA, you can find the announcement of this new feature on the following documentation: Model driven apps support multiple app side panes Please note that this new feature is not yet documented. Do not use this approach… Continue Reading Mehdi El Amri’s...

Read More
Integrate the approval center into a model driven app/Dynamics 365 CE
Jun16

Integrate the approval center into a model driven app/Dynamics 365 CE

Power Automate provides a standard solution to manage approvals in a Dataverse environment. Approval requests can be easily generated from cloud flows. Users have the ability to view and respond to approval requests from email, teams or the approval center which is accessible from the power automate website only. Today, I will present a way to respond to approvals from a model driven app… Continue Reading Mehdi El Amri’s...

Read More
Connect Microsoft Dynamics 365 Developer Toolkit to a Dataverse environment using Global Discovery service (deprecation of the Regional Discovery service)
Jun14

Connect Microsoft Dynamics 365 Developer Toolkit to a Dataverse environment using Global Discovery service (deprecation of the Regional Discovery service)

Many of us use the Microsoft Dynamics 365 Developer Toolkit for plugin development. This tool helps developers avoid manual tasks and helps them focus on implementing the business logic. Unfortunately, this tool is no longer working since the switch from Regional Discovery service to the Global Discovery service. Actually, the error “FCB ‘EnableRegionalDisco’ is disabled” is generated when… Continue...

Read More
How to get the type of the regarding field of an activity using Power Automate Cloud Flow ?
Jun09

How to get the type of the regarding field of an activity using Power Automate Cloud Flow ?

The activities have a field named Regarding which is of type Multi-table lookups. This field supports several types like account, contact, lead (…). This post will discuss how to get the type of lookup used or in other words which table is used with Power Automate Cloud Flows. For the demo, I created a simple flow that is triggered when a task is created. Then I store the type of the… Continue Reading Mehdi El Amri’s...

Read More
Apply a business logic to the Opportunity Close Quick Create form according to the context of the opportunity closure
Jun08

Apply a business logic to the Opportunity Close Quick Create form according to the context of the opportunity closure

In the release 2 2019, Microsoft introduced the ability to modify the Opportunity Close dialog using the Quick Create Form. In this blog, we will discuss the ability to apply a business logic to the Opportunity Close Quick Create form according to the context of the opportunity closure. Use Case Change the “Close Date” label depending on the context of the opportunity closure. Indeed,… Continue Reading Mehdi El...

Read More
Cancel the save based on the result of the asynchronous operation.
May31

Cancel the save based on the result of the asynchronous operation.

In 2017, Natraj Yegnaraman shared a clever method to cancel the save of a form. His approach was to cancel the save before the asynchronous operation and then retrigger the save if needed after the asynchronous operation is resolved. You can find all the details on the following link. This approach is explained by the fact that the save handler was always synchronous. Now in 2021,… Continue Reading Mehdi El Amri’s Article...

Read More
A glance of the “OnLoad” event on a Model Driven App form (Async OnLoad event)
May26

A glance of the “OnLoad” event on a Model Driven App form (Async OnLoad event)

This blog will discuss a potential upcoming feature that is related to the “OnLoad” event of the forms for a model driven app. The goal is to look at the process of turning this event from synchronous to asynchronous using the “app settings” component. Also, some benefits of implementing an asynchronous logic on the “OnLoad” event will be illustrated. Please note that, at the time of… Continue...

Read More
How to run JavaScript code when loading a model driven app?
May07

How to run JavaScript code when loading a model driven app?

Have you ever needed to execute a JavaScript code when opening a model driven app? Maybe to initialize some global variables, display a notification or open a dialog (…) This blog will discuss a way to meet this need using a method that is not yet documented and therefore not yet supported by Microsoft. The functionality will be illustrated with a simple scenario that consists of loading a… Continue Reading Mehdi El...

Read More
How to execute a JavaScript function on all forms without registering it manually?
Apr23

How to execute a JavaScript function on all forms without registering it manually?

Model-driven apps provides a rich set of client APIs to interact with form objects and events to control what and when to display on a form. The JavaScript functions react to different events so that the code gets executed when the event occurs on the form. The process of associating a function to an event is done manually for each form. We will see on this blog an interesting method to… Continue Reading Mehdi El...

Read More
How to set up complex conditions for business process flow ?
Apr13

How to set up complex conditions for business process flow ?

Business Process Flow (BPF) is a very useful tool to standardize data entry on a model driven app. In simple cases, a linear BPF is a good option. However, in more complex scenarios, a BPF can be enhanced by using branching. I will discuss on this blog the limitations and workarounds concerning branching conditions.I was recently working on a business process flow and I noticed that once I use… Continue Reading Mehdi El...

Read More
How to bulk change main forms header density using Cloud Flows ?
Mar19

How to bulk change main forms header density using Cloud Flows ?

As announced by Microsoft, the low-density header option will be deprecated on October 2021. As an impact, any current form that is configured as “low-density” will be automatically updated to render in a high-density with flyout mode in a model driven app. I will present on this blog a way to change in bulk the “high-density” option on all account main forms using power automate… Continue Reading Mehdi El...

Read More
I’m lazy, I don’t want to manually change the view names anymore, thanks Cloud Flows!
Mar19

I’m lazy, I don’t want to manually change the view names anymore, thanks Cloud Flows!

We will discuss on this blog the possibility of changing the view name using the Power Automate Cloud Flows. This idea comes from the fact that I am frequently asked to change the naming of the views. In fact, one of my clients tags all his views with division names. So, when changing the division name, I have to update the corresponding tag in each view. For example, for the Account table,… Continue Reading Mehdi El...

Read More
Bulk Business Process Flow switching using Power Automate (Cloud Flows)
Mar18

Bulk Business Process Flow switching using Power Automate (Cloud Flows)

Sometimes we create a new business process flow, which needs to be applied to existing records. Today I will present you a way to do it using the Cloud Flows in Power Automate. The approach presented is a proof of concept that can be significantly improved, you will get the general idea that you can adapt to your own needs. For example, I will use the Standard Business Process Flow… Continue Reading Mehdi El Amri’s Article...

Read More
Dependent OptionSet in Dynamics CRM V9
Feb28

Dependent OptionSet in Dynamics CRM V9

It is known that for the moment there is no way to set up a dependency between two OptionSet fields with OOB functionalities. It is possible to implement this scenario using JavaScript code as the field type used is OptionSet. We could have implemented it with a simple configuration if the Field type were a LookUp. Example: Let’s take the following example:– OptionSet A with the… Continue Reading Mehdi El...

Read More
Azure Translator PCF Control
Feb12

Azure Translator PCF Control

In this blog, I’m sharing my first PCF Control which allows translating text by automatically detecting the language using Azure Translator cognitive services. Using this control, CRM users will no longer need to copy/paste text fields and use an external tool to translate them. The demo below illustrates the translation of a field Multiple lines of text and an email that is formatted in… Continue Reading Mehdi El...

Read More
How do I know what permissions a user’s security role requires to perform an operation?
Feb12

How do I know what permissions a user’s security role requires to perform an operation?

The problem: A member of the community recently asked what privilege should be added to a security role in order to revise a quote. In effect, it explains that the role seems to have sufficient privileges to perform this action, but an error message shows up when the quote is revised. Below is the security role configuration being used: Below is the error message displayed when… Continue Reading Mehdi El Amri’s Article on...

Read More
Default legacy app can be hidden for end users but is still accessible through direct URL (workaround)
May24

Default legacy app can be hidden for end users but is still accessible through direct URL (workaround)

The legacy web client app, also known as Dynamics 365 – custom, can be hidden from end users. Documentation: https://docs.microsoft.com/en-us/power-platform/admin/enable-unified-interface-only#dynamics-365—custom On the other hand I noticed that the application is still accessible via the following URL:https://orgname.crm4.dynamics.com/main.aspx?app=d365default&forceUCI=1 By… Continue Reading Mehdi El...

Read More
Retrieve all personal views containing a specific field
May05

Retrieve all personal views containing a specific field

In some cases, you want to delete a custom field in a highly used entity. You can easily identify where it appears in system views, forms, etc. But since it’s, many users probably have personal views that include it. So you have to alert those users to remove it from their views, so they don’t  get an error message later on after you delete the field.  If a field is deleted and used on...

Read More