Integrate Google Workspace calendars

Zavvy can create calendar events directly in your employees’ calendars so that they don’t miss any important events and have time reserved correctly.

Zavvy achieves this by integrating with companies’ Google workspace account using Service accounts.

A service account is a special type of Google account intended to represent a non-human user that needs to authenticate and be authorized to access data in Google APIs. Only Google Calendar is supported.

In this document, you'll learn how to set up your Service account and use that to give access to Zavvy.

Prerequisites

  1. Admin rights for Google Workspace account to be able to create Service accounts in Google cloud platform.
  2. Permissions to setup Domain-wide delegation in Google Workspace for a Service account. At the time of this writing, this will require Super Administrator account. See: https://support.google.com/a/answer/162106.

Step 1: Google Workspace Service Accounts Set Up in Google Cloud platform

Step 1.1 Create a service account

🎥 Video summary of the steps

  1. Open Service Accounts in the Google Cloud Platform.
  2. Select a project if you already have one or create a new project.
  3. <aside>❗ We advise to use a separate project with a name that clearly indicate to other admins that this project is for Zavvy. Suggested name: Zavvy-Calendar-integration.
  4. </aside>
  5. Go to IAM and Admin > Service Accounts > Create Service Account and fill out the form for Service account name, Service account ID ,and Service account description.
  6. Click Create and Continue.
  7. Grant This Service Account Access to Project is optional and can be skipped. The project defaults to owner access.
  8. Grant Users Access to This Service Account is optional and can be skipped.
  9. Click on the created Service account and navigate to Keys and select Add key to create a new key. Select JSON as the format and create a key. This will download a JSON file.
  10. Keep the JSON file secure, we will need this in the later steps.
  11. Make a note of the client_id from the JSON file.

Step 1.2: Enable Google Calendar API

🎥 Video summary of the steps

  1. Open Google Cloud platform’s console and select the project that you created from Step 1.1.
  2. Go to APIs and services > Enable APIs and services and select “+ ENABLE APIs AND SERVICES” button from the top of the page.
  3. On the API library page, search and open “Google Calendar API”. Once you are on the page, select “Enable” to enable the API.

Step 2: Delegate Domain Wide Authority from Google Workspace  Admin

❗ This steps requires Super admin permissions on Google Workspace. If you do not have permissions, please forward the steps to someone with these permissions.
  1. Go to Google Workspace Admin console.
  2. Go to Security > API Controls.
  3. Under Domain wide delegation , click Manage Domain Wide Delegation.
  4. Click Add New
  5. Enter the Client ID that you have from the previous steps from Google Cloud provider.
  6. In the OAuth scopes field, enter the following text:
  7. <https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/userinfo.profile,https://www.googleapis.com/auth/calendar,https://www.googleapis.com/auth/admin.directory.user.readonly>
  8. Click Authorise.

Step 3: Add credentials on Zavvy

1. Navigate to integrations page on Zavvy.

2. Select Google Workspace Calendar integration

3. Add the JSON contents downloaded from the Step 1.  The JSON contents will look something like this:

4. Save

🎉 Congratulations! You have now successfully integrated Google Workspace Calendar with Zavvy. You will now be able to create Google calendar events directly from Zavvy. To test, you can create a sample Event on Zavvy with a schedule and activate it. In a few minutes, the Event will be created in your Google calendar.