Action Node - CRM - Contact

I. Tổng quan

File này mô tả các action node liên quan đến object Contact. Trong phạm vi hiện tại, đây là file mẫu đại diện cho cách viết action CRM theo object.

1. Vấn đề

  • Sau khi flow được kích hoạt, nhiều nghiệp vụ cần thao tác trực tiếp với contact như tạo mới, cập nhật thông tin hoặc xóa record không còn hợp lệ.
  • Nếu không có action node chuẩn cho Contact, người dùng phải xử lý dữ liệu CRM ở các bước rời rạc hoặc phụ thuộc quá nhiều vào logic ngoài flow.

2. Giải pháp

  • Cung cấp nhóm action theo object Contact, với các operation tiêu biểu:
    • Tạo liên hệ
    • Sửa liên hệ
    • Xóa liên hệ

3. Đối tượng

  • Admin CRM hoặc người cấu hình flow thao tác trực tiếp trên dữ liệu liên hệ.

4. Tầm nhìn/insight

  • Tương lai có thể thêm các operation như hợp nhất liên hệ, gán owner hoặc lưu contact vào danh sách động/tĩnh.

II. Yêu cầu chức năng

1. Danh sách tính năng

  • Operation Tạo liên hệ.
  • Operation Sửa liên hệ.
  • Operation Xóa liên hệ.
  • Map dữ liệu từ output của node trước sang field của contact.

2. Đặc tả chi tiết

User story 1: Là một [Người cấu hình flow], tôi muốn [tạo liên hệ từ dữ liệu đầu vào của flow] để [CRM có record contact mới mà không cần thao tác tay].

  • Use case 1.1 (Tạo liên hệ): User chọn action node Contact -> Chọn operation Tạo liên hệ -> Map các field cần thiết như tên, số điện thoại, email -> Lưu node -> Khi flow chạy, hệ thống tạo record contact mới.

User story 2: Là một [Người cấu hình flow], tôi muốn [cập nhật contact hiện có] để [bổ sung hoặc sửa dữ liệu liên hệ khi flow thỏa điều kiện].

  • Use case 2.1 (Sửa liên hệ): User chọn operation Sửa liên hệ -> Chỉ định contact cần cập nhật bằng ID hoặc dữ liệu map từ node trước -> Chọn các field cần cập nhật -> Khi flow chạy, hệ thống cập nhật contact tương ứng.

User story 3: Là một [Quản trị viên], tôi muốn [xóa contact trong các trường hợp hợp lệ] để [làm sạch dữ liệu CRM theo rule đã định].

  • Use case 3.1 (Xóa liên hệ): User chọn operation Xóa liên hệ -> Chỉ định contact mục tiêu -> Khi flow chạy, hệ thống xóa hoặc đánh dấu xóa contact theo rule kỹ thuật được áp dụng.

3. Danh sách nghiệp vụ

  • Node chỉ áp dụng cho object Contact.
  • Operation Tạo liên hệ cần đủ tập field bắt buộc tối thiểu theo cấu hình CRM hiện tại.
  • Operation Sửa liên hệXóa liên hệ phải xác định được contact mục tiêu trước khi thực thi.
  • Nếu mục tiêu không tồn tại hoặc dữ liệu bắt buộc không hợp lệ, node phải trả lỗi thực thi.
  • Output của node nên trả lại contact đã tạo/cập nhật/xóa để các bước sau có thể tiếp tục tham chiếu.

4. Giao diện

  • Lưu ý: Hình dưới đây chỉ mang tính minh họa cho pattern builder mà action CRM sử dụng, không phải ảnh thiết kế giao diện chính thức trích xuất trực tiếp từ Figma.
  • Thiết kế giao diện chính thức xem tại:
    • https://www.figma.com/design/tBBrdtHlG1LAYJUfJsvyS3/UCALL-2026–Ant-Design-5.10.1-?node-id=4-154796&m=dev

Minh họa action node trong builder

  • Card node hiển thị nhãn Contact.
  • Panel cấu hình cần có:
    • Tab chọn operation.
    • Vùng map field.
    • Tab Đầu ra để xem contact output.

III. Yêu cầu phi chức năng

  • Cần kiểm soát lỗi rõ ràng khi thiếu target contact hoặc thiếu field bắt buộc.
  • Các thao tác ghi dữ liệu CRM cần được audit ở mức phù hợp.

IV. Dependency (liên quan & phụ thuộc)


V. API Contract (dev viết)

  • Chưa chốt API chi tiết.

VI. Test case (BA hoặc tester viết)

  • TC1: Chọn operation Tạo liên hệ và map đủ dữ liệu -> Flow chạy -> Contact mới được tạo.
  • TC2: Chọn operation Sửa liên hệ với target hợp lệ -> Contact được cập nhật đúng field.
  • TC3: Chọn operation Xóa liên hệ với target không tồn tại -> Node trả lỗi.