App Verification

When your app is ready to be published, it's time to get it verified by For this step, it's essential that you provide us with a way to test your app and follow our verification checklist.

What do we look for when testing your app?

  • App sanity check

  • OAuth 2.0 must be implemented

  • Consent screen is working as expected

  • API best practices

  • There is no impact to the data on initial sign up

  • branding is in-line with our guidelines

  • User permissions testing

  • The app should enhance the experience

App sanity checklist

We check the app details entered in the Developer Portal.

  • App details: Name and description must be clear and honest. Icon must be clear and visible.

  • Product Scopes: At least one product scope must be listed, but no more than is necessary. For example, if your app creates tasks, no need to have Teamwork CRM as a product scope. It's safer for our users to use only the scope(s) you need. You can change this later and it's no trouble, the consent screen will show for any new scopes.

  • RedirectURIs: Redirect URI must be entered, but no more than necessary, https only.

OAuth 2.0 must be implemented

It's important that you use the credentials from the Developer Portal for authentication, we require all apps to use our App Login Flow. In order to successfully implement this, you need to pass in the client_id, client_secret along with the redirect_uri.

Consent screen is visible

It's important that when testing your app, you consent the app to the sharing of data. Consent screens look like this:

A new user signing into a 3rd party app will always get a consent screen the first time they log in. Once they consent to the app, the consent screen for that user won't bother them again unless the app scopes are changed. In that case, the user will need to give consent for the new scope. Read more about consent screens in our full blog post here.

API best practices

The most common issues we find with 3rd party apps when it comes to using our API is:

  • API Implementation for paging requests – Lots of 3rd party apps don't include paging on their API requests the
    first time around. It's easy to implement, and you can find our paging under each of our API hubs:, Teamwork CRM, Teamwork Desk, Teamwork Spaces.

  • API Implementation for rate limiting – HTTP 429 Error code is returned. The status text returned will be, "You have exceeded your rate limit". Please try again in a little while. After 60 seconds, we'll let you back in! If you are doing a large import or similar, rate limiting will need to be considered.

There is no impact to the data on initial sign up

Your app should enhance the user's experience. When they log in, they should not be met with drastic changes to their account.

Teamwork branding is in-line with our guidelines

Your app should follow all branding guidelines. Correct use of our brand can be found here.

User permissions testing

Our privacy features are used by many of our users and ensuring our 3rd party apps respect that privacy is key. Depending on the app, we will check that permissions based tests are carried out. Read more about these scenarios here.

The app should enhance the experience

The app should work alongside to enhance the user experience in both products. The app should be an integration and any actions should involve some interaction with Teamwork.

Ticked all those boxes? What’s next?

Once you are ready to publish your app, reach out to to kick off the verification process. We will check the details on this checklist, and send the app to our QA team for testing. Please allow up to 5 working days to get a response from our team.

‘Published’ App Status

Once the QA team approve your app, we will set it to published! The status of the app will change in The Developer Portal to ‘Published’:

Once your app is approved and published, you can also get your app listed in our directory!

Get your app listed…


If you have any feedback or suggestions, feel free to contact us at