Sea of Knowledge

Salesforce Integration User Best Practices

So you’ve decided to integrate your Salesforce instance with a few other systems in your tech stack, such as HubSpot, Intercom, or maybe Zendesk (though there are many others available on the AppExchange). You’re excited about all the ways these integrations are going to help your business going forward!

So how do you configure these integrations with Salesforce in the best way possible for your business? You’ll need a Salesforce Integration User to connect your systems.

But, who should that be?

First, you must answer a few questions about how these integrations will be managed and what they’ll do to drive your business forward. Here are a few to get you started. First, what data is this system sending to or receiving from Salesforce?

  1. What does this data affect? Meaning, is this essential data that could trigger a mass email send? Or, is this data used for reporting or information that’s a ‘nice to have’?
  2. Who needs access to this integration? For example, are you the primary User who needs to configure settings for this integration, or is configuration a shared responsibility? 

What is a Salesforce Integration User?

Every member of your team that is in Salesforce has a User Profile. Your User Profile gives you a login and a set of Permissions (a fancy word for capabilities) in the platform.

An Integration User is the login information that connects Salesforce to the system you’re integrating with and is the channel used to send data back and forth. So, this is the User that shows when something happens in the integrated system. 

For example, if you’ve integrated HubSpot and Salesforce, an email sent by HubSpot that integrates as an activity in Salesforce would show the HubSpot Integration User as the owner of that activity. The same logic applies to data updated by the Integration User. For example, if HubSpot updates the email address on a lead, the lead field history tracking will show the Integration User as the person that changed the email address.

Many companies use their system administrator as the Integration User. However, as you can see from the examples above, that can get a bit confusing as it’s impossible to differentiate what the integration has updated and what the system administrator has updated as they appear to Salesforce as the same User. That’s why it’s best to use a Dedicated Integration User for each integration you add to Salesforce.

What is a Dedicated Salesforce Integration User?

A Dedicated Integration User is a User Profile set up with its own Profile, Role, and Permissions created for third-party integrations. When setting up integrations, it’s not recommended to tie them to an actual User within your company, even if they are the ones managing the integration. 

Why do I need a Dedicated Integration User for Salesforce integrations?

Well, a few problems come with tying integrations to an actual User. 

Challenges when integrating with Salesforce without a Dedicated Integration User

    1. Password resets. If the User ever is required to change their password (as most Users should be frequently required to do), that will disallow the integration to function until this is manually reset, a laborious and unnecessary task for Admins. 
    2. Turnover. If you ever needed to deactivate that User, you now have the problem of switching over which User is tied to the integrations. Whatever records generated by the integration would need their owner switched. Imagine then having multiple integrations, either with each their own User or one User with multiple integrations tied to it, and these problems are significantly worse.  
    3. User access management. Connecting your integrations with an existing User Profile can create real User access management issues. For example, you'll need to use a Dedicated Integration User if you need to limit access to specific fields for the integration but not the Integration User. In addition, you cannot assign Permissions to the integration specifically without assigning them to the User connecting Salesforce with the integrated system.
    4. Field history tracking. Field tracking is an invaluable tool for troubleshooting problems and errors in your organization. However, if you aren’t using a Dedicated Integration User, it can be challenging to determine which records were changed or created by the User or through the integration. 

Now that we’ve touched on some cons of not using a Dedicated Integration User let’s focus on the benefits of having a dedicated User for each of your integrations. 

Benefits of having a Dedicated Salesforce Integration User

  • Reporting. When keeping track of field updates made by systems integrated with Salesforce, building a report is usually the best and most straightforward method if you have a Dedicated Integration User. You can easily track what has been created or updated by the User. 
  • Security. A Dedicated Integration User helps keep the integrations secure, removing the possibility of human errors, which comes with tying integrations to an actual User. 

One of the primary benefits of the Dedicated Integration User is that your reporting will be much cleaner. You can easily see which records were created by what integration, just by building a simple report. You can (and should) also set the User’s password to never expire, which helps ensure you have a solid integration. 

Integration User Best Practices

Now that you’ve evaluated the impact of NOT using a Dedicated Integration User and learn more about the benefits, it’s time to start integrating. Here are our top tips for configuring and managing a Salesforce Integration User.

  1. Set Integration User Permissions. When building your Integration User, you would want to give them the minimum Permissions needed to integrate, which could differ between which third-party integrations you are using. This is another reason having individual Users per integration is so helpful.
    • Pro Tip - once you’ve configured your Integration User, Navigate to “Users” and use the Login as User feature to see what your Integration User has access to. If you can see more information than you’d like this integration to see, adjust the Permissions to limit visibility further.
  2. Remove password expiration.   Removing password expiration from your Integration User is something you can do to ensure the integration runs smoothly. You can do this through a custom Permission set that disables password expiration.
  3. Store login information in an encrypted password management tool. Password management tools are a great way to hold onto passwords, especially for accounts you don’t regularly log in to. While this might seem unnecessary if you have set your Integration User never to have a password expire, a bit of redundancy never hurts when it comes to security. 
  4. Connect your integration! 

How to Get Started with the HubSpot Salesforce Integration

Don't go it alone. Check out the HubSpot Salesforce Integration course to learn everything from RevOps strategy with HubSpot and Salesforce to a point-and-click walkthrough of installation and management for the HubSpot Salesforce integration. 

Explore the Curriculum