If you want to build a ship, don’t drum up people to collect wood and don’t assign them tasks and work, but rather teach them to long for the endless immensity of the sea.
Antoine de Saint-Exupery
Moving all the data, users and customizations from one CRM 2016 online instance to another, one thing you need to consider is users, creating the users and record ownership.
In Microsoft Dynamics CRM you cannot delete user records, the mantra for Microsoft Dynamics CRM is You don’t delete records, you disable them
Some developers can get annoyed about not being able to delete users and go to drastic measures of deleting the users in the SQL database (if it’s on premise). DONT DO THIS!
When users are added to Microsoft Dynamics CRM, background tasks are kicked off and the user is added to the business unit team and a bunch of other stuff. If you manually delete the user then there will be links to the users guid in the system but with no user to link to.
This is why you use the CRM SDK because it will add, delete and update records in the correct way which triggers necessary background tasks.
This is an unsupported customisation, when you sign up to become a CRM developer you should be made to sign the oath – I can view the Microsoft Dynamics CRM database but I am never allowed to change it’s values directly.
If tempted to use unsupported customisations read this, Why you shouldn’t put unsupported customizations in Microsoft Dynamics CRM
The quick answer is Microsoft won’t support your CRM if something goes wrong, even if the fault is a bug in Microsoft Dynamics CRM. Putting unsupported customisations is basically invalidating your warranty for support.
What users?
You can’t delete user records but this doesn’t mean you need to take across the disabled users across to your different CRM. Looking at the user records I found many of the disabled users had left the company.
You can easily find these disabled users by using the view Disabled Users. If you are not going to take these users to the new tenant then you need to think about assigning the records because if you copy the records and the user guid isn’t there, you might get an error.
I wanted to take the enabled users but something to remember
Disabled users can still own records
Usually when you export and import records, if the process can’t find the user then it defaults to the user which is importing the records. Is this correct or should another user own those records.
It was important I assigned the records to the correct owner in the old CRM because in the new CRM online I wouldn’t be able to tell what records were owned by different disabled users, all the records would be assigned to the importing user.
User records
When I started thinking about what records a user might have
- Account
- contacts
- activities
- emails
- leads
- etc, etc
You might think how will you find all the records a user owns, thankfully Microsoft have a very useful Reassign records button on the user record
Reassign All
get yourself over to users – Settings –> Security –> Users
On the User record you will see a Reassign Records button
When you press the button it must reassign it will reassign the records and pops up this message
When all the records are assigned the message disappears.
One thing to note, there is no way to know which users you have assigned records so you have to monitor this yourself.
For some reason when I reassigned some users and then clicked on another user, I got an error when trying to reassign those records.
To resolve the problem I had to refresh my browser. I’m not sure the cause of the error, my guess would be perhaps the plugin (or what ever does the reassigning) was already executing or perhaps the table was locked.
Workflow users
You must make sure users who own workflows are not disabled or have the license removed because this will stop the workflow from running.
Workflow’s suddenly not working is not a problem when moving from one CRM instance to another because the workflows get assigned to the user importing the solution file.
This is a problem in existing CRM instances when a user leaves the company, when you disable the users and/or remove their CRM licence any workflows they have running will stop.
Creating the users
With office 365 and Microsoft Dynamics CRM online adding users is a four step process.
- Add the users into Office 365
- Assign the users CRM licences
- Assign the users to the correct business units
- Assign the users security roles
Office 365 does allow you to bulk import and allows you to download a template.
Once you have created the users then you can assign the records and the records can keep their original owners
Found that this feature isn’t working as well in Dynamics 365 v9.x. Has anyone else run into this?
LikeLike