AI & Automation (vnROM)

Cover image for Hướng dẫn tạo nhân viên trực tổng đài AI với Vapi và n8n MCP
addROM
addROM

Posted on

Hướng dẫn tạo nhân viên trực tổng đài AI với Vapi và n8n MCP

Trong kỷ nguyên tự động hóa, việc sở hữu một nhân viên trực tổng đài AI (AI Voice Receptionist) không chỉ giúp doanh nghiệp hoạt động 24/7 mà còn nâng cao trải nghiệm khách hàng. Dựa trên bản thiết kế hệ thống “Kylie” – nhân viên lễ tân ảo cho dịch vụ chăm sóc xe Hercules Detailing, bài viết này sẽ hướng dẫn bạn xây dựng một hệ thống hoàn chỉnh sử dụng Vapi (Frontend) và n8n (Backend) thông qua giao thức MCP (Model Context Protocol).

Tại sao nên sử dụng n8n MCP Server?

Khi xây dựng Voice Agent, thay vì tạo hàng loạt webhook riêng lẻ khó quản lý, giải pháp tối ưu là sử dụng kiến trúc MCP Server.

  • Vapi (Frontend): Đóng vai trò là “giao diện giọng nói”, chịu trách nhiệm hội thoại, tổng hợp giọng nói và ra quyết định.
  • n8n (Backend): Đóng vai trò là “bộ não công cụ” (Tool Brain). Workflow chính hoạt động như một bộ định tuyến (Router), nhận yêu cầu từ Vapi và điều hướng đến các công cụ con cụ thể.
  • Lợi ích: Việc sử dụng MCP Server giúp bạn thay đổi cấu hình logic bên n8n mà không cần chỉnh sửa lại cài đặt bên Vapi, giúp hệ thống dễ dàng mở rộng.

Bước 1: Quy tắc “Paper First” và thiết kế luồng hội thoại

Trước khi viết code, bạn bắt buộc phải tuân thủ quy tắc “Paper First” – phác thảo logic trên giấy. Hội thoại giọng nói là phi tuyến tính (non-linear), người dùng có thể nhảy từ việc hỏi giá sang đặt lịch bất cứ lúc nào.

Bạn cần xác định rõ các kịch bản “If/Then”:

  • Nếu khách mới -> Thu thập Tên/Email -> Tạo hồ sơ CRM.
  • Nếu khách cũ -> Chào bằng tên -> Hỏi ý định.
  • Nếu muốn đặt lịch -> Kiểm tra lịch trống trước -> Sau đó mới đề xuất giờ.

Bước 2: Cấu trúc cơ sở dữ liệu

Hệ thống yêu cầu một file Google Sheets đóng vai trò là CRM với 3 tab chính:

  1. Clients: Chứa cột Email, Name, Phone.
  2. Appointment Log: Chứa ID, Email, Appointment Type (Loại dịch vụ), Date, Notes.
  3. Call Log: Chứa Date, Summary (Tóm tắt), Outcome (Kết quả).

Bước 3: Xây dựng 7 workflow “thần thánh” trong n8n

Download: https://romhub.io/n8n/AI_Receptionist_n8n_Workflows

Trong file Vapi MCP Server.json, chúng ta thấy một workflow chính điều hướng đến các công cụ con. Dưới đây là chi tiết 7 công cụ cần thiết lập:

1. Client Lookup (Tra cứu khách hàng)

  • Mục đích: Xác định người gọi là khách mới hay khách cũ.
  • Input: Email.
  • Logic: Tìm kiếm email trong tab “Clients”. Nếu tìm thấy, kiểm tra tiếp lịch sử trong “Appointment Log”. Nếu không, trả về thông báo đây là khách mới.

2. New Client CRM (Tạo khách hàng mới)

  • Mục đích: Lưu thông tin khách hàng mới vào hệ thống.
  • Input: Email, Full Name, Phone Number.
  • Hành động: Thêm một dòng mới vào tab “Clients”.

3. Check Availability (Kiểm tra lịch trống)

  • Mục đích: Kiểm tra các khung giờ bận trên Google Calendar trước khi đặt lịch.
  • Input: afterTime, beforeTime (Cửa sổ tìm kiếm).
  • Logic: Quét lịch Google. Nếu không có sự kiện nào, trả về “cả ngày rảnh”. Nếu có, trả về danh sách giờ bận để AI biết và tránh ra.

4. Book Event (Đặt lịch hẹn)

  • Mục đích: Chốt lịch và lưu vào hệ thống.
  • Input: startTime, endTime, email, eventSummary (Loại dịch vụ).
  • Hành động:
    1. Tạo sự kiện trên Google Calendar và thêm email khách hàng vào danh sách tham dự.
    2. Ghi lại thông tin và Calendar Event ID vào tab “Appointment Log” trên Google Sheets.

5. Lookup Appointment (Tra cứu lịch hẹn cụ thể)

  • Mục đích: Lấy thông tin chi tiết (đặc biệt là Event ID) để phục vụ việc sửa hoặc hủy lịch.
  • Input: Khoảng thời gian tìm kiếm (afterTime, beforeTime).

6. Update Appointment (Cập nhật lịch hẹn)

  • Mục đích: Dời lịch hẹn sang giờ khác.
  • Input: startTime mới, endTime mới, eventID (lấy từ tool Lookup).
  • Hành động: Cập nhật giờ trên Google Calendar và ghi chú “Moved to…” trong Google Sheets.

7. Delete Appointment (Hủy lịch)

  • Mục đích: Hủy bỏ lịch hẹn.
  • Input: eventID.
  • Hành động: Xóa sự kiện trên Calendar và cập nhật ghi chú là “Canceled” trên Sheets.

(Ngoài ra còn có một workflow EOC Report kích hoạt bằng Webhook sau khi cuộc gọi kết thúc để ghi log, nhưng không nằm trong nhóm MCP tool)

Bước 4: Cấu hình Vapi – “Linh hồn” của AI

Sau khi backend n8n sẵn sàng, bạn cần cấu hình Vapi để giao tiếp với nó.

Thiết lập System Prompt

Bạn cần tạo nhân vật “Kylie” với tính cách vui vẻ, nói nhanh và thân thiện.

  • Quy tắc quan trọng: Trước khi gọi bất kỳ tool n8n nào, AI BẮT BUỘC phải nói một câu đệm như “Just give me a sec” hoặc “Let me check on that”. Điều này giúp che giấu độ trễ mạng và giữ cuộc hội thoại tự nhiên, tránh khoảng lặng chết (dead air).
  • Xử lý dữ liệu: Yêu cầu AI chuyển đổi email và tên thành chữ thường (lowercase) trước khi gửi sang n8n.

Kết nối MCP Tool

Trong Vapi Dashboard, thay vì thêm từng tool lẻ tẻ, bạn cấu hình như sau:

  1. Tạo tool mới, chọn loại MCP.
  2. Server URL: Dán đường dẫn Production URL của node MCP Server Trigger trong n8n.
  3. Headers (Rất quan trọng): Thêm Authorization với giá trị Bearer <YOUR_N8N_API_KEY> để xác thực.
  4. Cài đặt chế độ giao tiếp là Server-Sent Events (SSE).

Bằng cách kết hợp khả năng đàm thoại tự nhiên của Vapi với tư duy logic mạnh mẽ của n8n MCP Server, bạn có thể tạo ra một nhân viên lễ tân AI không chỉ biết chào hỏi mà còn thực sự làm việc: tra cứu CRM, quản lý lịch trình và xử lý tình huống phức tạp.

Mấu chốt của thành công nằm ở việc tách biệt nhiệm vụ: Vapi lo phần giao tiếp, n8n lo phần xử lý dữ liệu. Hãy nhớ kiểm tra kỹ các kết nối và System Prompt để đảm bảo trải nghiệm mượt mà nhất cho khách hàng.

Top comments (0)