Within the Teamwork.com Developer Portal, you can use your created apps in the app login flow or the log in with Teamwork.com component.

You must first register your app in the Teamwork.com Developer Portal before you can start building integrations.

App login flow


While accessing the Developer Portal, select your app to view it and navigate to the Credentials tab which contains all the required fields to use the App Login Flow.

Image Placeholder

Step 1

Initiate authentication by directing your user to:


  • `XXX` is the return URI for your app/service.
  • `YYY` is the client ID from the Developer Portal.

For the redirect URIs, you can pass URIs such as:

  • http://myservice.com/auth
  • customprotocolapp://whatever
  • The result from chrome.identity.getRedirectURL() for Chrome extensions.

You can also pass a state query parameter which will be returned back to you in the final step.

It is up to you how you open the authentication window. You can use a modal/new window, a built-in API that handles it for you, or open the link up in the browser.

Step 2

The user will authenticate either by email/password or one of the other login methods. This step does not require any work from the developer’s side.

You do not need to worry about making requests to multiple regions as the App Login Flow will handle everything.

Step 3

The user is returned back to the login success page, at which point we open/redirect/navigate to the provided `redirect_uri.`

  • For http(s) URLs, users will be automatically redirected, otherwise a message will tell the user that it is safe to close the window. You can also close the modal/pop-up from your app once you have received the code).
`code` query parameter is appended to the URI containing the temporary authentication token (which expires in 15 minutes), as well as the state parameter (if passed in Step 1).

Step 4

Now that you have received the code, you can close any authentication popup/modal/child window (if needed).

You must make a HTTP POST request to:


A content-type header of application/json needs to be sent.

The request payload should be in JSON format and contain:

  • code – Retrieved using the previous step above *required field*
  • client_id – This will be generated using the Developer Portal where you register your app *required field*
  • redirect_uri – This will be generated using the Developer Portal where you register your app *required field*
  • client_secret – This will be generated using the Developer Portal where you register your app *required field*

You should store the `access_token` for all future requests, the basic installation data will provide you with the required URL under `apiEndPoint`.

Step 5

You can now use the access token for authentication with our apps. The token should be passed under the Authorization header as `Bearer XXX` where `XXX` is the token.


You can read more and find examples using the app login flow via our Developer Portal documentation.



Log in with Teamwork.com component


You can use our public component to allow users to log in to your app or service via their Teamwork.com account.

This works hand in hand with our app login flow. As a Teamwork.com 3rd party developer, you can avail of this feature. In order to use this:


After you have created an app and are ready to build the sign-in process, you can navigate to our GitHub repository.  There are two approaches:

    • Using it as package from NPM
    • Loading it from our CDN

Whichever method you go with, you need to add the Teamwork.com button to your template or view by adding:

<teamwork-login-button
clientID="your_client_id"
state="optional_state_parameter"
color="slate"
size="large"
borders="default"/>

Using this button component will kick off the login process as it redirects the user to the launchpad login page. Continue the login process by following our app login flow.

You can read more about the associated parameters and find examples using the login component via our Developer Portal documentation.


For more information, see: Teamwork.com Developer Portal