This is a two step process for Google Workspace (fmr. G Suite) admins to share booking access to one or more of their company's resource calendars with specific domains outside their own account.
Fair warning, this involves IT topics: The ACL settings in this guide aren't available in the Google Admin UI, so you'll need to use the Google Calendar API to make these changes. We recommend Postman (free) for managing API requests, since it will allow you to batch requests and save templates for future reference.
Keep in mind that everything in this article deals exclusively with the Google Calendar API, and no Robin tokens will work in the requests below.
Add ACL for a new domain
For each calendar you'd like to allow outside domains access to, run the following API request. Replace the highlighted fields with the resource calendar email, and your app token/API keys credentials generated via OAuth.
How to get an access token from Google
The easiest way to get a temporary access token is via Google's OAuth 2.0 Playground. In Step 1, enter https://www.googleapis.com/auth/calendar
to allow Calendar access, click "Authorize", then continue until you see the "Access Token". Copy that token, and check "Auto-refresh" to avoid having it expire within the next 10 minutes.
Use this token to set the accessToken
environment variable in Postman and you're ready to go.
To our knowledge, there's not a way to apply this ACL to all resource calendars at once, but you could loop through the results of the CalendarList API to batch apply automatically.
POST https://www.googleapis.com/calendar/v3/calendars/{{resource_email}}/acl
Authorization: Bearer {{your_access_token}}
{
"scope": {
"type": "domain",
"value": "{{your_domain}}"
},
"role": "freeBusyReader"
}
The request above gives all users for the given domain (e.g. "example.com") the freeBusyReader
permission on your resource calendars, allowing them read only access to resource availability within your account.
Changes to resource ACL's may take some time to propagate, so don't panic if the update doesn't immediately work.
Allow users to book free/busy resources
If you created your Google Workspace account after January 12, 2016 you can skip this step. Google made this setting the default behavior.
To allow users to invite these resources to meetings (and not have them immediately reject the RSVP), we'll need to Allow Free/Busy resource booking on your Google Workspace account. Find it under Google Admin's web portal on Apps > Google Workspace > Calendar > Resources and then checking "Allow users to book resources that are shared as See only free/busy."
With these two changes, whitelisted external domain users can now book as themselves within Robin. This permission should be enough to invite the resource to a meeting from that domain, even if they belong to a different Google Workspace account.
References
- Updating a calendar's ACL (Google Calendar API)
- Adding a new calendar ACL (Google Calendar API)