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

# Custom Fields

> Hướng dẫn tạo và sử dụng Custom Fields trong ChatbotX để lưu trữ và cá nhân hóa dữ liệu khách hàng.

**Custom Fields (Biến tùy chỉnh)** trong ChatbotX là các biến được sử dụng để lưu trữ thông tin cá nhân hóa của từng khách hàng. Khác với *System Fields* (Biến hệ thống) mặc định thu thập các thông tin cơ bản (như tên, giới tính, vị trí), *Custom Fields* do chính bạn định nghĩa để thu thập các dữ liệu đặc thù cho doanh nghiệp của bạn, ví dụ như: Sở thích, hạng thành viên, mã giảm giá, hoặc ghi chú tư vấn.

ChatbotX hỗ trợ lưu trữ lượng lớn dữ liệu với nhiều định dạng khác nhau, giúp bạn dễ dàng phân loại khách hàng, đồng bộ với hệ thống CRM hoặc cung cấp ngữ cảnh (context) chi tiết cho AI Agent.

## 1. Các định dạng dữ liệu (Data Types)

Khi tạo một Custom Field, bạn cần xác định loại dữ liệu mà biến đó sẽ lưu trữ để đảm bảo tính chính xác cho các điều kiện logic hoặc khi AI xử lý:

* **Short Text:** Đoạn văn bản ngắn. Thường dùng để lưu các thông tin như chức danh, mã voucher, hoặc một câu trả lời ngắn.
* **Long Text:** Đoạn văn bản dài, có hỗ trợ xuống dòng. Thích hợp để lưu trữ các ghi chú chi tiết, phản hồi của khách hàng, hoặc dùng làm ngữ cảnh (prompt) cho AI.
* **Number:** Dữ liệu dạng số. Dùng để lưu trữ số lượng, mức điểm tích lũy, hoặc giá trị.
* **Date:** Định dạng ngày tháng (Ngày/Tháng/Năm). Thường dùng cho ngày sinh, ngày kỷ niệm.
* **Datetime:** Định dạng bao gồm cả ngày, tháng, năm và giờ, phút. Hữu ích cho việc theo dõi thời gian cụ thể như lịch hẹn hoặc thời điểm hết hạn.
* **Boolean:** Giá trị logic (Đúng/Sai hoặc True/False). Dùng để đánh dấu các trạng thái như `Đã mua hàng`, `Đang quan tâm`, hoặc `Đã đăng ký`.

## 2. Các vị trí tạo và quản lý Custom Fields

ChatbotX cung cấp thao tác khởi tạo Custom Field linh hoạt ở hai khu vực chính, đáp ứng nhu cầu cấu hình trước hoặc xử lý trực tiếp trong quá trình làm việc.

### Vị trí 1: Bảng điều khiển Quản lý (Flows -> Custom Fields)

Đây là khu vực quản lý tập trung, nơi bạn có thể hệ thống hóa và sắp xếp các biến dữ liệu trước khi xây dựng kịch bản chatbot.

1. Truy cập menu **Flows** trên thanh điều hướng bên trái.
2. Chọn tab **Custom Fields** (nằm cạnh tab Tags).
3. Nhấn nút **+ Create Custom Field** màu xanh ở góc phải.
   <Frame>
     <img src="https://mintcdn.com/chatbotx/6419eoAF_uo2OCBi/images/image-152.png?fit=max&auto=format&n=6419eoAF_uo2OCBi&q=85&s=60ef0dd77f8ee58a051cba1544ba841f" alt="flows_custom_fields_dashboard" width="3014" height="1815" data-path="images/image-152.png" />
   </Frame>
4. Điền **Tên biến (Name)** và chọn **Loại dữ liệu (Type)** từ danh sách thả xuống.
   <Frame>
     <img src="https://mintcdn.com/chatbotx/6419eoAF_uo2OCBi/images/image-153.png?fit=max&auto=format&n=6419eoAF_uo2OCBi&q=85&s=01bf8dac8a5ab5c486a006731b12440a" alt="Image" width="2422" height="1416" data-path="images/image-153.png" />
   </Frame>

*Lưu ý: Tại trang quản lý này, bạn có thể sử dụng tính năng Folders (Thư mục) để sắp xếp các Custom Field theo chiến dịch. Cột trạng thái (Inbox) cho phép bạn chủ động điều khiển việc hiển thị của biến đó trên giao diện quản lý chat (Livechat).*

### Vị trí 2: Tạo trực tiếp tại giao diện Inbox

Khi nhân viên tư vấn đang trò chuyện với khách hàng trong Inbox và cần lưu lại một thông tin mới chưa có sẵn Custom Field, bạn có thể tạo biến mới ngay lập tức mà không cần chuyển luồng công việc:

1. Tại giao diện trò chuyện **Inbox**, nhìn sang cột thông tin hồ sơ khách hàng bên phải.
2. Tìm đến phần **Custom Field**, nhấn vào nút **(+) Add** để hiển thị danh sách các biến hiện có.
3. Nếu biến bạn cần chưa tồn tại, nhấn vào liên kết **(+) Add Custom Field** để tạo ngay một biến dữ liệu mới theo ý muốn và điền giá trị vào.

<Frame>
  <img src="https://mintcdn.com/chatbotx/6419eoAF_uo2OCBi/images/image-177.png?fit=max&auto=format&n=6419eoAF_uo2OCBi&q=85&s=dee22ecb85ffa3665c55966f6a4215cf" alt="inbox_add_custom_field_sidebar" width="2454" height="1795" data-path="images/image-177.png" />
</Frame>

## 3. Cách thu thập và lưu trữ dữ liệu vào Custom Field

Dữ liệu có thể được cập nhật thủ công bởi nhân viên trong giao diện Inbox, hoặc tự động thu thập thông qua kịch bản chatbot (Flow Builder). Bạn có thể tự động hóa việc lưu trữ dữ liệu bằng hai cách chính ở trong Kịch bản (Flow):

* **Thông qua câu hỏi (Get User Data / User Input):** Khi sử dụng thẻ nội dung để gửi tin nhắn yêu cầu người dùng nhập thông tin (Ví dụ: Xin số điện thoại hoặc thu thập đánh giá). Bạn có thể cấu hình mục **Save response to a custom field** để hệ thống tự động lưu câu trả lời của khách hàng vào một Custom Field tương ứng đã chọn.
* **Thông qua Hành động (Action - Set Custom Field):** Bạn có thể gán giá trị cho một Custom Field một cách tự động khi khách hàng đi qua một bước nhất định trong kịch bản (ví dụ: bấm vào một nút bấm cụ thể). Thẻ **Action** > **Set Custom Field** sẽ hệ thống hóa thao tác cập nhật giá trị (Ví dụ: tự động đánh dấu biến `Da_Xem_Bang_Gia` thành `True`) mà không yêu cầu khách hàng phải trực tiếp nhập văn bản.
