Here’s what App Partners need to get their app certified in HubSpot’s App Marketplace.
scope
parameter and the optional_scope
parameter).
Your app currently requires four scopes:contacts
,timeline
,forms
, andcontent
. According to our logs, however, it only made requests to the CRM Contacts and Timeline Events APIs in the last 30 days. Since theforms
andcontent
scopes are not required for either of these functions, please remove them as required from the app’s settings to minimize the permissions users must accept.
Your app’s API success rate falls below the 95% threshold required for certification. Our logs show a 83% success rate in the last 30 days. The vast majority of these requests returned 429
burst rate limit errors. To reduce this error rate, we recommend throttling requests to 100 requests per 10 seconds for each account.
Your app is generating errors around trying to update contacts using an undefined
email address, which will not work with this endpoint. Your app should skip these requests if a record does not have an email address.
Your app is making requests with expired OAuth tokens and receiving401
errors before refreshing the token. To minimize these errors, we recommend that your app keep track of when tokens expire or refresh tokens before making requests. If you start seeing401
errors for 100% of requests and are unable to refresh the access token, consider the app uninstalled and stop making requests for the account until a user re-authenticates your app.
Your app is generating403
errors from trying to use the Contact Lists API with Marketing Hub Free accounts, which do not have access to contact lists. If your app repeatedly gets403
errors for missing the proper scopes, it should stop making calls to retrieve lists from that account.
Your app’s webhook subscriptions frequently fail with500
and503
errors. Make sure that your server can handle the volume of requests (currently limited to 150 per second) so that customer data is not lost.
Your app is pulling many contacts one at a time instead of pulling them in batches. We recommend using batch endpoints instead.
Your app currently requires users to manually configure workflow webhook actions to send text messages. Consider creating custom workflow actions via the app which are flexible enough to accommodate many use cases.
Your App Marketplace listing includes few specific details about your app’s functionality. Please enhance the listing with screenshots which depict app functionality and include more thorough descriptions of common use cases and in-app behavior.
HubSpot customers are used to a “try before you buy” experience when purchasing our products and services. For this reason, we recommend your app provide a free trial or freemium sign-up experience. Some app partners who do not have pricing pages or free trials have created “HubSpot plans,” offering mutual customers transparent pricing, touchless sign-up, and other benefits.
The setup guide for your app includes a screenshot depicting the scopes your app requires for installation. This screenshot does not show the business-intelligence
scope, which is selected in your app’s settings. Please update the screenshot so that it reflects the current required scopes.
Your app has not maintained at least 60 active installs over the trailing six month period. As such, its certified status will be removed. You may re-apply for certification in six months.
Are there any costs associated with app certification?
Will I be notified when my app will be eligible again for certification if it was previously rejected?
How should I promote my certified app to my customers?
I enjoy experimenting with the newest beta APIs. Is app certification right for me?
I'd like my app to be featured on the App Marketplace. Is this what app certification is for?
Why and how will my public assets be assessed for security best practices?
What happens if my app loses its certification status?