Category Archives: Blog
Power Automate Tip: Re-submit/Resend Cloud Flow automatically if there’s Server Response Failure or any condition not met
Hello everyone, You may have encountered a scenario in which Cloud Flow failed unexpectedly or failure from Server or certain conditions were not met during execution due to an asynchronous process. As a result, the Flow must be re-submitted, which is accomplished by selecting the Run History and clicking on Re-submit. In this blog, I’ll show you how to use configuration settings to automatically re-submit Failed flows. I’ll use the Parent-Child Flow concept to accomplish this. I made a simple Parent-Child Flow in which the Parent calls the Child Flow, the Child Flow sends Approval to the User, and the response is passed back to the Parent, indicating that the request was successfully completed.If the user rejects the request, it will be resent only when certain conditions for the execution are met. The steps for implementation and a guide to achieving this are outlined below. Step 1: For having Parent-Child Flows, you need to create a Solution and have 2 Flows (Parent – with any Trigger, Child – should be Manual Trigger) Step 2: Below is the Child Flow (I have used PowerApps V2 Manual Trigger) Tip: PowerApps Trigger can be seen and added later into the solution but if Manual Trigger (Blue Icon) is used then it may not show in existing Flows and cannot be used as Parent-Child is not in any solution A simple Flow, where I have sent an Approval to myself where if I have Approved it would send a response back to Parent Flow but if I reject the Approval then it will execute as Failed without passing a response to Parent Flow. Note: I have used Scope block, so if you have many Action controls and anything fails then it won’t send a response to Parent unless you have configured the flow as such. Here, the Red outlined Block, is the deciding block and the Blue block is the responding Block that will execute only if User Approves the Approval Request. Step 3: Configure the ‘Run-Only’ user for Child Flow on the main page. ‘Run-Only’ defines on who’s behalf to run the flow in the context of, since Child Flows are independent. Step 4: Below is the Parent Flow and the configuration for re-sending Child Flow in case of failure As you see, I have called the Child Flow once and displayed the output of the Child Flow. Because I’m only invoking the Child Flow once, I need to change the configuration for dealing with failed responses so that it can retry the submission of a failed response. On the Child Flow action, click the ellipse (3 dots) and then settings. For the specific action, a settings page will appear. Now we see the ‘Retry Policy,’ which determines whether the flow should retry in the event of a failure with certain conditions. In this case, I used a fixed interval; see the screenshot below. Step 5: That’s all. Now I have tested initially by rejecting the 1st request and the Retry Policy triggers and sends the 2nd request and I approve it. Thus completing the entire flow. Here’s the count of retries that occurred when you see the Run History of Parent Flow with deeper insights Hope this helped 👍🏻
Share Story :
Restricted View Permission is not Visible in SharePoint Permissions
I created a SharePoint site and was working on user permissions for a document library, I wanted to assign the Restricted View permission to a group but the permission was not visible. Below is the screenshot of the document library I created in my SharePoint and as you can see the Restricted View Permission is not available in the permission list. So how to make the permission available, the catch here is that it is only visible if there is a document uploaded in the document library (So you can upload a dummy document to your library and later delete it). Hope this helps!
Share Story :
Remove Hover from Primary Navigation Bar Power App Portal
I had a requirement from a client to remove the hover from the header navigation on the customer portal. Here is how we do it, if we inspect, we can see that this is handled by a style element “.navbar-inverse .navbar-nav > li > a:hover“ Now if we removed the background colour here is how it looks. Now let’s make these changes in the code, edit your portal and open the portal in the Power Apps gallery and go to themes. Search for the style element and comment or remove the background colour. Hope this helps!
Share Story :
Button missing from ribbon Dynamics CRM (Field Service Work Orders)
Recently I faced issues with some of our custom and Out of the Box ribbon buttons disappearing for example look at the snapshot below. For any selected service order I was not able to see the Run Flow button which runs on-demand workflows and Power Automate Flow (and a few custom ribbon buttons as well). I investigated and found out that this happens because of a field service setting called “Show Simplified Work Order Command”. As per the document – https://learn.microsoft.com/en-us/dynamics365/field-service/configure-default-settings This setting influences the command bar on work order records and lists. By default, this field is set to Yes, which shows only the most relevant commands for work orders. The following commands will be hidden from the form: deactivate, check access, process, add to queue, queue item details, assign, share, email a link, flow, Word templates. The following commands will be hidden from the list view when no records are selected: email a link, flow, import from Excel. The following commands will be hidden from the list view when a record is selected: activate, deactivate, email a link, add to queue, flow, Word templates, Excel templates. When set to No, all commands are shown. To turn it off in your field service app go to settings from the change area and select Field Service Settings, under field service setting turn off Show Simplified Work Order Commands to No. Now we can see our run flow button along with a couple of other buttons. I hope this helps!
Share Story :
Exploring XRM Toolbox Part 1
In this blog, we will explore the use of the XrmToolBox and different tools present in the store. XrmToolBox is free to use tool that connects with the Dataverse environment and provide you with various tools that allow performing heavy management task very easily. Many developers have contributed to XrmToolBox Store by creating a tool/library which is beneficial in the regular development and management work of Dynamics 365 CRM Consultants/Developers. You can find the Installation and setup guidance from a website that you can follow as we directly going to start exploring different types of tools available. Home Page: https://www.xrmtoolbox.com/ Connection Setup with Dataverse Environment: https://www.xrmtoolbox.com/documentation/for-users/manage-connections/ Tool #1: “Security Role Sync” created by Bharath Sheelam The tool is created to sync the security roles between two users. I have two users present in the dataverse environment and I have a requirement to sync roles from one user to another. If we need to sync the roles from “Amit Prajapati” to “CRM Admin” we need to select “Amit Prajapati” in Source and “CRM Admin” in Destination. Once you select the user, you need to click on Sync Security roles it will start syncing and notify you once it is completed. Result: Amit Prajapati has below roles: Before Sync Roles on CRM Developer Account After Sync Roles on CRM Developer Account Use Case and Benefits: Developer work can be minimized using this tool as they might be having multiple users to sync the roles and debug the security permission. Remove the manual efforts to check for the reference user’s security permission and apply it to the required user. Let’s say you have to replicate the security permission from User 1 to User 2 and without this tool you need to open the security permission of User 1 and note it down then only replicate the same permission to User 2 If you have a scenario where functionality is working for one user and not working for another user due and you are getting a security permission error. You can use this tool and sync the security roles considering they should be belonging to the same security based on business requirements. Tool #2 “Security Debugger” created by Mark Carrington This tool is very useful, and it helps you to find the solution to all permission-related issues. It will provide you with the details of which security roles are missing considering you have a security permission error log with you which is required for this tool.
Share Story :
Backup Azure DevOps Git Repositories
Here we will see how to backup the repository using the YAML file. This includes the following steps Create an Azure DevOps Personal Access Token (PAT) Create a YAML file Create Subscription Connection Create an Azure DevOps Personal Access Token (PAT) Step 1: Sign in to your Azure DevOps Portal Step 2: Go to Personal Access Token Step 3: Create a Token by clicking on “New Token“ Give it a name Select the “Read” checkbox to fetch the repository Click on Create Note: Copy and Save the token as you will not be able to see it again Create a YAML Pipeline Step 1: Go to Pipelines Step 2: Choose Azure Repos Git Step 3: Select your repository Step 4: Configure it as a starter Pipeline Below is the default code you will see. Trigger: The wildcard (*) will monitor all the branches, the pipeline will be triggered whenever you have any changes in your repository CmdLine: The command calls “git clone –mirror ” to make a copy of your repository. PAT needed to be used while fetching a repository Archive Files: It will take the git repository which was cloned in the previous step and then zipped to “Backup.zip” File Copy: It will take the archive copy and send it to Azure Blob Storage Creating a Subscription Connection Step 1: Go to Project Settings Step 2: Go to Service connections Step 3: Click on New service connection Step 4: Choose Azure Resource Manager Step 5: Select Authentication Method as Service Principal (automatic) Note: Make sure to use the same credentials to login to DevOps as in Azure Portal Step 6: Subscription will be chosen automatically. Give it a name Select a resource group where you have your storage account Then save Step 7: Use the connection name in YAML. Save and Run It will create a Job See the status of the Job After Job gets completed, you will see a zip file in your blob
Share Story :
Latest purchase price option in the released product in D365 Finance and Operations (SCM)
In this blog, I’m going to showcase to you the impact of the latest purchase price parameter on the item purchase price. Enable the latest purchase price for any product. So whenever new purchase order is created for a product with a specific price or different price, and in case the price of the product keeps changing in every purchase order based on the recent cost price of the item in the purchase order then the price of the item is also changing in the item master. I’m showing the example of the latest purchase in the below steps: Steps to enable the latest purchase parameter in the released products Navigate to the released products. Select the product for which you want to enable the latest purchase price. Open the purchase tab, Inside Price updated to enable the latest purchase price parameter Set the price in the product master to 50 USD (you can also set the prices through a trade agreement . ) Create a purchase order for this product Create a purchase order for this product and add this item to the purchase order lines. Set the purchase price for this product to 100 Confirm the purchase order. Post the product receipt (GRN) for this purchase order. Once it’s received, invoice the purchase order. Once this invoicing process is done, go back to the product master, and open the product for which we have enabled the latest purchase price. The price for this item is changed to the latest purchase order prices (prices changes from 50 USD to 100 USD). NOTE: Inside the manage cost tab item price, you can also see the purchase price is Overrides to 100 If you want to see the history of the fluctuation in purchase prices. You need to enable the Last price history. Steps to enable the last price history. Navigate to the inventory and warehouse parameters. Select the inventory accounting tab Enable the Last price history. So you can see the price change history in the item price. I hope this helps!
Share Story :
Custom Field Validation for Website Fields in Dynamics CRM
Dynamics 365 provides functionality to create a text field of type website field where the user can type in the website name. But out of the box, it has no validation to validate if the user is actually putting a web URL or just a text value, this can be achieved using simple JavaScript. In this blog, let’s see how to put a validation on a website field in CRM so that users enter the correct data. I have created a website field in CRM and here is how it looks. Using the below javascript code you can put a validation on this website field. Code: validateWebsiteURL: function (formContext, fieldName) { if (formContext.getAttribute(fieldName)) { var websiteurl = formContext.getAttribute(fieldName).getValue(); if (websiteurl != “”) { var pattern = new RegExp(‘^(https?:\\/\\/)?’ + // protocol ‘((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|’ + // domain name ‘((\\d{1,3}\\.){3}\\d{1,3}))’ + // OR ip (v4) address ‘(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*’ + // port and path ‘(\\?[;&a-z\\d%_.~+=-]*)?’ + // query string ‘(\\#[-a-z\\d_]*)?$’, ‘i’); // fragment locator if (!pattern.test(websiteurl)) { formContext.getControl(fieldName).setNotification(‘Website: Enter a valid Website URL.’); } else { formContext.getControl(fieldName).clearNotification(); } } } } I hope this helps 😉!
Share Story :
Hide Profile Section from Power Apps Portal Header Navigation Bar
The Power Apps Portals Primary Navigation Header always has a section to the profile page as shown in the snapshot below. It is possible to disable this by adding a Web Page Access Control Rule, this will restrict read access to the profile page, but what if you don’t want to remove the read access and you only want to remove the Profile Section from the header, here is how to do it. The Primary Navigation or Navigation on the portal is a part of the portal’s Header Component, this header component comes from the Header Web Template, It is not possible to edit this template from the Power Apps Portal Studio. To be able to edit this template we will have to use the portal management app Step 1: Go to Portal Management App, under templates search for Header Template. Step 2: at line number 104 or after line number 95 search for Class “dropdown-menu” in an unordered list (ul) and comment the below code. Ding!! We have done it. Hope this helps 😉!
Share Story :
Map Newly Registered Portal Contacts to Existing CRM Contacts in Power Apps portal (Azure AD)
Power Apps Portal allows us multiple ways to authenticate users, users can login either by using a User ID and Password for local login or using SSO logins like Azure AD, etc. Users can also register themself through the portal, when a user registers from the portal this creates a new contact with the user’s details and email ID in CRM. But what if the contact already exists in your system? To map the registered portal user with this existing contact instead of creating a new contact we need to enable/add a site setting. Site Setting – Authentication/[Protocol]/[Provider]/AllowContactMappingWithEmail More on Protocol & Provider – https://learn.microsoft.com/en-us/power-apps/maker/portals/configure/configure-portal-authentication For Azure AD login which is provided by default, you can use the Site Setting – Authentication/OpenIdConnect/AzureAD/AllowContactMappingWithEmail Reference Microsoft Document – https://learn.microsoft.com/en-us/power-apps/maker/portals/configure/configure-site-settings#portal-site-settings I hope this helps 😉 !
