If you’re looking for excitement, don’t read this post.  Your users will certainly give you plenty of excitement when your integration stops working.

Nearly every CRM implementation has some sort of integration with another system.  Yet very rarely do I see these integrations following best practices.  This is usually discovered when a user account is used for integration and the password expires, or the account is disabled.  This can easily be avoided following the below steps.

  1. Create your Integration User in a user directory(Active Directory or O365)
  2. Make sure to create a random password (Here’s a good site) and assign it to the newly created user
  3. Set the Integration User’s password to NEVER expire
    1. O365 you’ll have to use powershell: Set-MsolUser -UserPrincipalName <user ID> -PasswordNeverExpires $true
    2. AD: check the box
  4. Now go to Dynamics CRM
  5. Assign the necessary role(s) to the Integration User so that user can perform the integration.  System Administrator will be fine.
  6. Now on the User form in Dynamics CRM scroll to the “Client Access License (CAL) Information” section and change the Access Mode to “Non-Interactive” and Save.

There are some benefits and limitations to Non-Interactive users.

Benefits:

  • They will not be able to access CRM via the GUI
  • No license will be consumed for this user
  • Integration will never stop working because of an expired password

Limitations:

  • CRM 2013 only allows a maximum 5 non interactive users