Requirement for Public Apps on the FreshBooks AppStore
FreshBooks wants to ensure our customers are provided apps with the highest levels of functionality, all while ensuring seamless user experience and adherence to data privacy.
When building your application, you have access to FreshBooks’ App Review guide. We provide this guide so you have transparency, and are aware of the requirements before you submit your app for review.
The result of this review will help us determine the follow
- if your app is ready to be listed on the AppStore
- If FreshBooks requires more information about the features of your App
- Installation & Setup
We want to make installation as painless and easy for our customers as possible. We’ve found that this helps to increase the rate by which customers install apps in our AppStore. Here are some considerations/suggestions that we have when building apps.- OAuth
- FreshBooks uses OAuth2.0 for authentication.
- When a business user clicks on ‘get app-name’ from your app listing they should be immediately routed to the OAuth dialog for authentication before any other steps occur.
Suggestion: The greatest install rates typically have the least steps required to install. We strongly suggest that the “install link” should jump directly to the OAuth Page
- Scopes
- At FreshBooks, we use scopes to ensure your application only has access to the resources allowed by a FreshBooks user. The scopes that you request are shown to the user on the OAuth authorization page, where the user can clearly see what permissions they can approve
- OAuth
- Your app should request only the permissions that are necessary for it to function and as described in your listing
- Users must be redirected to your app’s user interface (UI) after they allow access on the OAuth authorization page
Suggestion: Request only the Scopes that you need. Data privacy and security is important to us, and our customers. Many of our customers will not install apps that request access to data that they don’t need to enable their functionality.
- Users must be redirected to your app’s user interface (UI) after they allow access on the OAuth authorization page
- User Experience and User Interface
- Your app follows the FreshBooks Brand guidelines
- Your app follows the FreshBooks Brand guidelines
- Prohibited Apps
- Apps with payment gateway capabilities or apps modify an existing payment gateway – Our integrated payment gateways are designed to let customers bill their clients. All customers who would like to accept online payments must use our default gateway functionality and developers who offer alternate payment gateway services are not eligible to be listed on the FreshBooks AppStore.
- Apps that make no use of our APIs. Apps submitting to the AppStore must make efficient use of our APIs in order to function. This is to make the business experience better by using direct business data and mitigate user error.
- Multiple apps with overlapping functionality created by the same partner – If you want to list more than one app on the AppStore, then each app must be clearly different from other apps that you’ve already listed. In some cases, you can combine multiple apps into one.
- Apps that promote hate speech and violates any other human rights
- Data & User Privacy
Depending on the purpose of your app, it might need to manage and store user data. Make sure that your app meets the current best practices and in some cases, the legal requirements that protect customer data and user privacy. Your app will be evaluated against our existing FreshBooks Terms of Service, and Privacy Policy. - Post AppStore Listing
Once your app is listed on the AppStore, we expect you to provide a great customer journey to your users- Support
- FreshBooks prides itself on great customer support and we expect the same of you. You must have an email address or another channel that users can use to contact you if they need help with setting up or using your app.
- You need to provide your user with support articles related to your app.
- You need to provide us with a direct point of contact for FreshBooks so that FreshBooks can reach out to you in case there is an urgent need.
- API rate limits
- Your app should handle rate limits gracefully. We reserve the right to disable an app that is hitting us aggressively.
- In the event that an api call returns an http 429 error (HTTP_RATE_LIMITED), you must hold off making api calls for a moment. Consider using popular rate limit libraries when possible.
- Bearer and Refresh Tokens
- Your app should handle expired bearer tokens gracefully by using the refresh token
- Your app should handle expired bearer tokens gracefully by using the refresh token
- Support
- Understanding the different App types
- Apps
Create an identity on behalf of the user.
Improve your FreshBooks workflow with only 2 clicks. FreshApps are easy to install and are built with the FreshBooks experience in mind. - Automations
In addition to FreshApps, connect FreshBooks to your favourite tools through no-code automation platforms. For example, use Zapier to sync your FreshBooks data to Google Sheets. Install an automation platform once, then unlock 100s of use-cases.
- Apps
- App Review Status
- Development
- Pending
- In Review
- Approved
- Suspended
- Rejected