In order to use QuickBooks, Microsoft Outlook, and Google Calendar integrations in your self-hosted Clockify account, you'll need to create applications on respective accounts and integrate them with Clockify.

Microsoft Outlook calendar integration #

Integration requires registration of application with the Microsoft identity platform where new application is created with "Accounts in any organizational directory and personal Microsoft accounts" option selected.

Application needs to have following set of permissions:

  • Calendars.Read
  • Calendars.Read.Shared

After creating an application, Clockify needs to be provided back with following environment variables:

  • microsoft.redirectUrl - redirect URL as configured in the registered application. Ideally it should be set to /redirect-integration relative to the selfhosted Clockify web root, i.e. https://time.examplecompany.com/redirect-integration where https://time.examplecompany.com/login is your Clockify login page
  • microsoft.clientId - Application (client) ID
  • microsoft.clientSecret - generated client secret

During account registration if Accounts in this organizational directory only option was selected, microsoft.authorityUrl environment variable needs to be set to https://login.microsoftonline.com/{tenantId}/, where tenantId corresponds to value of Directory (tenant) ID.

Google Calendar integration #

Integration requires a project on Google Cloud Console with enabled Google Calendar API and generated credentials for OAuth flow as well as configured OAuth consent screen.

After creating an application, Clockify needs to be provided back with following environment variables:

  • google.credentials - content of the generated credentials JSON file
  • google.redirectUrl - redirect URL defined when creating OAuth 2.0 client credentials. Ideally it should be set to /redirect-integration relative to the selfhosted Clockify web root, i.e. https://time.examplecompany.com/redirect-integration where https://time.examplecompany.com/login is your Clockify login page

Quickbooks integration #

Quickbooks Online integration allows users to easily transform Clockify time entries into Quickbooks invoice items.

In order for self-hosted Clockify instance to integrate with Intuit's QuickBooks Online, you need to perform several steps

Setup Intuit developer account #

  1. Register developer account on Intuit
  2. Create an app by clicking the "Create an app" button and select QuickBooks Online and Payments.
  3. Fulfil all necessary steps so that under Production section, under Keys & OAuth, there are Client ID and Client Secret available.
  4. While under Keys & OAuth section scroll down to Redirect URIs and add Clockify app URI ending with appended with /redirect-integration. For example, if Clockify app URL is https://my-self-hosted-clockify.com, redirect URI would be https://my-self-hosted-clockify.com//redirect-integration (note: https is required for Production intuit setup).

Setup Clockify variables for Intuit QuickBooks integration

Clockify frontend, backend and quickbooks service need to be up and running.

Clockify needs to be provided back with environment variables to integrate with quickbooks, usually via docker-compose.yml configuration file. As mentioned, those variables values can be found in Intuit app Keys & OAuth section. Following is the list of needed variables:

  • quickbooks.clientId - Client ID from intuit Production app Keys & OAuth section
  • quickbooks.clientSecret - Client Secret from intuit Production app Keys & OAuth section
  • quickbooks.redirectUrl - Redirect URI

Usage and testing QuickBooks setup

  1. In Clockify app login into workspace where you are the owner or admin.
  2. On left sidebar go to Settings -> Integrations and expand Quickbooks Section.
  3. Click on the CONNECT TO QUICKBOOKS button. This will redirect you to Intuit login form where you will enter your Intuit Quickbooks Online credentials. You should get Success popup that Clockify is successfully connected to Quickbooks account. Note that multiple Quickbooks Accounts can be used for connecting Clockify workspace to QuickBooks Online product. Developer account is primarily used for integrating Clockify app with Quickbooks API.
  4. By clicking NEXT you will see sync results. Click on CREATE MISSING USERS AND CUSTOMERS to create all necessary clients, projects and users so time entries could be sent and mapped correctly to quickbooks company.
  5. Go to detailed report, select entries and send them to quickbooks.