Connect Google Workspace with your own OAuth app

Register the application in your own Google Cloud project, choose how far Offision reaches, and hand it the credentials. For security policies that will not accept a third-party app.

Updated 17 Aug 2026

Most organisations should use quick connect, which uses Offision’s own Google application and needs no credentials at all.

Use this path when that is not acceptable — when your security policy requires the application to live in your own Google Cloud project, with a secret you control and can revoke — or when you want a mode narrower than the default.

What to have ready

  • A Google Cloud project, or the ability to create one
  • Your Google Workspace Customer ID, from the Google Admin console under AccountAccount settings
  • Somewhere to paste redirect URIs back into the OAuth client
  • Half an hour

1. Prepare the Google Cloud project

Do this side first — Offision cannot verify any of it for you, and doing it afterwards means going back and forth.

  1. In the Google Cloud console, create a project. Its name is for your own reference and is never used by Offision.
  2. Under APIs & Services, enable the Google Calendar API.
  3. Create the OAuth consent screen, type External, and add the scopes userinfo.email, userinfo.profile, openid and Calendar.
  4. Under Credentials, create an OAuth client ID of type Web application. Copy its Client ID and Client secret — the secret is easiest to copy now.

Offision asks Google for exactly these scopes:

ScopeWhat Offision uses it for
https://www.googleapis.com/auth/calendar.readonlyReading room and user calendars
https://www.googleapis.com/auth/calendar.eventsCreating and changing bookings
openid, profile, emailSigning people in

2. Add the redirect URIs

Back in the OAuth client, under Authorized redirect URIs, add the ones your deployment needs. {server} is your Offision address:

Redirect URINeeded for
{server}/api/google-api/oauth/callbackThe delegated account and the booking agent account
{server}/signin-google/{tenantId}/{scheme}Single sign-on
{server}/api/google-api/oauth/meet-callbackGoogle Meet links

Offision shows you the exact values to copy rather than leaving you to assemble them. A missing redirect URI fails later, and the failure looks like a rejected password rather than a missing URI — which is why this is its own step.

3. Choose the mode

Open the Google Workspace tile, choose Connect to Google Workspace, then below the separator choose Custom setup.

Open Integrations

The first step is the mode. Functions below the buttons shows what the selected mode gives you, and Permission requirement lists the scopes it asks for — press Show details to expand it.

ModeRoom calendarsUser calendarsSingle sign-on
Complete modeyesyesyes
Standard modeyesyesyes
Resource calendar modeyesnono
The mode step, with its function list and the permissions that mode asks for.

The mode step, with its function list and the permissions that mode asks for.

Resource calendar mode never touches a personal calendar, and single sign-on is unavailable in it rather than switched off. Choose it when reaching staff calendars would not survive a security review, and expect the sign-in setting to be absent afterwards.

4. Enter the credentials

Press Next and fill in the three fields:

FieldWhere it comes from
Google Customer IDGoogle Admin console → Account → Account settings
Google Client IDThe OAuth client you created in step 1
Google Client SecretThe secret of that client, not its ID
The credentials step: Customer ID, Client ID and Client secret.

The credentials step: Customer ID, Client ID and Client secret.

5. Check it worked both ways

Connect the delegated account and one room — see Connect rooms from Google Workspace — then test both directions:

  • Book the room in Offision and confirm it appears in Google Calendar
  • Book the same room from Google Calendar and confirm it appears in Offision

Then set up sign-in and Google Meet links.

When it goes wrong

What you seeUsual cause
Connect succeeded but the Google window then refusesThe Client ID or secret is wrong — Connect does not check them
Google says the redirect URI does not matchThe URI is missing from the OAuth client, or has a trailing slash the copied one does not
Google says access is blocked or the app is unverifiedThe OAuth consent screen is unfinished, or the scopes were never added to it
Nothing happens when the Google window should openThe browser blocked the pop-up
Sign-in bounces back to the login pageThe sign-in redirect URI is missing from the OAuth client
No sign-in setting on the card afterwardsResource calendar mode was selected, which carries no sign-in permission
It worked, then stopped months laterThe OAuth client’s secret was rotated or the consent screen was reset
People never syncExpected — Google people sync is not available. Add people the ordinary ways