To establish a connection between your AskCody Manager and G-Suite, you need to create a Service Account with permission to view and modify your Room Ressource calendars. Enabling these permissions within Google Apps helps to keep your calendars in sync.
The 3 steps of the setup
- Enable API access (This enables services such as AskCody to access your room calendars.)
- Give your Service Account permission to view and modify to events in room calendars.
- Set room calendars to auto-accept invites that do not conflict.
**In order for you to be able to perform the following step you will need administrator access to your Google Apps account**
Step 1: Enable API access
This allows AskCody to access resource calendars and book events on behalf of the users.
What to do: Go to https://admin.google.com/ and click on the Security Option → In the API reference section, check that Enable API Access is activated.
Step 2: Set up the right calendar permissions for AskCody to view and modify calendar events
To properly modify calendar events, you'll need to set up some permissions for your Service Account. There are two methods for you to set up these permissions.
Method 1: Share room calendars with the Service Account
First of all, if management of your G-Suite is not your strongest suit, here is a quick walkthrough for setting up calendar delegations in Google.
- What to do: Open your Google Calendar → Go to My Calendars and click on Share this Calendar next to the calendar that AskCody should be able to access (If the room calendars are not there, add the room resources to your My Calendars list) → Add the email of the Service Account to the Share with specific people section → In the permissions drop-down, choose Make changes and manage sharing.
- Now the AskCody Service Account will be able to view and modify events in the room calendar on behalf of the users. Repeat the steps above for all of your other room calendars.
Method 2: Give the Service Account super admin privileges (recommended)
FYI: This is not required in order for you to use AskCody. However, it will spare you a lot of time compared to method 1.
What to do: Go to https://admin.google.com/ and find the Admin roles section → Add the email of the Service Account to the list of Super Admins.
This will allow the Service Account to edit all room calendars in your Google account and this is an alternative to granting permissions for each calendar explicitly. You can choose to individually assign permissions, but Super Admins are the only role capable of editing all calendars without user-level configuration.
Step 3: Enable auto-accept of events that do not conflict
When someone adds a room calendar to an event, the room calendar will receive an invitation for the event.
To ensure that the room booking experience is as smooth as possible, you will need to set each of your room calendars to automatically accept event invitations that do not conflict with other events in the room's calendar.
What to do: Open your Google Calendar and select Calendar Settings of one of your room Calendars → Select Auto accept invitations that do not conflict
Update this setting for all you room calendars.
Once connected the Service Account to the AskCody Manager, login access to the Service Account is no longer required.
AskCody uses an OAuth flow for connecting to the Service Account, which generates a token limited to calendar permissions and is unaware of any other permissions the connected account might have. We strongly recommend not sharing these credentials internally. All tokens created will be encrypted.
What kind of permissions does AskCody have through the Service Account?
The token Google grants AskCody via OAuth is limited to calendar permissions only. AskCody has no ability to use that token for anything other than calendar operations.
This is the easiest route. You can choose to individually assign permissions, but Super Admins are the only role capable of editing all calendars without user-level configuration.