> ## 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.

Tạo Google App riêng giúp tùy biến màn hình cấp quyền của Google hiển thị tên thương hiệu và logo của riêng bạn khi khách hàng kết nối tài khoản hoặc sử dụng tính năng đồng bộ dữ liệu.

Cấu hình Google App sẽ được áp dụng chung cho ba tính năng cốt lõi trên portal của bạn:

* Đăng nhập bằng tài khoản Google (Google Login).
* Đồng bộ dữ liệu bảng tính (Google Sheets)

## Các bước cấu hình trên Google Cloud Console

Bạn thực hiện đăng ký ứng dụng theo quy trình dưới đây:

<Steps>
  <Step title="Khởi tạo dự án mới (Google Cloud Project)">
    * Truy cập vào trang quản trị [Google Cloud Console](https://console.cloud.google.com).
    * Nhấp vào danh sách dự án ở góc trên bên trái màn hình và chọn **New Project**.
    * Đặt tên dự án tương ứng với thương hiệu portal của bạn và nhấn **Create** để khởi tạo.

    <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="Kích hoạt các API cần thiết">
    Truy cập vào mục **APIs & Services > Library** thông qua thanh tìm kiếm hoặc menu điều hướng, tìm kiếm và kích hoạt thư viện sau:

    * **Google Sheets API**: Dùng để đọc và ghi dữ liệu lên bảng tính của khách hàng.

    <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="Khởi động cấu hình Google Auth Platform">
    Chọn mục **Google Auth Platform** ở menu điều hướng bên trái. Tại giao diện **OAuth Overview**, nhấn nút **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="Cấu hình thông tin dự án (Project configuration)">
    Trình cấu hình **Project configuration** xuất hiện, thực hiện điền thông tin qua 4 bước:

    * **App Information**: Nhập tên thương hiệu của bạn tại ô **App name** và chọn **User support email** từ danh sách thả xuống. Nhấn **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**: Cấu hình đối tượng người dùng. Tích chọn **External** để hỗ trợ khách hàng sử dụng tài khoản Google cá nhân bên ngoài tổ chức của bạn. Nhấn **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**: Tại ô **Email addresses**, nhập địa chỉ email liên hệ của bạn để nhận các thông báo thay đổi dự án từ Google. Nhấn **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**: Tích chọn vào ô đồng ý với điều khoản **I agree to the Google API Services: User Data Policy**, sau đó nhấn **Continue** rồi nhấn nút **Create** để lưu cấu hình.

    <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>

    Hệ thống sẽ hiển thị thông báo **OAuth configuration created!** ở cuối màn hình và tự động chuyển hướng bạn quay lại trang tổng quan.
  </Step>

  <Step title="Khởi tạo mã xác thực (OAuth client ID)">
    Để lấy mã **Client ID** và **Client Secret**, bạn di chuyển sang tab **Clients** ở menu bên trái:

    * Nhấp chọn **+ Create client** ở phía trên.
    * Chọn Application type là **Web application**.
    * Tại ô **Name**, đặt tên gợi nhớ cho ứng dụng (ví dụ: `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>

    * Tại mục **Authorized JavaScript origins**, nhấn **+ Add URI** và nhập đường dẫn tên miền portal gốc của bạn (ví dụ: `https://app.yourdomain.com`).
    * Tại mục **Authorized redirect URIs**, nhấn **+ Add URI** hai lần để thêm đầy đủ cả 2 đường dẫn chuyển hướng callback được hệ thống ChatbotX cung cấp:
      * **Auth Callback URL** (Dùng cho Google Sheets):
      ```http theme={null}
      https://app.chatconnectx.com/integrations/google/callback
      ```
      * **Sign-in Callback URL** (Dùng cho tính năng Đăng nhập bằng Google):
      ```http theme={null}
      https://app.chatconnectx.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>

    * Nhấn **Create** ở cuối trang. Hệ thống sẽ hiển thị hộp thoại bật lên **OAuth client created** chứa mã **Client ID** và **Client Secret** của bạn.

    <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>
      **Lưu ý quan trọng:** Hãy sao chép ngay mã **Client ID** và **Client Secret** ở bước này và lưu trữ an toàn. Google sẽ không hiển thị lại mã **Client Secret** sau khi bạn đóng hộp thoại này.
    </Warning>
  </Step>

  <Step title="Kích hoạt ứng dụng (Publish App) & Xác minh (Verification)">
    Chọn mục **Audience** ở menu bên trái:

    * Nhấp chọn **Publish App** để chuyển ứng dụng từ trạng thái thử nghiệm (Testing) sang hoạt động chính thức (In Production). Thao tác này giúp mọi người dùng ngoài danh sách test có thể sử dụng tính năng đăng nhập Google của bạn.

    <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>

    * Khi ứng dụng chuyển sang hoạt động chính thức, Google sẽ yêu cầu bạn thực hiện các bước xác minh tại **Verification Center** (Trung tâm xác minh) ở menu bên trái:
          <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>
      * **Xác minh thông tin thương hiệu (Branding status)**: Google sẽ kiểm tra logo, tên ứng dụng và các liên kết pháp lý (Privacy Policy, Terms of Service) của bạn. Bạn cần bấm **View branding** và hoàn tất các thông tin theo yêu cầu của Google. Nếu không xác minh thương hiệu, khi khách đăng nhập sẽ hiển thị màn hình cảnh báo bảo mật của Google (ví dụ: *"Google hasn't verified this app"*).
      * **Xác minh quyền truy cập dữ liệu (Data access status)**: Kiểm tra trạng thái cấp quyền truy cập dữ liệu nhạy cảm (sensitive scopes) hoặc hạn chế (restricted scopes). Nếu ứng dụng của bạn không yêu cầu quyền nhạy cảm (như Sheets hay Calendar ở mức restricted), trạng thái sẽ hiển thị *"Verification is not required"* (Không yêu cầu xác minh dữ liệu) và bạn có thể sử dụng bình thường mà không cần làm gì thêm ở mục này.
  </Step>
</Steps>

## Thiết lập Verify Token và đồng bộ vào Portal

Để hoàn tất kết nối ứng dụng Google vào portal quản trị, bạn cần chuẩn bị thêm mã xác thực Webhook:

### Webhook Verify Token là gì?

**Webhook Verify Token** là một chuỗi ký tự bảo mật do chính bạn tự tạo ra (chọn một chuỗi ký tự ngẫu nhiên gồm chữ và số có độ dài từ 16 đến 32 ký tự).

Chuỗi ký tự này được sử dụng làm khóa bảo mật để hệ thống xác thực các yêu cầu gửi về từ Google Calendar API. Khi có cập nhật lịch trình, Google sẽ gửi thông báo kèm theo token này trong tiêu đề yêu cầu HTTP (`X-Goog-Channel-Token`), giúp hệ thống đối chiếu và xác nhận yêu cầu thực sự đến từ Google chứ không phải một bên thứ ba giả mạo.

### Nhập cấu hình vào Portal quản trị

<Steps>
  <Step title="Mở cấu hình kết nối">
    Đăng nhập vào Portal quản trị của bạn, truy cập mục **SaaS > Platform Credentials**, chọn cổng kết nối Google và nhấn **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="Nhập thông tin kết nối">
    Điền đầy đủ ba thông số đã chuẩn bị vào biểu mẫu:

    * **Client ID**: Dán mã Client ID nhận được từ Google Cloud.
    * **Client Secret**: Dán mã Client Secret nhận được từ Google Cloud.
    * **Webhook Verify Token**: Nhập chuỗi ký tự bảo mật do bạn tự tạo ở bước trước.
  </Step>

  <Step title="Lưu cấu hình">
    Nhấn **Save** để lưu lại và hoàn tất kích hoạt ứng dụng Google dùng chung cho toàn bộ khách hàng trên portal.
  </Step>
</Steps>
