---
title: "Calendar and Contact sync with Google"
slug: "calendar-and-contact-sync-with-google"
updated: 2023-08-18T07:15:03Z
published: 2023-08-18T07:15:03Z
canonical: "docs.icc.infracom.se/calendar-and-contact-sync-with-google"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.icc.infracom.se/llms.txt
> Use this file to discover all available pages before exploring further.

# Calendar and Contact sync with Google

## Setting up Google Cloud Platform

The Sync requires a service account to be present and allowed to use the Contact and Calendars APIs. You need a project and a service account

### Create Project

From the Google Cloud Dashboard, select **CREATE PROJECT** and fill out the fields for **Project Name**, **Organization** and **Location**. Create the project.

Once project creation has finished, select the project either from the drop down at the top or using the **SELECT PROJECT** link in the Notifications window.

#### Enable APIs for Project

Now that you’re in your new project, select **APIs & Services -> Enabled APIs & services** from the menu on the left. Next, click **Enable APIs and Services** then search for Calendar in the search box at the top of the page. Choose Google Calendar API and click enable. Repeat the same thing for the People (Contacts) API as well.

### Create service account and credentials

Once these two APIs have been enabled, we need to create credentials from the project main page. Navigate to **APIs & Services -> Credentials** using the left menu. Click on **CREATE CREDENTIALS,** choose **Service account**, and follow the below steps.

(1) Give the service account a name, ID, and description and click **CREATE AND CONTINUE** (2) Select Owner role from the cascade drop list and click **DONE** (3) On the resulting page, click the edit button for the service account and then the **KEYS** tab at the top (4) Click on **ADD KEY -> Create new key**, make sure **JSON** is selected and click on CREATE (5) Make sure to save the resulting file locally on your computer

*This private key enables access to your company calendars and contacts. Be sure to keep it safe.*

Click on **DETAILS** at the top and make a note of the **Unique ID** displayed on the resulting page - this will be required to delegate domain wide access.

When done, you now need to complete a few more steps to grant your project access to G-Suite for your whole company.

## Setup Google GSuite

Go to: [https://admin.google.com/](https://admin.google.com/) (be sure to use correct account if you happen to be logged into multiple ones, this got to be an admin account as well).

Navigate to: **Security / Access and data control / API controls**

Click on **MANAGE DOMAIN WIDE DELEGATION**.

To add the project we created earlier, click on **Add new** and fill in the following to authorize your client.

- In **Client Name** enter the **Service Account Client ID** you previously copied.
- In API Scopes, enter these URLs, separated by a comma:
  - [https://www.googleapis.com/auth/calendar.readonly](https://www.googleapis.com/auth/calendar.readonly)
  - [https://www.googleapis.com/auth/contacts.readonly](https://www.googleapis.com/auth/contacts.readonly)
- Finally - authorize your Client to access these APIs by clicking **AUTHORIZE**

## Setup in Infinity

Credentials obtained as JSON file and your domain name are only things required to perform synchronization. Upload them in the portal under **Misc. -> Integrations** and press **Save.**

### Add Exchange alias and trigger

Under each user enter the user's email address under **Google Alias**.

Do not forget to always click S**ave.**

### Add triggers for calendar sync

In order for it to be loaded correctly from your calendar, you need to fill in Triggers in the user's Profile, which then triggers the behaviour by having these words in the subject line for that event in the Calendar. These must be uploaded to all users who will use Calendar sync. Either the administrator or the user can add **Trigger Words** to the profile in the portal. Press "**Add**" for each new word to be added and do not forget to press "**Save**".
