Tuesday, June 4, 2019

Moving to a new Home

I have been blogging on KRMCRM for several years now. Since it's not even called CRM anymore, I have decided to move into the future on a new site.

Thank you to my loyal followers here! Please take a moment to check out the new site at KylieKiser.com and sign up to follow via email. All existing content has been migrated so you can still find all of your favorites there.

Please head over and share your thoughts!

Saturday, April 13, 2019

May 2019 Events

There are several great events happening in the next few weeks where you can meet #CRMUGDC the Monkey. Make sure you save the date and get registered!

CRMUGDC Q2 Chapter Meeting

  • May 15, 8:30am-12:30pm
  • Location: Microsoft Chevy Chase
  • Speakers
    • Geoff Ables: Designing Customer Engagement Processes
    • Nelson Johnson: Power BI for Beginners
    • Kalpana Sivanandan: Microsoft Teams Introduction
  • Get all the details and register here!
  • Check out more events and discussion in the Washington, DC Chapter
If you can't make it to the May 15 DC event, keep in mind that the Reston, VA and Richmond, VA Chapters always meet the same week. We work together to coordinate speakers and plan great content. These are other great chapters to attend!
For those who will be in Philly early, you can also check out the local D365UG/CRMUG Chapter. Their Q2 meeting will be taking place on Friday before D365 Saturday. Check out the details for the May 17 meeting and get registered!

Sunday, April 7, 2019

Improve Game Night with the Power Platform: Lessons Learned

For the last several weeks I have been working on a project to encourage myself to learn more about Power BI, PowerApps and Flow. I have been procrastinating learning these tools waiting for the perfect use case to test on. However what I really needed was just time and a data set to work with.

I have been procrastinating on learning these "new" tools for far too long. So my main takeaway is that there is no excuse! There are so many resources available to learn. No one needs to be an expert right away, its just important to start trying.

When creating new entities it is always important to plan your data structure ahead of time. In this case I planned for this use case but there are probably additional questions to be answered if this was a more real-life scenario. Additionally there are probably other data points that would be helpful for this. It would be helpful to get this data at the beginning instead of trying to add later.

Power BI was really exciting! Once the data was in the Power BI Desktop it was easy to add in data tables and visualizations. Then it only took a bit longer to figure out how to make the changes I was looking for. I was very impressed with what could be done with only a few minutes of dedicated time. 

PowerApps was not as easy for me. I learned the importance of reviewing the templates and different options available. I initially created a blank canvas app, got stuck and started again with the app from data. Also learned to look at all of the different settings for each element. It was easy to think I could just delete or edit something on the screen when I really just needed to edit the properties. There are so many resources for PowerApps plus a great community to help us out. So I didn't stay stuck for long. Some research and some trial and error.

I liked how I could get to the Flow editor right from the PowerApp. It was quick and painless to make the simple flow and it worked as expected.

These posts have been a long time in the making and the main thing I learned was I needed to stop procrastinating! There are no more excuses. It's time to learn these new tools and start applying them to your organization! Thanks everyone for coming with me on this journey.

How do you learn new tools? How do you find good use cases to test?


Saturday, April 6, 2019

Improve Game Night with the Power Platform: Canvas PowerApp

I am working through a scenario to select and rate Board Games to help push me to learn more about the Power Platform.

At this point we have selected a game and sat down to play. Obviously I won so I want to record a high rating for this game. My goal is to create a PowerApp I can run from my phone. I will search for the game to view details and then add a new rating for played games. This rating will create a new "rating" record in D365. Then our rollup field will automatically update the parent Board Game record.

So let's see if this works. The PowerApp was a bit less intuitive (at least for me) than the Power BI dashboard. So I created several different Apps and forms/screens before getting what I wanted. The end result is not perfect but was achieving my goal of getting in and trying it out.

You start in web.powerapps.com and login to your org. From here you can create a Canvas App starting from Data. I selected Dynamics 365 and my board game entity. This automatically built a list screen where you can search the games and a detail screen to view all the details from the game. These screens can be edited using the options on the right hand side to add fields, remove fields, change layout, etc.
Create Canvas App from Data
Connect with D365

Setting up Data Connection
Now, to create a new Rating record I created a new blank form page. I added a combo box to this page which links to the Board Game list and allows users to search and select one. Then added a Rating scale to fill in the star rating. Then I linked the submit check mark to a Flow. This Flow will push the data from the PowerApp form into Dynamics 365.
List Screen

Rating Screen Details

Finally I created a new button on our main page to get to this Rating page.
Details for Rating Button

Additionally there were a few other navigation edits to make sure canceling goes back to the right page and such. The hard part for me was getting the right logic to send to the Flow which submitted the data. The main issue I had with this was making sure I had a blank form (no data source selected) and then making sure my combo box was only allowing one item to be selected.

Logic to send Data to Flow
Flow to push data to D365

I would like to expand this by allowing someone to go to a detail form and add the rating from there. This can be a day 2 item.

To test this, I downloaded the PowerApps app on my phone and logged in with my trial credentials. Then I was able to add ratings in the same way as when I was testing on the PowerApps site. Finally, I went into Dynamics 365 and saw that the ratings were being added and were being rolled up at the Board Game level.
Mobile View Search
Mobile View to save rating

Ratings being created in D365
Success! Now to see if any friends want to use this at Parties.

Tomorrow we will finish this series with a look back at lessons learned and thoughts from this series. Don't miss it!

Friday, April 5, 2019

Improve Game Night with the Power Platform: Power BI

I am in the middle of working to learn the Power Platform by making a dashboard and application to help select a board game to play for game night. The data structure has been created and current game list imported.

Now we are going to use Power BI to make a Board Game dashboard. My goal is to make a magical list that will update based on some slicers so we can eliminate options that do not fit the people interested in playing.

So first let's get the data in Power BI using XrmToolBox's Power Query (M) Builder. The step by step instructions are available here: https://crmchartguy.com/power-query-builder/

You will also need the Power BI Desktop app. Once you follow the steps from the video above, all of your data will be in Power BI and you can start building visualizations. Within a few minutes of getting the data there I could create a table and create the slicers to dynamically filter that table!

These are simple tasks but I am going to document them for other's just starting out like me.

To create a table, click the table button then select all the fields you want to display in the table. When the table is selected you can drag and drop the columns in the values list on the right hand side to re-order.

To create a slicer, de-select the table and then click the slicer (table with filter) button then select the field you want to filter on.

Once these are created you can just click and drag to move and resize for the look you want.

So in just a few minutes I created the Power BI dashboard below. Moving the slicers will automatically update the results in my table so I can see the games that will fit my requirements based on time and number of people.

My First Ever Power BI Report

You can tell it is working because Scotland Yard was selected as a potential game. Since this is one of the best games ever, it is a success!

Tomorrow we will create a PowerApp to see the Board Game data and enter ratings.


Still some beautification needed but progress is being made


Thursday, April 4, 2019

Improve Game Night with the Power Platform: Data Import

As you may know, I am trying to learn more about the Power Platform by creating an application to help with board game selection in my household. We have already set up the entities. Next is the data import then we will use PowerBI and create a PowerApp.

Since all of our fields are there we can import our data now. We already have the data in a consistent format (remember it was an export from BoardGameGeek) so I am going to review that file and save it as a .csv. I am going to leave extra data in the file (columns I am not importing) so that I know I can easily import more data later. I want to ensure that if I save a data map, I can use it again and do not need to review which columns I had removed the last time.

  1. Navigate to Settings > Data Management > Imports
  2. Click "Import Data"
  3. Select your file
  4. Choose the "Default (Automatic Mapping)" Option
  5. Select the new entity you created
  6. Now map the data to the fields created previously
    Data Map

  7. Click Next, Click Next
  8. Before submitting, enter a name for the Data Map. This will save the mapping you just did so you can use it on future files. This is also helpful when working in multiple environments. You can build and test your mapping in a development environment. Save it, export it, import the map and then import the file into production without worrying about mapping something differently.
    Saving the Data Map

  9. Click "Submit"

Click the "Imports" link to monitor the import. This can also be found in Settings > Data Management > Imports.

Import Success

As you see I had some errors. You can get more details on these by double clicking on the import job and then navigating  to the Failures area. In my case, this was because the value for one of the fields (Minimum Play Time) was outside of the allowable values. Clearly I thought games should not take longer than a 100 minutes. I determined that these are games I didn't want to play anyways so acceptable loss. But if you did care about your errors, then you could export the list from this failure area. Fix the issue either in the file or in your system and then import again.

Reviewing Import Errors


Now your Board Game records have been created and you are ready to start working with this data! Tune in tomorrow to see my first ever Power BI Dashboard!

Wednesday, April 3, 2019

Improve Game Night with the Power Platform: Data Structure

As you learned yesterday, I wanted to learn about PowerApps and decided to do this by improving the game night board game selection process.


As a prerequisite for this learning experiment I exported our board game library from BoardGameGeek (to be honest, most of this was my husband's idea and he maintains this list which he exported for me).

Then I set up a free trial to use. If you need help getting your trail set up, check out my earlier post: How to Set up Your Free Trial.

Now it's time to get started with the "easy" bits. I call these easy because these are the pieces that I already know how to handle. There are a few things we need to create.

  1. New "Board Game" entity with fields to hold:
    1. Name of the game
    2. Minimum play time
    3. Maximum play time
    4. Average Play time
    5. Minimum number of players
    6. Maximum number of players
    7. Year Published
    8. Type (Standalone or expansion)
  2. New "Rating" entity with an N:1 link to the "Board Game" entity. This will capture the date (created on) and an integer score. An argument could be made for this to be a custom Activity type but in this case I think that would be a bit of overkill
  3. New Rollup fields on the "Board Game" entity to get us the average score for the game

Let's start with a solution to keep things classy. I also created a publisher so I didn't have new_ in my screenshots.


Publisher Details


Solution Creation


The solution is created from settings > Solutions > New. Then I created the publisher by using the New option from the lookup field. You can also create your Publishers from Settings > Customizations > Publishers. For more information on Solutions, check out this CRMUG Webinar: Solution Management, Your Customization's on the Move.

Alright, let's create the new Entity. In the solution, click New > Entity. I entered the details as shown below, saved and published.

Board Game Entity Set Up


I set the ownership to Organization because all games will be visible to all users with access to that entity. I made it visible in the sales area and turned off the Communication and Collaboration features. We may decide to use Notes in the future but this can be enabled at a later time.

Now for the new fields. Creating fields can be tedious. There are a few options to speed this up. We could do the import and create new fields on the way in. This is generally not recommended as it is very easy to make a mistake. You can also  create the fields via XrmToolBox.

In most case, I would recommend you create the fields manually. Since these fields are simple and this blog is just for learning and experimentation, that is why I chose to go the exciting route.

So I launched XrmToolBox, connected to my trial and navigated to the Attribute Editor (you may have to download from the plugin store). If you are not familiar with XrmToolBox, check out: Getting Started with XrmToolBox.

In the Attribute editor:

  1. Click "Refresh Entities". This will load all the entities from the trial including the new one we just created.
  2. Select the "Board Game" entity and click "Download Template"
    Download Template from Attribute Editor

  3. This creates an Excel file with the details of all the existing fields. I filled in the details for my new fields. I did not include the details for the Option Set as that seemed likely for disaster.
    Add new fields in the downloaded file

  4. Save the updated file
  5. Back in XrmToolBox, navigate to the file click the "Upload Template" button. This will show you the details of the new fields from the file
    Re-import the field details
  6. Click Save and Publish to push these changes to your D365 environment (or if you are like me: get an error, see your silly mistake, fix it and retake screenshots so it seems like you did it right the first time)

Now back in D365, I see all my new fields and just need to create the final Option Set.
Create Option Set


Ok almost there. Let's create one more entity in the solution.

Create Rating Entity


Then we can create the few fields manually.

Lookup to Board Game Entity


Score Field


Now for the fun stuff! We want a rollup field to give us the average score for this game. So back in the "Board Game" entity, I created a new "Average Rating" Rollup field. This will rollup any related "Ratings" to the "Board Game" as an Average. Later we can decide if we need additional rollup or calculated fields for other uses.

Rollup of Scores from related records

Rollup Details


Finally, I updated the main forms for both entities to contain the new fields I created.

If I was doing this in a real environment, there would be several other things I would do as icing on the cake. First of all, create a workflow to populate the Name field on the "Rating" records. I am always irritated to find an entity where the name field is blank. Then there is nothing visible when doing a lookup, default Advanced Find views contain no data, etc. So The workflow would just set this field to the created on date appended with the name of the game it is linked to. Secondly, I would update the icons of these entities to make them look pretty.

Now that the entities are created, we can proceed with importing the data tomorrow!

Tuesday, April 2, 2019

Improve Game Night with the Power Platform: Intro

I have been wanting to learn more about PowerApps and Flow for some time but have been waiting to think of the best way to handle this. This week is the best time to learn since it is the Power Platform World Tour in Washington, DC

I wanted to work through a scenario that would help me put together and learn so many new tools available for Dynamics 365. So I came up with this scenario for me to start playing with a few different things.

First you should know that board games have over taken my home. I am not sure where they keep coming from but they are definitely multiplying.

Kiser Board Game Collection

Now when you have this many games it can be difficult to decide what to play or to narrow down the options to account for the current audience. So the goal was to make a dashboard where we could narrow down the list of games based on player count, type of game etc. The next step would be to also have a way to quickly input a score for the game played so we could gradually build up ratings and additional data to report on. The true goal is finding the ultimate party game!

Here is the high level steps to accomplish:
  1. Export Board Game library from BoardGameGeek
  2. Create a D365 Trial
  3. Set up entities for holding Board Game information with relevant fields. Create related entity to capture a rating/score.
  4. Populate trial with the data exported earlier
  5. Create a Power BI Dashboard of this data with slicers to help you find the perfect game
  6. Create a PowerApp where a score can be quickly entered
  7. Use Rollup fields to rollup scores and other rating data to the parent Board Game
Then it will be time to play some games! Come back tomorrow for step 1 tomorrow and share your tips for learning these new tools too!

Saturday, March 30, 2019

Sometimes the Problem is You

There has been an odd issue going on in my implementation for the last several months. With the help of Microsoft support, we solved the issue this week! However, the solution is very embarrassing because it was a self-made problem (I guess most of them are). But maybe my failures will help others so here goes!

The Problem

Towards the end of October, users started reporting that they were seeing the "Pending Email" warning when launching D365. We reviewed and saw there indeed there were email messages in pending status waiting to be sent.

All of these were workflow generated emails to a variety of different users. There didn't seem to be a common pattern in what these emails were, who they were to or the workflow that created them.

The Work

First to solve the issue we used a workflow to change the Email Message status back to Draft and re-send. Then we learned that everyone had already received the original message. So for some reason the Email in D365 said Pending Send even though it was actually sent and the Date Sent was even populated.

Next we created another new workflow that just updated the status from Pending Send to Sent. This was not solving the issue but it was preventing users from getting the Pending Send Warning message.

We believed the issue had something to do with our connection with Exchange. Maybe we weren't getting a response in a timely manner or something like that. So the "it's not my fault!" attitude was in full force. We basically started handling the symptoms (running the workflow to change status) and stalled on dealing with the problem.

Finally some bandwidth opened up so we decided it was time to engage Microsoft support on this issue. We worked with them for a little while to get traces, logs, etc. and provided all this data.

The Solution

Microsoft reviewed all the data we sent and said "hey, it looks like there is a workflow firing on all of these emails changing them to Pending Send". What? No way! They must be confused.

Sure enough, I found the workflow they were seeing with the step name they reported. It was doing exactly what they said was happening. I deactivated the workflow and the issue stopped occurring.

Then we thought about the timeline and figured out exactly what happened. (Side tip: we have turned Auditing on for the Processes entity. This makes it easy to check who created the workflow, who activated it, when, when was the owner changed, etc.)

  • Earlier in October we had an issue with some emails failing (actually in a Failed state)
  • One admin went in and created a workflow to change back to Pending Send so Server Side Sync would automatically pick up and re-send the email
    • This was set to run on-Demand
    • Scope = User
    • Run on Create = Yes. This is fine when the owner was that admin. This is just for clean up, it won't be a problem, right?
    • Automatically deleted completed workflow jobs = Yes
  • Later in October there is an unrelated release involving other unrelated workflows
  • Part of the release process is reassigning these workflows to the Service Account we use to run these workflows. I (I will take the blame!) reassigned all workflows recently modified to the Service Account not paying attention to the specific items modified for that release
  • Now all emails being owned by/created by the Service Account, AKA all workflow generated emails, are being set to Pending Send after they are sent
As I said, not all emails were "stuck" in Pending Send status. I think this was still due to timing of the email actually being sent and email owner and those type of factors.

Lessons Learned
  1. It can always be your/my fault
  2. Review the Start When conditions even when just doing "quick"clean up items
  3. When using a workflow for clean up or quick data manipulation, deactivate when done
  4. Always communicate with others who are creating workflows and review so everyone is on the same page
So that is my embarrassing story for the week. I hope Microsoft does not put it on my permanent record. Please share your self-inflicted, system mishaps to help me feel better!

Monday, March 25, 2019

User Group Focus 2019 Recap

A few weeks ago I was at the User Group Focus event in Houston, TX. I attended Monday and Tuesday for the D365/CRM portion of the event. I presented several sessions, attended others and also went to the Rodeo! It was a great trip!

I participated in three sessions. Michael OchsPhyllis Eriksen and I presented an introduction to XrmToolBox which taught participants how to use it and we shared our favorite tools (be on the lookout for an encore webinar coming in June). I also presented on "Wrangling your Processes" (an introduction to Workflows in D365) and you can catch the encore webinar on May 22. Finally I participated in a panel about Upgrades. This was a good discussion on many tips for planning, upgrade methods, and preparing your users.

I also got to attend a few sessions and wanted to share some takeaways from those as well. For attendees, you can download all session materials from the User Group Focus Community.

Planning, Developing, and Surfacing Metrics for Sales and Service
Tad Thompson

The goal of this session was to discuss ways to maximize time for sales people by reducing clicks and effectively using screen real estate. Lots of great recommendations were discussed:

  • Don't forget about Goals
  • Utilize the Apps feature to minimize the number of unnecessary items users see
  • Remove unused fields
  • Use customization to drive user adoption by providing more information
    • Calculated fields to give important stats, ex. time to qualification
    • SLAs, shorten the SLA based on the customer's interest
    • Business Process Flows to drive behavior (be careful not to overwhelm). Now you can have multiple BPFs per record so multiple users can be following separate flows at the same time.
  • Editable grids can be helpful but ensure these are not used for continuous, mass data clean up (fix the actual problem!)
  • Check out email feature to follow email and get insights and reminders related to it
  • Reporting can be used to drive excitement and show the users what their data is powering.
    • OOB charts still have value. These are real-time when PowerBI is not.
    • Start with the PowerBI Templates and see what you can get value from quickly
    • Embed your PowerBI dashboards in Dynamics
  • For service, Flow allows you to listen to Twitter and create cases as needed
The Power Platform in 90 Mins

Michael Ochs

This session walked through an example of building a vacation request/approval tool using CDS, Flow, PowerApps, and PowerBI. D365 is an application that is only part of the Power Platform so we have so many other tools to explore! CDS (Common Data Service) was formerly thought of as the XRM Platform. Now everything is stripped away into apps and core entities such as Contacts, Accounts, Activities, etc. form the backbone of CDS.

PowerApps are broken down into Canvas and Model Driven. Canvas Apps are the type of app we are used to using on mobile devices. Model Driven Apps are part of Dynamics to only show what users need.

The objection of this session was to use all of these components to build line of business applications. This was a shortened version of the App in a Day session.

Better Activity Management
Geoff Ables

One of the most important features of a CRM system is activity tracking but you need to get the users to actually follow through. Start by working with the business to determine why they even want to track activities. We need to find the end motivation and then find ways to make it easy, fast and fun. The goal is to find ways to move from just reactive work to proactive work. This may also include watching users work through the current process to look for where efficiencies can be gained.

All of this boils down to the LUCK Principle. Listen Understand Connect Know. 

So, what are some practical ideas to explore?

  • Compare the Outlook App with the Legacy Outlook Client to determine what is best. The app is recommended if there is nothing in the client that is needed. App is being recommended for new users. The App allows you to view dynamics data in Outlook without tracking the message.
  • Relationship assistant provides reminders on the home screen to direct users. Activities are not automatically created but users are encouraged to take specific follow up actions. There are settings to control these reminders that are set by administrators. These are configured for the full organization.
  • Neglected records monitoring. OOB neglected records reports may be beneficial. Additionally, calculated fields can be used to build fields to track Date of Last Contact so custom neglected rules can be developed.
  • Workflows can also be used to automatically create follow up tasks. Create fields on Activities to indicate if a follow up is needed. Then automatically create when that activity is closed.

Sunday, March 10, 2019

Dynamics Journey

As I talk to other people in the Dynamics 365 space, I am always surprised with the number of people who just "fell in" to their position (or sometimes were unwillingly pushed in). I am no exception. I thought it might be beneficial for others to know my story and see how I learned and grew into my career. Plus I only got one "Meh" vote on my twitter poll :)

I was always interested in technology as a young person and I spent a considerable amount of time on my computer playing games, writing newsletters, and creating menus for the restaurant I knew I would own one day (don’t ask how that is going). One of my favorite games to play was Roller Coaster Tycoon. One day while I was attempting to build the most thrilling and impressive coaster ever, I got an error saying there was not enough virtual memory. I was very confused as I did not understand how I could be out of something that didn't really exist (virtual). I did not know how to resolve the error and my roller coaster days were over just as soon as they started.

This one experience stuck with me even into my college years. I had initially decided to pursue graphic design and the advertising field. However, I quickly realized that I did not enjoy the subjective feedback I would receive on projects I put a lot of effort into. As it turned out, I preferred my math and computer science classes with their objective logic. It was at this cross-road that I decided to change directions and point my career path towards a Computer Science degree. I thought to myself, "Maybe now I will finally learn to fix my virtual memory problem?"

My search for answers ended in my senior year of Computer Science classes when we reached a chapter on virtual memory. Years of wondering, pondering, and searching were going to be over at long last when at the end of the class, I raised my hand and asked, "I played this game when I was a kid and it stopped working because of a Virtual Memory error. What does that mean?" My professor simply said, "Oh it's just a setting. You can change it." There I sat, processing this disappointing answer, when my whole career path came into question. However, it was too late to change my major so a Computer Science graduate I became.

While I was not sure where I wanted to go now that my virtual memory issues had been resolved, I knew for sure I did not want to write code. I was offered a Project Manager Apprentice position where they wanted to put me on their “CRM” team. I enthusiastically replied, “that sounds great!” and then proceeded to go home and google what the term "CRM" event meant.

During my time in this position, I was introduced to CRM 4.0 and how it was being utilized by a large organization. The tool had been rolled out to one department and I would work closely with the project manager / product owner as we rolled it out to other departments. This gave me a great exposure to the full project life cycle and I also learned about Customization in CRM. I was in charge of field, form and workflow changes. As well as many of the training sessions for these new departments. All of which introduced to me so much new knowledge and skills, even public speaking.

In order to learn as much as I could in this new role, I spent much of my time on the Microsoft CustomerSource. I poured hours into watching as many training videos as I had time for and absorbed as much information as I could.

When my organization upgraded from 4.0 to CRM 2011, it was necessary to and re-train all 1,500 users. Due to the significant changes, I found it was a great opportunity to get all the different departments back on the same page. In a relatively shorty amount of time, I went from not knowing anything about CRM to fully understanding the deep complexities of a large user base implementation, diverse user training, and the efforts of a massive system wide upgrade.

All this combined experience led me to being recruited to the Financial Services Firm where I currently work. I was excited as I started as the first dedicated CRM resource at the organization. The first order of business was to develop a change management strategy and document the customizations already in place. After successfully completing those goals, I eventually worked my way into a product owner role, with a small team reporting to me to handle all the support, training, and new functionality or our implementation. It all came full circle as I lead upgrades from 2011 to 2016 to Dynamics 365 (still all on-premise).

While in this role, I started going to the DC CRMUG chapter meetings. This was a great opportunity to learn and network. I started taking notes which I posted on the community. Before long, I was asked to help with the planning of the chapter and then suddenly, I was the chapter leader.

After becoming a chapter leader, I caught the community bug, and exploded on the scene with newfound energy for all things CRM. I started blogging and soon started speaking at local and national events. I have presented at Summit North America for 3 years, spoke at multiple Dynamics 365 Saturdays, and I am now coming up on my second year speaking at Focus. Not to mention presenting multiple webinars and panel sessions each year.


I tell you this story not to tell how great I am but to tell you how even someone who started their journey with a simple question of virtual memory (or even a Google search of “what is CRM?”) can become a top contributor in their field with hard work and the support of a great team like the Microsoft Dynamics 365 community. Beyond studying for certifications, I continued to learn so much through the user group events and people every week. The community continues to motivate me to learn more, to be further involved, and to inspire others to the do the same. I just fell in to the Microsoft Dynamics space and found a great, supportive community. that I am so thankful and blessed to be a part of!

Thank you to each of you for being a part of my journey so far. So I will ask you, what is your story?

Monday, February 18, 2019

Microsoft Dynamics 365 Upgrading from 8.2.2 to 8.2.3

As part of troubleshooting Server Side Sync we upgraded our on-premise Dynamics 365 environment from version 8.2.2 to 8.2.3 (8.2.3 Details). There were several issues that occurred from this upgrade that I wanted to share to prevent you from falling into the same traps (or at least knowing how to recover when they arise).

Related Articles: Server Side Sync troubleshooting steps, Upgrade from 8.1.8.22 Issues

X-Anchor Header Change
The main reason we upgraded to this version was to ensure all integrations with Exchange used the X-Anchor Header. After the upgrade, this feature needs to be enabled by updating the OrgDB setting UseXAnchorMailboxInExchangeRequestHeader to True.

Navigation
After the upgrade, one of our Navigation menus had additional options. To resolve, I simply edited the navigation as part of the form editor and included this in a solution. Then imported this solution as part of the Live upgrade.

SQL Error
Post-upgrade several users reported getting a SQL Error when attempting to access Dynamics 365. This error would pop up anytime a list of records attempted to load without a wait/timeout. Direct links to Accounts could open but related records could not be viewed.

Teams are heavily used in our environment for access and sharing. We found that each of these users was a member of over 20 teams. When several teams were removed, access returned as normal.

Reopened Tasks
CRM for Outlook is also used in my organization. We have seen cases in the past where tasks or calls were created in Dynamics 365 from Outlook even though they already existed (lots of duplicates!). This issue is no longer occurring, but some tasks and calls are being reopened.

So post upgrade, its important to monitor modified Activities especially where they were created in the past and already have an Actual End populated.

Sharing Advanced Find
The last issue we have experienced (or at least we have found so far!) was related to sharing Advanced Finds. Users were able to share views with individual users but received an error when attempting to share with a team. Downloading the log file revealed "missing prvReadUserApplicationMetadata privilege". The User Application Metadata option is available on the Security Role Customization tab. I granted User level Read Access and this resolved the issue.

Has anyone else upgraded to 8.2.3? Any other issues I should be aware of?

User Application Metadata Security Update