Customers can't install integration because of permissions issue?


#1

I work at Help Scout and we just launched an integration with our system and HubSpot. We’re having some users reporting that they can’t install and are seeing this screen when trying to authorize:

We’ve spoken with them back and forth and have verified that they are all the admins of the account.

Our integration uses the API via OAuth2 to look up Contacts based on email addresses. For each Contact, we also load Email Events, Recent Engagements, Associated Deals, Workflow Enrollments, and List Memberships. We also create timeline events for a Contact.

Here are the scopes we’ve set for the app:

Based on the scopes requested, and the fact that the customers are the admins for their accounts, does anything stand out as to why they’d be seeing this message? Is there a minimum requirement for these scopes that we’re missing?


#2

Hi @stevenwadejr,

Is it possible some of the users attempting to authenticate do not have the marketing product? You are requesting access to Content, Workflows, and Forms which would only be available to HubSpot customers that have at least the Professional edition of marketing. If they have HubSpot Basic or are CRM only users their portal would not have the scopes required, therefore even Admins of those portals wouldn’t be able to grant another application access to those.

If this is not the case, please DM me some portal ID’s where this is happening so I can investigate further.

Thanks,
Zack


#3

Thanks @zwolfson! I understand better now about the types of account and scopes. I appreciate your help!


#4

@zwolfson one more quick question. In the integration settings where you can define scopes. Can I leave these unchecked and just let the application request scopes during the OAuth flow?


#5

@stevenwadejr Yes you can leave those unchecked. If they are checked, they will automatically be considered required scopes for your app. So you will definitely want to uncheck for those scopes that you will be requesting as optional.