Today's blog post was written by Keith Mescha, Principal Architect at Sonoma Partners.
Recently, I was working with a client to setup some test users in a sandbox for integration testing around assigning users to records in CRM. They were struggling with how to get this subset of users into the sandbox without having to go through the provisioning and 0365 process of creating the users in CRM.
My advice was to just use an import template for the user entity and import the users you want for testing. The users will get created in the org as "disabled" and not consume a CRM license. They would then be able to test the integration and ensure it was working as intended.
Not too long after providing this advice, my client replied that they could not download the template due to the error, “A duplicate column heading exists.” The error didn't say what was duplicated, and they couldn't even get to the downloaded template to see, so they were not sure what to do next.
I had a hunch, so I started to look at the customizations for the particular entity. To my surprise, after a bit of digging I noticed that we had three fields on the user entity in CRM all with the display name “Manager.”
I could only assume that this was the issue as it uses the display name for the column headers in the import template, so I changed two of them temporarily and republished the customizations.
With that change, they were able to download the template just fine. The error was pretty descriptive, but they could not figure out what the issue was. Of course, a customization best practice is to not have three fields with the same name. Additionally, after discussing with the customization team on this project, we quickly realized that we had created a custom field when there was a native field that did the same thing, so we removed our custom lookup back to user for the manager field.
If you have CRM customization or integration needs, reach out to us and let’s see how we can help.