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

# Netlify

> Kết nối Netlify để CloudThinker có thể kiểm tra tình trạng deploy, rà soát form và kiểm kê project, với mọi thay đổi đều qua Approvals của bạn

Kết nối Netlify để các agent CloudThinker có thể liệt kê team và project, tìm các deploy thất bại hoặc cũ, rà soát Netlify Forms và đọc extension, cũng như khởi chạy deploy hoặc thay đổi cài đặt project thông qua [Approvals](https://docs.cloudthinker.io/vi/guide/approvals/overview.md) của bạn. Kết nối dùng một **personal access token** Netlify, có cùng quyền truy cập với người dùng đã tạo token. Netlify hiện gọi site là **project**, nên trang này cũng vậy.

***

## Điều kiện tiên quyết

* Một tài khoản Netlify thuộc các team bạn muốn điều tra.
* Quyền truy cập user settings Netlify của tài khoản đó, để tạo token.
* Một workspace CloudThinker nơi bạn có thể thêm kết nối.

***

## Thiết lập

**1. Tạo personal access token trong Netlify**

Trong Netlify, vào **User settings → Applications → Personal access tokens** ([liên kết trực tiếp](https://app.netlify.com/user/applications#personal-access-tokens)). Tạo token:

* **Description**: `cloudthinker`
* **Expiration**: một thời hạn cố định, chẳng hạn 90 ngày, thay vì không hết hạn. Đặt lịch nhắc xoay vòng token.

Sao chép token ngay. Netlify chỉ hiển thị token một lần.

**2. Thêm kết nối trong CloudThinker**

Trên thanh bên, nhấn **More → Workspace settings → Connections**. Ở tab **Builtin Connections**, tìm **Netlify**, dán token vào **Personal access token** và nhấn **Connect**. CloudThinker kiểm tra token với Netlify trước khi lưu kết nối.

**Trạng thái thành công:** thẻ Netlify hiển thị **Connected** với thông báo `Netlify account verified. Sites: <count>.` Netlify đã đổi tên site thành project, nên con số này là số project của bạn.

**3. Chạy prompt xác minh (tùy chọn)**

Chạy [prompt xác minh](#xác-minh-kết-nối) trong một chat mới.

**Trạng thái thành công:** CloudThinker liệt kê team và project của bạn cùng trạng thái deploy hiện tại của từng project.

***

## Chi tiết kết nối

| Trường | Mô tả |
| - | - |
| **Personal access token** | Personal access token của Netlify. Token truy cập mọi team mà người dùng của nó thuộc về. |

***

## Quyền yêu cầu

Token Netlify không có scope. Token có thể làm mọi thứ người dùng của nó làm được, trong mọi team người dùng đó thuộc về. Quyền tối thiểu phụ thuộc vào tài khoản bạn dùng để tạo token.

| Agent có thể | Cần |
| - | - |
| Đọc team, project, deploy, form và extension | Một người dùng thuộc các team đó |
| Khởi chạy deploy, tạo project, thay đổi cài đặt, form submission, biến môi trường hoặc extension | Một người dùng có team role cho phép, và được Approvals trong CloudThinker thông qua |

> [!TIP]
>
> Tạo token từ một người dùng Netlify riêng chỉ thuộc các team CloudThinker cần, với team role thấp nhất có thể đọc project và deploy. Tránh dùng tài khoản Owner.

***

## Khả năng của agent

| Khả năng | CloudThinker làm gì | Được Approvals kiểm tra |
| - | - | - |
| **Tài khoản và team** | Đọc người dùng đã đăng nhập, liệt kê team và kiểm tra một team | Không |
| **Project** | Liệt kê project và đọc cài đặt, URL và deploy hiện tại của một project | Không |
| **Tình trạng deploy** | Tìm các deploy thất bại, cũ và không khỏe, và cho biết deploy nào đang chạy trên production | Không |
| **Form** | Liệt kê form trên từng project và dữ liệu chúng thu thập | Không |
| **Extension** | Liệt kê extension và đọc chi tiết của chúng | Không |
| **Deploy** | Khởi chạy một deploy | Có |
| **Project mới** | Tạo một project | Có |
| **Cài đặt project** | Thay đổi cài đặt của một project | Có |
| **Form submission** | Quản lý submission của một form. Thao tác này có thể thay đổi hoặc xóa dữ liệu submission. | Có |
| **Biến môi trường** | Đặt hoặc thay đổi biến môi trường của một project. Thao tác này có thể ghi đè một secret. | Có |
| **Trạng thái extension** | Thay đổi trạng thái của một extension | Có |

Mọi lệnh gọi Netlify không phải thao tác đọc đều đi qua Approvals.

Mọi thay đổi do agent thực hiện đều đi qua [Approvals](https://docs.cloudthinker.io/vi/guide/approvals/overview.md) của workspace trước. Ở chế độ mặc định **Auto · Rules + AI · Ask me**, AI judgment có thể cho một thay đổi an toàn chạy mà không cần hỏi. Allow Rule cũng vậy, sau khi CloudThinker bật [Rule enforcement](https://docs.cloudthinker.io/vi/guide/approvals/rules.md#khắc-phục-sự-cố) cho workspace của bạn. Chọn **Manual** nếu bạn muốn tự phê duyệt mọi thay đổi.

Khi một người phê duyệt, CloudThinker nêu rõ tác động và các đầu vào chính xác trước. Hãy đọc kỹ với form submission và biến môi trường, vì những thay đổi đó có thể làm mất dữ liệu.

### Xác minh kết nối

```text theme={null}
Check my Netlify connection: list my teams and projects with each project's current deploy state
```

### Ví dụ prompt

```text theme={null}
Which Netlify projects have a failed or stale production deploy, and what should I fix first?
Audit Netlify Forms across my projects and tell me which ones collect submissions
Show the build settings and current deploy for my marketing site on Netlify
```

***

## Khắc phục sự cố

> **Netlify personal access token is invalid or expired.**
>
> Netlify đã từ chối token khi CloudThinker lưu kết nối. Tạo token mới trong **User settings → Applications → Personal access tokens** và kết nối lại.

> **Failed to get Netlify token (trong lượt chạy của agent)**
>
> Kết nối không còn giữ token hoạt động, ví dụ vì token đã hết hạn. Tạo token mới, rồi mở kết nối, nhấn biểu tượng chỉnh sửa trên instance, nhấn **Replace…** trong **Edit Instance**, dán token và nhấn **Save and test**. Xem [Xoay vòng thông tin xác thực](https://docs.cloudthinker.io/vi/guide/connections/overview.md#xoay-vòng-thông-tin-xác-thực).

> **404 cho một project hoặc deploy**
>
> ID sai, hoặc người dùng của token không thấy project đó. Hãy yêu cầu CloudThinker liệt kê project trước. Nếu thiếu project, thêm người dùng vào team sở hữu nó, hoặc tạo token từ người dùng đã thuộc team đó.

> **Netlify API rate limit reached. Retry later.**
>
> Netlify đã giới hạn tốc độ các yêu cầu. Đợi vài phút, rồi hỏi về từng team hoặc project một để mỗi lượt chạy thực hiện ít lệnh gọi hơn.

> **Một thay đổi đã được yêu cầu nhưng không bao giờ chạy**
>
> Thay đổi đi qua Approvals của bạn. Nếu một người đã từ chối, CloudThinker sẽ không thử lại. Hãy yêu cầu lại khi bạn muốn thay đổi đó chạy.

***

## Bảo mật

* **Quyền tối thiểu** — chỉ cấp các quyền mà agent cần cho trường hợp sử dụng của bạn; bắt đầu với quyền chỉ đọc và mở rộng sau.
* **Chỉ đọc theo mặc định** — sử dụng thông tin xác thực chỉ đọc trừ khi bạn muốn agent thực hiện thay đổi qua kết nối này.
* **Xoay vòng thông tin xác thực** — xoay vòng khóa và token theo lịch trình thông thường của bạn; CloudThinker sẽ lấy giá trị mới khi bạn cập nhật kết nối.
* **Thu hồi khi bàn giao** — xóa thông tin xác thực tại nhà cung cấp khi bạn xóa một kết nối hoặc khi đồng nghiệp rời nhóm.

- **Lên kế hoạch xoay vòng**: token Netlify không tự xoay vòng. Đặt thời hạn khi tạo token và thay thế trước ngày đó.
- **Xem xét thay đổi biến môi trường**: phê duyệt một thay đổi có thể làm lộ hoặc ghi đè một secret. Đọc tên và giá trị biến trước khi phê duyệt.
- **Coi dữ liệu form là nhạy cảm**: form submission thường chứa dữ liệu cá nhân, nên hãy đối xử với những gì agent báo cáo về chúng theo cùng cách.

***

## Liên quan

> **[Kết nối Vercel](https://docs.cloudthinker.io/vi/guide/connections/vercel.md)**
>
> Thiết lập tương tự cho project và deployment trên Vercel

> **[Approvals](https://docs.cloudthinker.io/vi/guide/approvals/overview.md)**
>
> Quyết định thay đổi nào tự chạy và thay đổi nào chờ bạn


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.