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

# Asana

> Kết nối Asana bằng OAuth app của riêng bạn để agent xem xét tình trạng dự án, khối lượng công việc và thay đổi task qua Approvals

Kết nối Asana để các agent CloudThinker xem xét công việc đang mở, khoảng trống về người phụ trách và hạn chót của một dự án, xếp hạng những việc bạn cần làm trong tuần, và tạo, cập nhật hoặc xóa task qua phê duyệt của bạn. Kết nối dùng MCP server do Asana lưu trữ (Model Context Protocol, cách chuẩn để agent gọi một công cụ) và đăng nhập bằng **OAuth** thông qua một Asana app do nhóm bạn tạo. Bạn tạo app một lần, sau đó đăng nhập.

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

* Một tài khoản Asana có quyền truy cập vào các dự án và task mà agent cần làm việc.
* Quyền truy cập [Asana developer console](https://app.asana.com/0/my-apps) để tạo app, hoặc **Client ID** và **Client secret** của app từ người đã tạo app.
* Quyền chỉnh sửa kết nối trong workspace CloudThinker của bạn.
* Chưa có kết nối Asana nào trong workspace CloudThinker này. Mỗi workspace CloudThinker chỉ có một kết nối Asana.

> [!NOTE]
>
> MCP server của Asana không cho phép CloudThinker đăng ký app thay bạn, nên mỗi workspace CloudThinker tự mang Asana app của mình. Thiết lập của app quyết định Asana workspace nào được phép ủy quyền cho app.

## Thiết lập

Trên thanh bên, nhấn **More → Workspace settings → Connections**. Ở tab **Builtin Connections**, tìm **Asana** và nhấn **Connect**. Hộp thoại **Connect Asana** có ba phần, tương ứng với các bước dưới đây. Giữ hộp thoại mở cho đến khi hoàn tất.

**1. Sao chép redirect URL**

Trong **Copy the redirect URL**, nhấn nút sao chép bên cạnh URL.

**2. Tạo Asana app**

Trong **Create an Asana app**, nhấn **Open Asana developer console**. Trong Asana, nhấn **Create new app**, đặt tên `CloudThinker`, chọn **MCP app** và tạo app.

Trong app, mở **OAuth**, thêm redirect URL đã sao chép rồi lưu. Sau đó mở **Manage distribution** và chỉ cho phép Asana workspace mà CloudThinker sẽ dùng. Chỉ cho phép tất cả workspace khi không thể dùng một workspace cụ thể.

Quay lại CloudThinker, nhấn **Mark as Configured**.

**Trạng thái thành công:** nút chuyển thành **Configured**.

**3. Nhập thông tin xác thực của app**

Trong **Enter app credentials**, sao chép **Client ID** và **Client secret** từ cài đặt **OAuth** của app trong Asana vào các trường tương ứng, rồi nhấn **Connect**.

Trang đăng nhập Asana mở ra. Đăng nhập, chọn Asana workspace mà CloudThinker sẽ dùng và phê duyệt quyền truy cập.

**Trạng thái thành công:** hộp thoại đóng lại và kết nối Asana hiển thị **Connected**.

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

| Trường | Mô tả |
| - | - |
| **Client ID** | Định danh Asana MCP app bạn đã tạo cho workspace CloudThinker này |
| **Client secret** | Xác thực app đó khi CloudThinker trao đổi và làm mới token. Được lưu mã hóa cùng kết nối và không bao giờ hiển thị lại |
| **OAuth tokens** | Do Asana cấp khi bạn phê duyệt quyền truy cập, sau đó được CloudThinker lưu mã hóa |
| **Selected workspace** | Asana workspace duy nhất bạn chọn khi đăng nhập. Agent chỉ thấy team, dự án, người dùng và task trong workspace đó |

Mỗi lần kết nối qua hộp thoại **Connect Asana**, bạn phải nhập lại Client ID và Client secret và nhấn lại **Mark as Configured**. Hãy lưu chúng trong trình quản lý mật khẩu của nhóm.

## Quyền yêu cầu

Agent hành động dưới danh nghĩa người dùng Asana đã đăng nhập. Agent chỉ truy cập được các dự án và task mà người dùng đó mở được trong workspace đã chọn, và các thay đổi hiển thị trong Asana dưới tên người dùng đó.

| Quyền truy cập | Bao gồm | Phê duyệt |
| - | - | - |
| **Đọc** | Người dùng đã kết nối, thành viên, team, dự án, task, công việc được giao, hạn chót và trạng thái dự án | Chạy mà không cần hỏi |
| **Ghi** | Tạo task, cập nhật task (tên, ghi chú, người phụ trách, hạn chót, hoàn thành), xóa task | Là thao tác ghi, nên [Approvals](https://docs.cloudthinker.io/vi/guide/approvals/overview.md) quyết định |
| **Không khả dụng** | Tạo dự án, thêm bình luận, đăng cập nhật trạng thái dự án | Tắt theo thiết kế, vì Asana không cho phép xóa chúng sau đó |

> [!TIP]
>
> Đăng nhập bằng một người dùng Asana có quyền truy cập khớp với các dự án CloudThinker cần. Agent không bao giờ thấy được dự án mà người dùng đó không mở được.

## Khả năng của agent

| Khả năng | Agent có thể làm gì |
| - | - |
| **Khám phá workspace** | Xác định người dùng đã kết nối, các team, dự án hiển thị và task được giao |
| **Tình trạng dự án** | Xem xét công việc đang mở, task chưa có người phụ trách và áp lực hạn chót của một dự án |
| **Xem xét khối lượng công việc** | Phân loại task của người dùng đã kết nối thành quá hạn, sắp tới và chưa có hạn |
| **Điều tra task** | Đọc dự án, người phụ trách, ngày, ghi chú và trạng thái hoàn thành của một task |
| **Xem xét trạng thái** | So sánh trạng thái dự án Asana giữa các dự án khớp với một tên hoặc từ khóa |
| **Thay đổi task** | Tạo, đổi tên, giao lại, đổi lịch, hoàn thành hoặc xóa từng task một |

Trước mỗi lần cập nhật hoặc xóa, agent đọc task và báo cáo các giá trị trước đó. Để hoàn tác một cập nhật, hãy yêu cầu agent đặt lại các giá trị đó.

> [!WARNING]
>
> Xóa một task Asana là vĩnh viễn. Thao tác này cũng xóa các subtask của task, trừ khi subtask thuộc dự án khác. Agent hiển thị bản ghi task trước khi bạn phê duyệt, và bản ghi đó là bản sao duy nhất còn lại sau khi xóa.

Hạn chót trong Asana là ngày theo lịch. "Quá hạn" được tính theo UTC trừ khi bạn nêu múi giờ, ví dụ "in Asia/Ho\_Chi\_Minh time".

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

```text theme={null}
Discover my Asana workspace and summarize the visible teams, projects, and tasks assigned to me
```

Kết nối hoạt động sẽ nêu tên các team và dự án thực của bạn. Lỗi ủy quyền nghĩa là app không được phép trong workspace đó hoặc phiên đăng nhập đã hết hạn.

### Ví dụ prompt

```text theme={null}
Review the Mobile app launch project in Asana and flag overdue or unassigned tasks
Rank the Asana tasks assigned to me that need attention this week, in America/New_York time
Which Asana projects matching "Q4" have a status of off track or at risk?
Create a task named "Prepare launch checklist" in the Mobile app launch project, due 2026-11-15
Reassign the task "Update DNS records" to Priya and move its due date to Friday
```

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

> **CloudThinker từ chối thông tin xác thực của app**
>
> Sao chép lại **Client ID** và **Client secret** từ cùng Asana app. Kiểm tra không có khoảng trắng bị thêm khi sao chép, rồi thử lại.

> **Asana báo redirect URL không khớp**
>
> Redirect URL trong Asana app không khớp với của CloudThinker. Sao chép lại toàn bộ URL từ **Copy the redirect URL** trong hộp thoại, dán vào cài đặt **OAuth** của app và lưu. Sau đó nhấn **Mark as Configured** và thử lại.

> **Asana báo app không khả dụng**
>
> App không được phép trong workspace bạn đã chọn. Mở **Manage distribution** của app và cho phép workspace đó, hoặc tất cả workspace. Cài đặt workspace cụ thể mà không chọn workspace nào sẽ chặn mọi lần đăng nhập.

> **Thiếu dự án hoặc task bạn mong đợi**
>
> Người dùng đã đăng nhập có thể không có quyền truy cập, hoặc bạn đã chọn Asana workspace khác khi đăng nhập. Xác nhận người dùng đó mở được dự án trong Asana, hoặc ngắt kết nối và kết nối lại với đúng workspace.

> **Không tìm thấy task**
>
> Task có thể đã bị xóa, bị ẩn với người dùng đã đăng nhập, hoặc nằm trong workspace khác. Yêu cầu agent khám phá lại workspace và tìm task theo tên.

> **Yêu cầu thất bại với 401 Unauthorized**
>
> Phiên đăng nhập Asana đã hết hạn hoặc bị thu hồi. Mở Asana trong **More → Workspace settings → Connections** và nhấn **Connect**, rồi nhập lại thông tin xác thực của app.

> **Thay đổi task bị kẹt ở trạng thái chờ**
>
> Thao tác ghi đang chờ một người phê duyệt. Tìm thẻ phê duyệt trong chat và nhấn **Approve**, hoặc **Notify approvers** nếu bạn không thể tự phê duyệt.

> **Asana báo giới hạn tần suất hoặc lỗi tạm thời**
>
> Với giới hạn tần suất (429), đợi khoảng thời gian Asana yêu cầu rồi thử lại. Giới hạn phụ thuộc vào gói Asana của bạn: xem [giới hạn tần suất của Asana](https://developers.asana.com/docs/rate-limits). Với lỗi máy chủ, thử lại một lần. Nếu lỗi lặp lại, vấn đề nằm ở phía Asana.

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

- **Coi Client secret như mật khẩu.** Không đưa vào source control và chat. CloudThinker lưu Client secret ở dạng mã hóa cùng kết nối.
- **Giới hạn phạm vi phân phối của app.** Chỉ cho phép Asana workspace mà CloudThinker cần, thay vì tất cả workspace.
- **Chọn người dùng đăng nhập có chủ đích.** Mọi thao tác đọc và ghi chạy với quyền Asana của người dùng đó. Khi họ rời đi, hãy kết nối lại bằng tài khoản khác.

## Liên quan

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

> **[Kết nối ClickUp](https://docs.cloudthinker.io/vi/guide/connections/clickup.md)**
>
> Kết nối ClickUp để phân loại danh sách, xem khối lượng công việc và thay đổi task


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