Excel Importing Notes (Annotation) entity in Dynamics 365 CRM

Preparing an Excel Template for Notes entity is a little tricky. Doesn’t work when you just Export directly as a Template from the Templates Wizard and try to include all columns and import as is. Why? Because there’s no Regarding field exported when you export/import that template.

undefined

Here’s what you can do as a workaround.

Scenario

Now, let’s assume you want to Export a standard Excel Template for import so that you can re-import into Dynamics for Notes entity for a regarding entity.

Exporting Excel Template

Your Document Templates are where all your Excel Templates can be exported from –

Now, follow the below –

  1. Select Notes entity and Edit Columns you need to Export the Excel with your required columns

  2. Select the columns you need. Observe that you don’t get Regarding column to export


  3. Then Download the file.

Modifying the Excel

Now, since you don’t have the Regarding field in the Excel you exported from Templates, here’s what you need to do –

  1. Add a column yourself, give it a proper name based on what the Notes’ Parent entity should be. In this example, I’m importing Notes for Account. So, I’m adding a column called ‘Account Name’


  2. A new column will be created as below

  3. Now, populate your data based on how the Notes should be imported and tagged to which records.

  4. Now, by default, this template is exported in Microsoft Excel Worksheet (xlsx) format. You’ll need to Save As in CSV format

Re-Importing

Up until above, your Excel is ready to be imported. Let’s begin –

  1. Import the file as a usual Excel Import in Dynamics 365 CRM. Since this is not a direct Template importing as is, but a CSV, you’ll get to map this file manually.
    undefined

  2. Then, you’ll need to manually select the Note entity from the drop-down and then proceed
    undefined

  3. Now, whatever is mapped automatically will be mapped. For the newly created Account Name field, you’ll need to expand the Not Mapped dropdown and select Regarding (Lookup)
    undefined
  4. Now, you’ll need to select the entity you want the Notes to appear under. In my case, this is Accounts, so I have it right there
    undefined
  5. Since this Regarding fields supports several entities, scroll all the way down to Confirm your selection
    undefined

  6. Now, your Regarding field is set and you are ready to confirm and Import
    undefined
  7. Now, my Import here is completed. (You’ll need to take care the Import is successful)
    undefined

Imported Notes

If you look at the records now, the Notes will be attached to the respective Regarding records
undefined
undefined

Here are some more posts on D365 CE you might want to look at –

  1. Pass selected rows’ GUIDs to ribbon button in D365 | Ribbon Workbench
  2. Refresh button missing on Roll-Up fields in D365 UCI? Quick Tip.
  3. Check Managed Solution failures in Solution History in D365 CE
  4. Button Flow in Power Automate to replicate a Quick Create Form in D365 CE
  5. Create a support Queue in D365 CE
  6. What is “Does not support untyped value in non-open type” ODataException in creating records in D365 CE?
  7. Set Lookups in Xrm.WebApi D365 v9 correctly. Solving ‘Undeclared Property’ error
  8. Set Work Hours Template to a Bookable Resource in D365 PSA v3
  9. Modified By (Delegate) & Created By (Delegate) in D365
  10. Qualify Lead in D365 CE: Select which entity records should be created

Hope this helps!!

Modify Project tab’s view in Schedule Board in PSA v3 | Quick Tip

Most common asks on Schedule Board in D365 PSA is about how we can modify the Project tab view we see?

actualTabShown

Resource Requirement Entity

The Resource Requirement entity is what controls what views are available for you on the Schedule Board –

  1. To be able to find what this view is about, you’ll need to go to the Resource Requirement entity
    viewLocated
  2. Now, if I open this record, you can make changes to this view. In this case, I now got Type and Status next to Name field and pushed Created On a little further.
    modifiedPart
  3. Now, just Save and Publish.

Project Tab view

Now, simply refresh Schedule Board and you’ll see the updated change –
updated

If you’re looking for more PSA related posts, you can check these –

  1. Dynamics 365 PSA v2 to v3 Upgrade failed? Here’s what to do.
  2. Additional columns in PSA v3 Schedule view
  3. Update Price feature in D365 PSA v3
  4. A manager is required for non-project time entries, absence, and vacation error in D365 PSA v3
  5. PSA v3 View Custom Controls used on Project form
  6. Set Work Hours Template to a Bookable Resource in D365 PSA v3
  7. Time/Expense Entry Rejection comments in D365 PSA v3
  8. Booking Resources more than their capacity in D365 PSA v3

Hope this quick tip helps!!!

Dynamics 365 PSA v2 to v3 Upgrade failed? Here’s what to do.

This is a little tricky upgrade from PSA v2 to PSA v3. I’m sure by this time of the year, most of you must have upgraded and this post by me comes a little late than it should.

Here’s my experience and what help from Microsoft Support I needed to complete the Upgrade successfully.

So usually, this is what you expect when you initiate the upgrade process. You go to the Instance Picker from Dynamics 365 Admin Center.
upgradeButton

And you can see that you are on PSA v2.4.x version and the New version available is 3.10.x. When you kick off, it starts running
upgradeInProgress
But, it fails like this.
installFailed

Let’s take a stab at it!

I usually prefer to go with the old school classic Instance Picker, if you want to have a quick access to it, check this post – D365 Admin Center: Instance Picker Link

Solution Health Hub

Note: Please be aware that below mentioned steps that involve Project Service & Project Service Upgrade Rule Set can only be provisioned by Microsoft Support and we need to create a Support Request with Microsoft for them to provide this Rule Set. These comes in a Managed Solution Microsoft Support installs from their end into your environment.

  1. Assuming Microsoft Support has enabled this Rule Set for your organization, you can go to Solution Health Hub
    createNewAnalysisJob
  2. Then, select either Project Service or Project Service Upgrade
    ruleSet
  3. It will automatically run asynchronously as and when you create it. It should display results in a few moments.
    failedValidation
    In this case, my failures were that Resource Requirement records didn’t have Hours & Resources were not filled in. Some Project Tasks didn’t have Project attached to them which resulted in corrupted PSA data according to the Rule Set and hence, the upgrade fails.
  4. Now, in my case, I cleaned this data manually. Post that, I created another Analysis Job to ensure that there are no more failures.
    passedRuleSet
    Also, there’s another Rule that isn’t mentioned here but is a reason for failure. That is – Project Name (msdyn_Subject) should NOT be Blank. Use Advanced Find to find these records and correct manually.  Please ensure this manually as it won’t appear here. 
  5. Now, there’s a workflow called as Update User Work History. It should have shown 3.3 or higher in the version to select, unfortunately, this will come once the upgrade fails 1 time.
    oldWF
  6. Now, you are all set to kick off Upgrade Once again. It will fail due to the incorrect workflow mentioned above in #5.
    installFailed
  7. Now, you can go back and check that workflow, it should have the correct version appearing (due to the partial upgrade that happened in #6 above, which eventually failed)
    updateUserWorkHours
    Set this to 3.3 and Activate the workflow again.
  8. Now, trigger the Update to PSA v3 one more time. And this time it should go through correctly.
    installedPlease note, due to constant upgrades in the platform/PSA, there could still be some undetected issues which could result in failure. Hence, I tried to put what I experienced in general.

    Post this, also ensure that all SDK Message Process Steps and related Workflows related to PSA are enabled.

In case you are also looking to find out about dependencies about failed Solution Upgrades, you can check this post too – Check Managed Solution failures in Solution History in D365 CE

Hope this helps!

Debug Ribbon button customization using Command Checker in Dynamics 365 CE Unified Interface

Developers, it’s a little irksome to keep struggling with issues around making your ribbon buttons work correctly during the development phase.

At times, you wonder why your button didn’t show up on the form although you had set everything up correctly. Or even for out-of-box button, that didn’t show?

Scenario

In this example, I’ll find out by my Project Service Quote record doesn’t have a Activate Quote button on the ribbon.

noActivationButton
We can use Command Checker to find out why.

 

Enable Command Checker

Remember, this only works in the Unified Interface and not on the classic UI.

Command Checker is a developer feature to identify how a certain ribbon button has or has not rendered on your form/view. So let’s begin –

Add this command to the end of the Entity form page URL: &flags=FCB.CommandChecker=true&ribbondebug=true

Add make it look like something like below –
https://<ORG_NAME&gt;.crm<REGION>.dynamics.com/main.aspx?appid=7fbb5a25-b903-ea11-a816-000d3a58f769&pagetype=entityrecord&etn=account&id=aaa19cdd-88df-e311-b8e5-6c3be5a8b200&flags=FCB.CommandChecker=true&ribbondebug=true

 

Command Checker

Form Command Checker

  1. Now, if you navigate to the ellipses on the ribbon, check that Command Checker has now appeared.
    formCommandChecked
  2. A Command Checker Window will appear as below. Navigate to the button you are having issue on.
    baseWindow
  3. Then, click on Command Properties as shown above to see what didn’t pass through. And as shown below, we could see that one of the conditions in Enable Rule didn’t get through and hence, the button didn’t show up on the ribbon.
    commandCheckerWindowIn case you are also looking at how to hide out-of-the-box ribbon buttons, check this – Hide Custom Ribbon Button [Easy Way] – Ribbon Workbench

Global Command Checker

And with that, you must have also observed the Command Checker on the Navigation Ribbon bar as well.
globalCommandChecker
And it opens up as below –
globalCommand

 

Some other Ribbon Workbench related posts –

  1. Show Ribbon button only on record selection in Dynamics CRM
  2. Enable Flow button on D365 Ribbon
  3. [SOLVED] Navigating URL from Ribbon’s custom button in Dynamics for Phones app
  4. Fix Ribbon icons on the Unified Interface in D365 CE
  5. Create a New Record button for Activity Type entity using Ribbon Workbench: D365
  6. D365 Ribbon Button shortcut to open a Document in SharePoint Online

Hope this helps! Happy 365ing!

 

Enable/Disable the need to Approve Email for Mailboxes in Dynamics 365 CRM CE

This is one of the most useful common scenarios where you have to approach a Global Administrator every time to Approve Emails. Even when you want to create a few Queues or test Mailboxes on a non-production environment.

I would recommend this to be used only on Sandbox instance and let Production instance have this layer of approval of Global Administrators, but then it depends what you want to have. 🙂

 

Approve Email

Every time, you want to enable a mailbox for Server Side Synchronization, you are asked to Approve Email.
(If you want to enable Server Side Sync for enabling D365 App For Outlook, check this post Summarizing D365 App For Outlook Setup in 3 steps with Exchange Online mailbox)

emailWontProcess

And even if you try to Test & Enable the mailbox, you’ll see the error as This mailbox is disabled for email processing.
tryTest

And you get the error as IncomingEmailS2SApprovalNeeded. Let’s look at how even System Administrators who aren’t Global Admins can enable Mailboxes.

 

 

Disable Approve Email for Mailboxes & Queues

So, if you want to not have each mailbox need an Approval from Global Administrator, go to Settings in site map > Administration > System Settings > Email tab
settingsArea
In the above screenshot, you select which of the mailboxes or queues or both, you want to allow to process emails without approval. Now, I want to only disable the need for approval for Queues and keep the users as is.
disableForQueue

But doing so myself, gives me the following error
cantDisable

That’s because, to disable this, you’ll need a Global Administrator once. Once they disable this, if you have the appropriate rights to Test & Enable Mailbox, you can directly Test & Enable a mailbox even though the error message is still displayed on the Mailbox after disabling this feature.
success
The mailbox for the Queue is now active.

In case you are also looking to create a Support Queue for your organization, you can check this post Create a support Queue in D365 CE.

Hope this helps!!

Refresh button missing on Roll-Up fields in D365 UCI? Quick Tip.

As we are transitioning to the Unified Interface, some visual cues are a little misplaced or say, hidden.

If your Roll-up field on the Classic UI appeared like this where you could simply click on refresh and update the Roll-up field

classicRefresh

It doesn’t seem to be the case in terms of UCI-
missinginUCI

It’s Hidden!

So, simply click on the Calculator icon –
clickToReveal
And the Recalculate button will be revealed which updates the value
recalculate
And results into the below in my case –
updated
Note: Toggling the calculator icon will reveal/hide the button.

Hope this quick tip helps!!

 

Global Notification in Dynamics 365 Unified Interface App [Preview]

Here’s a great feature to add a warning/error notification which is scoped globally unlike setFormNotification() which is commonly used and remains within a form itself.

Xrm.App.addGlobalNotification(notificationObject).then(success, error); serves this purpose. Let’s see how –

Disclaimer: Please be aware this is a preview feature yet and I’ll update on this post once this is out of preview.

This is only available for the Unified Interface.

Scenario

Let’s say you have opened an Account form and you want to warn the user in case they are working remotely with someone and might have their screen shared. You want to show a message like this –
globalNotif

And even if they navigate away from the form, it will remain on the screen since it’s scope is global.
navigatedOtherPlaces

Or, user can chose to close it manually which appears at the end of the strip on top-right corner.
canCloseIt

You can also optionally add a button and make it navigate to another URL in case you want to share more info with the users (In my example, I redirected to https://www.microsoft.com/en-in/) –
learnMoreButton

 

Example

Xrm.App has 2 methods to do the needful –

Xrm.App.addGlobalNotification(notificationObject).then(success, error) & Xrm.App.clearGlobalNotification(notificationObject).then(success, error)

In my scenario, I want to trigger the warning message as soon as the user wanders into one of the Account records. So, in my case, I’ve registered the method onLoad of the Account form itself.
Here’s the code in my JS file for the same –

Some notes before we proceed with the code –

  1. type in the notification object is supported as 2 at the moment and no other types are supported.
  2. The levels are as below
    1. Success
    2. Error
    3. Warning
    4. Information

account = {
globalNotification: function () {

var learnMoreAction =
{
actionLabel: “Learn more”,
eventHandler: function () {
Xrm.Navigation.openUrl(“https://microsoft.com&#8221;);
}
}
var notificationObj =
{
type: 2,
level: 3, //warning
message: “Please make sure you are not sharing your screen!”,
showCloseButton: true,
action: learnMoreAction
}

Xrm.App.addGlobalNotification(notificationObj).then(
function success(result) {
console.log(“Notification created with ID: ” + result);

// More code here
},
function (error) {
console.log(error.message);
// handle error here
}
);
}

};

I’ve registered the Function as account.globalNotification. You can directly use globalNotification is you are writing function directly as function globalNotification() {}

fnAdded

This notification remains App-wide unless closed by closed by a user of closed using clearGlobalNotification method as mentioned by Microsoft.

Source documentation by Microsoft is here – Xrm.App

Since we are transitioning into Unified Interface, here are some other related posts that you may like looking at –

  1. D365 Quick Tip: Why BPF wouldn’t appear in D365 Unified Interface?
  2. Fix Ribbon icons on the Unified Interface in D365 CE
  3. Change the Unified Interface App Icons
  4. Unified Interface App URLs – 3 different ways

Hope this helps!!

Easier template selection & Manage Activities with ease in Dynamics 365 | 2020 Wave 1 Feature

Easier template selection and a improved Activities management view are pretty important features that got added in this 2020 Wave 1 Early Access. Here’s what they are!

Disclaimer: Before we proceed, please note that this is a part of the Wave 1 2020 Early Access. We can’t be sure if this will make it to the final release. Also, you can enable Early Access into your Sandbox instance only and test since it’s not recommended for Production at this point.

Easier Template Selection

Now, you can preview how the Email will look like before you select the template in the Activities
First, you need to click on Insert Template once you select the recipient of the Email
insertTemplate

And you can preview what each applicable template will look like before making the selection
previewInNewUI

And when you select Apply Template, it was applied to the actual email.
oldPostSelection

Please note that this is only in Dynamics 365 and doesn’t translate the same to Dynamics 365 App For Outlook’s Add Template feature. By the way, if you’re looking to set up D365 App For Outlook, please check these related posts –

Summarizing D365 App For Outlook Setup in 3 steps with Exchange Online mailbox

Using Templates from D365 CE in D365 App For Outlook

Old Template Selection

Old Template selection was just selecting the Template itself and you had to rely on your knowledge of what template to use from your system
oldSelection

Manage Activities with Ease

Now, with the 2020 Wave 1 Updates, you can now manage your Activities with ease. Simply by going into Activities, you can directly choose how you want to filter what Activities should be seen instead of going into several branches of Views and then making the selection.

newActivitySelection

Now, you can filter by the Due Date of the Activity, by default is set to All so that All Activities show
dueAll

 

And you can also select what type of Activities you want to see by selecting from Activity Type
activityType

These very simple yet powerful features are sure to make your work around Activities area a lot better. Hope this helps!

Kanban view in Dynamics 365 Sales | 2020 Wave 1 Early Access Feature

Kanban View in D365 is another desired feature for Dynamics 365 Salespeople is here in the 2020  Wave 1 Early Access feature-set!

Disclaimer: Before we proceed, please note that this is a part of the Wave 1 2020 Early Access. We can’t be sure if this will make it to the final release. Also, you can enable Early Access into your Sandbox instance only and test since it’s not recommended for Production at this point.

Enabling Kanban View

  1. Navigate to Opportunities and open the My Open Opportunities view
    openOppView
  2. Then, select Custom Controls to change to a Kanban view
    selectCustomControls
  3. Select Kanban and make sure it’s selected for all device types
    selectKanban
    clickOK
    Finally, just Save and Publish.

Using Kanban View

Now, once changes are published, on your My Open Opportunities view (you should already see it in Kanban). If not, select the Show As to show Kanban as an option and then select Kanban.
showAs
selectKanbanFromView

Once done, you can select the Kanban type i.e. based on Business Process Flow or based on the Stage of the Opportunity.
toggleType

How to Read the Kanban View

In the below, screenshot, the value denotes the total of the relevant Amount in that stage. Say, total of Estimated Revenue when an Opportunity is Open and the one on the right denotes total records that can be currently seen against how many records are actually present in that stage
howToView

Based on Status

Now, the Kanban view based on Status will let you move your Opportunity between two statuses. Say, in this example, the status is in Open, you want to mark it as Won.
dragStatus

And when you drop it on the Won status, the Opportunity Close dialog will appear where you can just fill in the required information and just close.
dialogToFill

Based on Business Process Flow

And in Business Process Flow type, you can just move the Opportunity between different stages of the BPF

bpfType

Moving the card to either direction will open up the actual record itself to make the final change.

Hope this post helps you get started!! 🙂

Save generated PDFs to SharePoint directly – 2020 Wave 1 | Early Access Feature

With Wave 1 of 2020, Early Access lets you use fantastic features in Dynamics 365 CE. For Sales customers, this little feature will definitely be a delight!

Disclaimer: Before we proceed, please note that this is a part of the Wave 1 2020 Early Access. We can’t be sure if this will make it to the final release. Also, you can enable Early Access into your Sandbox instance only and test since it’s not recommended for Production at this point.

Let’s start! Till now post Wave 2 2019, you were able to generate PDF Documents from the Document Templates you created for entity records. You can now take it a step further by having to choose between just downloading the file or Saving it to SharePoint directly behind the record.

Pre-Requisites

  1. SharePoint Integration enabled in D365
  2. Generate PDF option enabled for the entity record you want this feature on.
    If you are looking to enable this feature, check this post – Create & Send PDFs from Word Templates for Quotes in D365 CE Wave 2 Updates
  3. Wave 1 2020 Enabled for your Sandbox Organization.

You don’t need to perform additional settings for enable/disable this feature.

Creating PDF

  1. Just as you used to create a PDF from Wave 2019 updates, you need to do the same.
    createQuote
  2. And you’ll be prompted if you want to also save it to SharePoint.
    saveRec
  3. Once successful, you’ll see that it was saved to SharePoint.
    savedToSP

 

Saved to SharePoint

You can check the Documents grid, the Document will be attached there –
DocView
onSP
In this scenario, it won’t do both -Download and Save to SharePoint.

Hope you find this feature helpful!