1. Knowledge Base
  2. Getting started!
  3. Step 1: Booking System Preparation

Booking System Preparation - Google Workspace

This article will cover the process of preparing Google Workspace for HCP integration and during the process you will configure the following:

  1. Create New Project
    • Configure Project Authorization
    • Global Calendar Sharing 
  2. Create &, Configure Resource Calendars
Create New Project
  1. The first step in the process is to create a new project for the integration between HCP and Google Workspace. To do so navigate to Google Cloud Platform and log in using your Google Domain Admin

  2. Click Create Project google_1.png

  3. Enter a name for your project and click Create google_2.png

  4. A notification should appear in the notification area when the project is created google_3.png

  5. Click on the notification to reach the API Manager or go to Menu Icon >, API &, Services >, Dashboard google_7.png

  6. Click on Enable APIs and Services google_8.png

  7. The API Library will appear, search for “Google Calendar API”, Select Google Calendar API and click Enablegoogle_9.png google_10.png

  8. Repeat the previous step adding and enabling “Gmail API” google_11.png

  9. Enable the last needed API  “Admin SDK API” for the project google_12.png

  10. Now you need to create a service account. Click on the Menu Icon, select IAM &, Admin, then select Service Accounts google_13.png

  11. Click Create Service Account. Fill in the Name, ID and the Description and click Create And Continue google_14.pnggoogle_15.png

  12. Assign the service account the Role “Service Account Token Creator” from the drop-down menu and click Continue pro12.png
  13. Click on Done. The Service account should be ready in the list of service accounts. Press “Manage Details” to collect the needed info and to create a P12 keygoogle_16.png
  14. Create a P12 key by clicking on keys, then add key och choose P12. Save this key as it will be used for later.google_17.png

  15. Take a note of the “Client ID” and the service account email address as they will be needed in later steps.
    google_18.png
  16. Now you need to Grant the service account API Access permissions, to do so, navigate to https://admin.google.com and click on Security, select Access and data control and then select API controlsgoogle4.png

  17. Select Manage Domain Wide Delegationgoogle_19.png

  18. Under the API Clients ID, Add a new client and use your service account Client ID. Copy and paste the following strings to OAuth scopes then press Authorize
    https://www.googleapis.com/auth/admin.directory.user.readonly, https://www.googleapis.com/auth/calendar, https://www.googleapis.com/auth/gmail.send, https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly
    google_20.png

The "https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly" API is the only optional API. All other APIs in the OAuth string above are required for setting up Google with Humly. The optional API provides additional information about the resource, such as its actual name instead of the automatically generated name.

Create &, Configure Resource Calendars

  1. To configure the global resource sharing and create a new resource, navigate to https://admin.google.com . Select Apps and then Calendar google_21.png

  2. Select External Sharing option, then set external sharing options for primary calendars to "only free/busy information (hide events details)" google_23.pnggoogle_22.png

  3. The next step is to Create one or more calendar resource.To do so, navigate to “Directory >, Buildings and resources >, Manage resources” google_24.png

  4. Click “Create a new resource” create building then create rooms re2.png

  5. Add the details for your resource and then "Add Resource"

  • When you create a resource,  in the Type subcategory below, if it is a room you MUST specify the type as room (or Room).You can also leave it empty and Humly control panel will still be able to read it from the backend.
  • If you use some other name for the type apart from the above for room, Humly control panel would not be able to import the resource in later stages.
  • If it is a desk resource, you should specify the type as desk and if it is a parking space you should specify the type as parking_space

 

  1. re3.png
  2. Go to https://www.google.com/calendar and in the calendar side menu next to "Other calendars" press the + icon and browse for your newly created Resource and click the check box iconre4.png

  3. Select the newly created resource calendar from "My Calendar list" and select the menu icon, then “Settings and Sharing”
    google_25.png

  4. Make sure to add the service account which will has settings of show free/busy.

  5.  We strongly recommend to create a new user specified for Humly use so called "Admin email", as super admin could cause some issues ahead. You will also need to grant this user "make changes to events" or "make changes and manage sharing". 

  6. Note: If you require PIN or RFID authentication to book you will need to add the users that can book with the permission "Make Changes to Events"re6.png

  7. Go to gmail.com with the Humly admin account you just shared the resource with and accept the sharing by adding the resource to your own calendar.
  8. Repeat the previous step for all resources in the project.

It might take up to 72 hours for the changes to be applied on Google Workspace.

https://support.google.com/a/answer/7514107?hl=en

It's crucial that the user accept the shared resource by adding it to their own calendar, (Step 11.). The resource will fail to be imported in Humly otherwise.

Grant user API permissions

To connect Humly Control Panel to your Google tenant in our steps further down the road you will need a so called "Admin email". This user will be authenticated from Humly Control Panel to Google during our inital HCP wizard and will act as Global admin in Humly Control Panel. API permissions is only needed for the user that acts as "Admin email".

  1. Go to Directory >, Users and click on the user you want to edit.
  2. Scroll down and press "Admin roles and privileges".
    google111.png
  3. Apply the necessary API permission by selecting any of the default Google Roles: Super admin, Groups Admin, User Management Admin and Help Desk Admin. If you want the user to be more restricted you are able to create a custom role which we will quide you through in the next step. google222.png

  4. Creating a custom admin roles is done by going into: Account >, Admin roles and pressing "Create new role" google333.png

  5. Give the new role a name of your liking and click next. Selecting privileges is done by scrolling down to "Admin API privileges" and select "Read" which you will find under "Users". That is the only permission needed so go ahead and click continue. google444.png

  6. Apply the newly created admin role to your user that will act as "admin email" in Humly Control Panel.