Skip to content

Google: OAuth2 single service#

This document contains instructions for creating a Google credential for a single service. They're also available as a video.

Note for n8n Cloud users

For the following nodes, you can authenticate by selecting Sign in with Google in the OAuth section.

Prerequisites#

Set up OAuth#

Create a new credential in n8n#

  1. Follow the steps to Create a credential. If you create a credential by selecting Create new in the credentials dropdown in a node, n8n automatically creates the correct credential type for that node. If you select Credentials > New, you must browse for the credential type. To create a credential for a custom API call, select Google OAuth2 API. This allows you to create a generic credential, then set its scopes.
  2. Note the OAuth Redirect URL from the node credential modal. You'll need this in the next section.

    View screenshot

    OAuth Callback URL

Set up OAuth in Google Cloud#

  1. Go to Google Cloud Console | APIs and services and make sure you're in the project you want to use.

    View screenshot

    Google project dropdown

  2. Optional: If you haven't used OAuth in your Google Cloud project before, you need to configure the OAuth consent screen. Expand the detailed steps below for more guidance.

    View detailed steps
    1. Select OAuth consent screen.
    2. For User Type, select Internal for user access within your organization's Google workspace or External for any user with a Google account.
    3. Select Create.
    4. Enter the essential information: App name, User support email, and the Email addresses field in Developer contact information.
    5. Add an authorized domain: select + ADD DOMAIN. Enter n8n.cloud if using n8n's Cloud service, or the domain of your n8n instance if you're self-hosting.
    6. Select SAVE AND CONTINUE to go to the Scopes page.
    7. You don't need to set any scopes. Select SAVE AND CONTINUE again to go to the Summary page.
    8. On the Summary page, review the information, then select BACK TO DASHBOARD.
  3. Select + CREATE CREDENTIALS > OAuth client ID.

    View screenshot

    Create credentials

  4. In the Application type dropdown, select Web application. Google automatically generates a name.

    View screenshot

    Web application

  5. Under Authorizes redirect URIs, select + ADD URI. Paste in the OAuth redirect URL from n8n.

    View screenshot

    OAuth Callback URL Add URI

  6. Select CREATE.

  7. Enable each Google service API that you want to use:

    1. If using Google Perspective or Google Ads: Request API Access for Perspective or a Developer Token for Ads.
    2. Access your Google Cloud Console - Library. Make sure you're in the correct project.
    3. Search for and select the API(s) you want to enable. For example, for the Gmail node, search for and enable the Gmail API.

      Some integrations need additional APIs

      The following integrations require the Google Drive API, as well as their own API:

      • Google Docs
      • Google Sheets
      • Google Slides
    4. Select ENABLE.

Create and test your connection#

In n8n:

  1. Enter your new Client ID and Client Secret from Google Cloud Console in the credentials modal.
  2. Select Sign in with Google to complete your Google authentication.
  3. Save your new credentials.

Video#

Troubleshooting#

Google hasn't verified this app#

If using the OAuth authentication method, you might see the warning Google hasn't verified this app. To avoid this, you can create OAuth credentials from the same account you want to authenticate.

If you need to use credentials generated by another account (by a developer or another third party), follow the instructions in Google Cloud documentation | Authorization errors: Google hasn't verified this app.

Google Cloud app becoming unauthorized#

For Google Cloud apps with Publishing status set to Testing and User type set to External, consent and tokens expire after seven days. Refer to Google Cloud Platform Console Help | Setting up your OAuth consent screen for more information. To resolve this, reconnect the app in the n8n credentials modal.