> ## Documentation Index
> Fetch the complete documentation index at: https://chatbotx.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Google App

> Learn how to create a custom Google App to obtain Client ID and Client Secret under your own brand.

Creating a custom Google App allows you to customize the Google OAuth consent screen to display your own brand name and logo when clients connect their accounts or use data synchronization features.

Your custom Google App configuration applies to the core features on your portal:

* Login with Google (Google Login).
* Spreadsheet synchronization (Google Sheets)

## Configuration Steps on Google Cloud Console

Perform the application registration following the workflow below:

<Steps>
  <Step title="Create a new Google Cloud Project">
    * Log in to the [Google Cloud Console](https://console.cloud.google.com).
    * Click the project dropdown in the top-left corner and select **New Project**.
    * Enter a project name corresponding to your portal brand and click **Create** to initialize.

    <Frame>
      <img src="https://mintcdn.com/chatbotx/YHw9qQyqKrPJ-OOG/images/google_app_create_project.png?fit=max&auto=format&n=YHw9qQyqKrPJ-OOG&q=85&s=6fc00f0091a448da0fdadb487f0813a6" alt="Google App Create Project" width="2370" height="1407" data-path="images/google_app_create_project.png" />
    </Frame>
  </Step>

  <Step title="Enable required APIs">
    Navigate to the **APIs & Services > Library** section using the search bar or side menu, search for and enable the following API library:

    * **Google Sheets API**: Used to read and write data to client spreadsheets.

    <Frame>
      <img src="https://mintcdn.com/chatbotx/YHw9qQyqKrPJ-OOG/images/google_app_enable_api.png?fit=max&auto=format&n=YHw9qQyqKrPJ-OOG&q=85&s=4f14460a47f7f93023fdd22fc8288c36" alt="Google App Enable Api" width="2328" height="1571" data-path="images/google_app_enable_api.png" />
    </Frame>
  </Step>

  <Step title="Initialize Google Auth Platform Configuration">
    Select **Google Auth Platform** on the left navigation menu. In the **OAuth Overview** interface, click **Get started**.

    <Frame>
      <img src="https://mintcdn.com/chatbotx/YHw9qQyqKrPJ-OOG/images/google_app_oauth_overview.png?fit=max&auto=format&n=YHw9qQyqKrPJ-OOG&q=85&s=6e760ae6327b440ef7bc94b80bc40ab8" alt="Google App OAuth Overview" width="2981" height="1464" data-path="images/google_app_oauth_overview.png" />
    </Frame>
  </Step>

  <Step title="Configure Project Information (Project configuration)">
    The **Project configuration** wizard will appear. Enter the required information through 4 steps:

    * **App Information**: Enter your brand name in the **App name** field and select a **User support email** from the dropdown menu. Click **Next**.

    <Frame>
      <img src="https://mintcdn.com/chatbotx/YHw9qQyqKrPJ-OOG/images/google_app_project_info_app_name.png?fit=max&auto=format&n=YHw9qQyqKrPJ-OOG&q=85&s=fc9de9c4c5e6844ff657269165e50558" alt="Google App Project Info App Name" width="2984" height="1564" data-path="images/google_app_project_info_app_name.png" />
    </Frame>

    * **Audience**: Configure your target audience. Check **External** to support clients using personal Google accounts outside your organization. Click **Next**.

    <Frame>
      <img src="https://mintcdn.com/chatbotx/YHw9qQyqKrPJ-OOG/images/google_app_project_info_audience.png?fit=max&auto=format&n=YHw9qQyqKrPJ-OOG&q=85&s=c630a8c0a7a59d4046cb04fc9907672e" alt="Google App Project Info Audience" width="2985" height="1800" data-path="images/google_app_project_info_audience.png" />
    </Frame>

    * **Contact Information**: In the **Email addresses** field, enter your contact email address to receive project change notifications from Google. Click **Next**.

    <Frame>
      <img src="https://mintcdn.com/chatbotx/YHw9qQyqKrPJ-OOG/images/google_app_project_info_contact.png?fit=max&auto=format&n=YHw9qQyqKrPJ-OOG&q=85&s=819289604fb86f9c7728fb9f95066f8b" alt="Google App Project Info Contact" width="2981" height="1409" data-path="images/google_app_project_info_contact.png" />
    </Frame>

    * **Finish**: Check the agreement box **I agree to the Google API Services: User Data Policy**, click **Continue**, and then click the **Create** button to save configuration.

    <Frame>
      <img src="https://mintcdn.com/chatbotx/YHw9qQyqKrPJ-OOG/images/google_app_project_info_finish.png?fit=max&auto=format&n=YHw9qQyqKrPJ-OOG&q=85&s=36de88c25d787e076b6dda8bd20f4853" alt="Google App Project Info Finish" width="2984" height="1301" data-path="images/google_app_project_info_finish.png" />
    </Frame>

    The system will display an **OAuth configuration created!** toast at the bottom of the screen and automatically redirect you to the overview dashboard.

    <Frame>
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/chatbotx/images/google_app_project_info_created.png" alt="Google App Project Info Created" />
    </Frame>
  </Step>

  <Step title="Create OAuth 2.0 Client ID Credentials">
    To obtain your **Client ID** and **Client Secret**, switch to the **Clients** tab on the left menu:

    * Click **+ Create client** at the top.
    * Select **Web application** as the Application type.
    * In the **Name** field, enter a name to identify this client (e.g., `Web client 1`).

    <Frame>
      <img src="https://mintcdn.com/chatbotx/VWKPa-82xZNRXtFJ/images/chatbotx_whitelabel_google_app_create_client.png?fit=max&auto=format&n=VWKPa-82xZNRXtFJ&q=85&s=5b3ecbc0fb6f88a5a7840d864869bc90" alt="Chatbotx Whitelabel Google App Create Client" width="2365" height="984" data-path="images/chatbotx_whitelabel_google_app_create_client.png" />
    </Frame>

    * In the **Authorized JavaScript origins** section, click **+ Add URI** and enter your main portal domain (e.g., `https://app.yourdomain.com`).
    * In the **Authorized redirect URIs** section, click **+ Add URI** twice to add both callback redirect paths provided by the ChatbotX system:
      * **Auth Callback URL** (Used for Google Sheets / bot Calendar):
      ```http theme={null}
      https://yourdomain.com/integrations/google/callback
      ```
      * **Sign-in Callback URL** (Used for the Login with Google feature):
      ```http theme={null}
      https://yourdomain.com/api/auth/callback/google
      ```

    <Frame>
      <img src="https://mintcdn.com/chatbotx/VWKPa-82xZNRXtFJ/images/chatbotx_whitelabel_google_app_redirect_uris_dual.png?fit=max&auto=format&n=VWKPa-82xZNRXtFJ&q=85&s=e5218183739bfd88282b34787608a70e" alt="Chatbotx Whitelabel Google App Redirect URIs Dual" width="2371" height="1882" data-path="images/chatbotx_whitelabel_google_app_redirect_uris_dual.png" />
    </Frame>

    * Click **Create** at the bottom. A popup titled **OAuth client created** will appear showing your **Client ID** and **Client Secret**.

    <Frame>
      <img src="https://mintcdn.com/chatbotx/VWKPa-82xZNRXtFJ/images/chatbotx_whitelabel_google_app_credentials_popup.png?fit=max&auto=format&n=VWKPa-82xZNRXtFJ&q=85&s=46e6309233f5ab2ff89ba774a2419894" alt="Chatbotx Whitelabel Google App Credentials Popup" width="2342" height="1696" data-path="images/chatbotx_whitelabel_google_app_credentials_popup.png" />
    </Frame>

    <Warning>
      **Important Note:** Copy both the **Client ID** and **Client Secret** immediately and store them securely. Google will no longer allow you to view or download the **Client Secret** once you close this dialog.
    </Warning>
  </Step>

  <Step title="Publish the Application (Publish App) & Verification">
    Select the **Audience** section from the left menu:

    * Click **Publish App** to transition the application status from Testing to Production. This ensures that all users outside your test list can log in using your Google application.

    <Frame>
      <img src="https://mintcdn.com/chatbotx/VWKPa-82xZNRXtFJ/images/chatbotx_whitelabel_google_app_audience_production.png?fit=max&auto=format&n=VWKPa-82xZNRXtFJ&q=85&s=43c68a785085a4507af7ed3f85e79957" alt="Chatbotx Whitelabel Google App Audience Production" width="2360" height="873" data-path="images/chatbotx_whitelabel_google_app_audience_production.png" />
    </Frame>

    * Once the application is in production, Google requires you to complete verification steps in the **Verification Center** in the left menu:
          <Frame>
            <img src="https://mintcdn.com/chatbotx/uoozbxIjfRT0901i/images/chatbotx_whitelabel_google_app_verification_center.png?fit=max&auto=format&n=uoozbxIjfRT0901i&q=85&s=eb1fd0d7c85e637023828700fec91886" alt="Chatbotx Whitelabel Google App Verification Center" width="3018" height="799" data-path="images/chatbotx_whitelabel_google_app_verification_center.png" />
          </Frame>
      * **Branding status**: Google checks your logo, app name, and legal links (Privacy Policy, Terms of Service). Click **View branding** and complete the requested details. If not verified, users will see Google's security warning page (e.g., *"Google hasn't verified this app"*) during login.
      * **Data access status**: Monitors verification for sensitive or restricted scopes. If your app does not request sensitive or restricted scopes (such as Sheets or Calendar at restricted levels), the status will display *"Verification is not required"*, and you can use it normally without any additional action.
  </Step>
</Steps>

## Configure Webhook Verify Token and Synchronize to Portal

To complete the Google App connection to your admin portal, prepare your integration details:

### What is the Webhook Verify Token?

The **Webhook Verify Token** is a custom security token that you define (choose a random alphanumeric string with a length between 16 and 32 characters).

This token is used as a secure shared key between your portal and Google APIs. When a calendar event is modified, Google sends a notification request containing this token in the HTTP header (`X-Goog-Channel-Token`). This allows your portal to verify that the request originates from Google and not from a malicious third party.

### Enter Credentials in the Admin Portal

<Steps>
  <Step title="Open the Google connection modal">
    Log in to your admin portal, navigate to **Super Admin > Platform Credentials**, find Google, and click **Edit**.

    <Frame>
      <img src="https://mintcdn.com/chatbotx/7f42MjlNI4rYtSl2/images/chatbotx_whitelabel_edit_google_modal.png?fit=max&auto=format&n=7f42MjlNI4rYtSl2&q=85&s=e5d6e66ab80bfd3c7cfd93e14c42f8fa" alt="Chatbotx Whitelabel Edit Google Modal" width="2976" height="1285" data-path="images/chatbotx_whitelabel_edit_google_modal.png" />
    </Frame>
  </Step>

  <Step title="Enter integration parameters">
    Enter the three parameters you prepared:

    * **Client ID**: Paste the Client ID obtained from Google Cloud Console.
    * **Client Secret**: Paste the Client Secret obtained from Google Cloud Console.
    * **Webhook Verify Token**: Enter the custom security string you generated.
  </Step>

  <Step title="Save configuration">
    Click **Save** to apply the configuration and enable the custom Google App for all users across your portal.
  </Step>
</Steps>
