Recruit 07: Thêm Topic với Trigger để định tuyến hội thoại

Agent của bạn đã biết lắng nghe và trả lời — giờ là lúc ‘đấu dây’ phần ra quyết định. Một Topic là một ‘mini hội thoại’ xử lý một yêu cầu cụ thể; cùng với Trigger, agent nhận diện ý định, định tuyến hội thoại bằng logic, thu/lưu biến và gọi tool để hành động. Trong lab này, bạn sẽ tự tạo một Topic Available devices liệt kê thiết bị còn trống từ SharePoint. Bài hướng dẫn từng bước, kèm ảnh thật, theo Agent Academy — Recruit 07.

Trong lab Topic này, bạn sẽ làm được gì?
- Hiểu Topic là gì và vai trò tạo hội thoại có cấu trúc cho agent.
- Nắm cấu tạo của một Topic: trigger và conversation node.
- Định nghĩa biến input/output cho Topic.
- Thêm tool Get items của SharePoint và lọc dữ liệu bằng Power Fx.
- Cập nhật instructions để agent gọi Topic và test kết quả.
Chuẩn bị trước khi bắt đầu
Trước khi thực hành, hãy đảm bảo bạn đã có:
- Đã hoàn thành Recruit 06 và có agent Contoso Helpdesk Agent.
- Một SharePoint list tên Devices (cột Status và AssetType) đã thiết lập ở Recruit 00.
- Khoảng 20–25 phút để hoàn thành lab.
Hướng dẫn từng bước
Làm lần lượt theo từng bước dưới đây. Mỗi bước có ảnh minh hoạ từ giao diện thật để bạn đối chiếu.
Bước 1: Tạo Topic mới từ đầu
Mở agent của bạn, bấm tab Topics gần tên agent (nếu chưa thấy, bấm + để hiện thêm). Mặc định danh sách hiển thị các custom Topic. Bấm + Add a topic rồi chọn From blank để dựng một hội thoại tuỳ biến từ con số 0.

Bước 2: Đặt tên và mô tả trigger
Đặt tên Topic là Available devices. Trong phần mô tả trigger, hãy diễn giải rõ Topic làm gì, ví dụ: giúp người dùng tìm các thiết bị còn trống trong SharePoint list Devices (laptop, smartphone, phụ kiện…). Mô tả tốt giúp generative AI biết khi nào nên kích hoạt Topic này.

Mẹo: Viết mô tả trigger đa dạng cách diễn đạt để agent nhận diện đúng nhiều kiểu câu hỏi của người dùng.
Bước 3: Tạo biến input cho Topic
Bấm dấu … (More) của Topic và chọn Details để mở khung Topic details. Sang tab Input, bấm Create a new variable và đặt tên VarDeviceType. Đổi thuộc tính Identify as thành User’s entire response và nhập mô tả liệt kê các giá trị có thể có: Laptop, Desktop, Smartphone. Biến này giúp AI trích loại thiết bị từ câu nói của người dùng.

Bước 4: Tạo biến output cho Topic
Vẫn trong Topic details, sang tab Output và bấm Create a new variable. Đặt tên VarAvailableDevices, chọn kiểu dữ liệu Table và mô tả là danh sách thiết bị còn trống theo loại. Sau đó bấm X để thoát khung Topic details.

Bước 5: Thêm tool Get items của SharePoint
Bấm dấu + bên dưới trigger, chọn Add a tool rồi sang tab Connector, tìm Get items của SharePoint và bấm Submit. Mở Properties của node: ở tab Initiation nhập Usage Description (vd ‘Retrieves devices from SharePoint list’); ở tab Inputs chọn đúng site Contoso IT và list Devices.

Bước 6: Lọc dữ liệu bằng Power Fx
Để chỉ lấy thiết bị đúng loại và đang còn trống, ta dùng Filter Query với Power Fx. Bấm dấu … của ô filter, sang tab Formula, mở rộng ô công thức và dán: Concatenate("Status eq 'Available' and AssetType eq '", Topic.VarDeviceType, "'") rồi bấm Insert. Tiếp theo, đổi tên biến output thành VarDevices, đặt phạm vi Global, rồi thêm node Set a variable value để gán VarAvailableDevices bằng Global.VarDevices.value.

Mẹo: Power Fx là ngôn ngữ low-code giống công thức Excel — rất tiện để tạo điều kiện và định dạng biến trong Topic.
Bước 7: Cập nhật instructions và test
Sang tab Overview, bấm Edit ở phần instructions và thêm một dòng yêu cầu agent dùng Topic Available devices để liệt kê thiết bị và luôn trích VarDeviceType từ câu hỏi. Chọn placeholder trong ngoặc vuông, gõ / rồi chọn Topic Available devices, sau đó Save. Cuối cùng mở Test, nhập “I need a laptop”, bấm Allow để dùng kết nối, và agent sẽ trả về danh sách laptop còn trống.

Lưu ý quan trọng
- Trigger quyết định khi nào Topic được kích hoạt — mô tả và ví dụ càng phong phú, nhận diện càng chính xác.
- Conversation node là ‘các bước’ agent đi theo; biến (variable) giúp ghi nhớ và xử lý dữ liệu giữa các bước.
- Đặt biến phạm vi Global khi cần dùng lại ở Topic khác — sẽ rất hữu ích ở bài Adaptive Card kế tiếp.
Áp dụng cho người dùng Việt Nam
Topic và Trigger giúp đội ngũ Việt Nam số hoá các quy trình quen thuộc (xin nghỉ phép, yêu cầu thiết bị) thành hội thoại tự nhiên: nhân viên chỉ cần chat thay vì mở SharePoint. Hãy đặt trigger và mô tả bằng tiếng Việt phong phú để agent nhận diện đúng ý định người dùng.
Bài tiếp theo
Sau khi hoàn thành lab này, hãy tiếp tục với Recruit 08: Nâng cấp với Adaptive Card.
Kết luận
Bạn vừa tạo một Topic hoàn chỉnh: từ trigger, biến input/output, tool Get items đến lọc dữ liệu bằng Power Fx và test thành công. Giờ agent của bạn có ‘bộ não’ định tuyến rõ ràng. Bài kế tiếp sẽ làm giao diện hội thoại sinh động hơn với Adaptive Card.
Bài viết thuộc series Hands-on Labs theo Agent Academy — Recruit 07: Add a Topic with Triggers. Theo dõi Office365Vietnam.info để cập nhật các bài lab mới nhất về Copilot Studio và AI agent.
