Google Calendar Administrative Setup

Modified on Mon, Jun 26, 2023 at 4:16 PM

Videos:Google Calendar Service Account Setup 

Your very first step in enabling the Google Calendar Module in Genesis is to create a new Project in your Google Workspace for Education console that gives the proper integration permissions to Genesis.

There is a video presentation of this process found here . Google setup changes often so video may be slightly out of date.  Follow guide below for more updated process.

Google Developer Console

Create Project

Go to console.cloud.google.com/apis/dashboard

Click “Create New Project” or “Project name” next to Google Cloud Platform in the top left

In the top right select “New Project”

Name your project something descriptive that will make it easier to find such as “Genesis Calendar Service Account”. Make sure your organization and location are set correctly as well. If you do not see your Organization or Location, stop and contact your google administrator before continuing.

Hit “Create”. After it loads hit the project drop down again and select your newly created project. (Note: It my take a minute or so for the project to be created and load)


Enable Google Calendar

  • Once you are in type “calendar” into the top search bar and click “Google Calendar API” in the search box.
  • And then Click “Enable” on the API page
  • Make sure your project is still “Genesis Calendar Service Account” (or whatever name you chose) when you enable google calendar.

Create Service Account

On the next page that appears, click Credentials

Click “Manage Service accounts” on top of the “Service Accounts” table on the right side


From there click “+Create Service Account”


Name your service account anything you want (In our example we named it “GenesisServiceAccount”) then click DONE


After click into the service account by clicking the email link.


Then “Show Domain-wide Delegation”.   If you do not see a “Show Domain-wide Delegation" button but see a Client ID listed, you can skip this step and proceed to "Google Admin Console"


Then “Enable Google Workspace Domain-wide Delegation”

After checking that the following warning will appear:

You can name it “Genesis Calendar Integration” and keep the default email address that appears. Users will not be shown this consent screen at any time. Then hit save.


Download Service Account Key

Next Click “Keys” and then “Add Key -> Create new Key”


In the pop up dialog make sure key type is JSON and then hit CREATE

Save the file, this will need to be uploaded to Genesis later.


Go back to Details and click “Show Domain-Wide Delegation” again, copy the value under Client ID


Google Admin Console

Next sign into your google admin console (admin.google.com) and click the menu on the top right and go to “Security -> API Controls


On the new page, click Manage Domain Wide Delegation on the bottom.


Then click Add New and paste the client id in the top box, and the following scopes in the bottom

https://www.googleapis.com/auth/calendar,
https://www.googleapis.com/auth/calendar.events,
https://www.googleapis.com/auth/calendar.events.readonly,
https://www.googleapis.com/auth/calendar.readonly,
https://www.googleapis.com/auth/calendar.settings.readonly

 

 Then click Authorize

 

Next, navigate back to the Service Accounts page and repeat the steps above to create an additional Service Account within this project.  Once you have completed the setup for you second Service Account and have two json key files created.  Process to the Genesis Configuration.

Genesis Configuration

  1. In Genesis, navigate to the “Setup → Google  → Google Calendar → Service Accounts” page
    1. On this screen you will take the JSON file from the service account that you downloaded earlier and upload it to Genesis.
  2. Next, navigate to the Setup → Google → Google Calendar → Settings tab.
  3. You will need to enter in the User Account/Email of a user in your Google workspace that is a part of the "Super Admin" group.  Enter the email into the Admin Email (Super Admin User): text box and save.
  4. Next, you will need to enter the Google email address of your Staff and Students onto the User and Student objects in Genesis.
  5. This can be done using the Tools located on the bottom of the Setup → Google → Email Setup and Verification. 


This process relies on Users in Genesis being linked to the staff members that represent them.  If a teacher's USER account in Genesis does not list a teacher's TEACHER/STAFF record as representing them, this process will not work.  You may use the User to Staff screen (StaffStaff Tools User To Staff) to help associate non-associated users by searching for users with "no representing staff".  The screen will help you to update them in bulk.


Google email addresses for staff will be stored on the Genesis User Account that represents that staff member under the Google Email Address field.  It will also be stored on the staff member.  These Google Email fields are read-only.  They will be populated and updated from the source chosen in the Tools page's "Populate 'Google Email Address:" Sync and Save tool.  This sync will happen automatically.  You will not need to run this more than once.


Google email addresses for Students are stored on the Student in one of three places.  The student's primary email address on their contact card, a user text field, or their student portal account logonid.



Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article