Use Azure App Passwords for MFA enabled D365 authentication from Console App

If you have a Console App that authenticates to D365 using a credential (typically, an Administrator) but now the administrator is setup for Multi-Factor authentication, your Console App won’t work. So here’s what you can do.

If you first want to check out about enabling Multi-Factor Authentication, you can check my blog post on it here – Office 365 Admin: Quickly Enable Multi-factor authentication for users

Standard Authentication vs MFA enabled User

When there’s not MFA enabled for Dynamics 365 (Office 365) account credentials, you are able to connect to the organization with no issues and get the CRMServiceClient in your application easy.
authenticated

But, if you have Multi-Factor Authentication enabled for a credential that is used in Console Apps to connect to D365, the Console App will not connect and the CrmCerviceClient will have null as below with the error ‘Unable to Login to Dynamics CRM

unabletologin

Managing App Passwords on Azure Portal

Once you have multi-factor authentication enabled for your account, you can go to portal.azure.com and manage App Passwords as follows –

  1. In Azure Portal, go to your account settings.
    gotoaccount
  2. Then, go to Additional security verification
    additionalsecurityverification
  3. Look for App Passwords
    apppasswords
  4. You can manage and create more passwords here
    manageapppasswords
  5. Create a password if you don’t want to use a default one or want to use different passwords for different apps. Give it a suitable name and click Next
    createapppassword
  6. Copy the password as it is the only time it will be displayed.
    copypassowrd
  7. And you can see your passwords as you create them
    morepasswords

 

Implementing App Passwords in Console App

As the name suggests, App Passwords will let you create special passwords for applications to authenticate to Dynamics 365 without needing to go through multi-factor authentication like when you’re running a Console App to connect to Dynamics 365

  1. Go to the Password in the credentials in the App.Config of the Console Application
    oldpassword
  2. And replace it with the App Password
    newpassword
  3. Now, Build the application and run it. It will authenticate successfully.
    authenticated

Hope this helps! 🙂

 

Quickly use Email Signatures in D365

You can use Email Signature in D365 Emails as well. Here’s a quick tip on it to quickly create a Signature and use it.

As I write this blog, this feature is not yet available in the Unified Interface yet.

Create a Signature

  1. Navigate to Settings > Templates > Email Signatures
    insertsignaturefeature

  2. And create a New Signature as below
    newemailsignature
  3. Now, I save and close.
    emailsignaturesaved

Insert and use Signature

Now, when you write a new Email or this email in D356, you can select the signature as below –

  1. Select Insert Signature while working on the email
    insertinemail
  2. Select the Signature and click Select.
    selectsignature
  3. And the Signature appears.
    finalsignature

That was easy. 🙂

Restrict User Access to a D365 instance using Security Groups

Use Case

You have multiple instances and you don’t want every member with a D365 license to be able to access each of those environments. How do you tackle this? Answer is using Security Groups on the Environments and Users.

Creating Security Group

In Office 365, create a Security Group and add members to it who should have access to the desired environment.

  1. Navigate to Groups in Office 365 and create a New Group. Give it a suitable name.
    creategroup
    groupname
  2. Add members to the Group who should have access. Click on Edit as shown below to Add members to the group and select the members and save it.
    editmembers
    addmembers
    membersadded
  3. Your Security Group is ready.
    securitygroupready

Apply Security Group to the D365 instance

  1. Navigate to Dynamics 365 Admin Center and select Edit on the instance you want to apply the Security Group on.
    editinstance
  2. Select the Security Group field and select the Security Group you created.
    selectsecuritygroup
  3. Click Next.
    clicknext
  4. Save once confirmed that you have selected the correct Security Group.
    saveinstance
    That’s it.

Who all can access the environment

All those are a part of the Security Group applied to the instance will have access to the environment including the Global Administrator
enabledusers

Rest of the users will be in the Disabled Users list
disabledusers

And if they try to access the environment, they will not be able to and will see this –
accessdenied

Hope that was easy! 🙂

D365 Quick Tip: Allow messages with unresolved email recipients to be sent

Most new users get stuck with issues saying ‘Email address of the recipient was not resolved’. Like in case you want to send out an email from D365 but you don’t have the same saved in the system as a Contact/Lead or any other record.

And it resulted in this the big red cross like the one below –

unresolvedemailaddress

There’s a simple setting for this in Settings > Administration > System Settings, under Email tab.

You can simply flip the switch on ‘Allow messages with unresolved email recipients to be sent’ to Yes.
setting

 

And, now simply enter the Email address in the Recipient (To) field and let the email go!

resolvedemail

Hope this quick tip was helpful!

Using ‘Clone a Patch’ & ‘Clone Solution’ in Dynamics 365 Solutions

Doing incremental deployments from Sandbox to Production is a part of every other D365 implementation.

And when do this, typically, you just create a new solution for every single time you move things over. This creates a lot of mess and leaves your Solutions in unorganized dump!

Let’s see how we can stay organized by using Clone a Patch and Clone Solution to keep things synced and clean

Clone a Patch

Clone a Patch should be used when you don’t want parent dependencies in the solution all over again unless you want to change them. So, always use this when you want to add newer things to a previously existing solution.

  1. I have created MainSolution_1 as my main solution, the first time I started my customization. I added only 1 field, called Target Sale for demonstration purpose.
    mainsolution
  2. Now, let’s say I deployed it over, the next time I want to add some more functionality to the existing solution I deployed, I should not create another solution.
  3. Rather, I’ll use Clone a Patch as shown below.
    cloneapatch
  4. In Clone a Patch, I’ll keep the Display name same and the version number is configurable up to the last 2 sub-versions.
    clonepatchproperties
  5. So this is how my Patched solution will look.
    preparedclone
  6. In this solution, I’ll add another field called as Min Target To Achieve and deploy it over to Production, maybe.
    patchcontents

Clone Solution

Clone a Solution is used when you have a main solution and several patches. Clone a Solution will roll up everything into a new “parent” solution and remove every other solution of which you cloned including the source solution.

  1. I’m select MainSolution_1, the first main solution I had created with the field Target Sale field. And then I chose to Clone Solution.
    clonesolution
  2. Similar to Clone a Patch, I have now the version control over the first 2 version numbers and since it is the first Clone, the final numbers are 0.0. I named it MainSolution_1_Cloned.
    clonesolutionproperties
  3. It takes a few moments to Clone everything.
    inprogress
  4. Now, I have cloned the solution and the resultant solution has all the components from the Main Solution as well as from the Patch solution summed into 1 final solution.
    cloned
  5. Also, notice that all the other solutions including the MainSolution_1 from which I cloned this solution is deleted.
    cleanedsolutionsarea

Thereby, you have a clean Solutions area with all sorted work.
Hope this helps. 😊

D365 Quick Tip: Delete Records Imported by mistake

One of the most common blunders often made in Data Import are importing whole lot of records without finalizing.

And when you import, you realize you needed to add something more to the Import or some things were pending in the Excel file and you ended up uploading them all!

Delete Imported Records

  1. Assuming your Import was successful and you want to now just revert what all was imported, navigate to Settings > Data Management > Imports.
    importjob
  2. Open the Import job and look for the option under Delete which says ‘All Records Imported to This Entity During This Import
    mainaction
    There, quite self explanatory.
  3. Once you click on it, a Delete Job is triggered once you fill in the below information
    deletejobset
    Important: When I select ‘In addition to deleting imported records, also delete import job history’, it will also delete the Import Job I started in Step #1. If you still want to keep it, you can according to your personal preference.
  4. Now, when you go to Settings > Data Management > Bulk Record Deletion, find the Import you started in the step above.
    deletedrecords
    Note that there are 4 records deleted here though I imported 3 records. The additional record is of the Import Job deleted while setting up the Deletion job in step#3 above.

Hope this quick tip helps! 🙂

 

Use Learning Path for your D365 v9.x Organization – Part 3 | Guided Tasks

After 2 posts to trying to summarize Learning Paths, here we are to Guided Tasks which conclude this series. We will see D365’s early adopters can get acquainted with processes in your organization and getting them to know the system.

To check the other 2 posts – Please follow the below posts

  1. Setup – Use Learning Path for your D365 v9.x Organization – Part 1 | Setup
  2. Sidebar –Use Learning Path for your D365 v9.x Organization – Part 2 | Sidebar

Configuring Guided Tasks

  1. Assuming you are already in Learning Path > Content Library. Select Guided Task.
    guidedTask
  2. Fill out the properties of the Guided Task like the name and how you want it to behave.
    guidedTaskProperties
  3. One you save, you get a Flow Editor where you can add 4 different types of Guided Task modal.
    flowEditor
  4. So, these 4 types of modals are available. Here’s what each of them do –
    1. Step with Next Button – Simple instruction in Text or Video and a Next Button
    2. Step with User action – Will make you click the button/action it is pinned to. And only then move forward.
    3. User Action with Next Button – This is a combination of A and B above. You can either select the action or skip to next step.
    4. Learning Step – It is like a tip and comes with a Button that can open another Learning Path Published item. Like, Sidebar in my case.
      stepTypes
  5. When you drag either of the above onto the screen, the D365 screen is highlighted with areas where you can drop it and it gets pinned to that item.
    skeleton
  6. On each of the types of modals, you get to either enter Text or add a Video.
    contentTypes
  7. For Learning Step modal, you get to also configure what will open when user clicks Learn More.
    learnMoreEditor
  8. In my case, I’ve opened the existing Sidebar from Part 2 of the blog series.
    sideBar

Finally, my track looks like this –

track

Previewing and Publishing

  1. Once you are done editing, Save your changes and Check In your changes.
    confirmCheckin
  2. Once you proceed, you’ll be asked in the same way as Sidebar to specify which all environments you want to publish this to.
    envSelect
  3. On publishing, you’ll see this notification.
    published

Seeing Guided Tasks Work

    1. Step with Next Button.
      stepWithNextButton
    2. Step with User Action (Notice that it doesn’t have a Next button but is asking you to click on the Gear Icon)
      userAction
    3. User Action with Next button, either of which will take you to the next step.
      nextUserButton
    4. Learning Step (Clicking on Learn More will open the Sidebar on the right hand side)
      learningStep
    5. Sidebar showed up on clicking Learn More from Step 4 above.
      LearnMoreSidebar

Hereby, I conclude Learning Task. I tried to keep it as short as possible. But then, lots of screenshots.

To summarize, you can read previous blogs in this series
1. Setup – Use Learning Path for your D365 v9.x Organization – Part 1 | Setup
2. Sidebar – Use Learning Path for your D365 v9.x Organization – Part 2 | Sidebar

Hope this gets you through Learning Path quickly! 🙂

 

Use Learning Path for your D365 v9.x Organization – Part 2 | Sidebar

Sidebar is a component in Learning Path where you can design a Sidebar that appears like a tray popping from the right side of the screen. You can have quick help items in it so that new users to D365 can use it to get help on the most frequently requested items in your Organization.

Before you begin, you can check my post i.e. Part 1 post of this series on setting up Learning Path in D365 – Use Learning Path for your D365 v9.x Organization – Part 1 | Setup

Also, check out Guided Tasks in this blog post – Use Learning Path for your D365 v9.x Organization – Part 3 | Guided Tasks

In my last, I setup Learning Path in D365 Org, let’s take a look at designing one of the aspects of Learning Path i.e. Sidebar

Creating a Sidebar in Learning Path

  1. Assuming you have gone through the setup of Learning Path and you are now navigated in your Org to Training > Content Library. Content Library is open and you need to select Sidebar
    createSidebar
  2. On opening the same, you’ll be asked to set preferences of what should the details of the Sidebar be
    sidebarProp
  3. On clicking Save, a designer pane will open on the right hand side of the Page like so
    editorOpened

Designing your Sidebar

Now, let’s put a few items on the Sidebar and publish it to see how it looks

  1. I’ve given a suitable Title to my sidebar, I’ll call it CFT117 Helpdesk for now. Then, when I want to first item, I’ll click on Section #1 below that and a Pencil and Delete icon will appear. I will select the Pencil Icon to start editing my first section
    editingSection1
  2. On clicking the Pencil, a menu to show what all I can add appears, for example, I select List of Links (I will just give link to a website here)
    selectContent1
  3. Once I select List of Links, editor to add Links will appear. I’ve given a title to it called as Visit Company Website and I’ll select + Add Link as shown below
    addLink
  4. After clicking on Add Link as in #3 above, I get options to specify what the link will do. For example, I’ll select Webpage since I want to redirect to the company website
    defineLink
    linkDetails
  5. After I click Next, the first Link will be set and will appear like this.
    linkSet
  6. Next, I’ll select to add a Video (you can select what you want to show in subsequent sections as mentioned in step #2 above).
    So, I’ve given a title ‘Using PSA’ and entered the URL of the video I wanted to show. Finally, my section will look like this
    videoProperties
  7. After everything is done, I’ll click on Save
    saveSidebar

Publishing Changes

  1. Next, on the button left, you can select Preview.
    preview
  2. Once someone clicks help, this is how the pane will look. Finally, if you’ve decided to publish it, you can click on Publish button on the bottom left
    previewShown
  3. And you can select which all Orgs you want to publish this Sidebar to –
    publishControls
  4. On confirmation, it will tell you that the content has been published successfully.
    published

Using Sidebar

Now, our Sidebar is ready. And once the user clicks on the Help Icon on the top right as shown below –
clickHelp

They’ll see the Sidebar as you designed
sidebarDisplayed

 

Excuse me for the unusually lengthy post. Hope this helps! Learning Path – Part 3 – Guided Tasks has been published too – Use Learning Path for your D365 v9.x Organization – Part 3 | Guided Tasks!