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

# Luật tự động (Automation rules)

> Tự động hoá tác vụ bằng Automation rules.

Automation rules là cơ chế tự động hoá các thao tác lặp lại theo điều kiện. Mục tiêu là giảm thao tác tay và đảm bảo dữ liệu nhất quán khi app vận hành.

Automation phù hợp cho “luật nhỏ” và hoạt động nền. Khi quy trình có checkpoint phê duyệt/đổi trạng thái theo vai trò, ưu tiên [Thiết kế quy trình (Process Builder)](/build-apps/workflows/process-builder) và [Phê duyệt (Approvals)](/build-apps/workflows/approvals).

***

## Dùng khi nào?

* Tự set giá trị mặc định khi tạo record (Status = Draft, Created at…)
* Tự cập nhật field khi điều kiện thay đổi (ví dụ Overdue = true)
* Tự gửi thông báo khi tới hạn hoặc khi đổi trạng thái
* Tự tạo record liên quan (tuỳ bài toán)
* Tự đồng bộ field phục vụ View/Dashboard

***

## Khung tư duy Trigger → Condition → Action

### Trigger (kích hoạt)

* Khi record được tạo
* Khi field thay đổi
* Khi trạng thái chuyển bước (từ workflow)

### Condition (điều kiện)

* Status = Approved
* **Need-by date \< Today**
* Total cost > ngưỡng

### Action (hành động)

* Cập nhật field
* Tạo record
* Gửi thông báo
* Gọi webhook/API (khi tích hợp)

Liên quan: [Webhook portal (cổng webhook)](/build-apps/integrations/webhook-portal)

***

## Quy tắc thiết kế Automation (decision rules)

### 1) Automation không thay thế quy trình

Automation giúp tự động hoá thao tác; “đường chạy” của quy trình vẫn nên được thiết kế bằng Process Builder nếu có nhiều bước và nhiều vai trò.

### 2) Tránh vòng lặp và side effects

* Tránh rule A cập nhật field X làm kích hoạt rule B cập nhật lại X
* Tách rule theo mục tiêu rõ ràng và kiểm thử bằng dữ liệu mẫu

### 3) Ưu tiên dùng field tính toán khi phù hợp

Nếu mục tiêu là “hiển thị/đo lường”, cân nhắc:

* [Công thức (Formula)](/build-apps/data-modeling/formula)
* [Tổng hợp (Rollup)](/build-apps/data-modeling/rollup)
* [Tra cứu (Lookup)](/build-apps/data-modeling/lookup)

Automation nên dành cho hành động “gây thay đổi trạng thái/field” hoặc “tương tác bên ngoài”.

***

## Ví dụ nhanh

### Ví dụ 1 — Đánh dấu quá hạn

* Trigger: khi Need-by date hoặc Status thay đổi
* Condition: **Need-by date \< Today** AND **Status** chưa Closed
* Action: set field `Overdue` = true

### Ví dụ 2 — Tự set người xử lý

* Trigger: khi Status chuyển sang Approved
* Condition: loại yêu cầu = “Mua sắm”
* Action: set `Assignee` = người phụ trách procurement (tuỳ quy tắc tổ chức)

### Ví dụ 3 — Thông báo cho approver

* Trigger: khi record chuyển sang Pending approval
* Action: gửi thông báo tới Approver

***

## Checklist triển khai nhanh

* [ ] Trigger rõ ràng, tránh kích hoạt quá thường xuyên
* [ ] Condition có thể kiểm chứng bằng dữ liệu
* [ ] Action không tạo vòng lặp
* [ ] Kiểm thử với 5–10 record mẫu trước khi áp dụng rộng
