Tip #411: The New Dynamics CRM LinkedIn Integration

LinkedIn recently released a new Dynamics CRM integration for LinkedIn Sales Navigator. This solution allows users to send InMail directly from Dynamics CRM and access company and profile data from CRM accounts, leads, and contacts.

What you need to know

The LinkedIn Sales Navigator integration for Dynamics CRM requires users to have a Sales Navigator Team membership. This is $1,200/user per year. If your salespeople are Sales Navigator users, you may want to check out the solution. If not all CRM users are Sales Navigator users, I recommend creating a form for Sales Navigator users that contains the LinkedIn tab and hiding or removing it from the non Sales Navigator’s form.

MVP Neil Benson wrote a post on LinkedIn recently about some of the changes to LinkedIn’s free service.

LinkedIn has made an important change to their service. Your searches in LinkedIn are now limited and when you’ve hit the monthly limit, you will no longer be able to search for 2nd or 3rd degree contacts. LinkedIn isn’t specifying what the monthly “commercial use” limit is. I hit 70% of the limit yesterday (15th of the month) and hit the hard limit today (16th of the month) with a couple more searches so I’m guessing the limit is one or two searches per day.

Read the rest of Neil’s post here: https://www.linkedin.com/pulse/linkedin-cripples-its-free-service-neil-benson

Tip #410: How to create non-interactive user while saving foot from injury

Non-interactive users (available in CRM Online only) are defined as the users that “… can access the system but only through the Web service”. That makes them perfect for use as integration accounts. That and a small fact that they do not consume a CRM license (in quantities five or less).

To create non-interactive user in CRM Online:

  1. Create new integration security role by copying one of the existing system roles and remove all privileges leaving only the bare minimum.
  2. Create new user in O365 administration portal
  3. Switch to CRM, wait if you are unlucky for this user to be created in CRM and then assign the integration role to that user
  4. Change user’s access mode to Non-interactive
  5. Switch to O365 and remove CRM license from that user

The typical administrative Spießrutenlaufen-worthy action is assigning of the system administrator role to the non-interactive accounts which begs the question “Why”? If your integration is only limited to displaying and updating contact data (say, for a self-service portal) then grant exactly that, no less, no more.

If you (as a developer) receive a security error, carefully look what privilege is required and add it to the integration role, no less, no more.

If you are not receiving security errors during development, it means your security role is too broad.

Make this iterative process part of your development lifecycle and in the end (i.e. prior to a release) you will have a very sharp and finely tuned security role, guaranteed.

Tip #409: Make Tip #380 work for option sets

In tip 380, Adam Vero explained how to make a chart sorted by the aggregate sum or count. This is a great tip, except it didn’t work for one of my clients when the chart was grouped by an option set.

Perplexed, I tweeted The CRM Chart Guy. He acknowledged that this was an issue, but it is fixed in the latest update rollups for CRM 2013 and 2015. In his words, prior to that “option sets were a nightmare in charts.”

Bonus tip: Everybody should follow @crmchartguy

Bonus bonus tip: We are back with episode 2 of the CRM Audio podcast. This week we clarify what the USD really is and we unveil a very exciting new feature called George Doubinski’s Developers Minute.

 

Tip #408: “Value cannot be null” when configuring Outlook Client

Recently we found that users in a specific CRM environment could not configure CRM for Outlook. The error message returned by the configuration wizard was “Value cannot be null. Parameter name: String.”

Client trace showed the following:
>Failed to refresh entry. Exception Microsoft.Crm.Application.SMWrappers.InvalidOrganizationIdException: Invalid OrganizationId "e79c824a-fee4-40cf-9a2f-fb79112be8b6".
   at Microsoft.Crm.Application.SMWrappers.ClientOrganizationContextFactory
.Get(Guid organizationId)
   at Microsoft.Crm.Application.SMWrappers.ClientOrganizationContextFactory
.Microsoft.Crm.IOrganizationContextFactory.GetOrganizationContext(Guid organizationId)

When you have an issue like this, it is most likely related to your customization. Two prime suspects are sitemap and plugins.

Sitemap

You might get an error like this if your sitemap has any duplicate subareas.. Check your sitemap areas–if you see any that have (1) after the title, they are duplicate links, and should be removed. To troubleshoot, remove all duplicate links and retry configuration.

Plugins

Another customization item that may cause this issue is a plugin, especially a plugin that affects metadata that is downloaded when the client is configured, such as views. For example, I experienced this issue after adding a plugin that hid system views based on security role.

If you enhance your customization and add new plugins, this error may not appear for a while after, especially if you aren’t adding any new users or configuring any new outlook client deployments for a while after you roll out your customizations.

To troubleshoot, make a copy of your organization. Starting with the most recently deployed plugin, remove each plugin, testing configuring the Outlook client after each plugin is unregistered. Through the process of elimination, identify which plugin is causing the issue.

Tip #407: Some things are irreversible

Dynamics CRM TipperTruck goes wherever it pleased.

For example, US Patent Office.

Andrhe “I’ve got 88 in my handle” Margono could not make up his mind, kept adding then deleting attributes and got himself into a pickle:

Recently I was migrating some data from my Dev environment to Test environment and I noticed that there are 2 fields that is not deployed to my Test environment: transactioncurrencyid and exchangerate. I added a currency field in my Dev environment but I removed it before any deployment made to Test environment. Now my field schema on these environments are different, is it by design or can be considered as a bug?

The answer came from one of the authors of the US patent 8805882 B2:

This is by design – after the first currency field is added to a custom entity we will generate these fields for you, but if you delete the currency field we won’t delete these two fields to avoid churn. If you subsequently add another currency field we’ll detect the presence of the two other fields and will reuse them.

As you can see, adding then removing an element from a CRM organization does not always leave the system in a well-known state and presence of the additional attributes left behind may break some of the integration scenarios.

Tip #406: The Mysteries of Sync

I received an email recently from a friend who is a brilliant genius, but even he was confounded by the apparently mysterious behavior of contact synchronization in CRM for Outlook. The following were the two mysteries, and their solutions.

1. Deleting contacts from Outlook appears to prevent them from being synchronized again.

This is by design behavior. When you delete a contact, the local sync table is updated to indicate the contact has been removed. to resolve this issue, reconfigure the Outlook client. See https://support.microsoft.com/en-us/kb/2538795 for more information.

2. Contacts remain in Outlook even after modifying the synchronization filters.

This is what I call “sync surprise.” Basically if you own or created the contact, it is not removed when I remove the client or change your sync settings. The thinking is that if you had a personal contact you tracked and then removed, it shouldn’t delete it from your outlook. This is the danger of the default “my contacts” filter if somebody owns many contacts. That’s why I always recommend people use Tanguy’s XRM Toolbox and change the default filter before setting up synchronization

Tip #405: Convert Your SQL To FetchXML The Easy Way (or Cai)

Kingswaysoft has recently updated their SQL2Fetch Convertor

Screenshot 2015-06-03 12.15.19

Let’s say you are moving from CRM On premises to CRM Online and you want to update your reports to work with CRM Online, you can take the SQL query from your report, paste it in the SQL box and click the “convert” button to generate FetchXML.

This tool won’t be able to handle the most complex SQL, but it is a big timesaver for normal SQL queries. I also find it very useful when writing a query for CRM Online–I can write the query in T-SQL and convert it to FetchXML.

Daniel Cai has requested feedback on this tool In the Dynamics CRM Facebook group. See the post here.

 

Tip #404: Automatically Republish Duplication Rule

Way back in tip 193 we let you know that your duplicate detection rules will get automatically unpublished when you update your customization or import solutions. What we didn’t tell you is that there is a Codeplex solution that you can use to automate this process.

The Duplicate Detection Rule Republisher creates a scheduled task that will automatically republish your duplicate detection rules once a day.

 

Tip #403: Introducing the CRM Audio Podcast

Can’t get enough of the CRM Tipsters? Good news! You can now subscribe to our podcast.

CRM Audio is a podcast about Dynamics CRM hosted by Joel Lindstrom, George Doubinski, and Shawn Tabor. A roundtable discussion of all things CRM, including what’s new, best practices, and answers to your CRM questions. We will feature (hopefully) interesting guests.

The podcast is an extension of our regular truckstop feature on CRM Tip of the Day. We feel it is insightful to get the perspective of multiple CRM experts discussing a topic. Plus, you can find out why George finds proving Joel wrong to be so exhilarating.

Joining George Doubinski and Joel Lindstrom is Shawn “CRM Hobbit” Tabor.

Sounds great! How do I get it?

If you have any feedback or questions you would like us to answer on the podcast, send us an email at voice@crm.audio

Tip #402: My form script changes aren’t working

“I made an update to a form script in Dynamics CRM, but I don’t think it worked–it still acts the way it used to before I made the change. What’s happening?”

What most likely is happening is that your browser is caching the old form script. When you update CRM customization, if you change a form script without updating something on the form (like a field, tab, or section), after publishing, your browser may not recognize that anything has changed with the form, and you will not see the new script actions.

To make the form refresh, you can clear your browser cache or hit ctrl+F5. Alternatively, if you want to force it to refresh for all users, change something on the form, such as rearranging two of the fields.