Calendar Control View in Dynamics 365 CRM | Power Apps

A Read-Only Grid can only always provide you with a static view of data. At times, it’s important to visualize some data in Dynamics 365 which offer more than just columns.

In most common scenarios, your custom records / customizations might have Start End Dates which is better viewed in a visual way. Here’s where Calendar Control comes into play –

Read-Only Grid

Normally, below is how you visualize your data in Dynamics 365 where you have Start Date and End Date –

  1. As you can see, the data looks like in any other entity you’d design.

Calendar Control

Here’s how you can enable the Calendar Control to change the View in question into Calendar Control –

  1. Go to the Entity/Table itself and click on Controls.

  2. Then, look for Calendar Control in the View.

  3. Then, configure the Start Date, End Date, Description, Duration fields.
    And also make sure the selection is on the Calendar Control itself

  4. Once you save and publish the changes, let’s see how the control looks like.

Viewing Data in Calendar Control

Now that all the customization are published, here’s what the Calendar Control will look like –

  1. If you refresh, you’ll see the same in Calendar Control and not the Read Only grid.

  2. Also, you can switch between Day/Week/Month view

  3. If you click on any of the records, you’ll see the details of the record.

  4. And this will open the record itself.

Switching to Read-Only View

Since the default is now set to the Calendar View, you’ll need to switch it back to Read-Only.

  1. Look for the 3 ellipses or you might just see the View As button on the ribbon already.

  2. And select Read Only.

  3. And you’ll see the default shown

Hope this was useful!

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Math Functions examples in Power Automate Flow

Here are the examples of how you can use the Math Functions from Dynamic Content in a Power Automate Flow –

In this example, I’ll use the below Inputs to perform the Math Operations on and I’ll have the Math Functions perform in the Example of the functions shown below –

Min()

Minimum gives out the smallest value in the Array of numbers.

  1. Here, I’ve created an array of numbers and from this, I’m selecting the minimum value.

  2. And the result is as below –


Max()

Inversely as the Min() function above, the Max function will return the highest number from the Array or Collection –

  1. Here’s how I use the Max function –

  2. And the result of the Max function is as below –

Add()

As it suggests, this is the addition function which will add the 2 numbers provided as arguments –

  1. In the variable, I’ll look for add and enter the 2 arguments from the Manual Trigger i.e. passing values while running the Flow.
    And as you can see below, I’m using add() function and passing the parameters separated by a comma.

  2. Then, I’m passing the below arguments when I run the Flow.

  3. And then I run the Flow, the result is as below –

Sub()

As the function suggests, you can subtract number 2 from number 1. Here’s an example –

  1. In the below Sub() function, I can see

  2. And when I pass the below arguments 20 and 5 –

  3. And the result will be 20 – 5 = 15.

Rand()

Rand() function will give out a random number from the collection at each run. Hence, the result will vary on each run –

  1. I’m providing the start number range and the end number range. And the function will select the a random number from within the range –

  2. So, when I run it for the first time, I’ll get a number

  3. And when I run it one more time, I’ll get a different number.

Mul()

Mul() function will multiple the 2 numbers passed in the arguments –

  1. I’m passing the 2 arguments within the function itself like I did for some of the above functions.

  2. And the result will be as follows –

Div()

Div function will divide the first number by the second one –

  1. In this example, I’m providing the

  2. And the result in this case is 25.

Mod()

Mod() function will give the modulo / modulus or the division happening between the dividend and the divisor i.e. you’ll get the remainder value –

  1. I’m supplying the below parameters which will give a modulus.

  2. And the result obtained is the remainder of the division –

Range()

Range() function will generate a range between –

  1. The 2 arguments required by range() function are startIndex and count. Count meaning how many numbers you want in the array.
    Notice the type of the variable has been changed to an Array now.

  2. And the result is the below Array with 6 items in the Array starting from value 2.

Hope this was useful!

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Get Display Name of the current Flow in Power Automate

If you are working on complex Flows and need to identify which Flow a certain operation is being performed from –

Example, you are working on some Account Processing Flow you designed for Dataverse tables and there are several Flows for the Account table, but you want to start logging errors from different Flows for developer reference.

workflow() function

Here’s how you can use the workflow() function in Power Automate Flow to get the name of the current Flow –

  1. Here’s the name of the Flow which we are intending to get in the Flow run itself.


  2. In this example, I’m initializing a variable of type String to Demonstrate this

  3. Now, you have workflow() function in the Expressions area in Dynamic Content in your Flow step.

  4. Once you select the workflow() function, you can continue to type in even though you are not seeing auto-complete options. Type .tags.flowDisplayName further as shown below

  5. And click OK, make sure by hovering that the expressions is added.

  6. And when you Run the Flow to test, you can get the Name of the Flow itself.

  7. Also, you can get the other properties from the workflow() function as well. Here’s an example when you just use workflow() function and see the results –

Hope this was useful!

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Create a GUID in a Flow | Power Automate [Quick Tip]

Here’s how you can create a GUID in a Flow!

GUID Function

Here’s how you can use the “guid()” method in Power Automate Flow to create a new GUID every time it’s run –

  1. I’m using an instant Flow to demonstrate this. And I have a variable where I’m adding a guid() method from the Dynamic Content area.


  2. Just using this, it’ll generate a unique GUID on each run.

  3. Below are some examples which were generated on each run.

Hope this was useful!

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Schedule maintenance updates should occur for Dynamics 365 CRM environment | Power Platform Admin Center

In case you are seeing issues lately that you are not able to access your Dynamics 365 CRM or it’s running relatively slow, it might be perhaps because the platform is being updates from Microsoft’s end for importing solutions in your environment as platform updates.

System freeze could happen if any solutions are being imported into your environment. Now, you can control when the updates should be allowed so that you don’t get downtime during your business hours. Let’s look at this!


Maintenance Window Settings in Power Platform Admin Center

Given that you are already aware on how you can go to Power Platform Admin Center (https://admin.powerplatform.microsoft.com/) –

  1. Navigate to Environments, select the Environment which you want to check the Apps Updates schedule and click on Settings.

  2. Once in Settings of the Environment, you’ll see the Updates section which you can expand and you’ll see the Maintenance Window Settings – So remember, this is still in Preview as of yet and might not work as expected unless it’s in GA.

  3. And this will let you set the time frame based on when you want to Updates to be applied to the environment.
    It’ll show that it’s currently set to 02:00 to 11:00 UTC – which is not favorable for my based on my working hours since I’m in India.

  4. So, I’ll check on a service like https://www.worldtimebuddy.com/ and make sure I compare and see when is the best way to schedule my updates for –
    Currently, the above updates are scheduled for 07 am IST which won’t suit my needs.

  5. So, I’ll change it to some other time! So, something like 15:00 UTC works for my which skips my usual business hours so that my business hours are not interrupted with Updates on the platform.

    So, I select the new time and click Save. I can expect about 48 hours for this to come into effect even though updates are usually pushed over the weekends and not weekdays.
  6. You can read this Microsoft Docs on Maintenance Window Settings here – https://learn.microsoft.com/en-gb/power-platform/admin/manage-maintenance-window?WT.mc_id=DX-MVP-5003911

Check Solutions History

In order to check if your CRM environment is not working as expected, as an Administrator you can always to Power Apps (https://make.powerapps.com/) –

  1. Make sure the correct environment is selected, then

  2. Then, in Solutions, you can see History tab which will show the recent App Updates applied.


  3. And as you see above, the updates were taking place based on what my old settings were set. Hence, I needed to change the same to ensure my business hours are not affected.

Hope this was useful and this helped in clarifying the concept!

Here are some Power Automate posts you want to check out –

  1. See Trigger Outputs using Edit Columns in Flow Runs | Power Automate [Quick Tip]
  2. Adding Image field on the form in Dynamics 365 CRM | Power Platform Modern Form Designer [Quick Tip]
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!