Connect your organization's Google Workspace to ATS so hiring members can schedule interviews on their Google Calendars. You create a service account in your own Google Cloud project, allow it to access calendars in your domain through domain-wide delegation, and upload its key to ATS.
To send and receive candidate emails through Gmail, see Connecting Google Workspace to ATS for email integration. That's a separate setup.
In this article
- Before you begin
- Step 1. Create a Google Cloud project and enable the Google Calendar API
- Step 2. Create a service account and download its key
- Step 3. Authorize domain-wide delegation in the Google Admin console
- Step 4. Connect Google Workspace in ATS
- Disconnecting Google Workspace
- Troubleshooting
Before you begin
In Google
- Your organization uses Google Workspace with Google Calendar.
- You can sign in to the Google Admin console as a super admin. Only super admins can authorize domain-wide delegation.
- You can create projects, service accounts, and service account keys in the Google Cloud console.
In Deel
- You're allowed to manage ATS settings.
- Your own Work email in your People profile is on your organization's email domain and belongs to an active Google Workspace account. ATS uses it to check the connection.
- Every interviewer has their company email in the Work email field of their People profile. ATS uses this address to reach their Google Calendar.
Step 1. Create a Google Cloud project and enable the Google Calendar API
- Sign in to the Google Cloud console with an account in your Google Workspace organization.
- Open the project selector at the top of the page and click New project.
- Enter a Project name, select your Organization and Location, and click Create.
- Make sure the new project is selected in the project selector.
- Go to APIs & Services > Library.
- Search for Google Calendar API and open it.
- Click Enable.
You can use an existing project instead, as long as the Google Calendar API is enabled in it.
Step 2. Create a service account and download its key
- In the same project, go to IAM & Admin > Service accounts.
- Click Create service account.
- Enter a name and description, and click Create and continue.
- Skip the optional permission steps and click Done.
- In the list of service accounts, click the new account's email address to open it.
- On the Details tab, copy the Unique ID. This is the service account's client ID. You'll need it in Step 3. The same number appears as Client ID under Advanced settings > Domain-wide delegation further down the tab.
- Open the Keys tab and click Add key > Create new key.
- Select JSON and click Create. The JSON key file downloads to your computer.
If Google says that service account key creation is disabled, see Troubleshooting.
Step 3. Authorize domain-wide delegation in the Google Admin console
- Sign in to the Google Admin console with your super admin account.
- Go to Security > Access and data control > API controls. If you don't see Security, open the menu first.
- Under Domain-wide delegation, click Manage Domain Wide Delegation.
- Click Add new.
- Enter the following:
- Client ID: the Unique ID you copied in Step 2
-
OAuth scopes:
https://www.googleapis.com/auth/calendar
- Click Authorize.
This scope lets ATS read and update the calendars of hiring members in your domain, so it can find free time and add interviews.
Google can take some time to apply the change. If ATS says the service account isn't authorized when you connect, wait a few minutes and try again.
Step 4. Connect Google Workspace in ATS
- In the Deel sidebar, select Recruitment, then ATS.
- Select Settings in the top navigation.
- Under Interviews and scheduling, select Interview settings.
- Check the Email domain field at the top of the page. If it shows No email, click the edit icon, enter your organization's email domain (for example, company.com), and click Submit.
- Next to Google Workspace, click Connect.
- Under Configuration file, upload the JSON key file from Step 2, exactly as you downloaded it.
- Click Submit.
When the connection succeeds, Google Workspace shows as Connected, and hiring members can schedule interviews with candidates.
ATS connects one calendar provider at a time. If Microsoft Azure is already connected for interview scheduling, Connect stays disabled until you disconnect it.
Disconnecting Google Workspace
- In ATS, go to Settings > Interview settings.
- Next to Google Workspace, click Disconnect and confirm.
Hiring members can no longer schedule interviews, and scheduled interviews are removed.
To revoke access in Google too, delete the client ID under Manage Domain Wide Delegation in the Google Admin console, and delete the service account key in the Google Cloud console.
Troubleshooting
| What you see | What to do |
|---|---|
| Google Cloud says service account key creation is disabled | Your organization enforces the Disable service account key creation policy (iam.disableServiceAccountKeyCreation). It's on by default for Google Cloud organizations created on or after May 3, 2024. Ask an organization policy admin to allow key creation for this project. |
| Connect is disabled and says "Set email domain first" | Add your organization's email domain (Step 4, item 4). |
| Connect is disabled and says "You can only connect one tool at a time." | Microsoft Azure is connected for interview scheduling. Disconnect it first. |
| "Invalid configuration file" | Upload the unedited JSON key file from Step 2. |
| "Google Workspace has not authorized the service account for domain-wide delegation…" | Check that the client ID and scope in Step 3 match exactly, then wait a few minutes and try again. |
| "The calendar provider rejected the delegation credentials (invalid grant)…" | Make sure your own Work email belongs to an active account in your Google Workspace and that Step 3 is complete. |
| An error says your own work email isn't on the email domain | Your Work email must be on the email domain set in ATS. Update your Work email in your People profile, or the email domain. |