---
title: Connect to Google services using a custom OAuth client
slug: connect-to-google-services-using-a-custom-oauth-client
description: Create a custom OAuth client in Google Cloud Platform to connect Google services to Make
image: https://archbee-image-uploads.s3.amazonaws.com/oAyFj2GHlBeBVWF5OAir2/aMQbU2dKped24diCD4fNl_domino-zoomin-purple-a-1.png
docTags: 
createdAt: 2025-02-03T13:29:13.656Z
---

To connect some restricted Google services, like Google Drive or Google Sheet&#x73;*,* to Make, you need to create your own project in Google Cloud Platform and a custom OAuth client.&#x20;

The following procedure is intended for:

- **Personal use** (*@gmail* and *@googlemail.com* users)
- **Internal use** (Google Workspace users who prefer to use a custom OAuth client)

To connect, you must have a [Google account](https://accounts.google.com/signin).&#x20;

## Configure a Google Cloud Platform project

To configure a Google Cloud Platform project, follow these five steps:&#x20;

1. [Create a Google Cloud Platform project](docId\:w5UPQrHUgxZCKEtiFp7la)
2. [Enable APIs](docId\:w5UPQrHUgxZCKEtiFp7la)
3. [Configure your OAuth consent screen](docId\:w5UPQrHUgxZCKEtiFp7la)
4. [Create your client credentials](docId\:w5UPQrHUgxZCKEtiFp7la)
5. [Connect to Google services using a custom OAuth client](docId\:w5UPQrHUgxZCKEtiFp7la)

### Create a Google Cloud Platform project

To create a project in your Google Cloud console:

:::::WorkflowBlock
:::WorkflowBlockItem
Log in to the [Google Cloud Platform](https://console.cloud.google.com/) using your Google credentials.
:::

::::WorkflowBlockItem
On the welcome page, click **Create or select a project.**

::Image[****]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/iUUfJBhljqxbp2J37P6Zh-20250912-100329.png" size="80" width="1870" height="1220" position="center" darkWidth="1870" darkHeight="1220" showCaption="false"}

:::hint{type="warning"}
If you've already created projects in your Google Cloud Platform, you will be redirected to the latest project upon login. To create a new one, click the project name in the upper-left corner.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/9FvGpwwR3OpuC6WPd3lR9-20260312-142428.png" size="70" width="1442" height="490" position="center" darkWidth="1442" darkHeight="490" showCaption="false"}
:::
::::

:::WorkflowBlockItem
In the next window, click **New project&#x20;**&#x69;n the upper-right corner.&#x20;

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/TwqnY3iDQMsafLpxzv4JU-20250912-100529.png" size="70" width="1244" height="364" darkWidth="1244" darkHeight="364" position="center" showCaption="false"}
:::

:::WorkflowBlockItem
Change the default **Project name&#x20;**&#x61;nd **Project ID**, if needed. Select the **Location** for your project, and click **Create**.

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/HoHbDak4T8cEzz5BVWV---20250912-102510.png" size="40" width="878" height="636" darkWidth="878" darkHeight="636" position="center" showCaption="false"}
:::

:::WorkflowBlockItem
On the top panel, next to the Google Cloud logo, click **Select a project**.
:::

:::WorkflowBlockItem
In the next window, click the project you just created.&#x20;

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/jIdNcvAxzEUP22emCBrlp-20250912-103458.png" size="80" width="1736" height="1156" position="center" darkWidth="1736" darkHeight="1156" showCaption="false"}
:::
:::::

You'll now see the **Google Cloud Platform project** you've created on the top panel, next to the Google Cloud logo.&#x20;

:::hint{type="info"}
To create a new project or work in the existing one, you need to have the `serviceusage.services.enable` permission. If you don’t have this permission, ask the Google Cloud Platform Project Owner or Project IAM Admin to grant it to you.
:::

### Enable APIs

To turn on the APIs your Google application needs:

::::WorkflowBlock
:::WorkflowBlockItem
In the left sidebar of the Google Cloud Platform, click **APIs & Services** > **Library**.
:::

:::WorkflowBlockItem
Search for the API you need for your project (e.g., Google Sheets, Google Drive, etc.). For the information on APIs for particular apps, look for the required app in the [Apps Documentation](https://apps.make.com/).&#x20;
:::

:::WorkflowBlockItem
Click the relevant API (e.g., Google Sheets API):&#x20;

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/TRPadVqOMtq32fSCK5Hd3-20251119-161147.png" size="70" width="1906" height="730" position="center" darkWidth="1906" darkHeight="730" showCaption="false"}
:::

:::WorkflowBlockItem
Click **Enable**.

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/-RVq7HyCeesc1C1t0hKRm-20251119-110119.png" size="40" width="614" height="340" position="center" darkWidth="614" darkHeight="340" showCaption="false"}
:::
::::

Your API is now enabled.

### Configure your OAuth consent screen

To set up the OAuth consent screen:

:::::WorkflowBlock
:::WorkflowBlockItem
In the left sidebar of the Google Cloud Platform, click **APIs & Services** > **OAuth consent screen**.

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/szrwOEJWw7Ei-b7MSgGJt-20250912-111324.png" size="40" width="730" height="1298" position="center" darkWidth="730" darkHeight="1298" showCaption="false"}
:::

:::WorkflowBlockItem
Click **Get Started**.
:::

:::WorkflowBlockItem
In the **Overview** section:

- Under **App information**, enter *Make* as the app name, enter your Gmail address, and click **Next**.

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/iFvukbKbVakiQPqmsvre8-20250912-112021.png" size="40" width="870" height="972" position="center" darkWidth="870" darkHeight="972" showCaption="false"}

- Under **Audience**, select **External**, and click **Next**. For more information regarding user types, refer to [Google's Exceptions to verification requirements documentation](https://support.google.com/cloud/answer/13463073?visit_id=639160909375050501-1878988128\&rd=1).
- Under **Contact Information**, enter your Gmail address, and click **Next**.
- Under **Finish**, agree to the [Google API Services User Data Policy](https://developers.google.com/terms/api-services-user-data-policy?authuser=1), and click **Continue**, then **Create**.
- In the next window, click **Create OAuth Client**.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/gWhkTq2f_h5To-n_byZ7b-20250912-114156.png" size="70" width="2764" height="338" position="center" darkWidth="2764" darkHeight="338" showCaption="false" indent="2"}

- You'll be redirected to the **Clients** tab. You can skip it for now or refer to the [Create your client credentials](docId\:w5UPQrHUgxZCKEtiFp7la) section to configure it.&#x20;
:::

:::WorkflowBlockItem
In the **Branding** section:&#x20;

- Under **Authorized domains,&#x20;**&#x63;lick **+Add domain.**
- Add `make.com` and `integromat.com`.&#x20;
- Click **Save**.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/qyTTXd-f6d-L3Qpue7jgY-20250912-115053.png" size="70" width="1264" height="1286" position="center" darkWidth="1264" darkHeight="1286" showCaption="false"}
:::

::::WorkflowBlockItem
In the **Audience** section:

- Click **Publish app** to update the project status to **In production.&#x20;**
- If you want the project to remain in the **Testing** publishing status, click **+Add users&#x20;**&#x61;nd enter your Gmail address under **Test users.** &#x20;



::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/eMmPIQOVjUMtu2KFMZISU-20250912-115725.png" size="70" width="1272" height="1198" position="center" darkWidth="1272" darkHeight="1198" showCaption="false"}

:::hint{type="warning"}
**Publishing Status**

**Testing:** If you keep your project in the **Testing** status, you will be required to reauthorize your connection in Make every week. To avoid weekly reauthorization, update the project status to **In production**.

**In production:** If you update your project to the **In production** status, you will not be required to reauthorize the connection weekly. To do that, go to the **Google Auth Platform**, the **Audience** section, and click **Publish app**. If you see the notice **Needs verification**, you can choose whether to go through the [Google verification process](https://support.google.com/cloud/answer/13463073?authuser=1\&visit_id=638718595933013017-1855034908\&rd=1) for the app or to connect to your unverified app. Currently, connecting to unverified apps works in Make, but we cannot guarantee that Google will allow connections to unverified apps for an indefinite period.

For more information regarding the publishing status, refer to the Publishing status section of [Google's Setting up your OAuth consent screen help](https://support.google.com/cloud/answer/10311615#zippy=).
:::
::::

::::WorkflowBlockItem
In the **Data Access** section:

1. Under **Data Access**, click **Add or remove scopes.**
2. Under **Update selected scopes**, search for and select the required scopes from the list.
3. Alternatively, enter the required scopes one by one and click **Add to table** under **Manually add scopes.**
4. &#x20;Click **Update**.&#x20;

![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/TY0oxLY3FCNZB-khPTzbU-20251119-160545.png)

:::hint{type="warning"}
For the Google Sheets app, for example, you'd need to add the following scopes:

- `https://www.googleapis.com/auth/spreadsheets`
- `https://www.googleapis.com/auth/drive`

Each app, however, requires its own set of scopes. To find the correct scopes, go to the app's page in the [Apps Documentation](https://apps.make.com/) and refer to the **Configure your OAuth consent screen&#x20;**&#x73;ection.
:::
::::

:::WorkflowBlockItem
Click **Save**.

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/dtTyqztOypQIdp-_az0iP-20251119-160907.png" size="40" width="716" height="1222" position="center" darkWidth="716" darkHeight="1222" showCaption="false"}
:::
:::::

Your OAuth consent is now configured.

### Create your client credentials

To generate the Client ID and Client secret needed for authentication:&#x20;

:::::WorkflowBlock
:::WorkflowBlockItem
In the left sidebar of the Google Cloud Platform, click **APIs & Services** > **OAuth consent screen**.

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/szrwOEJWw7Ei-b7MSgGJt-20250912-111324.png" size="40" width="730" height="1298" position="center" darkWidth="730" darkHeight="1298" showCaption="false"}
:::

:::WorkflowBlockItem
Go to the **Clients&#x20;**&#x73;ection, and click **+Create client**.

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/-1bUMR6Uj2xMDxANLbnHN-20250912-123323.png" size="40" width="830" height="402" position="center" darkWidth="830" darkHeight="402" showCaption="false"}
:::

:::WorkflowBlockItem
Under **Create OAuth client ID**:&#x20;

- In the **Application type** dropdown, select **Web application**.
- In the **Name** field, update the name of your OAuth client. This will help you identify it in the console afterward.

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/mBdU3rr_GENJMNAXSL3gP-20250912-124942.png" size="70" width="1320" height="682" position="center" darkWidth="1320" darkHeight="682" showCaption="false"}
:::

::::WorkflowBlockItem
Under the **Authorized redirect URIs,&#x20;**&#x63;lick **+ Add URI** and enter the required redirect URI.

:::hint{type="warning"}
For the Google Sheets app, for example, you would need  `https://www.integromat.com/oauth/cb/google/`.&#x20;

Each app, however, requires different Redirect URIs. To find the correct one, go to the app's page in the [Apps Documentation](https://apps.make.com/) and refer to the **Create your client credentials&#x20;**&#x73;ection.
:::

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/roYo5qq3R0lqf3rv8c3MR-20251119-155905.png" size="40" width="810" height="492" position="center" darkWidth="810" darkHeight="492" showCaption="false"}
::::

:::WorkflowBlockItem
Click **Create**.
:::

:::WorkflowBlockItem
You'll see a message that the OAuth client has been created. Copy your **Client ID** and **Client secret** values, and store them in a safe place.&#x20;

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/Hw708snAzmYP3oS2oEzFl-20251121-090200.png" size="40" width="1152" height="980" position="center" darkWidth="1152" darkHeight="980" showCaption="false"}
:::
:::::

You will use these values in the **Client ID** and **Client Secret** fields in Make.

### Establish the connection in Make

To establish the connection in Make:

::::WorkflowBlock
:::WorkflowBlockItem
Log in to your Make account, add a Google app module to your scenario, and click **Create a connection**.
:::

:::WorkflowBlockItem
Optional: In the **Connection name** field, enter a name for the connection.
:::

:::WorkflowBlockItem
Switch on th&#x65;**&#x20;Advanced settings** toggle and enter your Google Cloud Platform project client credentials.&#x20;
:::

:::WorkflowBlockItem
Click **Sign in with Google**.
:::

:::WorkflowBlockItem
If prompted, authenticate your account, grant all requested permissions, and confirm access.
:::
::::

You've successfully created the connection and can now use the Google app modules in your scenarios. If you want to make changes to your connection in the future, follow the steps [here](https://help.make.com/connect-an-application#tN2pJ).

## Common problems

:::::ExpandableHeading
### Failed to verify connection 'My Google Restricted connection'. Status Code Error: 400

This error message may appear if your connection has expired and is no longer valid. You need to reauthorize the connection.

This error affects **non**-Google Workspace accounts. For more details, please refer to the [Google OAuth documentation](https://developers.google.com/identity/protocols/oauth2#expiration).

Due to Google's updated security policy, unpublished apps can only have a 7-day authorization period. After the OAuth security token expires, the connection is no longer authorized, and any module relying on it will fail.

**Solution 1**

To avoid weekly reauthorization, you can update the publishing status of your project.

If you update your project to the **In production** status, you will not be required to reauthorize the connection weekly.

**To change the status of your project to** **In production**, follow the step 5 explained [here](docId\:w5UPQrHUgxZCKEtiFp7la). Here's a summary:

::::WorkflowBlock
:::WorkflowBlockItem
In the left sidebar of the Google Cloud Platform, click **APIs & Services** > **OAuth consent screen**.
:::

:::WorkflowBlockItem
Switch to the **Audience** section, and click **Publish app** to update the project status to **In production.&#x20;**
:::

:::WorkflowBlockItem
If you see the notice **Needs verification**, you can choose whether to go through the [Google verification process](https://support.google.com/cloud/answer/13463073?visit_id=638357423877979226-2405331664\&rd=1#exceptions-ver-reqts) for the app or to connect to your unverified app. Currently, connecting to unverified apps works in Make, but we cannot guarantee that Google will allow connections to unverified apps for an indefinite period.
:::
::::

**Solution 2**

If you keep your project in the **Testing** status, you will be required to reauthorize your connection in Make every week.

To reauthorize your Google connection:

::::WorkflowBlock
:::WorkflowBlockItem
Log in to Make.
:::

:::WorkflowBlockItem
In the left sidebar, click **Connections**.
:::

:::WorkflowBlockItem
Find your Google connection and click the **Reauthorize** button.
:::
::::
:::::

:::ExpandableHeading
### Error 400: redirect\_uri\_mismatch

This error message can appear if you haven't added the required redirect URIs for your Google app. Verify you're using the required Redirect URIs as explained in step 4  [here](docId\:w5UPQrHUgxZCKEtiFp7la).&#x20;

It may also happen that Google doesn't instantly recognize the Redirect URI used for the authentication. Once verified that you're using the proper Redirect URIs, wait for some time after creating your Google Cloud Platform project. Then, try to connect the Google app with your custom OAuth credentials once again.&#x20;
:::

:::ExpandableHeading
### Error 401: invalid\_client – The OAuth client was not found

This error occurs when the OAuth credentials associated with your Google connection are no longer valid or properly configured. It indicates that the original workspace is tied to a deprecated or outdated Google OAuth client.

**To resove this**:&#x20;

1. **Create a new Google connection**&#x20;
   - In your Make workspace, go to **Connections**.&#x20;
   - Follow the authentication flow to create a new connection to Google services. This generates fresh, valid OAuth credentials.&#x20;
2. **Update your scenarios**&#x20;
   - Open your existing scenarios and replace the old, broken Google connection with the newly created one.&#x20;
   - Save the changes to ensure your scenarios run with the updated credentials.&#x20;
3. **Remove the old connection**&#x20;
   - Delete the deprecated connection from your workspace to prevent confusion.
:::

:::ExpandableHeading
### \[403] Access Not Configured

This error message may appear when you haven't enabled the corresponding API in your Google Cloud Platform.

To enable the API, complete the steps explained [here](docId\:w5UPQrHUgxZCKEtiFp7la). If the problem persists, delete the previous connection and connect your Google app toMake with your OAuth credentials once again.&#x20;
:::

:::ExpandableHeading
### Authorization Error - Error 403: access\_denied

This error message may appear if you keep your Google project in the **Testing** status and haven't added a **Test user** email address associated with the Google account you want to connect to Make as a Test user.

To add the test user or change the status of your app, complete the step 3 explained [here](docId\:w5UPQrHUgxZCKEtiFp7la). Then go to **Connections** in the left sidebar in Make, and click the **Reauthorize** button. If the problem persists, delete the previous connection and connect your Google app toMake with your OAuth credentials once again.&#x20;
:::

:::::ExpandableHeading
### Error 403: Insufficient Permission

Verify you've added all the required scopes in the Google Cloud Platform project for the app you're using, as explained in step 6 [here](docId\:w5UPQrHUgxZCKEtiFp7la).&#x20;

Then, reauthorize your Google connection by following these steps:

::::WorkflowBlock
:::WorkflowBlockItem
Log in to Make.
:::

:::WorkflowBlockItem
In the left sidebar, click **Connections**.
:::

:::WorkflowBlockItem
Find your Google connection and click the **Reauthorize** button.
:::
::::
:::::

:::ExpandableHeading
### Error message: It is not possible to use restricted scopes with customer @gmail.com accounts

This error message may appear if you haven't added the required scopes for your Google app.&#x20;

To add the scopes, complete steps 6 and 7, as explained [here](docId\:w5UPQrHUgxZCKEtiFp7la).&#x20;
:::

:::ExpandableHeading
### 100 Logins Limit Per Day Has Been Reached

According to the [Google OAuth 2.0 protocol policy](https://developers.google.com/identity/protocols/oauth2#expiration), there’s a limit of 100 refresh tokens per Google Account per OAuth 2.0 client ID. If the limit is reached, creating a new refresh token automatically invalidates the oldest refresh token without warning. This limit does not apply to service accounts.&#x20;

This happens rarely, but when it does, we recommend creating another OAuth client.
:::

