Workflow từ lead mới đến phân loại, tư vấn và follow-up dành cho Telesale
Tình huống thật: một lead được đẩy vào hàng đợi ba lần
Khách điền form lúc 8 giờ 12 để nhận tư vấn một lần rồi hỏi thêm qua inbox Zalo. Webhook timeout nên nền tảng quảng cáo gửi lại hai lần; đến 8 giờ 20, một nhân viên nhập thủ công cùng số điện thoại từ bảng Google Sheets. CRM có ba record, tổng đài nhận hai task và một lịch gọi lại cũ vẫn đang chờ. Trong khi đó, khách vừa nhắn “chỉ gửi tài liệu, chưa tiện nghe máy”.
Nếu workflow AI cho Telesale chỉ nhìn từng record, hệ thống có thể tạo call brief rất đẹp nhưng vẫn làm sai việc: gọi trùng, gọi sai mục đích hoặc replay lịch cũ sau khi khách rút consent. Vì vậy luồng phải bắt đầu từ event identity, idempotency, consent và DNC; AI chỉ chuẩn hóa, dựng packet cùng draft. Con người gọi và quyết định nội dung tiếp theo.
Mục tiêu của workflow là một sự kiện được xử lý một lần, một lead có owner rõ, mỗi cuộc gọi có căn cứ liên hệ và mọi outcome truy về evidence. Luồng không robocall, không tự merge người, không suy đoán cảm xúc hoặc khả năng mua, không tự gửi follow-up và không hứa chính sách ngoài nguồn được duyệt.
Việc có thể giao cho AI trong từng trạng thái
Ở trạng thái INGESTED, AI kiểm schema, che trường thừa và tạo normalized envelope. Ở IDENTITY_REVIEW, nó trình candidate với exact signals, conflicts và source history nhưng không gộp. Ở CONSENT_REVIEW, Agent đọc consent card, DNC và purpose để đề xuất ALLOW_CALL, ALLOW_DRAFT_ONLY hoặc BLOCKED; policy engine mới thực thi rule.
Khi lead đã READY_FOR_CALL_PREP, Agent ghép call brief từ lời khách, chiến dịch, knowledge source và câu hỏi còn thiếu. Nó không chọn lời hứa để “tăng chốt”, không tự xếp lead nóng và không dùng transcript cũ ngoài purpose. Brief phải có source_ref, version, UNKNOWN, prohibited_claims, owner và thời hạn hiệu lực.
Sau cuộc gọi do nhân viên thực hiện, AI cấu trúc call note thành facts, questions, outcome candidate và next action. Nhân viên xác nhận code, sửa note và quyết định follow-up. Outcome NO_CONTACT không có nghĩa khách từ chối; STOP_CALL không được đổi thành gọi lại; CALLBACK_REQUESTED cần thời điểm khách nói và kênh được phép.
Dữ liệu cần chuẩn bị cho state machine
Event envelope gồm event_id, source_event_id, event_type, occurred_at, received_at, channel, lead_ref, phone_hash, campaign_id và payload_version. Idempotency key ghép source_event_id với action_type. Nếu một webhook đến lại, inbox ghi DUPLICATE_EVENT và trả receipt cũ, không tạo thêm lead, call task hay follow-up.
Lead master giữ lead_id, active_owner, current_state, last_transition_id, identity_status và stop_reason. Consent ledger giữ purpose, channel, evidence_ref, granted_at, expires_at, withdrawn_at và DNC. Data owner xác minh ledger; khách hàng mới là chủ thể cấp hoặc rút đồng ý. Mọi transition liên hệ phải đọc phiên bản consent mới nhất.
Call packet có brief_id, script_version, knowledge_refs, policy_refs, open_questions, allowed_claims, forbidden_claims và reviewer. Call result có call_id, started_at, ended_at, agent_id, recording_ref nếu được phép, facts, outcome_code, next_action và customer_words_ref. Trường chưa biết giữ UNKNOWN, không tự suy ra từ thời lượng hay giọng nói.
Workflow bảy bước từ ingest đến follow-up
Bước 1 — Ingest và quarantine: adapter nhận event, kiểm schema, giảm dữ liệu và ghi receipt. Lỗi schema vào QUARANTINE. Bước 2 — Idempotency và identity: chặn source_event lặp; tạo candidate trùng. Mọi merge cần nhân viên hoặc data steward xác nhận, kể cả exact match trong pilot.
Bước 3 — Consent/DNC gate: policy engine kiểm purpose cùng channel. DNC, STOP_CALL hoặc consent rút chuyển STOPPED và hủy action chờ. Bước 4 — Owner và pre-call brief: rule đề xuất owner theo chiến dịch, ca trực và năng lực; xung đột vào ROUTING_REVIEW. Agent dựng brief, trưởng nhóm hoặc nhân viên kiểm nguồn trước READY_TO_CALL.
Bước 5 — Con người gọi: tổng đài chỉ mở task cho nhân viên; AI không có AUTO_CALL. Nhân viên xác nhận ngữ cảnh, xin phép tiếp tục và dừng khi khách yêu cầu. Bước 6 — Outcome review: Agent tạo note DRAFT, nhân viên chọn code, next action và lưu evidence. Bước 7 — Follow-up: Agent soạn draft đúng consent; con người duyệt và gửi, hoặc đóng STOPPED/CLOSED.

Năm prompt mẫu điều phối packet và recovery
Prompt trong workflow không viết kịch bản thuyết phục. Prompt 1 kiểm event envelope; prompt 2 lập candidate identity; prompt 3 kiểm transition consent; prompt 4 dựng call packet; prompt 5 chẩn đoán lỗi một phần. Mỗi đầu ra dùng schema cố định với evidence, blocker, next_state, next_owner và prohibited_action.
Prompt được chạy trước policy engine, không nối trực tiếp với tổng đài. Nếu output đề nghị CALL, SEND hoặc MERGE_CONFIRMED, validator trả BLOCKED_ACTION. Khi prompt_version thay đổi, đội phải chạy lại case retry webhook, DNC, consent đổi kênh, source hết hạn, tổng đài timeout và CRM write thành công nhưng task write lỗi.
Ví dụ điền sẵn dùng mã TS-DEMO và không chứa số điện thoại thật. Kết quả sample chỉ chứng minh format, không chứng minh workflow làm tăng tỷ lệ chốt. Reviewer cần đọc evidence_ref, không dựa vào confidence chung chung. Khi thiếu dữ liệu, output đúng là REVIEW hoặc UNKNOWN.
Công cụ phù hợp và kiến trúc event
MISA AMIS CRM hoặc CRM hiện có làm lead master; Stringee, CloudFone hay tổng đài đang dùng giữ call receipt; Google Sheets chứa fixture DEMO; Base.vn giữ review; Zalo OA chỉ nhận draft đúng scope. n8n hoặc Make có thể điều phối event nếu từng connector có idempotency, quyền tối thiểu và dead-letter queue.
Kiến trúc gồm event inbox, identity candidate service, consent/DNC resolver, state store, source resolver, review queue, outbox và channel adapter. Outbox chỉ chứa action đã được actor có quyền duyệt. Receipt từ CRM, tổng đài và kênh trở lại transition log. Model không nắm credential và không tự đổi state bằng văn bản tự do.
Dashboard cần quan sát duplicate event, false merge candidate, consent block, DNC compliance, source expiry, call task duplicate, reviewer edit và ERROR_PARTIAL. Alert phải có owner cùng deadline. Không dùng riêng số cuộc gọi/ngày để tối ưu; hệ thống có thể tăng volume nhưng làm xấu trải nghiệm và tăng vi phạm.

AI làm gì và người duyệt làm gì
AI làm việc trên cấu trúc: normalize event, tìm candidate, tách facts, kiểm source, tạo call brief, note draft và recovery checklist. Nó không xác thực consent ngoài ledger, không quyết định merge, không gọi, không gửi, không đánh giá tâm lý và không sửa DNC. Policy engine quyết định transition được phép; con người chịu trách nhiệm cuộc trao đổi.
Nhân viên Telesale xác nhận identity candidate, đọc brief, thực hiện cuộc gọi, chọn outcome và duyệt follow-up. Trưởng nhóm duyệt script, routing rule cùng ngoại lệ. Data owner quản schema, consent evidence và retention. Chủ chính sách duyệt giá, ưu đãi, điều kiện. IT quản service account, retry, rollback và incident.
Review card cần hiển thị customer words, source versions, consent purpose/channel, DNC, UNKNOWN và action proposed. Reviewer có thể APPROVE_DRAFT, EDIT, REQUEST_SOURCE, REASSIGN hoặc STOP. Không dùng nhãn “AI approved”; mọi quyết định ghi actor, role, timestamp và reason.
Sai lầm, nhánh lỗi và điều kiện STOP
Lỗi nguy hiểm nhất là retry toàn workflow sau timeout. Nếu CRM đã ghi outcome nhưng kênh follow-up lỗi, chạy lại từ ingest có thể tạo thêm task hoặc liên hệ trùng. Hệ thống phải giữ completed_writes, target proof và idempotency key, rồi replay đúng channel_step sau khi kiểm consent chưa đổi.
Nếu tổng đài tạo call task nhưng owner nghỉ ca, chuyển ROUTING_REVIEW thay vì tự giao cho người bất kỳ. Nếu knowledge source hết hạn trước cuộc gọi, CALL_PREP_BLOCKED. Nếu transcript không được phép lưu, adapter phải loại bỏ và chỉ giữ outcome tối thiểu. Nếu khách nói “đừng gọi nữa”, STOP_CALL được ghi ngay và hủy mọi lịch chờ.
Rollback khi có gọi sau DNC, false merge, source sai, lời hứa vượt policy hoặc action ngoài quyền. Đóng connector, dừng outbox, xác định record ảnh hưởng, khôi phục rule/prompt version và thông báo owner. Không dùng disclaimer để hợp thức hóa một cuộc gọi không có consent.
Triển khai theo cá nhân, đội và doanh nghiệp
Cá nhân mô phỏng workflow bằng 30 event DEMO: retry, hai người trùng tên, consent email-only, DNC, callback, source hết hạn và timeout. Viết expected state trước khi chạy. So transition thực tế với expected, không chỉ xem draft có tự nhiên hay không.
Đội nhóm chạy shadow mode với một chiến dịch, hai nhân viên và một trưởng nhóm. Tuần đầu Agent chỉ quan sát và tạo packet. Tuần hai mở CREATE_DRAFT cùng CREATE_TASK sau review; vẫn khóa AUTO_CALL, SEND và MERGE. Daily review xem STOP, duplicate, source coverage, outcome correction và recovery.
Doanh nghiệp cần schema registry, state contract, RACI, retention, audit, incident runbook và kill switch. Mở rộng theo chiến dịch khi ba lớp consent, source và reviewer đều đủ. Mỗi thay đổi connector hay outcome taxonomy cần regression test; dead-letter phải có owner thay vì trở thành kho lỗi vô hạn.
Kết quả đầu ra mẫu và câu hỏi thường gặp
Kết quả minh họa: FORM-DEMO-91 đến ba lần nhưng inbox trả một receipt. Candidate CRM-DEMO-14 vào IDENTITY_REVIEW và được nhân viên xác nhận. Consent mới chỉ cho gửi tài liệu, nên state chuyển DRAFT_ONLY, không tạo call task. Một CRM write thành công, channel timeout được replay riêng sau review; không có tin trùng.
Chỉ số minh họa gồm event-to-owner time, duplicate task prevented, DNC compliance, source coverage, outcome correction, ERROR_PARTIAL và replay success. Các chỉ số này đánh giá vận hành, không phải bằng chứng doanh thu. Mỗi dashboard cần audit mẫu và phản hồi nhân viên gọi.
AI có tự quay số không?
Không. Workflow chỉ chuẩn bị packet và draft; nhân viên thực hiện cuộc gọi theo consent.
Candidate trùng có tự merge không?
Không trong workflow này. Nhân viên hoặc data steward xem bằng chứng và quyết định giữ riêng hay hợp nhất.
DNC xuất hiện giữa luồng thì sao?
Chuyển STOPPED, hủy task và lịch chưa thực hiện; retry không được mở lại trạng thái.
Timeout có chạy lại toàn bộ không?
Không. Kiểm receipt rồi replay đúng bước lỗi bằng idempotency key, sau khi xác minh consent và source vẫn hợp lệ.
Đọc bản đồ Telesale, dùng prompt pack Telesale, mở landing nghề hoặc liên hệ NganAds.