D365 Quick Tip: Rather Uninstall Plugin Profiler from the D365 Solutions

Often, I get annoyed when I finish debugging the plugin and want to uninstall the Plugin Profiler from the Plugin Registration Tool so that users can quickly go ahead and test out the fix, it takes longer in the tool for the Profiler to be uninstall.

uninstallFromTool

And if at times, there are bandwidth issues, the uninstall just times out giving you this error.

error

Solutions in D365

Same thing is available in your organization’s Solution as well.

Select it and Delete it. It happens in less time.
uninstallFromSolutions
confirm

As a test, I simply closed the browser window and solution was deleted later when I logged back in. Since it happens on the server.

Hope this quick tip saves a few minutes. 😊

Advertisements

Bringing back Maintain Bookings Availability View from D365 PSA 1.2.x into 2.4.x

Disclaimer: This is an experimental implementation and is not recommended out-of-the-box. My assumption is Microsoft would not provide support for anything that gets goes wrong while implementing this, with the original MS scripts or anything that intervenes with out-of-the-box functionality. Kindly implement at your own risk, do not change the existing out-of-the-box files and back up entities/files before any customization.

Maintain Bookings Schedule Board view in PSA 2.4.x?

Recently, I upgraded PSA from v1.2.x to v2.4.x. And I missed the classic Availability view of the Maintain Bookings of the older version. 2.4.x has the new Schedule Board approach.

Schedule Board based Maintain Bookings view as below
scheduleBoardView

Instead of the old Availability View from the v1.2.x version which looked like this –
availabilityView

Also, even other projects bookings were seen which wasn’t desired and editing the hours was added effort. Se let’s see what we can do her –

Pre-Requisites

  1. Knowledge of Ribbon Workbench in the XRMToolBox.
  2. Make sure you have any D365 environment having PSA in version 1.2.x. You’ll need the older ProjectTeamActions.js file from that version of D365 PSA 1.2.x.
    originalFile

Customization

  1. I prepared a new JS Web Resource (named it MyCustomProjectTeamActions) in the target PSA 2.4.x environment and added the code from the PSA 1.2.x’s PSA file ProjectTeamActions.js file referred in the Pre-Requisites section above
    customWebResource
  2. In the XRMToolBox, connect to the 1.2.x’s Specify Pattern button on the Team Member Sub-grid view, you can use that as a reference.
    longViewSpecifyPattern
    closeViewSpecifyPattern
  3. In your updated PSA 2.4.x’s Org, assuming you have copied the ProjectTeamActions.js from the older org to your custom Web Resource file in Step 1 above, you can prepare a new custom button next to the existing one and use your custom file instead on your button. I just called it ‘New Maintain Bookings’
    customMaintainBookingButton
    customWRInButton
  4. And Publish your changes. Then go to the Project’s Project Team Member view and see your new button work.

Seeing it Work

  1. Now your new button appears besides the current version’s Maintain Bookings.
    teamMemberView
  2. And that will bring up the Availability View for the Maintain Bookings on how it was in PSA 1.2.x
    availabilityView

Hope this helps you out too!

D365 Quick Tip: Est. Revenue calculations on Opportunity

Here’s a quick tip! Either let the system calculate the revenue of the Opportunity based on the Product Line Items or you can enter yourself or add your own custom logic to it.

So, there is a field on the Opportunity entity of type TwoOptions – ‘isRevenueSystemCalculated

And, as self-explanatory as its name, it will let you either set your own Revenue calculations or pull it from the Opportunity Line Details

field

You can either put this field on the form to switch while working or use custom logic (or use Default Value) to be set and keep it hidden from the user as per you requirements.

For the purpose of this blog, I’ve kept it on the form.

System Calculated

When you select System Calculated, the Est. Revenue field is locked and the Revenue is calculated from the Product Line Items.
systemCalculated

User Provided

When you select User Provided, the Est. Revenue field is unlocked and the Est. Revenue is open to enter data into it.
userProvided

Pretty straight-forward! 😊

Talking Points in D365 AI For Sales

Overview

Talking Points is a D365 AI for Sales feature that helps you to start a conversation or bring in ice-breakers if you are going to communicate with a contact the next time.

It gives you highlights on the Contact form about what was communicated in the past and you can use that suggestion to bring it up in your conversation with the D365 Contact.

Talking Points works for the below topics –

Health, Family, Sports and Entertainment

Pre-Requisites

  1. The user who will use Talking Points must have Server Side Sync enabled for their mailbox.
  2. Make sure Analytics feature is enabled for your organization. You can find it in the Admin Center.
  3. Enable Sales AI in your D365 Organization. To learn more about Sales AI, check my post on enabling Sales AI for your Organization – Enable D365 AI For Sales in v9.1.x
  4. Turn on Talking Points by clicking on the check box
    selectTP
  5. And then clicking on Save button show on the top right corner of the screen.
    clickSave
  6. Once Talking Points preferences are saved, you can see what all you selected
    savedSettings
  7. Additionally, also make sure the card to display Talking Points is enabled on the Contact form.
    contactForm1
    visibleByDefault

Talking Points

Now, let’s see an example of it’s working.

  1. Priyesh sent me an email telling me that he’ll be late as he was at a Baseball game. And out of curiosity, asked if I follow Red Sox team.
    redSoxMail
  2. D365 AI For Sales’ Talking Points analyses the conversation and in D365’s Contact for Priyesh Wagh, shows this card telling me that Sports was being discussed/sent in the message
    talkingPoints
  3. So, if I am about to talk to Priyesh and I am looking at the D365 Contact before I speak, Talking Points can tell me what else I can talk about apart from just work.
  4. It’s a great functionality to give a more personal touch to the conversation than just discussing work, maybe.

    Enjoy exploring Talking Points.

D365 Quick Tip: Can’t add members to the default Business Unit Team

I would like to share a consideration I take while designing Teams that you might need to make certain records shareable. I faced an issue once when users started to use Default Teams created on Business Units.

And after several months, it occurred that some users from other Business Units too needed to be on that Team. And several records were already assigned to BU provided Default Teams.

Scenario

  1. Priyesh belongs to Southeast Asia BU and Somesh belongs to North America BU.
  2. Some records were assigned to North America team which is the Default Team created by BU..
  3. Priyesh wanted to be in the North America Team.
    addPriyeshToNA

    So adding North America to Teams under the user Priyesh, but I get the below error
    error

That is because you cannot add Default Teams to users in some other BUs.

Workaround

As a workaround, I only created a new Team and named it “<BU Name> – Shareable” team and assigned records to this team so that I know where I want the records to be visible as per my Security Roles setup.

structure

And hence, added the North America – Shared team for Priyesh.
addedAlternative

I would also like to hear your suggestions and any workarounds you may have. Thanks! 😊

Enable entities for Dynamics 365 App For Outlook

So, you’re all set to use D365 App For Outlook from your OWA (Outlook Web App) or even from your Desktop client. Let’s look into enabling any given entity (predefined or custom) to show up while searching in the D365 App For Outlook

Let’s say, you have these entities already enabled when you recently setup the App
noEntityDisplayed

And you don’t have your custom entity, say, Customer Subscriptions enabled yet. So let’s set that up.
actualEntity

Pre-Requisites

  1. Make sure the users’ mailbox is synced using Server Side Sync and they have been enabled to use D365 App For Outlook.
    addToApp
    You can see the above settings from Settings > Dynamics 365 App For Outlook as shown below –
    D365AppOnSiteMap
  2. Make sure the Entity is already enabled for Activities so that it can be used to track records against.
    enableActivities
    Note: I also read on other blogs stating that the entity should also be present in the Categorized Search under Settings > Administration > System Settings – General Tab. But this worked for me without it.

Enable entity for D365 App For Outlook

Now, let’s enable Customer Subscriptions to be available in the D365 App For Outlook

  1. We will need to add it in the D365 App For Outlook itself. Navigate to Settings > My Apps as shown below
    myAppsIf My Apps is missing from your SiteMap, you can refer to my blog for using the shortcut link to access it – ‘My Apps’ missing from D365 SiteMap
  2. In My Apps, find Dynamics 365 App For Outlook app and open it in the App Designer as shown
    openInAppDesigner
  3. Once you open it, on the right hand side, expand Entities
    artifactEntities
  4. Find that Customer Subscriptions (or your entity which you wish to enable) is not enabled yet.
    entityInAppFound
  5. Enable it by clicking the checkbox. It will now appear in blue and selected
    entityInAppEnabled
  6. It will also appear on the left hand side now
    entityInLeftSide
  7. Simply Save and Publish the changes.
    publishChanges

Entity is Enabled

In your Outlook (OWA of Outlook client app), when you restart or re-open open the app, you’ll see that the entity is enabled as below and you can use it to search and track records against.
entityIsEnabled

And we are done. 🙂

Office 365 Admin: Quickly Enable Multi-factor authentication for users

Here’s your guide to quickly setup a multi-factor authentication for an Office 365 user.

Manage Multi-Factor authentication

  1. Multi-factor authentication can be managed for the O365 under Services and add-ins. If you are in O365 Administrator, find the Services as shown below.
    addIns
  2. You can find this service called ‘Azure multi-factor authentication’. Select it.
    azureMFA
  3. Open the same and click on Manage multi-factor authentication. Also, I recommend you go through ‘Learn more about Azure multi-factor authentication’ before you proceed for licensing details. Please go through these links: https://docs.microsoft.com/en-gb/azure/active-directory/authentication/concept-mfa-howitworks
    manageMFA
  4. You’ll see a list of users who can be enabled for multi-factor authentication. In this example, I’ll select myself – Priyesh Wagh to enable my multi-factor authentication.
    enableMFA
  5. You can either directly enable for the user of invite them to register from the link provided in the screenshot –
    confirmEnable
  6. And that’s it. Multi-factor authentication is enabled for the user.
    enabled

Setting up MFA for the user

  1. When the user then logs into the system, they are asked to enter, they will prompted to enter additional log in information to setup MFA.
    moreInfoRequired
  2. I will be asked to enter the phone number and select the preference or either phone or text message.
    phoneEntered
  3. And you can proceed with your selected preference of text message or phone call. I’ve selected phone call in this case.
    callingIn.png
  4. And finally, it will be setup
    complted

Logging In

  1. As usual, when you log in. You’ll be asked to enter password.
    enterPassword
  2. Post that, 2-step authentication will take place and as I had selected Phone Call. The system will make a call on my phone and I’ll follow the instructions as asked (asked to press the # key to confirm)
    answerPhone
  3. Or, alternatively, it can ask you to enter the code received on your phone in text message.
    enterText

That’s it. Simplest way to get started with MFA. Furthermore, you can make the users to create App Passwords and enter contact methods etc. among other features as shown below –

otherOptions

Hope that was easy!