Permissions in Project in Project Operations

By default so far, Users added to the Project have full access if not controlled using Security Role. So here’s a simple tweak to restrict some users from having full access on Projects!

Enable Permissions in Projects

Given that you have correct Sys Admin rights in Project Operations, here’s how you can enable Permissions on a Project –

  1. Navigate to the Settings area in Project Operations.


  2. Look for Feature Control in the ribbon and drop down, you’ll see Permissions on Project control.

  3. When you turn this one, note that it cannot be turned off later. And this is a System User level change.
    Also, here’s the link mentioned in the message: https://learn.microsoft.com/en-us/dynamics365/project-operations/project-management/access-control-on-task-grid?WT.mc_id=DX-MVP-5003911

Permissions Settings

Now, in a Project, you can navigate to any System User and see the below –

  1. Navigating to this user, I can see the below option in the ribbon button.

  2. And I see only 2 options – Full or Read-only.
    By default, they are all selected for Full permissions. So this setting gives you option to set as Read-Only on the Project.

This was a small tweak but useful if you want to be careful with too many resources having access to the project for editing where shouldn’t have to from the permissions/security role standpoint.

Thank you!

New Copy Project Experience in Project Operations

For quite some time, you already had the classic Copy Project experience in Project Operations which is as follows –
You had the Copy Project button on the top of the Project in the ribbon-

And it just used to start.


And once the Copy is done, it’ll append ‘- Copy’ to the end of the Project name and show any validations on the copied project based on when it is copied.


So, here’s how the new copy experience changes things!


New Copy Experience

So, in order to experience the new Project Copy, you’ll have to enable it from Settings like any other Project Operations feature –

  1. Given you have Admin privileges, you can navigate to Settings.


  2. And then look for Enable Copy Project New Experience.

  3. It’ll ask you for confirmation.

  4. Once this is enabled, you can test by using the same Copy Project button.


    And here, you now get a modal pop-up with some preferences before the Copy process begin. This lets you choose how the copied project takes place.

    So, I made some changes before copying like the Name, Calendar Template and Team Member preferences before I hit Copy.

  5. And once you click Copy, the same copy process takes place but with the preferences you set.
    It takes a few moments to copy and it’ll ask you to navigate away from the current page and take you to the new page.
    Once you are in the new Page, it’ll then show this notification while the background processes take place.

    And that’s the new Project experience for you!! 😊

Hope this was helpful!

Thank you!

Create your first custom Copilot for Customer Service Hub – Part 1 | Create Copilot

Now, if you already have Copilot Studio in your Organization or have created a trail [Start your Copilot Studio Trial], you might be looking to build your first Copilot. Here’s how you can do it –

In this example, I’m creating a Copilot to help new Customer Service Reps at the organization to search and seek help about the organization itself quicker.

Create your Copilot

Here’s how you can start building your first custom Copilot –

  1. In your Copilot Studio environment, you must be seeing this New Copilot button in Copilot section. Click that.

  2. Here’s you need to start describing the Copilot you are looking to create. This is optional but recommended to do so as first step. It’ll ask you some questions on the context of the Copilot which you are looking to create.

  3. After it gathers some information from you, it’ll summarize what the Copilot is aimed to do.
    Now, once done you can click Skip to Configure to go to the next step.

  4. Further, you can name the Copilot and then start adding Knowledge by adding sources where the Copilot will source information from.

  5. Some of the most common ways for the Copilot to source knowledge from is from website and SharePoint data itself.

  6. In this example, I’m sourcing some information about whitepapers from thecompany’s website itself.

  7. Now, once this is ready, I’ll further proceed to Create the Copilot itself once relevant Knowledge links have been added as required. Once done, click Create.

  8. Now, once the Copilot is created – it’s ready to be configured further or even ready to be Published if nothing else is to be added at this point.
    You can scroll down in the details section and find that the Copilot is ready to be Published.
    Note that based on the Copilot settings for Channel, it’s only available to Teams at first – but you need to configure for other channels – like Customer Service Hub [in this case]


  9. Now that this is published. –

  10. Your Copilot is now ready!

In the next blog, we’ll connect this Custom Copilot to Customer Service Hub – Create your first custom Copilot for Customer Service Hub – Part 1 | Create Copilot

Hope this was useful!

Thank you!

Enable OneNote Integration for Dynamics 365 Sales environment

Since collaboration tools like Teams, SharePoints are a norm, so is OneNote. Here’s how you can enable OneNote Integration in your Dynamics 365 CRM Instance –

Settings

Given that you are a Dynamics 365 Administrator, you can navigate to Power Platform Admin Center of your environment –

  1. Go to the Settings on the Environment you want to enable OneNote Integration on

  2. Once you are in Settings, you can expand Integration section and then click on Document management settings.

  3. Then, you’ll be redirected to the classic UI and there, you can select Enable OneNote Integration (provided that SharePoint Based Document Integration is already enabled).

  4. It’ll open up this dialog box and you’ll see the pre-enabled OneNote for the tables which you want to enable. You can choose the ones you want to enable OneNote Integration for and click Submit. This dialog box will then close.


  5. Also, double-check on the entity level if OneNote Integration is turned On or not.

  6. Once this is done, you can refresh the record on which the OneNote Integration is enabled and click on + on the Timeline to show the Activity options. You’ll see OneNote appear as well.

  7. Once you click on it, it’ll be redirected to SharePoint location where the OneNote notebook is created.

  8. Now, when you come back on the record and click on Related section and go to Documents. You’ll see the OneNote notebook appear there in the record.



Thank you!

Modern Share Experience on Views in Power Platform | [Preview]

Here’s how you can use the new Share experience for records in Dynamics 365 Sales / CE using Model-Driven Apps.

As of writing this post, this is in Preview.

Settings

You can navigate to Power Platform Admin Center [https://admin.powerplatform.microsoft.com/] settings area –

  1. Open the Environment on which you want to enable Modern Share feature on.


  2. There’ll you find this Preview feature which will be turned off by default.
    You just need to turn this ON and Save the settings.

Experience

Here’s how the classic Share button works on Views.

  1. When this experience is not enabled by Default, you’ll not see a Share button explicitly.
    Notice that there is not button


  2. And when this setting is turned on, you’ll see a Share button on the top right which can be dropped down to reveal 2 options.

  3. The Email Link works as any other M365 share option.


  4. And the Copy Link button works like any other M365 Sharing link feature. Example – OneDrive or SharePoint.

Hope this helps!

Thank you!

Currency and Exchange Rate fields in a Dynamics 365 CRM entity | [Quick Tip]

Ever noticed why some entities have Currency (transactioncurrencyid) and Exchange Rate (exchangerate) fields and some don’t? Here’s why –

Default Scenario

Here’s what you see when you create a new custom entity –

  1. By default, if you notice – there are not Currency or Exchange Rate fields in this newly created custom entity.

When Currency and Exchange Rate fields are created?

So, here’s when the Currency and Exchange Rate fields are created –

  1. When you create your first Currency type of field in the entity as show below, the Exchange Rate (exchangerate) and Currency (transactioncurrencyid) fields are created in the entity –

  2. That’s why you see Currency and Exchange Rate fields in some entities and not in all.

Hope this quick tip helps you in some way!

Thank you!

See which form is displayed in Dynamics 365 CRM | [Quick Tip]

At times, it is not clear which form is displayed when looking at a record.

It may seem like Account form is displayed based on what the label says but things could be different.

And you assume it is this form that is being displayed.

But, this is now always the case. So, let me explain!

See Form Name

Here’s how you can see the true form name –

  1. Hover on the tab where Dynamics 365 CRM is opened.
    You’ll see the actual form that is being displayed even if the name under the record Name is shown as “Account”. In this case, it’s the entity name.

  2. Here, the form name displayed is “Account for Interactive Experience”

When does this happen?

  1. This happens if there are no other forms in the App you are using which have been enabled for your Security Role.
    And then there’s no other form left for you to see.

Fallback Form?

  1. The fallback form will take into effect if no other form is enabled for your security role. In my example, the form “Account for Interactive Experience” was in fact enabled for my Security Role and hence, I didn’t see the default “Account” form even though it was ranked higher in the Form Sequence.

Hope this helps!

Publishing Error | Cannot start the requested operation | [Quick Tip]

At times, there are scenarios where multiple developers are working together in a project and making cosmetic changes to the customization.

The error reads – “Cannot start the requested operation [EntityCustomization] because there is another [PublishAll] running at this moment. Use Solution History for more details.

And, if there are any Publishing activities going on which was initiated by some other user/developer but others don’t know and they then try to also Publish.

Error

You’ll see the below error, in case you made changes to certain customization and click on Publish Customization

If you click on See Solution History, here’s the URL shortcut for the same – https://[ORGName].[CRMRegion].dynamics.com/main.aspx?forceUCI=1&pagetype=entitylist&etn=msdyn_solutionhistory

And it’ll open up Solution History as below –

What this means?

This means, that there was another Publish operations going on in the background which was running and the current Publish operation need to wait till that one is finished.

Example – If you are publishing Ribbon Button changes from Ribbon Workbench, which looks like this –

So, you must wait for any Publish operation like this to finish.

Or there could also be because some solution is being imported. You can see this in the Solution History

Hope this helps!

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!

Asynchronous Merge in Dynamics 365 CRM Power Apps | Power Platform

If you are familiar with Dynamics 365 CRM and it’s Merge feature for records, here’s a new feature that will let you merge records asynchronously and not hold your time on the screen.

Scenario

Below is how Merging operations would run had Asynchronous Merging not been turned on for your environment –

  1. When you select 2 records, you’ll see the Merge button, of course.

  2. And when you see the preferences which you have to select and move the fields into the Active/Master record.

  3. Once you click OK, you’d see this loading screen as the operation would happen in the background.

  4. Now, depending on how many related/child records you had for the selected records, it would take that longer time to process and it’s inefficient to hold your screen while the merging is happening – much like a Synchronous plugin.
  5. The only advantage is that you would know if anything failed.

    Let’s look at how you can enable Asynchronous Merge on your environment and how this will affect your experience along with some pet-peeves.

Enable Asynchronous Merge

Given that you have correct rights for your Power Platform Admin Center [PPAC] (https://admin.powerplatform.microsoft.com/environments), here’s how you can turn the Asynchronous Merge for your environment –

  1. Select the Environment which you want to enable this on –

  2. Expand the Product section and click on Features.

  3. Now, scroll down till you see the option and you’ll see that it is turned off by default.
    You can turn this On and Save the Settings.

  4. Once this is turned on, you can see this –


  5. And that’s it, you’ve turned on the Asynchronous Merge for your environment.
    Let’s look at how it will behave in the next step.


    Please note that this takes about 20-30 minutes to take effect in my experience.

Behavior

Now, let’s select another pair of records to Merge –

  1. I’ve selected the below records to Merge and I can see the Merge button as well.

  2. And you’ll see your usual dialog box to select the fields you want to merge into the master record.

  3. Now, when you click OK, they’ll be merged post they have completed the Parent Check.
    To read more about Parent Checking while merging records, you can check this – Parent Check for Merging Records in Dynamics 365 CRM | Power Apps
    And the records will be processed in the background for merging and you can continue to work.

  4. Now, in order to find what happened to the merge operation, you can go to Settings > System Jobs.
    And look for this operation.

  5. Once you know how to solve the error (see an example in #3 above), the successful Merge operations’ Job start in the background and you’ll see a toast notification on the top right as below

  6. And then, when you look at the System Jobs, you’ll find that the Job has succeeded.




Here’s Microsoft’s Learn document on the same – https://learn.microsoft.com/en-gb/power-platform/admin/async-cascading#merge-record-example?WT.mc_id=DX-MVP-5003911

Hope this helps!

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!