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

# Condition

> Hướng dẫn dùng Condition trong Flow ChatbotX để kiểm tra dữ liệu liên hệ và đưa khách hàng vào nhánh kịch bản phù hợp.

**Condition** là node dùng để kiểm tra dữ liệu của liên hệ và đưa họ vào nhánh Flow phù hợp. Bạn dùng node này khi cần gửi nội dung khác nhau theo Tag, kênh nhắn tin, lịch sử mua hàng, thời gian tương tác hoặc thông tin trong Custom Field.

Ví dụ: khách đã mua hàng nhận hướng dẫn sử dụng, còn khách chưa mua nhận mã ưu đãi. Nhờ đó, mỗi khách chỉ nhận nội dung phù hợp với trạng thái của mình.

## Cách thêm node Condition

Trong Flow Builder, bạn có thể thêm Condition từ menu tạo node hoặc kéo từ cổng kết nối của một node có sẵn.

<Steps>
  <Step title="Mở menu thêm node">
    Nhấn nút **+** trên thanh công cụ phía dưới canvas hoặc kéo từ cổng đầu ra của node trước đó.
  </Step>

  <Step title="Chọn Condition">
    Trong danh sách node, chọn **Condition**. Node Condition xuất hiện trên canvas, bấm vào đây để mở bảng cài đặt ở bên trái.

    <Frame>
      <img src="https://mintcdn.com/chatbotx/6GGr6U4hpPHC7BHN/images/flow_builder_add_condition_node.png?fit=max&auto=format&n=6GGr6U4hpPHC7BHN&q=85&s=a3d5e05199476cc947c0da1124bfbf48" alt="Flow Builder Add Condition Node" width="3186" height="1898" data-path="images/flow_builder_add_condition_node.png" />
    </Frame>
  </Step>

  <Step title="Thêm điều kiện kiểm tra">
    Nhấn **+ Add Condition**, chọn trường dữ liệu, toán tử so sánh và giá trị cần kiểm tra. Nhấn **Save** để lưu điều kiện.

    <Frame>
      <img src="https://mintcdn.com/chatbotx/6GGr6U4hpPHC7BHN/images/flow_builder_condition_setup.png?fit=max&auto=format&n=6GGr6U4hpPHC7BHN&q=85&s=a979892b8b03c7376fb5b6c21b36c207" alt="Flow Builder Condition Setup" width="3180" height="1893" data-path="images/flow_builder_condition_setup.png" />
    </Frame>
  </Step>
</Steps>

## Thiết lập nhánh điều kiện

Mỗi node Condition có thể chứa nhiều **Case**. Mỗi Case là một nhánh riêng để bạn nối với node tiếp theo, chẳng hạn **Send Message**, **Perform Action** hoặc một Flow khác.

Trong từng Case, chọn một trong hai cách kiểm tra:

| Tùy chọn                              | Cách hoạt động                                             | Khi nên dùng                                                             |
| ------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------ |
| **Match all the conditions below**    | Liên hệ phải thỏa mãn tất cả điều kiện trong Case.         | Chỉ gửi ưu đãi cho khách ở Việt Nam **và** có Tag `VIP`.                 |
| **Match one of the conditions below** | Liên hệ chỉ cần thỏa mãn ít nhất một điều kiện trong Case. | Gửi tin nhắn cho khách đã đánh dấu Follow Up **hoặc** chưa đọc tin nhắn. |

Nhấn **+ Add Condition** để thêm điều kiện vào Case. Nhấn **+ Check New Condition** để tạo Case mới. Node cũng có cổng cho liên hệ không khớp bất kỳ Case nào, giúp bạn tạo nhánh dự phòng thay vì để Flow dừng lại.

> **Lưu ý:** Nếu các Case có điều kiện chồng lấp, một liên hệ có thể phù hợp với nhiều Case. Hãy thiết kế điều kiện rõ ràng khi mỗi khách chỉ nên đi qua một nhánh.

## Dữ liệu có thể kiểm tra

Khi thêm điều kiện, bạn chọn trường dữ liệu ở ô đầu tiên, toán tử ở ô thứ hai và giá trị cần so sánh ở ô cuối. Toán tử thay đổi theo loại dữ liệu. Ví dụ, trường văn bản có **Contains** hoặc **Starts with**, trường số có **Greater than** hoặc **Interval**, còn trường ngày giờ có khoảng thời gian hoặc mốc ngày cụ thể.

| Nhóm dữ liệu                 | Một số điều kiện có thể dùng                                                                                               |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **Liên hệ**                  | Language, Full name, Country, Gender, Source, Current channel, Tags, Follow Up, Archived, Blocked và Contact created date. |
| **Hội thoại và tương tác**   | Last sent, Last delivered, Last seen, Last interaction, Unreplied, Unread, Sent message và Conversation assigned.          |
| **Cơ hội bán hàng**          | Has opportunity, Has open opportunity, Has won opportunity và Has lost opportunity.                                        |
| **Kênh và chiến dịch**       | Điều kiện Instagram, Facebook/Instagram Comment, SMS, Email, Broadcast, Sequence, Flow đã chạy và Entry Point Link.        |
| **Thời gian và thương mại**  | Giờ làm việc, ngày hoặc giờ hiện tại, lịch sử mua hàng, sản phẩm đã mua, tổng chi tiêu, số đơn hàng và giỏ hàng.           |
| **Trường dữ liệu tùy chỉnh** | Các **Custom Field** dạng Short text, Number, Long text, JSON và Date/Date time.                                           |

Bạn có thể tham khảo bài [Custom Fields](/docs/vi/automation/custom-fields) để tạo trường dữ liệu riêng cho nhu cầu phân nhánh của doanh nghiệp.

## Ví dụ: phân loại khách để chăm sóc

Một cửa hàng muốn xử lý khách theo hai nhóm sau khi họ nhắn tin:

* Khách có ngôn ngữ là Arabic nhận tin nhắn bằng tiếng Arabic.
* Khách cần Follow Up hoặc đã được Archived được chuyển vào nhánh chăm sóc riêng.
* Các khách còn lại nhận tin nhắn mặc định.

Trong node Condition, tạo hai Case:

1. Case 1: chọn **Language** → **Is** → `Arabic`.
2. Case 2: chọn **Match one of the conditions below**, sau đó thêm **Follow Up** → **Is** → `Yes` và **Archived** → **Is** → `Yes`.

Nối cổng đầu ra của từng Case đến node **Send Message** tương ứng. Nối cổng không khớp đến tin nhắn mặc định để mọi khách đều có bước tiếp theo trong Flow.

<Frame>
  <img src="https://mintcdn.com/chatbotx/bq3G2M4f_hxOvYdd/images/flow_builder_condition_example.png?fit=max&auto=format&n=bq3G2M4f_hxOvYdd&q=85&s=562dffc9294f3860afb41b1e5c04e459" alt="Flow Builder Condition Example" width="3176" height="1888" data-path="images/flow_builder_condition_example.png" />
</Frame>

## Mẹo thiết kế Condition

* Kiểm tra ít điều kiện nhất cần thiết để Flow dễ đọc và dễ bảo trì.
* Dùng **Match all the conditions below** khi cần lọc một nhóm khách cụ thể, ví dụ khách có Tag `VIP` và tổng chi tiêu lớn hơn `5.000.000`.
* Thêm nhánh không khớp để khách không bị dừng giữa Flow.
* Đặt tên và sắp xếp các node tiếp theo theo mục đích, ví dụ `Ưu đãi VIP` hoặc `Chăm sóc cần Follow Up`, để đội ngũ dễ kiểm tra kịch bản.
