# Tự động hoá việc lặp lại bằng chu trình

Chạy một chuỗi việc khi có sự kiện trong hội thoại, như đơn đã thanh toán, khách đánh giá thấp hay khách chờ quá lâu.

Chu trình tự chạy khi có chuyện xảy ra trong hội thoại: cảm ơn khách khi đơn đã thanh toán, nhắc nhẹ khi đơn vẫn chưa thanh toán sau hai giờ, báo ngay cho đúng người khi khách chấm một sao, hay chuyển khách đang chờ sang người khác. Luồng nói chuyện với khách từng bước; chu trình phản ứng với sự kiện ở phía sau.

## Bắt đầu từ mẫu

Vào **Hỗ trợ khách hàng → Tự động hoá** và bấm **Chu trình**. Ở phần mẫu có:

| Mẫu | Làm gì |
|---|---|
| **Cảm ơn khi khách thanh toán** | Cảm ơn khách khi đơn đã thanh toán, ba ngày sau hỏi khách đã nhận hàng chưa |
| **Nhắc đơn chưa thanh toán** | Hai giờ sau khi có đơn chưa thanh toán, AI viết một tin nhắc nhẹ nhàng |
| **Khách chờ lâu thì chuyển người khác** | Khách chờ 10 phút chưa ai trả lời thì chạy lại quy tắc phân phối |
| **Đánh giá thấp thì báo ngay** | Khách chấm dưới 3 sao thì gắn thẻ và để lại ghi chú cho người phụ trách |
| **Khách để lại thông tin từ popup** | Có khách tiềm năng từ biểu mẫu chiến dịch thì gắn thẻ, gửi chuyển đổi và giao người phụ trách |
| **Xin đánh giá sau khi xử lý xong** | Một giờ sau khi hội thoại xử lý xong, cảm ơn khách và mời để lại đánh giá |

Bấm **Cài đặt**. Mẫu được cài ở trạng thái tắt để bạn sửa lời nhắn, sau đó bấm **Bật** trong danh sách.

![Trang Chu trình với ba chu trình và các mẫu](https://hatang.dev/help/img/vi/automation/workflows.webp)

## Tạo một chu trình

1. Ở **Hỗ trợ khách hàng → Tự động hoá → Chu trình**, bấm **Chu trình mới**.
2. Nhập **Tên**, chọn **Website** và đánh dấu **Đang bật**.
3. Ở **Khi nào chạy**, chọn **Sự kiện** (xem bên dưới).
4. Không bắt buộc: ở **Chỉ chạy khi**, bấm **Thêm điều kiện** để chỉ chạy cho một số hội thoại, và chọn **tất cả điều kiện đúng** hay **một điều kiện bất kỳ đúng**.
5. Ở **Các bước**, chọn loại bước rồi bấm **Thêm bước**. Lặp lại. Một chu trình có tối đa 30 bước.
6. Bấm **Lưu**.

![Chu trình gắn thẻ hội thoại bị chấm dưới 3 sao, báo người phụ trách và mở lại hội thoại](https://hatang.dev/help/img/vi/automation/workflow-editor.webp)

### Sự kiện

| **Sự kiện** | Chạy khi |
|---|---|
| **Khách bắt đầu hội thoại** | Có hội thoại mới |
| **Hội thoại được xử lý xong** | Có người (hoặc tự động hoá) đánh dấu xử lý xong |
| **AI chuyển cho nhân viên** | Trợ lý AI chuyển hội thoại cho đội ngũ |
| **Hội thoại được giao cho người** | Hội thoại được giao cho ai đó |
| **Hội thoại được gắn thẻ** | Có thẻ mới; **Chỉ khi gắn thẻ (để trống: thẻ bất kỳ)** giới hạn ở một thẻ |
| **Khách đánh giá** | Khách gửi đánh giá hài lòng |
| **Có đơn mới** / **Đơn đã thanh toán** | Đơn hàng gắn với hội thoại được tạo hoặc được thanh toán |
| **Khách để lại thông tin (popup)** | Khách gửi biểu mẫu của một [chiến dịch](https://hatang.dev/vi/help/automation/campaigns) |
| **Khách chờ chưa được trả lời** | Tin nhắn cuối của khách chưa được trả lời sau **Chờ quá (phút)**, mặc định 10 |
| **Đơn chưa thanh toán sau một thời gian** | Đơn gắn với hội thoại vẫn chưa thanh toán sau **Chưa thanh toán sau (phút)**, mặc định 120 |

Hai sự kiện theo thời gian được kiểm tra mỗi phút. Khi bạn bật một chu trình loại này, nó chỉ xét các hội thoại và đơn hàng đến hạn trong vòng một giờ trước đó, không quét lại toàn bộ lịch sử.

### Điều kiện

Một điều kiện so sánh **Trường** với **Giá trị** bằng một **Phép so sánh** (là, không phải, chứa, lớn hơn, nhỏ hơn, có giá trị, trống). Các trường: **Kênh**, **Trạng thái hội thoại**, **Thẻ**, **Người phụ trách** (`bot`, `human` hoặc `none`), **Giờ làm việc** (`within` hoặc `outside`), **Có số điện thoại**, **Có email**, **Nguồn (utm_source / ref)**, **Số sao đánh giá**, **Giá trị đơn**, **Trạng thái đơn**, và các trường khách hàng của bạn.

### Các bước

| Bước | Tác dụng |
|---|---|
| **Nhắn khách** | Gửi một tin nhắn trong hội thoại |
| **AI viết tin nhắn** | AI viết tin nhắn dựa trên hội thoại, theo **AI cần viết gì**. Nếu AI không chạy được (hết ngân sách, lỗi), **Câu dự phòng (khi AI không chạy được)** được gửi. Tính vào ngân sách AI. |
| **Gửi email cho khách** | Gửi email nếu khách có địa chỉ email; không có thì bỏ qua |
| **Gửi ZNS** | Gửi một mẫu Zalo ZNS tới số điện thoại của khách; không có số thì bỏ qua. Xem [Zalo ZNS](https://hatang.dev/vi/help/automation/zns). |
| **Gắn / bỏ thẻ** | Đổi thẻ của hội thoại |
| **Giao hội thoại** | Giao cho một nhân viên, hoặc **Theo quy tắc phân phối** |
| **Báo cho người** | Thêm người vào hội thoại kèm ghi chú nội bộ; không chọn ai thì báo người đang phụ trách |
| **Tạo nhắc việc** | Tạo nhắc việc về hội thoại sau số phút bạn đặt, cho một người hoặc người phụ trách |
| **Đổi trạng thái** | Đang mở, đang chờ hoặc đã xử lý |
| **Gửi chuyển đổi (GA4/Meta)** | Gửi chuyển đổi khách tiềm năng hoặc mua hàng, khi website đã bật theo dõi chuyển đổi |
| **Gửi sự kiện webhook** | Gửi một sự kiện tới webhook của bạn. Xem [Webhook](https://hatang.dev/vi/help/integrations/webhooks). |
| **Chờ** | Chờ tối đa 43.200 phút (30 ngày) trước bước kế tiếp |
| **Điều kiện** | Chỉ chạy tiếp nếu các điều kiện vẫn đúng; nếu không thì dừng |

Tin nhắn dùng được `{{name}}`, `{{phone}}`, `{{email}}`, `{{order_code}}`, `{{order_total}}`, `{{rating}}` và `{{site}}`.

## Theo dõi các lượt chạy

Mở một chu trình để xem **Lượt chạy gần đây**: lúc nào, hội thoại nào, trạng thái (**Đang chạy**, **Đang chờ**, **Xong**, **Đã dừng**, **Lỗi**) và **Đã làm** gì ở từng bước. Bấm **Dừng** để huỷ một lượt đang chờ, hoặc **Chạy lại** để chạy lại cho hội thoại đó.

Các quy tắc an toàn:

- Mỗi chu trình chạy nhiều nhất một lần cho mỗi sự kiện.
- Nếu cùng một chu trình bắt đầu năm lần trong một hội thoại trong vòng mười phút, Hạ Tầng coi đó là vòng lặp và bỏ qua các lần tiếp theo.
- Tắt một chu trình sẽ dừng các lượt đang chạy ở bước kế tiếp.

> [!WARNING]
> **Gửi ZNS** và **Gửi email cho khách** liên hệ khách bên ngoài khung chat, và Zalo tính phí từng tin ZNS. Hãy thử chu trình mới với điều kiện chỉ khớp hội thoại thử của chính bạn trước khi mở cho mọi khách.
