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
- In Genesis, navigate to the “Setup → Google → Google Calendar → Service Accounts” page
- On this screen you will take the JSON file from the service account that you downloaded earlier and upload it to Genesis.
- Next, navigate to the Setup → Google → Google Calendar → Settings tab.
- 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.
- Next, you will need to enter the Google email address of your Staff and Students onto the User and Student objects in Genesis.
- 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 (Staff → Staff → 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
Feedback sent
We appreciate your effort and will try to fix the article