21 Ngày AI Challenge — Mầm Non Trần Linh Marketing

21 Ngày AI Challenge

Đăng nhập bằng tài khoản Gmail để bắt đầu hành trình thực chiến AI nhé!

Đang đồng bộ dữ liệu...
Trần Linh Marketing × AI Masterclass

21 Ngày AI Challenge

Lộ trình thực chiến từ cơ bản → làm chủ AI tăng 10x năng suất công việc — dành cho Marketer, Agency & Business Owner
Chương trình Đào tạo & Thực chiến AI Chuyên nghiệp
Ngày 1–10
AI vào công việc hàng ngày
Content · Design · Ads · Báo cáo
Ngày 11–17
Tự động hóa quy trình làm việc
Skill · Workflow · Tool nội bộ
Ngày 18–21
Vibecode — Build Tool thật
Landing page · Dashboard · Chatbot
21
Ngày thực chiến
4
Giai đoạn
0
Yêu cầu biết code
10×
Mục tiêu năng suất

QUYỀN LỢI & CAM KẾT HOÀN HỌC PHÍ 50%

Học phí niêm yết: 9.000.000đ. Nhằm thúc đẩy tinh thần kỷ luật và thực chiến tối đa:
🎁 CASHBACK 50%
Hoàn ngay 4.500.000đ khi bạn hoàn thành và nộp đủ 21/21 bài tập đúng tiến độ!
⚡ TỰ ĐỘNG HÓA 10X
Sở hữu toàn bộ bộ Skill AI, Workflow & Tool tự động hóa có sẵn để nhân bản năng suất.

📌 Khi đăng bài nộp nghiệm thu lên Social, vui lòng tag tên FB Trần Linh để hệ thống ghi nhận tính hợp lệ!

1

CONTENT MACHINE

Làm quen công cụ — output thật từ ngày đầu tiên

Ngày 1–5
Ngày 01
Setup môi trường làm việc — Tải & tạo tài khoản
LàmCài đủ phần mềm + tạo đủ tài khoản theo checklist
RaWorkspace sẵn sàng — không bị gián đoạn vì thiếu tool trong 20 ngày tới
Tư duy cốt lõi
Ngày 1 không có bài tập AI. Không có output sáng tạo.
Nhưng đây là ngày quan trọng nhất của cả 21 ngày — vì tool thiếu = mắc kẹt giữa chừng. Setup đúng từ đầu, 20 ngày còn lại mọi người chỉ cần tập trung học. Dành 2–3 tiếng hôm nay. Làm từng mục. Tick xong mới sang mục tiếp.
PHẦN 1 — Tải & Cài đặt (Máy tính)
1

Tải Antigravity IDE

Tool chính xuyên suốt challenge — cài trước tiên

  • LÀM Vào https://antigravity.google/download → chọn đúng hệ điều hành (macOS / Windows / Linux) → tải về → cài.
  • LÀM Mở Antigravity lên → đăng nhập bằng Google Account.
  • KIỂM TRA Thấy giao diện chính hiện ra là OK ✅
2

Tải Visual Studio Code

Editor để đọc và chỉnh file .md, .html, .js

  • LÀM Vào https://code.visualstudio.com → tải → cài.
  • LÀM Mở VS Code → vào Extensions (Ctrl+Shift+X) → cài 2 extension: Vietnamese Language PackMarkdown Preview Enhanced.
  • KIỂM TRA Mở được VS Code là OK ✅
3

Tải Node.js (bản LTS)

Cần thiết để chạy web app từ Ngày 18 trở đi

  • LÀM Vào https://nodejs.org → chọn bản LTS (không chọn Current) → tải → cài.
  • LÀM Mở Terminal (Mac) hoặc Command Prompt (Windows) → gõ: node -v
  • KIỂM TRA Thấy số phiên bản (vd: v20.x.x) là OK ✅
4

Tải Git & Telegram Desktop

Git để lưu code, Telegram để nhận báo cáo tự động

  • LÀM Git: vào https://git-scm.com → tải → cài với tùy chọn mặc định. Kiểm tra: gõ git --version trong terminal.
  • LÀM Telegram Desktop: vào https://desktop.telegram.org → tải → cài → đăng nhập bằng số điện thoại đang dùng.
  • KIỂM TRA Cả 2 mở được là OK ✅
PHẦN 2 — Tạo tài khoản AI Tools
5

Claude.ai — Tool AI chính của cả 21 ngày

Bắt buộc — dùng hàng ngày từ Ngày 2

  • LÀM Vào https://claude.ai → Sign up bằng Gmail → xác nhận email.
  • KIỂM TRA Vào được trang chat là OK ✅
  • LƯU Ý Gói Free đủ dùng cho Ngày 1–5. Từ Ngày 6 nếu dùng nhiều có thể cần Pro ($20/tháng) — Linh sẽ thông báo trước.
6

ChatGPT & Gemini

Backup AI — dùng để so sánh và thực hành đa mô hình

  • LÀM ChatGPT: https://chat.openai.com → Sign up bằng Gmail.
  • LÀM Gemini: https://gemini.google.com → Đăng nhập bằng Google (đã có Gmail là có Gemini).
  • KIỂM TRA Vào được cả 2 là OK ✅
PHẦN 3 — Tạo tài khoản Hạ tầng
7

GitHub + Netlify + Firebase

Bộ 3 để lưu code, host web, chạy database — dùng từ Phase 4

  • LÀM GitHub: https://github.com → Sign up → verify email.
  • LÀM Netlify: https://netlify.com → Sign up bằng GitHub account vừa tạo (1 click).
  • LÀM Firebase: https://firebase.google.com → Get started → đăng nhập Google → tạo project mới, đặt tên: "21days-[tên mình]"
  • KIỂM TRA Vào được dashboard cả 3 là OK ✅
8

Make.com + Sepay

Automation và thanh toán tự động — có bài riêng hướng dẫn

  • LÀM Make.com: https://make.com → Sign up → verify email. Free plan 1,000 operations/tháng đủ dùng.
  • LÀM Sepay: https://sepay.vn → Đăng ký tài khoản. Hôm nay chỉ cần đăng ký — chưa cần setup sâu, có bài riêng hướng dẫn.
  • KIỂM TRA Đăng ký xong cả 2 là OK ✅
9

Tạo Telegram Bot

Bot nhận báo cáo tự động — lưu TOKEN cẩn thận

  • LÀM Mở Telegram → tìm @BotFather → nhắn /newbot
  • LÀM Đặt tên bot → đặt username (phải kết thúc bằng _bot, vd: tlmkt_mybot)
  • LÀM Copy TOKEN vừa nhận được → lưu vào Notes/Notepad ngay.
  • CẢNH BÁO Token này như mật khẩu — không share lên mạng, không chụp màn hình bài post có token.
  • KIỂM TRA Có TOKEN đã lưu là OK ✅
✅ Checklist trước khi nộp bài:
  • Antigravity IDE đã cài + đăng nhập được
  • VS Code đã cài + mở được
  • Node.js: gõ node -v ra số version
  • Claude.ai → vào được chat
  • GitHub → vào được dashboard
  • Netlify → vào được dashboard
  • Firebase → tạo được project
  • Make.com → vào được
  • Sepay → đăng ký xong
  • Telegram Bot → đã có TOKEN lưu lại
AntigravityClaudeVS CodeTelegram
Nộp Sếp: 1 ảnh chụp màn hình có Antigravity + Claude.ai đang mở cùng lúc
Ngày 02
Phân tích văn phong mục tiêu + Build skill viết content bán hàng
VàoFanpage/Bài viết của đối thủ hoặc mẫu tham khảo
RaFile SKILL.md hoàn chỉnh
Tư duy cốt lõi
Bạn là "Ông chủ / Người kiểm duyệt". AI là "Nhân viên thực thi".
Đừng tự viết. Hãy dạy AI viết — rồi đọc, sửa, duyệt. Bài hôm nay là bước đầu tiên để bạn có một nhân viên AI biết viết đúng giọng mà không cần nhắc nhở.
SOP Chi Tiết
1

Chọn "nguồn giọng văn" — người bạn muốn bắt chước hoặc chính bạn

Quyết định này quyết định toàn bộ bài tập hôm nay

  • LÀM Chọn 1 trong 2 hướng: (A) Bắt chước giọng của người khác — chọn ai viết content bán hàng bạn thấy hiệu quả, đọc xong muốn mua. (B) Chính bạn — lấy những bài bạn đã viết trước đây mà bạn thấy tốt nhất.
  • LƯU Ý Không chọn người nổi tiếng quá mà bạn không thực sự hiểu ngành họ đang bán. Chọn người bán cùng loại sản phẩm/dịch vụ với bạn — giọng văn mới thực sự phù hợp.
  • TIÊU CHÍ Người bạn chọn phải có ít nhất 10 bài viết có thể đọc được — post Facebook, caption, email, landing page copy đều tính.
2

Thu thập 5–10 bài mẫu tốt nhất

Chất lượng skill phụ thuộc vào chất lượng bài mẫu bạn đưa vào

  • LÀM Vào trang Facebook/Instagram/Website của người bạn chọn. Copy toàn bộ nội dung 5–10 bài viết bán hàng mà bạn thấy hiệu quả nhất — bài có nhiều comment, nhiều share, hoặc bạn biết là chốt được đơn.
  • LÀM Dán tất cả vào 1 file Google Doc hoặc Notepad. Đánh số từng bài: Bài 1, Bài 2... Không cần định dạng đẹp, miễn là đọc được.
  • LƯU Ý Chọn bài bán hàng thật — không lấy bài chia sẻ kiến thức, bài động lực. Bài bán hàng là bài có kêu gọi mua, có đề cập sản phẩm/dịch vụ/giá/ưu đãi.
  • TRÁNH Đừng lấy bài có ít hơn 100 chữ — quá ngắn để AI học được giọng văn đầy đủ.
3

Cho Claude phân tích giọng văn

Dùng prompt dưới đây — copy nguyên, thay phần in nghiêng

  • LÀM Mở claude.ai → New chat. Copy prompt dưới đây, dán toàn bộ bài mẫu vào cuối prompt rồi gửi.
PROMPT — copy và điền vào chỗ in nghiêng → dán vào Claude
Tôi sẽ cho bạn đọc [số lượng] bài viết bán hàng của [tên người / "chính tôi"]. Hãy phân tích kỹ và trả lời các câu hỏi sau: 1. GIỌNG VĂN: Tone tổng thể là gì? (ví dụ: thân thiện, sắc bén, chuyên gia, gần gũi...) Mô tả bằng 3–5 tính từ cụ thể. 2. NHỊP ĐIỆU: Câu dài hay ngắn? Đoạn dài hay ngắn? Có dùng bullet point không? Có dùng câu hỏi không? 3. TỪ NGỮ ĐẶC TRƯNG: Liệt kê 10–15 từ/cụm từ hay xuất hiện nhất. Từ nào là đặc trưng, từ nào là cần tránh. 4. CẤU TRÚC BÀI: Thường mở đầu bằng gì? Kết thúc bằng gì? Phần body thường đi theo logic nào? 5. CÁCH BÁN HÀNG: Họ tạo ra desire như thế nào? Dùng FOMO, social proof, benefit, pain point, hay cách khác? 6. EMOJI & FORMAT: Có dùng emoji không? Dùng nhiều hay ít? Có dùng hashtag không? Sau khi phân tích xong, hãy viết cho tôi 1 đoạn mô tả tổng thể giọng văn này — như thể bạn đang hướng dẫn một AI khác bắt chước đúng giọng đó. --- ĐÂY LÀ CÁC BÀI MẪU: [Dán toàn bộ bài mẫu bạn đã thu thập ở Bước 2 vào đây]
Sau khi Claude trả lời: Đọc kỹ phân tích. Nếu có điểm nào bạn thấy chưa đúng với giọng thật của người đó — bổ sung ngay trong chat: "Thật ra họ cũng hay dùng... / Họ không bao giờ dùng từ..."
4

Build file SKILL.md từ kết quả phân tích

Đây là bước quan trọng nhất — biến phân tích thành hướng dẫn có thể tái sử dụng

  • LÀM Trong cùng cuộc chat với Claude, gửi tiếp prompt dưới đây. Claude sẽ tự động dùng kết quả phân tích ở Bước 3 để tạo file.
PROMPT — gửi tiếp trong cùng chat → dán vào Claude
Dựa trên toàn bộ phân tích vừa rồi, hãy tạo cho tôi một file SKILL.md hoàn chỉnh theo cấu trúc sau: --- name: viet-content-ban-hang-[tên người hoặc tên sản phẩm viết liền không dấu] description: [1 câu mô tả ngắn khi nào dùng skill này] --- # Skill: Viết Content Bán Hàng — [Tên] ## Persona [Mô tả người viết là ai, bán gì, đứng ở góc nào khi viết] ## Giọng văn [Tone, nhịp điệu, từ ngữ đặc trưng, từ cần tránh — càng cụ thể càng tốt] ## Cách tạo desire & bán hàng [Cách họ khơi gợi nhu cầu, tạo urgency, xử lý objection trong bài viết] ## Cấu trúc bài viết [Mở đầu thường như thế nào, body đi theo logic gì, kết thúc ra sao] ## Ví dụ giọng văn ĐÚNG [Viết 2 đoạn ngắn minh họa đúng giọng — dựa trên bài mẫu] ## Ví dụ giọng văn SAI [Viết 1 đoạn cùng chủ đề nhưng sai giọng — để dễ phân biệt] ## Workflow khi nhận yêu cầu [Các bước Claude cần làm khi được yêu cầu viết bài theo skill này] Yêu cầu: Càng cụ thể càng tốt. Không viết chung chung. Mỗi mục phải có ví dụ hoặc tiêu chí đo được.
  • LÀM Sau khi Claude tạo xong SKILL.md — copy toàn bộ nội dung, mở Notepad/VS Code, paste vào và lưu file tên SKILL.md
  • LƯU Ý Đọc lại file trước khi lưu. Nếu có điểm nào chưa đúng, sửa trực tiếp trong file — bạn là người hiểu giọng văn đó nhất, không phải AI.
5

Upload SKILL.md vào Claude Project + Test

Dùng thử skill ngay — generate 3 bài để kiểm tra độ chính xác

  • LÀM Vào claude.ai → ProjectsNew Project → đặt tên (ví dụ: "Viết content bán hàng [tên KH]") → vào mục Files → upload file SKILL.md vừa tạo.
  • LÀM Mở chat mới trong Project đó. Gõ đúng 1 câu: "Viết bài bán hàng về [tên sản phẩm/dịch vụ cụ thể]" — không giải thích thêm gì.
  • KIỂM TRA Đọc bài Claude vừa viết. Tự hỏi: nếu không biết AI viết bài này, mình có nhận ra giọng của người mình chọn không? Nếu có → skill đang tốt. Nếu không → qua Bước 6.
  • LÀM Lặp lại với 2 chủ đề bán hàng khác nhau nữa — tổng cộng 3 bài test. Lưu lại cả 3 bài.
Mẹo test hiệu quả: Đưa bài AI vừa viết cho 1 người quen xem và hỏi "bài này nghe giống ai không?" — nếu họ đoán được đúng người bạn chọn, skill đang hoạt động tốt.
6

Tinh chỉnh skill nếu chưa đúng giọng

Skill tốt không ra ngay lần đầu — cần ít nhất 1 vòng tinh chỉnh

  • LÀM Mở file SKILL.md. Ghi chú bên cạnh những chỗ mà 3 bài test cho thấy AI đang hiểu sai — ví dụ: "AI hay dùng từ 'tuyệt vời' nhưng người này không bao giờ dùng", "Câu kết của AI nghe như coach trong khi thật ra người này kết bằng câu hỏi".
  • LÀM Quay lại Claude (chat mới, không cần Project), paste nội dung SKILL.md hiện tại + mô tả vấn đề → yêu cầu Claude chỉnh sửa phần đó.
  • LÀM Lưu lại SKILL.md mới. Upload đè lên file cũ trong Project. Test lại 1 bài nữa.
  • LƯU Ý Không cần skill hoàn hảo 100% hôm nay. Mục tiêu là skill đúng được 7/10 — phần còn lại bạn sẽ chỉnh tiếp khi dùng thật.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • File SKILL.md hoàn chỉnh — có đủ 7 mục theo cấu trúc đã tạo
  • 3 bài test đã generate bằng skill — lưu trong 1 doc, ghi rõ chủ đề từng bài
  • Tự đánh giá: bài AI viết đúng giọng được bao nhiêu % — ghi thật, không cần đẹp
  • Nộp vào nhóm team: tag Sếp, ghi tên người bạn chọn làm nguồn giọng văn
  • Đăng Facebook chia sẻ kết quả ngày hôm nay — viết thật, không cần dài, nói đúng những gì bạn vừa làm được và học được. Tag Trần Linh
IdeogramCanva AIAdobe Firefly
Ngày 03
Dùng skill → generate bộ content bán hàng cho 1 sản phẩm thật
VàoFile SKILL.md và thông tin 1 sản phẩm thật
RaBộ 10 bài (post, caption ads, email, ZNS) sẵn sàng đăng
Tư duy cốt lõi
Nhiệm vụ của bạn hôm nay là brief rõ ràngreview kỹ — không phải viết. AI generate xong, bạn đọc như một editor: cái nào đúng thì giữ, cái nào sai thì yêu cầu viết lại, đừng tự sửa tay từng chữ.
10 Bài Content Cần Có
📱

Post Facebook

Bài dài, kể chuyện, tạo desire

3 bài

Caption Ads

Ngắn, thẳng, kéo click

3 bài
📧

Email bán hàng

Subject + body + CTA

2 bài
💬

ZNS / Zalo message

Ngắn gọn, đúng hạn mức ký tự

2 bài
SOP Chi Tiết
1

Chuẩn bị brief sản phẩm

AI cần biết rõ mình đang bán gì trước khi viết — brief tốt thì content tốt

  • LÀM Chọn 1 sản phẩm/dịch vụ thật bạn đang làm hoặc agency đang chạy cho KH. Điền đầy đủ thông tin vào bảng brief dưới đây.
  • QUAN TRỌNG Đừng chọn sản phẩm chung chung như "khóa học online". Phải cụ thể: "Khóa học chạy Meta Ads 4 tuần cho chủ shop Shopee, giá 2.9 triệu, khai giảng 15/6". Càng cụ thể → AI viết càng chuẩn.
BRIEF TEMPLATE — điền vào rồi dùng cho các bước sau
Tên sản phẩm/dịch vụ: [điền vào] Giá: [giá gốc / giá ưu đãi nếu có] Khách hàng mục tiêu: [ai, làm gì, vấn đề gì] Lợi ích chính (3 điểm): [điền vào] Điểm khác biệt so với đối thủ: [điền vào] Bằng chứng/social proof: [số KH, review, kết quả thật nếu có] Urgency/Ưu đãi đang có: [deadline, bonus, giới hạn số lượng...] CTA mong muốn: [inbox, click link, gọi điện, đặt hàng...]
2

Generate 3 Post Facebook

3 angle khác nhau — không bài nào được nghe giống bài nào

  • LÀM Vào Project Claude đã tạo ở Ngày 2 (có sẵn SKILL.md). Mở chat mới. Copy prompt dưới đây, điền brief sản phẩm từ Bước 1 vào.
PROMPT — dán vào Claude Project → đã có SKILL.md
Dùng skill viết content trong file SKILL.md, viết cho tôi 3 bài post Facebook bán hàng cho sản phẩm sau: [Paste toàn bộ brief sản phẩm từ Bước 1 vào đây] Yêu cầu: Mỗi bài viết theo 1 angle khác nhau: - Bài 1: Angle PAIN POINT — mở đầu bằng vấn đề KH đang gặp, dẫn đến sản phẩm như giải pháp - Bài 2: Angle SOCIAL PROOF — mở đầu bằng kết quả thật/câu chuyện KH đã dùng - Bài 3: Angle URGENCY — tạo cảm giác cần mua ngay, không phải "để sau" Mỗi bài 200–350 chữ. Viết xong 3 bài mới dừng, không hỏi thêm.
  • REVIEW Đọc 3 bài. Bài nào nghe không đúng giọng skill → gõ tiếp: "Bài [số] chưa đúng giọng ở chỗ [mô tả cụ thể]. Viết lại." Đừng tự sửa tay.
  • LÀM Bài nào đã ok → copy vào Google Doc, đặt tên: "Post Facebook — Bài 1/2/3".
3

Generate 3 Caption Ads

Ngắn — mỗi caption dưới 150 chữ, đủ mạnh để dừng scroll

  • LÀM Tiếp tục trong cùng chat. Gửi prompt dưới đây.
PROMPT — gửi tiếp trong cùng chat
Viết tiếp cho tôi 3 caption ads cho cùng sản phẩm trên. Vẫn dùng giọng trong SKILL.md. - Caption 1: Cho ảnh sản phẩm — ngắn, benefit rõ, CTA mạnh. Dưới 100 chữ. - Caption 2: Cho video testimonial — dẫn dắt từ kết quả thật, kéo người xem muốn biết thêm. Dưới 120 chữ. - Caption 3: Cho ảnh so sánh trước/sau hoặc before/after — tạo contrast rõ ràng. Dưới 100 chữ. Mỗi caption phải có CTA rõ ràng ở cuối.
Lưu ý khi review caption: Caption ads phải dừng được scroll trong 2 giây đầu. Câu đầu tiên là quan trọng nhất — nếu câu đầu không đủ mạnh, yêu cầu viết lại câu đầu thôi: "Câu mở đầu của Caption [số] chưa đủ mạnh. Viết lại 3 phiên bản câu đầu khác nhau."
4

Generate 2 Email bán hàng

Email cần có subject line kéo open + body dẫn dắt + CTA rõ

  • LÀM Gửi tiếp prompt dưới đây trong cùng chat.
PROMPT — gửi tiếp trong cùng chat
Viết cho tôi 2 email bán hàng cho cùng sản phẩm. Vẫn dùng giọng trong SKILL.md. Email 1 — Email giới thiệu lần đầu: Gửi cho người chưa biết sản phẩm. Mục tiêu: tạo interest, kéo họ click tìm hiểu thêm. Cấu trúc: Subject line → Hook câu đầu → Vấn đề → Giải pháp → Social proof ngắn → CTA Email 2 — Email follow-up/closing: Gửi cho người đã biết nhưng chưa mua. Mục tiêu: tạo urgency, xử lý objection, chốt. Cấu trúc: Subject line gợi lại → Nhắc lại lợi ích chính → Xử lý 1 objection phổ biến → Urgency → CTA mạnh Mỗi email không quá 250 chữ phần body. Viết subject line trước, rồi mới viết body.
  • REVIEW Subject line có phải thứ bạn sẽ mở nếu nhận được không? Nếu không — yêu cầu: "Viết lại 5 phiên bản subject line cho Email [số], theo các style: tò mò / số liệu / câu hỏi / lợi ích trực tiếp / cảnh báo."
5

Generate 2 tin nhắn ZNS / Zalo

ZNS giới hạn ký tự — súc tích, thẳng, không thừa chữ

  • BIẾT TRƯỚC ZNS (Zalo Notification Service) giới hạn khoảng 300 ký tự. Tin nhắn Zalo thường dưới 200 ký tự cho hiệu quả tốt. Mỗi chữ phải có lý do tồn tại.
  • LÀM Gửi prompt dưới đây trong cùng chat.
PROMPT — gửi tiếp trong cùng chat
Viết cho tôi 2 tin nhắn Zalo/ZNS cho cùng sản phẩm. Vẫn dùng giọng trong SKILL.md nhưng cần cực kỳ ngắn gọn. Tin nhắn 1 — Thông báo ưu đãi: Báo về chương trình khuyến mãi/deadline đang có. Tạo urgency. Tối đa 200 ký tự (kể cả khoảng trắng). Tin nhắn 2 — Nhắc nhở / Re-engage: Gửi cho người đã hỏi nhưng chưa mua. Nhắc nhẹ, không spam. Tối đa 180 ký tự. Sau mỗi tin nhắn, hãy đếm và ghi rõ số ký tự thực tế.
  • KIỂM TRA Đọc 2 tin nhắn — có nghe tự nhiên như người thật nhắn không? Hay nghe như robot gửi mass? Nếu cứng → yêu cầu: "Viết lại tự nhiên hơn, như một người quen nhắn chứ không phải thương hiệu broadcast."
6

Tổng hợp + đánh giá bộ content

Lưu gọn lại, tự chấm điểm trước khi nộp

  • LÀM Tạo 1 Google Doc tên: "Bộ content [tên sản phẩm] — Ngày 3". Dán toàn bộ 10 bài vào, chia theo từng mục rõ ràng: POST FACEBOOK / CAPTION ADS / EMAIL / ZNS.
  • LÀM Đọc lại toàn bộ 10 bài một lần cuối. Với mỗi bài, ghi chú ngắn bên cạnh: "Dùng được ngay" hoặc "Cần chỉnh [ghi vấn đề cụ thể]".
  • TỰ ĐÁNH GIÁ Tối thiểu 7/10 bài phải ở trạng thái "Dùng được ngay" mới đạt nghiệm thu. Nếu chưa đủ — quay lại yêu cầu AI viết lại những bài chưa đạt.
  • LƯU Ý "Dùng được ngay" nghĩa là: đọc xong bạn thấy bài này có thể đăng/gửi cho KH mà không ngại. Không cần hoàn hảo — cần đủ tốt để ra thị trường.
Bonus nếu còn thời gian: Nhờ 1 người trong team đọc bộ content mà không nói đây là AI viết. Hỏi: "Bài này có kêu gọi mua được không? Bài nào mày thấy muốn click nhất?" — feedback thật từ người thật quan trọng hơn bất kỳ review nào khác.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Google Doc "Bộ content [tên sản phẩm] — Ngày 3" có đủ 10 bài chia theo từng loại
  • Ít nhất 7/10 bài đánh dấu "Dùng được ngay"
  • Ghi chú ngắn bên cạnh từng bài — tự đánh giá thật, không cần đẹp
  • Share link Google Doc vào nhóm team, tag Sếp
  • Đăng Facebook chia sẻ kết quả — bài nào trong bộ 10 bài bạn thấy tốt nhất, tại sao. Tag Trần Linh
Kling AICapCut AIHeyGen
Ngày 04
Phân tích ads đối thủ + phân tích khách hàng → viết ads & comment seeding
VàoLink bài ads của đối thủ
RaFile ads hoàn chỉnh gồm creative copy, comment seeding script, target audience
Tư duy cốt lõi
Đối thủ đang chạy ads là họ đang trả tiền để test thay bạn. Bất kỳ ads nào chạy lâu hơn 2 tuần là ads đang có kết quả. Đừng sáng tạo từ đầu — hãy học từ những gì đã được thị trường validate. Rồi mới làm khác đi theo hướng tốt hơn.
Output Cần Có Cuối Ngày

Bản phân tích đối thủ

Pattern ads đang chạy, angle hay dùng, điểm yếu chưa khai thác

1 bản phân tích

Chân dung khách hàng

ICP chi tiết, pain point, trigger mua, objection thường gặp

1 bản ICP

Creative copy ads

Headline + primary text cho 3 angle khác nhau

3 bộ copy

Comment seeding script

3 loại comment: hỏi han, review, so sánh

9 comment mẫu

Target audience

Interest, behavior, lookalike — đủ để setup ads ngay

1 bản target
SOP Chi Tiết
1

Thu thập ads đối thủ từ Meta Ads Library

Đây là kho dữ liệu miễn phí — đối thủ đang trả tiền chạy và bạn đọc được hết

  • LÀM Vào facebook.com/ads/library → chọn quốc gia Việt Nam → chọn "Tất cả quảng cáo" → tìm tên page của 3 đối thủ cạnh tranh trực tiếp với sản phẩm bạn đang làm.
  • LÀM Với mỗi đối thủ: lọc chỉ xem ads đang active (đang chạy). Chụp màn hình hoặc copy nội dung của 5–7 ads đang chạy lâu nhất — ads chạy lâu = ads đang có kết quả.
  • LƯU Ý Tập trung vào: Headline (dòng chữ đầu tiên), primary text (đoạn mô tả), CTA button, và visual (ảnh/video đang dùng loại gì). Đây là 4 yếu tố quan trọng nhất của 1 ads.
  • LÀM Dán tất cả nội dung ads đã thu thập vào 1 Google Doc. Ghi rõ tên đối thủ ở đầu mỗi nhóm.
Không tìm được đối thủ trên Meta? Thử tìm bằng keyword ngành thay vì tên page. Ví dụ: tìm "giảm cân", "khóa học marketing", "son môi"... Ads Library sẽ hiện tất cả page đang chạy ads có keyword đó.
2

Cho Claude phân tích toàn bộ ads đối thủ

Không chỉ mô tả — cần biết tại sao nó chạy được và gap nào chưa ai khai thác

  • LÀM Mở Claude (chat mới, không cần vào Project). Gửi prompt dưới đây, paste toàn bộ nội dung ads đã thu thập vào.
PROMPT — dán vào Claude → chat mới, không cần Project
Tôi sẽ cho bạn đọc ads của [số lượng] đối thủ trong ngành [tên ngành/sản phẩm]. Hãy phân tích và trả lời: 1. PATTERN PHỔ BIẾN: Những yếu tố nào xuất hiện trong hầu hết ads? (angle, format, CTA, pain point hay khai thác...) 2. ANGLE HAY DÙNG NHẤT: Họ thường mở đầu bằng gì? Pain point? FOMO? Benefit? Social proof? 3. ĐIỂM YẾU CHUNG: Điều gì họ CHƯA làm hoặc làm chưa tốt? Đây là cơ hội để tôi làm khác đi. 4. ADS NỔI BẬT NHẤT: Ads nào bạn đánh giá là hiệu quả nhất? Tại sao? 5. GÓC CHƯA AI KHAI THÁC: Có angle nào về sản phẩm này mà không đối thủ nào đang dùng không? Cuối cùng: Viết cho tôi 3 insight quan trọng nhất tôi nên áp dụng khi viết ads cho sản phẩm tương tự. --- NỘI DUNG ADS ĐỐI THỦ: [Paste toàn bộ nội dung ads đã thu thập từ Bước 1]
  • LÀM Đọc kỹ phân tích. Copy phần "3 insight quan trọng nhất" vào Google Doc — đây là kim chỉ nam cho toàn bộ ads bạn sẽ viết hôm nay.
3

Phân tích khách hàng mục tiêu — build ICP chi tiết

Biết rõ bán cho ai thì mới viết ads đúng người

  • LÀM Tiếp tục trong cùng chat. Gửi prompt dưới đây.
PROMPT — gửi tiếp trong cùng chat
Dựa trên ads đối thủ vừa phân tích và sản phẩm [tên sản phẩm của bạn], hãy xây dựng cho tôi chân dung khách hàng mục tiêu (ICP) chi tiết: 1. NHÂN KHẨU HỌC: Tuổi, giới tính, nghề nghiệp, thu nhập, khu vực. 2. HÀNH VI ONLINE: Họ hay dùng nền tảng nào? Theo dõi ai? Hay mua online không? Mua vào thời điểm nào? 3. PAIN POINT: 5 vấn đề cụ thể họ đang gặp phải liên quan đến [lĩnh vực sản phẩm]. Mô tả bằng ngôn ngữ của chính họ — như cách họ sẽ nói với bạn bè, không phải ngôn ngữ marketing. 4. TRIGGER MUA: Điều gì khiến họ quyết định mua? Sự kiện nào trong cuộc sống kích hoạt nhu cầu? 5. OBJECTION PHỔ BIẾN: 5 lý do họ thường dùng để không mua. Và câu trả lời tốt nhất cho từng lý do đó. 6. KỲ VỌNG: Họ muốn đạt được gì sau khi mua? Cả kết quả thực tế lẫn cảm xúc muốn có. Format output: Viết như một persona document — tôi sẽ paste vào brief ads sau.
  • LÀM Copy toàn bộ ICP vào Google Doc. Đây sẽ là tài liệu dùng lại nhiều lần — không chỉ hôm nay.
  • BONUS Nếu bạn đã có khách hàng thật — bổ sung vào ICP những gì bạn biết từ thực tế mà AI không biết: câu nào khách hay nói khi hỏi, lý do thật tại sao họ mua, điều gì làm họ hài lòng nhất.
4

Viết 3 bộ creative copy ads

Mỗi bộ 1 angle — dựa trên insight từ phân tích đối thủ và ICP vừa build

  • LÀM Vào Claude Project (có SKILL.md). Mở chat mới. Gửi prompt dưới đây.
PROMPT — dán vào Claude Project → có SKILL.md
Dùng skill trong SKILL.md, viết cho tôi 3 bộ creative copy ads cho sản phẩm sau. THÔNG TIN SẢN PHẨM: [paste brief sản phẩm từ Ngày 3] INSIGHT TỪ PHÂN TÍCH ĐỐI THỦ: [paste 3 insight từ Bước 2] ICP KHÁCH HÀNG: [paste phần Pain Point và Objection từ Bước 3] Mỗi bộ copy gồm: - HEADLINE: Dòng chữ đầu tiên, tối đa 10 từ, phải dừng được scroll - PRIMARY TEXT: Đoạn mô tả, 80–150 chữ - CTA: Nút kêu gọi hành động (1 cụm từ ngắn) 3 angle: - Bộ 1: Khai thác PAIN POINT — đau trước, giải pháp sau - Bộ 2: Khai thác GAP chưa đối thủ nào làm — dựa trên insight phân tích - Bộ 3: Khai thác OBJECTION — xử lý lý do không mua ngay trong body text Mỗi bộ xuống dòng rõ ràng, label đầy đủ.
  • REVIEW HEADLINE Đọc 3 headline trước. Tự hỏi: nếu thấy headline này trên feed lúc 10 giờ đêm, bạn có dừng lại không? Nếu không → yêu cầu: "Viết lại 5 phiên bản headline cho Bộ [số] — mạnh hơn, cụ thể hơn, ít generic hơn."
  • REVIEW BODY Body text có đang nói đúng ngôn ngữ của ICP không? Nếu đọc thấy từ nào nghe "quảng cáo" quá → yêu cầu Claude viết lại câu đó theo cách người thật nói.
Lỗi phổ biến cần tránh: Đừng để AI viết headline kiểu "Giải pháp tối ưu cho vấn đề của bạn!" — quá chung. Headline phải cụ thể đến mức người đọc nghĩ "bài này viết cho tao". Ví dụ đúng: "Chạy ads 3 tháng vẫn không ra đơn? Đây là lý do."
5

Viết 9 comment seeding script

3 loại comment × 3 mẫu mỗi loại — phải nghe như người thật, không phải bot

  • HIỂU TRƯỚC Comment seeding là comment giả nhưng phải nghe như thật — người thật hỏi han, chia sẻ trải nghiệm, hoặc so sánh. Mục tiêu: tạo social proof và tăng tương tác cho bài ads. Comment nghe như bot là phản tác dụng.
  • LÀM Tiếp tục trong cùng chat, gửi prompt dưới đây.
PROMPT — gửi tiếp trong cùng chat
Viết cho tôi 9 comment seeding cho bài ads sản phẩm [tên sản phẩm]. 3 loại × 3 mẫu mỗi loại: LOẠI 1 — COMMENT HỎI HAN (3 mẫu) Người chưa mua, hỏi thật về sản phẩm. Hỏi về: giá, cách dùng, có phù hợp cho trường hợp cụ thể không... Phải nghe như câu hỏi thật, không phải hỏi để quảng cáo. LOẠI 2 — COMMENT REVIEW (3 mẫu) Người đã dùng, chia sẻ trải nghiệm thật. Không nên quá tích cực — review thật thường có cả điểm chưa ưng nhỏ. Có số liệu cụ thể hoặc kết quả thật sẽ đáng tin hơn. LOẠI 3 — COMMENT SO SÁNH (3 mẫu) So sánh với đối thủ hoặc cách làm cũ. Phải nghe như người đang chia sẻ kinh nghiệm cá nhân, không phải đang dìm hàng đối thủ trực tiếp. Yêu cầu: Mỗi comment dưới 80 chữ. Viết bằng ngôn ngữ tự nhiên của người Việt — có thể viết tắt, không cần ngữ pháp hoàn hảo. Tuyệt đối không dùng emoji quá nhiều.
  • TEST SEEDING Đọc từng comment và tự hỏi: nếu thấy comment này trên bài ads người khác, bạn có nghĩ đây là comment thật không? Nếu có → đạt. Nếu không → yêu cầu viết lại tự nhiên hơn.
  • LƯU Ý ĐẠO ĐỨC Comment seeding là công cụ marketing — dùng đúng thì hiệu quả, lạm dụng thì mất uy tín. Không seeding sai sự thật về tính năng sản phẩm.
6

Xây dựng target audience để setup ads

Đủ cụ thể để vào Ads Manager setup được ngay — không phải target chung chung

  • LÀM Gửi tiếp prompt dưới đây trong cùng chat.
PROMPT — gửi tiếp trong cùng chat
Dựa trên ICP và sản phẩm [tên sản phẩm], hãy xây dựng cho tôi bộ target audience để setup trên Meta Ads Manager: 1. NHÂN KHẨU HỌC CƠ BẢN: - Độ tuổi: [khoảng cụ thể] - Giới tính: [nam/nữ/cả hai, tại sao] - Địa điểm: [tỉnh thành cụ thể nếu cần] 2. DETAILED TARGETING — INTERESTS (10–15 interest cụ thể): Liệt kê tên interest đúng như trên Meta — chia thành nhóm: ngành liên quan / đối thủ / hành vi mua hàng / nội dung hay theo dõi 3. BEHAVIORS: Hành vi nào trên Meta phù hợp với tệp này? (ví dụ: Engaged Shoppers, Small Business Owners...) 4. LOOKALIKE SUGGESTION: Nếu đã có data KH cũ, nên tạo Lookalike từ nguồn nào? Tại sao? 5. AUDIENCE TO EXCLUDE: Tệp nào nên loại trừ để không lãng phí ngân sách? 6. AUDIENCE SIZE GỢI Ý: Tệp này nên rộng hay hẹp? Tại sao? Estimated size phù hợp là bao nhiêu? Format: Trình bày rõ ràng, tôi sẽ dùng document này khi setup ads thật.
Sau khi có target: Mở Meta Ads Manager thật → vào phần Audiences → thử search một vài interest AI đề xuất xem có tồn tại không. Nếu không có → hỏi Claude: "Interest [tên] không có trên Meta VN, gợi ý thay thế tương đương?"
7

Tổng hợp thành file ads hoàn chỉnh

Một file — mở ra là chạy được, không cần tìm lại từng thứ

  • LÀM Tạo Google Doc tên: "Ads Brief [tên sản phẩm] — Ngày 4". Cấu trúc doc như sau:
CẤU TRÚC FILE ADS HOÀN CHỈNH
PHẦN 1 — PHÂN TÍCH ĐỐI THỦ → 3 insight quan trọng nhất từ Bước 2 PHẦN 2 — ICP KHÁCH HÀNG → Chân dung KH từ Bước 3 (pain point + objection là quan trọng nhất) PHẦN 3 — CREATIVE COPY ADS → Bộ 1: [Headline / Primary Text / CTA] → Bộ 2: [Headline / Primary Text / CTA] → Bộ 3: [Headline / Primary Text / CTA] PHẦN 4 — COMMENT SEEDING SCRIPT → Loại 1 — Hỏi han: (3 mẫu) → Loại 2 — Review: (3 mẫu) → Loại 3 — So sánh: (3 mẫu) PHẦN 5 — TARGET AUDIENCE → Demographics / Interests / Behaviors / Exclude / Size
  • TỰ ĐÁNH GIÁ Đọc lại toàn bộ file. Câu hỏi cuối: nếu đưa file này cho người khác trong team và bảo "setup ads theo đây" — họ có làm được không mà không cần hỏi thêm gì? Nếu chưa → bổ sung chỗ còn thiếu.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Google Doc "Ads Brief [tên sản phẩm] — Ngày 4" đủ 5 phần theo cấu trúc trên
  • 3 bộ creative copy — mỗi bộ đủ Headline + Primary Text + CTA
  • 9 comment seeding — 3 loại × 3 mẫu, nghe như người thật viết
  • 1 bản target audience — đủ cụ thể để vào Ads Manager setup được ngay
  • Share link Google Doc vào nhóm team, tag Sếp
  • Đăng Facebook chia sẻ 1 insight bất ngờ nhất khi phân tích ads đối thủ hôm nay. Tag Trần Linh
ClaudeNotion AI
Nộp Sếp: content calendar thật của 1 KH đang chạy
Ngày 05
Build tool phân tích bài viết & quét comment → báo cáo vấn đề về ads
VàoYêu cầu chức năng phân tích comment
RaTool chạy được — input link bài, output báo cáo phân tích comment + điểm cần tối ưu
Tư duy cốt lõi
Vibecode không phải lập trình. Vibecode là mô tả rõ ràng những gì bạn muốn — rồi để AI build cho bạn. Bạn không cần hiểu code. Bạn chỉ cần hiểu tool này làm gì, nhận input gì, ra output gì. Phần còn lại Claude làm.
Tool Sẽ Hoạt Động Như Thế Nào
Input 1
Nội dung bài viết
+
Input 2
Copy-paste comment
Xử lý
Claude API phân tích
Output
Báo cáo cấu trúc
Báo cáo output sẽ gồm
Tổng quan bài viết: điểm mạnh, điểm yếu của copy
Phân tích comment: sentiment (tích cực / tiêu cực / trung lập), tỉ lệ %
Top 5 câu hỏi khách hay hỏi nhất
Top 3 objection xuất hiện trong comment
Điểm cần tối ưu ngay: headline, CTA, targeting, creative
Gợi ý cụ thể để cải thiện bài ads tiếp theo
SOP Chi Tiết
1

Thu thập dữ liệu thật để test tool

Chuẩn bị trước — có data thật mới test được tool thật

  • LÀM Chọn 1 bài ads đang chạy thật của KH hoặc của agency — bài có ít nhất 20 comment. Đây là bài bạn sẽ dùng để test tool.
  • LÀM Copy toàn bộ nội dung bài viết (caption, headline). Sau đó copy 20–50 comment từ bài đó — dán vào Google Doc tạm, mỗi comment 1 dòng. Không cần lấy tên người comment.
  • LƯU Ý Facebook không cho phép tự động quét comment bằng code phía ngoài. Cách thực tế nhất hiện tại là copy thủ công hoặc dùng Meta Business Suite export data. Bài hôm nay build tool nhận input thủ công — đủ để dùng thật trong agency.
Không có bài ads thật? Lấy bất kỳ bài viết bán hàng nào trên Facebook có nhiều comment cũng được — mục tiêu hôm nay là build và test tool hoạt động, không phải phân tích bài cụ thể nào.
2

Mô tả tool cho Claude — build giao diện

Bước quan trọng nhất: mô tả càng rõ, tool ra càng chuẩn

  • VIBECODE Vào claude.ai → New chat. Copy toàn bộ prompt dưới đây và gửi — không thay đổi gì cả.
PROMPT BUILD TOOL — copy nguyên, dán vào Claude → chat thường
Hãy build cho tôi một web app phân tích bài viết và comment ads Facebook. Đây là tool nội bộ cho agency marketing. CHỨC NĂNG: Tool nhận 2 input từ người dùng: 1. Nội dung bài viết ads (textarea) 2. Danh sách comment (textarea — mỗi comment 1 dòng) Khi bấm nút "Phân Tích", tool gọi Claude API để phân tích và hiển thị báo cáo gồm 6 phần: PHẦN 1 — TỔNG QUAN BÀI VIẾT - Điểm mạnh của copy (2-3 điểm) - Điểm yếu cần cải thiện (2-3 điểm) - Đánh giá tổng thể: Mạnh / Trung bình / Cần cải thiện PHẦN 2 — PHÂN TÍCH SENTIMENT COMMENT - Tỉ lệ % comment tích cực / tiêu cực / câu hỏi / neutral - Hiển thị dạng progress bar màu sắc PHẦN 3 — TOP 5 CÂU HỎI PHỔ BIẾN NHẤT - Liệt kê 5 câu hỏi/chủ đề khách hay hỏi nhất trong comment - Gợi ý cách trả lời chuẩn cho từng câu PHẦN 4 — OBJECTION PHỔ BIẾN - Top 3 lý do từ chối/phàn nàn xuất hiện trong comment - Gợi ý cách xử lý từng objection PHẦN 5 — ĐIỂM CẦN TỐI ƯU NGAY - 3-5 điểm cụ thể cần fix: headline, CTA, targeting, creative, giá... - Mỗi điểm phải kèm gợi ý sửa cụ thể PHẦN 6 — GỢI Ý CHO BÀI ADS TIẾP THEO - 3 thay đổi quan trọng nhất nên áp dụng - 1 angle mới chưa thử DESIGN YÊU CẦU: - Giao diện tối, chuyên nghiệp, phù hợp cho agency - Có loading state khi đang phân tích - Có nút "Copy báo cáo" để copy toàn bộ kết quả - Có nút "Phân tích lại" để xóa kết quả và bắt đầu lại - Responsive, dùng được trên điện thoại - Font chữ dễ đọc, có icon phù hợp từng section TECHNICAL: - Build bằng HTML/CSS/JavaScript thuần, không dùng framework - Gọi Anthropic API tại https://api.anthropic.com/v1/messages - Model: claude-sonnet-4-20250514 - Có ô input để nhập API key (lưu vào localStorage) - Xử lý lỗi rõ ràng nếu API fail Hãy build ngay, không hỏi thêm gì.
  • SAU KHI CLAUDE BUILD XONG Claude sẽ tạo ra một file HTML. Bấm "Copy code" → lưu thành file tool-phan-tich-ads.html trên máy tính. Mở file đó bằng Chrome để xem giao diện.
  • LƯU Ý Nếu giao diện trông chưa đẹp hoặc thiếu chức năng — đừng tự sửa code. Mô tả vấn đề cho Claude: "Section phân tích sentiment chưa có progress bar. Thêm progress bar màu xanh/đỏ/vàng cho từng loại sentiment."
3

Lấy API key và test tool lần đầu

Tool cần API key của Claude để hoạt động — lấy ở đây

  • LÀM Vào console.anthropic.com → đăng nhập → vào mục API Keys → tạo key mới → copy key (bắt đầu bằng "sk-ant-...").
  • LÀM Mở file HTML vừa lưu bằng Chrome → paste API key vào ô input → bấm Save.
  • LÀM Dán nội dung bài viết ads đã chuẩn bị từ Bước 1 vào ô "Nội dung bài viết". Dán 20–50 comment vào ô "Comment". Bấm "Phân Tích".
  • KIỂM TRA Tool có hiện loading state không? Kết quả có hiện đủ 6 phần không? Nếu có lỗi → xem lỗi gì, chụp màn hình, paste vào Claude và hỏi cách fix.
Lỗi phổ biến: CORS error khi gọi API từ file HTML local. Nếu gặp lỗi này → báo Claude: "Tool bị lỗi CORS khi chạy từ file HTML local. Fix giúp tôi." Claude sẽ biết cách xử lý.
4

Tinh chỉnh tool theo feedback thực tế

Lần đầu build không bao giờ hoàn hảo — tinh chỉnh cho đến khi dùng được thật

  • LÀM Sau khi tool chạy được, dùng thử với dữ liệu thật từ Bước 1. Đọc báo cáo output — ghi chú những gì chưa ổn.
DANH SÁCH CÁC VẤN ĐỀ THƯỜNG GẶP — check và fix từng cái
Vấn đề 1: Báo cáo quá chung chung, không cụ thể → Fix: "Báo cáo đang quá chung. Sửa system prompt để AI phân tích cụ thể hơn — phải trích dẫn câu cụ thể từ bài viết và comment khi đưa ra nhận xét." Vấn đề 2: Loading quá lâu, không biết đang làm gì → Fix: "Thêm text loading thay đổi theo thời gian: 'Đang đọc bài viết...' → 'Đang phân tích comment...' → 'Đang tổng hợp báo cáo...'" Vấn đề 3: Kết quả không format đẹp, khó đọc → Fix: "Phần output đang hiện text thuần. Format lại thành các card riêng biệt cho từng section, có icon emoji phù hợp đầu mỗi section." Vấn đề 4: Nút Copy không hoạt động → Fix: "Nút 'Copy báo cáo' không copy được gì. Fix lại chức năng này." Vấn đề 5: Giao diện nhìn không chuyên nghiệp → Fix: "Redesign giao diện theo style dark mode chuyên nghiệp hơn. Tham khảo style của Linear.app hoặc Vercel dashboard."
  • NGUYÊN TẮC FIX LỖI Mỗi lần fix chỉ mô tả 1 vấn đề — đừng gửi 5 yêu cầu cùng lúc. Claude dễ bỏ sót hoặc fix sai khi quá nhiều yêu cầu một lúc.
  • TIÊU CHÍ ĐẠT Tool đạt khi: chạy được, ra kết quả đọc hiểu được, có ít nhất 1 insight thực sự hữu ích cho việc tối ưu ads.
5

Deploy lên Antigravity — có link share được

Tool chạy trên máy là chưa xong — phải deploy để team dùng được từ bất cứ đâu

  • VIBECODE Vào Antigravity → tạo project mới → paste toàn bộ HTML code của tool vào → bấm Deploy.
  • LÀM Antigravity sẽ cho bạn 1 link. Mở link đó trên điện thoại — tool có hiển thị đúng không? Nếu bị lệch layout → báo Claude: "Tool bị lệch layout trên mobile. Fix responsive."
  • LÀM Test lần cuối trên link Antigravity với dữ liệu thật từ Bước 1 — đảm bảo mọi thứ chạy đúng trên môi trường deploy.
  • LƯU Ý BẢO MẬT Tool này yêu cầu nhập API key. Nhắc team: mỗi người dùng API key của mình — không share API key lên nhóm chat hay để trong code.
6

Chạy tool với bài ads thật — tạo báo cáo nghiệm thu

Nghiệm thu không phải "tool chạy được" — là "tool ra được insight thật"

  • LÀM Dùng tool phân tích bài ads thật từ Bước 1. Screenshot toàn bộ báo cáo output.
  • LÀM Bấm "Copy báo cáo" → paste vào Google Doc → tên file: "Báo cáo Ads [tên bài/KH] — Ngày 5"
  • LÀM Cuối doc, bạn tự viết thêm 1 đoạn ngắn (3–5 câu): Bài này sau khi phân tích, tôi sẽ thay đổi gì trước tiên nếu được chạy lại? — viết bằng suy nghĩ thật của bạn, không phải copy từ báo cáo AI.
  • TỰ ĐÁNH GIÁ Báo cáo có ít nhất 1 insight mà trước giờ bạn chưa nhận ra về bài ads đó không? Nếu có → tool đang hoạt động đúng mục đích.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Link tool đã deploy trên Antigravity — team click vào dùng được ngay
  • Báo cáo thật từ 1 bài ads thật — Google Doc đủ 6 phần output
  • Đoạn tự viết cuối doc: Sau phân tích, bạn sẽ thay đổi gì trước tiên
  • Share link tool + link báo cáo vào nhóm team, tag Sếp
  • Đăng Facebook — chia sẻ link tool bạn vừa tự build. Viết thật: trước giờ dùng tool của người khác, hôm nay tự build được tool của mình. Cảm giác đó như thế nào. Tag Trần Linh
ClaudeNotion
2

LANDING PAGE & WEBSITE

Xây dựng hệ thống bán hàng đa trang

Ngày 6–9
Ngày 06
Học cấu trúc LDP + wireframe bằng Claude Code
VàoSản phẩm cần bán
RaFile wireframe/mockup LDP đủ section, copy placeholder, CTA
Tư duy cốt lõi
LDP không phải trang web đẹp — LDP là quy trình thuyết phục được viết thành trang web. Mỗi section tồn tại để làm một việc cụ thể trong đầu người đọc. Nếu bạn không biết section đó làm gì — bạn sẽ không biết viết gì vào đó.
Giải Phẫu Một LDP Bán Hàng Hiệu Quả
Bắt buộc — không có là LDP không hoạt động
Nên có — tăng conversion đáng kể
Tuỳ sản phẩm — có hoặc không đều được
Headline chính + subheadline + CTA đầu tiên + ảnh/video hero
Mục tiêu: Giữ người đọc không thoát trong 3 giây đầu. Nói ngay "bạn đang ở đúng chỗ".
Logo KH đã dùng / số liệu / rating
Mục tiêu: Xây trust ngay sau hero.
Mô tả đúng pain point của KH bằng ngôn ngữ của họ
Mục tiêu: KH đọc và nghĩ "đúng tao đang gặp vấn đề này".
Giải pháp của bạn + 3-5 lợi ích cụ thể. Lợi ích ≠ tính năng — lợi ích là kết quả người dùng nhận được.
Mục tiêu: Chuyển từ "tôi có vấn đề" sang "đây có thể là giải pháp của tôi".
3 bước đơn giản để bắt đầu dùng sản phẩm/dịch vụ. Xóa bỏ sự phức tạp trong đầu KH.
Mục tiêu: Làm cho việc mua/dùng trông dễ dàng hơn thực tế.
2-5 review thật của KH đã dùng. Có ảnh, tên, kết quả cụ thể. Không dùng review chung chung "sản phẩm tốt lắm".
Mục tiêu: Người thật nói thay bạn. Đây là section convert mạnh nhất.
Giá, gói, những gì được nhận. Trình bày value trước, giá sau.
Mục tiêu: Làm giá trông xứng đáng với giá trị nhận được.
5-7 câu hỏi thường gặp. Trả lời objection trước khi KH kịp nghĩ.
Mục tiêu: Loại bỏ lý do không mua cuối cùng.
CTA mạnh nhất, kèm urgency nếu có. Nhắc lại lợi ích chính trong 1 câu. Form hoặc nút mua.
Mục tiêu: Người đọc đến đây mà chưa mua — đây là cơ hội cuối.
Cam kết hoàn tiền / đổi trả / bảo hành
Xóa rủi ro cuối cùng trong đầu KH.
Ai là bạn, tại sao tin được
Xây trust với brand mới, ít biết đến.
SOP Chi Tiết
1

Chọn sản phẩm và phân tích 2 LDP tốt để tham khảo

Học từ LDP đã chạy được — đừng sáng tạo từ đầu

  • LÀM Chọn 1 sản phẩm/dịch vụ để build LDP — có thể là sản phẩm thật của KH, hoặc sản phẩm của agency. Đây sẽ là LDP bạn build thật vào Ngày 7.
  • LÀM Tìm 2 LDP bán hàng tốt trong cùng ngành — search Google: "[tên sản phẩm/dịch vụ] landing page" hoặc hỏi Claude: "Cho tôi 3 ví dụ landing page bán hàng tốt trong ngành [X] — mô tả cấu trúc và điểm hay của từng trang."
  • LÀM Vào từng LDP đó, cuộn từ đầu đến cuối chậm rãi. Ghi chú: section nào khiến bạn muốn đọc tiếp? Section nào bạn bỏ qua? Section nào khiến bạn muốn mua?
  • LƯU Ý Không cần LDP hoàn hảo — cần LDP trong cùng ngành và giá tương đương sản phẩm bạn đang build. LDP bán khóa học 500k và LDP bán phần mềm 50 triệu có cấu trúc tâm lý khác nhau.
2

Dùng Claude lên nội dung từng section

Viết copy placeholder trước — wireframe có nội dung thật mới review được

  • LÀM Mở Claude → New chat. Gửi prompt dưới đây, điền thông tin sản phẩm vào.
PROMPT — dán vào Claude → chat thường
Tôi đang build landing page bán hàng cho sản phẩm sau: Tên: [tên sản phẩm] Giá: [giá] Khách hàng mục tiêu: [mô tả ngắn] Lợi ích chính: [3 lợi ích] Social proof có: [số KH, review, kết quả — hoặc ghi "chưa có"] Urgency: [deadline, số lượng giới hạn — hoặc "không có"] Hãy viết nội dung placeholder cho từng section của landing page theo thứ tự sau. Với mỗi section, hãy viết: - Tiêu đề section - Nội dung cụ thể (không viết "[điền vào]" — viết thật luôn dựa trên thông tin tôi cung cấp) - Ghi chú ngắn: section này đang làm việc gì trong tâm lý người đọc SECTION CẦN VIẾT: ① Hero: Headline chính (tối đa 10 từ) + Subheadline (1-2 câu) + CTA button text ② Problem: Mô tả 3 pain point bằng ngôn ngữ của KH ③ Solution + Benefits: Tên giải pháp + 4 lợi ích cụ thể có thể đo được ④ How It Works: 3 bước đơn giản ⑤ Testimonials: Viết 2 testimonial mẫu thật (có tên, nghề nghiệp, kết quả cụ thể) ⑥ Offer: Trình bày gói/giá + những gì được nhận ⑦ FAQ: 5 câu hỏi + trả lời — tập trung vào objection phổ biến nhất ⑧ Final CTA: Headline kết + CTA button + 1 dòng urgency Viết xong tất cả mới dừng. Không hỏi thêm gì.
  • LÀM Đọc kỹ từng section Claude vừa viết. Sửa những chỗ không đúng với sản phẩm thật — đặc biệt là testimonial và số liệu. Lưu vào Google Doc tên "Content LDP [tên sản phẩm]".
  • QUAN TRỌNG Testimonial phải là thật hoặc dựa trên kết quả thật. Đừng để testimonial giả trên LDP thật khi deploy — vi phạm lòng tin KH.
3

Build wireframe HTML bằng Claude Code

Wireframe không cần đẹp — cần đúng cấu trúc và dễ review

  • VIBECODE Mở Claude → New chat. Gửi prompt dưới đây, paste nội dung từng section đã viết ở Bước 2 vào.
PROMPT BUILD WIREFRAME — copy nguyên, dán vào Claude → chat thường
Build cho tôi một wireframe HTML của landing page bán hàng. Đây là bản wireframe để review cấu trúc — không cần thiết kế đẹp, cần rõ ràng và dễ đọc. YÊU CẦU DESIGN WIREFRAME: - Background trắng, text đen - Mỗi section có border dashed xám để phân biệt rõ - Label tên section ở góc trên trái mỗi section (ví dụ: "SECTION 1 — HERO") - Font chữ sạch, dễ đọc - Có sticky navigation bar trên cùng hiển thị tên các section — click để scroll đến - Responsive, xem được trên điện thoại NỘI DUNG TỪNG SECTION: [Paste toàn bộ nội dung từ Bước 2 vào đây — giữ nguyên thứ tự section] CẤU TRÚC SECTION: ① Hero — Full width, headline to, subheadline, CTA button, placeholder cho ảnh hero ② Problem — 3 pain point dạng card hoặc list ③ Solution + Benefits — Grid 4 lợi ích, mỗi cái có icon placeholder ④ How It Works — 3 bước dạng numbered + mô tả ⑤ Testimonials — 2 testimonial card, có avatar placeholder tròn ⑥ Offer/Pricing — 1 pricing card rõ ràng ⑦ FAQ — Accordion hoặc Q&A list ⑧ Final CTA — Background tối, headline, form email/phone, CTA button Thêm ở cuối mỗi section 1 comment box màu vàng nhạt để tôi ghi chú khi review: "[ Ghi chú review ]" Build ngay, không hỏi thêm.
  • SAU KHI BUILD XONG Copy HTML → lưu file wireframe-ldp.html → mở bằng Chrome. Cuộn từ đầu đến cuối, đọc từng section.
  • LƯU Ý Wireframe này không cần đẹp. Nó như bản vẽ kiến trúc trước khi xây nhà — mục đích là xem cấu trúc đúng chưa, nội dung logic chưa. Ngày 7 mới thiết kế đẹp trên Antigravity.
4

Review wireframe — điền ghi chú vào từng section

Mục tiêu: phát hiện vấn đề trước khi build thật — sửa wireframe rẻ hơn sửa trang thật

  • LÀM Cuộn từ đầu đến cuối wireframe. Với mỗi section, tự hỏi 3 câu:
3 CÂU HỎI REVIEW MỖI SECTION
Câu 1: Section này đang làm việc gì? (Xây trust? Giải thích? Xóa objection?) → Nếu không trả lời được → section đó đang không có mục đích rõ ràng. Câu 2: Người đọc sau khi đọc section này sẽ nghĩ/cảm gì? → Nếu câu trả lời là "không biết" → copy cần viết lại. Câu 3: Section này có thứ gì thừa không cần thiết? → LDP tốt là LDP không có câu nào thừa.
  • LÀM Điền ghi chú review vào các comment box màu vàng trong wireframe. Ghi thật — "Headline này chưa đủ mạnh", "Testimonial section cần ảnh thật", "FAQ thiếu câu hỏi về hoàn tiền"...
  • LÀM Với những ghi chú cần sửa nội dung → quay lại Claude, yêu cầu viết lại phần đó. Update vào file wireframe HTML.
  • TIÊU CHÍ ĐẠT Wireframe đạt khi bạn đọc xong từ đầu đến cuối mà không thấy section nào cần bỏ và không thiếu section nào quan trọng.
Bước review quan trọng nhất: Đưa wireframe cho 1 người trong team đọc và hỏi: "Đọc xong trang này em có muốn mua không? Tại sao?" Câu trả lời thật từ người thật quan trọng hơn mọi best practice.
5

Nộp Sếp duyệt cấu trúc trước khi build thật

Ngày 7 bạn sẽ build thật trên Antigravity — Sếp phải duyệt wireframe này trước

  • LÀM Deploy wireframe lên Antigravity hoặc share file HTML. Gửi link cho Sếp kèm: tên sản phẩm, giá, lý do chọn cấu trúc này.
  • TẠI SAO PHẢI DUYỆT Sửa cấu trúc ở wireframe mất 10 phút. Sửa cấu trúc sau khi đã build thật trên Antigravity mất 2-3 tiếng. Duyệt trước, build sau.
  • CHỜ FEEDBACK Nếu Sếp có góp ý → sửa wireframe ngay hôm nay. Ngày 7 chỉ build trang đã được approve.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • File wireframe HTML chạy được — đủ 8 section, có nội dung thật, có comment box review
  • Google Doc "Content LDP" — nội dung copy từng section đã được review và chỉnh sửa
  • Wireframe đã được Sếp duyệt — hoặc đang chờ feedback. Ghi rõ trạng thái khi nộp
  • Share link vào nhóm team, tag Sếp
  • Đăng Facebook — chia sẻ 1 điều bạn học được về cấu trúc LDP hôm nay mà trước giờ không biết. Không cần dài, chỉ cần thật. Tag Trần Linh
ClaudeMeta Ads Library
Ngày 07
Build LDP bán hàng hoàn chỉnh trên Antigravity
VàoFile wireframe/mockup LDP từ ngày 6
RaLink LDP live
Tư duy cốt lõi
Done is better than perfect. LDP tốt nhất không phải LDP đẹp nhất — là LDP đang chạy và đang thu lead. Build xong, deploy, test thật. Sửa sau khi có data thật còn tốt hơn ngồi chỉnh mãi mà chưa ai thấy.
Chuẩn Bị Trước Khi Build
  • File wireframe HTML từ Ngày 6 — đã review và approve
  • Google Doc content từng section — đã chỉnh sửa xong
  • Ảnh sản phẩm / ảnh hero (tối thiểu 1 ảnh chất lượng tốt)
  • Màu sắc brand (mã hex) và font chính nếu có
  • Logo (file PNG nền trong suốt)
  • Thông tin nhận lead: email hoặc số điện thoại nhận form
Chưa có ảnh đẹp? Dùng Midjourney hoặc Adobe Firefly generate ảnh placeholder trước — build xong thay sau. Đừng để thiếu ảnh mà chưa build được.
SOP Chi Tiết
1

Tạo project mới trên Antigravity + brief tổng thể

Prompt đầu tiên quyết định 70% chất lượng output — brief kỹ trước khi build

  • ANTIGRAVITY Vào Antigravity → tạo project mới → đặt tên theo sản phẩm. Gửi prompt dưới đây làm tin nhắn đầu tiên — đây là brief tổng thể để Anti hiểu bạn đang build gì.
PROMPT ĐẦU TIÊN — brief tổng thể cho Antigravity → tin nhắn đầu tiên trong project
Tôi cần build một landing page bán hàng hoàn chỉnh. Đây là thông tin: SẢN PHẨM: [tên sản phẩm] GIÁ: [giá] KHÁCH HÀNG MỤC TIÊU: [mô tả ngắn] MỤC TIÊU TRANG: [thu lead / bán hàng trực tiếp / đặt lịch tư vấn] BRAND STYLE: - Màu chính: [mã hex hoặc mô tả: "xanh navy", "cam đất"...] - Tone: [chuyên nghiệp / thân thiện / trẻ trung / cao cấp] - Font: [tên font nếu có, hoặc "tự chọn phù hợp"] THAM KHẢO THIẾT KẾ: [paste link LDP đẹp bạn muốn tham khảo style, hoặc mô tả: "clean, tối giản, nhiều white space"] CẤU TRÚC TRANG (theo thứ tự): ① Hero — Headline + subheadline + CTA button + ảnh hero ② Social proof bar — [có hoặc không — nếu có ghi nội dung] ③ Problem section — 3 pain point ④ Solution + Benefits — 4 lợi ích dạng grid ⑤ How it works — 3 bước ⑥ Testimonials — 2 review card ⑦ Offer/Pricing — 1 pricing card ⑧ FAQ — 5 câu hỏi ⑨ Final CTA — form + button Hãy bắt đầu với Hero section trước. Tôi sẽ approve từng section rồi mới build tiếp. NỘI DUNG HERO: Headline: [paste headline từ Google Doc content] Subheadline: [paste subheadline] CTA: [text button]
Tại sao build từng section? Nếu brief toàn trang một lúc, Anti dễ bị loãng và ra kết quả không đồng nhất. Build section theo section — approve xong mới tiếp — kiểm soát được chất lượng từng phần.
2

Build từng section theo thứ tự wireframe

Prompt mẫu cho từng section — dùng khi Anti cần hướng dẫn cụ thể

  • QUY TRÌNH MỖI SECTION Build → xem preview → nếu chưa ổn mô tả vấn đề cụ thể → Anti sửa → approve → build section tiếp theo.
Hero Section
Đã brief ở Bước 1. Nếu cần chỉnh: "Headline quá dài, rút ngắn còn 7 từ. Nền hero dùng màu [X] thay vì trắng."
Social Proof Bar
"Thêm section social proof ngay dưới hero. Dạng logo bar hoặc số liệu: [paste nội dung]. Nền xám nhạt, căn giữa."
Problem Section
"Build section vấn đề. 3 card nằm ngang, mỗi card 1 pain point: [paste 3 pain point]. Icon emoji đầu mỗi card. Background tối hơn các section khác."
Solution + Benefits
"Build section lợi ích. Tiêu đề section: [paste]. Grid 2x2 hoặc 4 cột, mỗi ô 1 lợi ích có icon + tiêu đề + mô tả ngắn: [paste 4 lợi ích]."
How It Works
"Build section 3 bước. Dạng numbered list nằm ngang với connector line giữa các bước. Nội dung: [paste 3 bước]."
Testimonials
"Build section testimonial. 2 card nằm ngang, mỗi card có: avatar tròn placeholder + tên + nghề nghiệp + quote + rating 5 sao. Nội dung: [paste 2 testimonial]."
Offer / Pricing
"Build pricing section. 1 pricing card căn giữa, có highlight border màu [màu chính]. Nội dung: [paste offer]. Thêm badge 'Phổ biến nhất' hoặc urgency text nếu có."
FAQ
"Build FAQ section. Dạng accordion — click câu hỏi để expand câu trả lời. 5 câu hỏi: [paste FAQ]. Background nhạt hơn section trước."
Final CTA
"Build final CTA section. Background màu [màu chính]. Headline: [paste]. Form có field: Họ tên + SĐT/Email + nút [text CTA]. Thêm text urgency nhỏ dưới nút."
Khi Anti ra kết quả chưa đúng ý: Đừng nói "làm lại". Mô tả cụ thể điều muốn thay đổi: "Font headline quá nhỏ, tăng lên 48px. Nút CTA đổi từ trắng sang cam. Khoảng cách giữa 2 card testimonial rộng quá, thu lại." Càng cụ thể → Anti sửa càng đúng.
3

Review toàn trang — desktop và mobile

60% traffic đến LDP từ điện thoại — mobile phải đẹp như desktop

  • LÀM Sau khi build xong tất cả section, xem preview toàn trang trên desktop. Cuộn từ đầu đến cuối, đọc từng chữ.
  • LÀM Chuyển sang mobile preview. Kiểm tra từng section: text có bị tràn không? Nút CTA có đủ to để bấm không? Ảnh có bị cắt không? Form có dùng được không?
CHECKLIST REVIEW — tự kiểm tra trước khi deploy
VISUAL □ Màu sắc nhất quán từ đầu đến cuối □ Font chữ dễ đọc, không quá nhiều loại font □ Ảnh chất lượng tốt, không bị vỡ hoặc kéo méo □ Khoảng cách giữa các section hợp lý — không quá chật, không quá rộng COPY □ Headline đủ mạnh, đọc 3 giây biết trang này về cái gì □ Không có lỗi chính tả hoặc typo □ Giá hiển thị rõ ràng, không gây nhầm lẫn □ CTA text rõ — người đọc biết click vào sẽ xảy ra gì MOBILE □ Text không bị tràn ra ngoài màn hình □ Nút CTA ít nhất 44px chiều cao — ngón tay bấm được dễ □ Form dễ điền trên điện thoại □ Ảnh hero hiển thị đúng tỉ lệ CHỨC NĂNG □ Tất cả nút CTA click được, scroll đến đúng section □ Form điền được và submit không lỗi □ Link trong trang hoạt động (nếu có) □ Trang load dưới 3 giây
4

Setup form nhận lead hoạt động thật

Form đẹp mà không nhận được thông tin thì LDP vô nghĩa

  • LÀM Vào phần cài đặt form trong Antigravity. Điền email hoặc kết nối Google Sheet để nhận thông tin khi có người submit.
  • LÀM Test form: điền thông tin giả → submit → kiểm tra email hoặc Sheet nhận được chưa.
  • KIỂM TRA Sau khi submit, trang có hiện thông báo cảm ơn không? Nếu chưa → yêu cầu Anti thêm: "Sau khi submit form, hiện popup hoặc chuyển sang màn hình: 'Cảm ơn bạn! Chúng tôi sẽ liên hệ trong vòng 24 giờ.'"
  • QUAN TRỌNG Đừng deploy khi chưa test form. Lead vào mà không nhận được là mất tiền chạy ads oan.
5

Deploy và test link thật

Trang live rồi — test như một người lạ lần đầu vào trang

  • ANTIGRAVITY Bấm Deploy/Publish trong Antigravity. Copy link được cấp.
  • LÀM Mở link trên điện thoại cá nhân (không phải preview trong Antigravity). Đây mới là trải nghiệm thật của người dùng.
  • LÀM Gửi link vào nhóm team và nhờ ít nhất 2 người test: mở link, đọc, điền form thử. Hỏi: "Link mở được không? Trang có load nhanh không? Form submit được không? Đọc xong có muốn mua không?"
  • LÀM Fix bất kỳ lỗi nào team báo lại trước khi nộp nghiệm thu.
Nếu trang load chậm: Báo Anti: "Trang load chậm trên mobile. Compress ảnh và tối ưu performance." Trang load quá 3 giây mất 40% người dùng trước khi họ kịp đọc dòng đầu tiên.
6

Gửi Sếp review lần cuối

Link thật — không phải wireframe — Sếp review trên điện thoại của Sếp

  • LÀM Gửi link cho Sếp kèm: tên sản phẩm, giá, mục tiêu trang, và 1 câu: "Em đã test form hoạt động. Anh/chị mở link trên điện thoại review giúp em."
  • LƯU Ý Sếp review trên điện thoại vì 60% KH thật cũng dùng điện thoại. Feedback từ desktop preview không phản ánh đúng trải nghiệm thật.
  • NẾU CÓ GÓP Ý Fix ngay trong ngày. Mỗi góp ý từ Sếp là 1 prompt cho Antigravity — không có góp ý nào cần mất hơn 15 phút để fix.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Link LDP live — mở được trên điện thoại, load nhanh, không lỗi
  • Form hoạt động — submit được, nhận được thông tin vào email/sheet
  • Ít nhất 2 người trong team đã test và confirm không lỗi
  • Sếp đã review — hoặc đang chờ feedback, ghi rõ trạng thái
  • Share link vào nhóm team, tag Sếp
  • Đăng Facebook — share link LDP vừa build. Viết thật: từ wireframe hôm qua đến trang live hôm nay mất bao lâu, khó nhất là bước nào. Tag Trần Linh
Claude
Nộp Sếp: 10 mẫu copy + giải thích angle của từng mẫu
Ngày 08
Học cấu trúc website bán hàng + lên sitemap và content outline
VàoThông tin doanh nghiệp/sản phẩm
RaSitemap + nội dung từng trang, được Sếp duyệt trước khi build
Tư duy cốt lõi
Website không phải LDP làm nhiều trang. Website là hệ sinh thái thông tin — mỗi trang phục vụ một nhóm người dùng ở một giai đoạn khác nhau trong hành trình mua. Thiết kế sai cấu trúc thì dù build đẹp đến đâu, người dùng cũng bị lạc.
LDP vs Website — Khi Nào Dùng Cái Nào

Landing Page (LDP)

  • 1 trang duy nhất, không có navigation
  • 1 mục tiêu: thu lead hoặc bán hàng ngay
  • Traffic đến từ ads trực tiếp
  • Người dùng chưa biết bạn — cần thuyết phục nhanh
  • Dùng khi: launch sản phẩm mới, chạy campaign, event

Website Bán Hàng

  • Nhiều trang, có navigation và footer
  • Nhiều mục tiêu: inform, nurture, convert
  • Traffic từ search, referral, direct, social
  • Người dùng so sánh, tìm hiểu trước khi mua
  • Dùng khi: brand chính thức, nhiều sản phẩm, cần credibility
Cấu Trúc Website Bán Hàng Chuẩn
Bắt buộc — Core
🏠 Homepage
Tổng quan về brand + sản phẩm/dịch vụ chính. Dẫn người dùng đến đúng trang họ cần.
Mục tiêu: Người dùng hiểu bạn làm gì trong 5 giây và biết đi đâu tiếp theo.
Bắt buộc — Core
📦 Sản phẩm / Dịch vụ
Chi tiết từng sản phẩm hoặc gói dịch vụ. Giá, tính năng, so sánh gói.
Mục tiêu: Convert người đang cân nhắc mua.
Bắt buộc — Core
📞 Liên hệ
Form liên hệ, số điện thoại, địa chỉ, map. Đơn giản, không rào cản.
Mục tiêu: Người dùng liên hệ được ngay khi muốn.
Nên có — Support
👋 Về chúng tôi
Câu chuyện thành lập, đội ngũ, giá trị cốt lõi. Build trust với người mua lần đầu.
Mục tiêu: Xây niềm tin với người chưa biết đến brand.
Nên có — Support
⭐ Case Study / Kết quả
2–5 câu chuyện KH thật: vấn đề → giải pháp → kết quả đo được.
Mục tiêu: Social proof mạnh nhất — người thật, kết quả thật.
Nên có — Support
❓ FAQ
Trang riêng cho câu hỏi thường gặp. Xử lý objection trước khi KH hỏi.
Mục tiêu: Giảm tải cho sales, tăng tự tin người mua.
Tuỳ chọn
📝 Blog
Bài viết chuyên môn, SEO. Chỉ làm khi có người duy trì đều đặn.
Tuỳ chọn
📋 Chính sách
Bảo mật, đổi trả, điều khoản. Bắt buộc nếu bán hàng online hoặc thu thập data.
SOP Chi Tiết
1

Xác định website cần build cho ai và mục tiêu gì

Không phải mọi website đều cần cùng số trang — quyết định trước khi thiết kế

  • LÀM Chọn sản phẩm/dịch vụ cần build website — có thể là KH hiện tại hoặc của chính agency. Trả lời 3 câu hỏi sau trước khi làm bất cứ điều gì khác:
3 CÂU HỎI XÁC ĐỊNH CẤU TRÚC
Câu 1: Khách hàng vào website này để làm gì? → Mua ngay? Tìm hiểu trước khi quyết định? Xem portfolio? Liên hệ đặt lịch? → Câu trả lời quyết định trang nào là quan trọng nhất. Câu 2: Có bao nhiêu loại sản phẩm/dịch vụ? → 1 sản phẩm = 1 trang Products → 3–5 sản phẩm = Products tổng + trang chi tiết từng sản phẩm → Nhiều hơn = cần category và filter Câu 3: Brand này có đủ credibility chưa? → Brand mới chưa ai biết: cần trang About + Case Study → Brand đã có tên tuổi: có thể bỏ About, tập trung vào Products
  • LÀM Ghi câu trả lời ra — đây là cơ sở để quyết định cần bao nhiêu trang và thứ tự ưu tiên build.
2

Dùng Claude tạo sitemap chi tiết

Sitemap = bản đồ của website — phải có trước khi viết bất cứ dòng content nào

  • LÀM Mở Claude → New chat. Gửi prompt dưới đây.
PROMPT — dán vào Claude → chat thường
Tôi cần build website bán hàng cho: Tên business: [tên] Sản phẩm/dịch vụ: [mô tả ngắn] Khách hàng mục tiêu: [ai] Mục tiêu website: [thu lead / bán hàng trực tiếp / showcase portfolio / đặt lịch] Brand hiện tại: [mới / đã có tên tuổi] Số lượng sản phẩm/dịch vụ: [1 / 3-5 / nhiều] Hãy tạo sitemap cho website này gồm: 1. DANH SÁCH TRANG: Liệt kê tất cả trang cần có, chia thành: Bắt buộc / Nên có / Tuỳ chọn 2. CHO TỪNG TRANG, ghi rõ: - URL slug (ví dụ: /san-pham, /ve-chung-toi) - Mục tiêu của trang: người dùng vào trang này để làm gì - Section chính cần có trên trang - CTA chính của trang 3. USER FLOW: Người dùng thường đi theo con đường nào từ trang này sang trang khác trước khi mua? Vẽ dạng text flow: Homepage → ? → ? → Convert 4. NAVIGATION: Menu chính nên có những mục gì? Thứ tự nào? 5. FOOTER: Footer cần có gì? Liệt kê các mục. Viết xong tất cả, không hỏi thêm.
  • LÀM Copy toàn bộ sitemap vào Google Doc tên: "Sitemap Website [tên business]"
  • REVIEW Đọc lại sitemap. Có trang nào thừa không cần thiết cho giai đoạn này không? Có trang nào quan trọng mà thiếu không? Ghi chú bên cạnh.
  • GỢI Ý Website đầu tiên nên tập trung 4–5 trang core: Homepage, Products/Services, About, Contact, và 1 trang hỗ trợ. Đừng build 10 trang cùng lúc — sau này thêm dễ hơn là build nhiều mà không tốt.
3

Viết content outline cho từng trang

Outline ≠ viết full content — chỉ cần biết từng section sẽ nói gì

  • LÀM Tiếp tục trong cùng chat. Gửi prompt dưới đây cho từng trang quan trọng nhất.
PROMPT VIẾT CONTENT OUTLINE — gửi tiếp trong cùng chat → làm từng trang
Viết content outline cho trang [tên trang — ví dụ: Homepage] của website trên. Với mỗi section trên trang, hãy viết: - Tên section - Mục đích: section này làm việc gì - Nội dung cụ thể: headline, subtext, bullet points, số liệu... (viết thật, không placeholder) - CTA nếu có Yêu cầu: - Viết content thật dựa trên thông tin tôi đã cung cấp - Không viết "[điền vào sau]" — nếu không có thông tin thì hỏi tôi ngay - Mỗi trang không quá 6 section — tập trung, không lan man Bắt đầu với trang [tên trang].
  • LÀM Làm lần lượt từng trang quan trọng — ít nhất 4 trang core. Mỗi trang gửi 1 prompt riêng, đừng gộp tất cả vào 1 lần.
  • LÀM Sau khi có outline từng trang → copy vào Google Doc, tạo header cho từng trang. Doc này sẽ là brief để build trên Antigravity ngày mai.
Trang nào làm trước? Thứ tự ưu tiên: Homepage → Products/Services → Contact → About → các trang còn lại. Homepage và Products là 2 trang convert nhiều nhất — content phải chuẩn nhất.
4

Thiết kế navigation và user flow

Người dùng phải tìm được thứ họ cần trong 2 click — không hơn

  • LÀM Dựa trên sitemap đã tạo, vẽ navigation menu trên Google Doc. Gồm 2 phần:
CẤU TRÚC NAVIGATION CẦN XÁC ĐỊNH
HEADER NAVIGATION (menu chính) Logo | [Trang 1] | [Trang 2] | [Trang 3] | [Trang 4] | [CTA Button] Ví dụ: Logo | Dịch vụ | Về chúng tôi | Case Study | Blog | [Liên hệ ngay] Quy tắc: Tối đa 5 mục trong navigation. CTA button phải nổi bật hơn các mục còn lại. --- FOOTER (cuối trang) Cột 1: Logo + tagline + social links Cột 2: Links trang chính Cột 3: Thông tin liên hệ (địa chỉ, SĐT, email) Cột 4: Newsletter signup (tuỳ chọn) --- USER FLOW CHÍNH Vẽ 2–3 con đường phổ biến nhất: • Cold traffic từ ads: Homepage → Products → Contact • Search traffic: Products page → About → Contact • Referral: Homepage → Case Study → Products → Contact
  • LÀM Paste navigation structure + user flow vào Google Doc sitemap. Đây là thông tin Antigravity cần để build header và footer đúng ở Ngày 9.
  • LƯU Ý Internal links quan trọng: mỗi trang phải có ít nhất 1 link dẫn đến trang khác — người dùng không nên đi vào ngõ cụt. Ghi chú internal link cần có cho từng trang vào outline.
5

Nộp Sếp duyệt — bắt buộc trước khi build

Sitemap và content outline phải được approve — không build khi chưa có OK từ Sếp

  • LÀM Share link Google Doc cho Sếp. Gửi kèm tin nhắn: "Anh/chị review giúp em sitemap và content outline cho website [tên]. Em cần duyệt trước 5 giờ chiều để ngày mai build đúng hạn."
  • NHỮNG GÌ SẾP SẼ REVIEW Có cần trang nào thêm không? Trang nào bỏ bớt? Nội dung trang nào sai so với thực tế của business? Navigation có hợp lý không?
  • LÀM Nhận feedback → sửa ngay trong ngày → confirm lại với Sếp. Ngày 9 chỉ build theo version đã được approve.
  • KHÔNG ĐƯỢC BỎ QUA BƯỚC NÀY Build website sai cấu trúc tốn 1–2 ngày sửa. Duyệt sitemap đúng hôm nay tiết kiệm cả tuần sau.
Nếu Sếp chưa có thời gian review: Tự review bằng cách đóng vai KH — đọc sitemap và tự hỏi: "Nếu tôi là người chưa biết brand này, tôi sẽ đi qua những trang nào trước khi quyết định mua?" Điều chỉnh flow theo câu trả lời đó.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Google Doc "Sitemap Website [tên business]" — có đủ: danh sách trang, mục tiêu từng trang, navigation structure, user flow
  • Content outline cho tối thiểu 4 trang core — mỗi trang có đủ section và nội dung thật
  • Sitemap đã được Sếp duyệt hoặc đang chờ feedback — ghi rõ trạng thái
  • Share link Google Doc vào nhóm team, tag Sếp
  • Đăng Facebook — chia sẻ 1 điều bạn hiểu ra về sự khác biệt giữa LDP và Website sau ngày hôm nay. Tag Trần Linh
ClaudeMeta Ads
Ngày 09
Build website bán hàng trên Antigravity
VàoSitemap + content outline từ ngày 8
RaLink website live, đủ các trang theo sitemap ngày 8
Tư duy cốt lõi
Website multi-page không phải build 5 trang rồi ghép lại. Phải có 1 design system nhất quán — cùng màu sắc, font, spacing, component style — để người dùng biết họ vẫn đang trên cùng 1 website khi chuyển trang. Anti làm tốt điều này nếu bạn brief đúng ngay từ đầu.
Thứ Tự Ưu Tiên Build & Thời Gian Ước Tính
01
Homepage
Trang quan trọng nhất. Brief kỹ nhất. Build xong làm chuẩn design system cho tất cả trang còn lại.
2–3 giờ
02
Products / Services
Trang convert. Chi tiết sản phẩm, giá, CTA rõ. Nếu nhiều sản phẩm: build trang tổng trước, chi tiết sau.
1.5–2 giờ
03
Contact
Trang đơn giản nhất. Form + thông tin liên hệ + map. Bắt buộc phải có và form phải hoạt động.
30–45 phút
04
About Us
Câu chuyện brand, đội ngũ. Xây trust. Cần ảnh thật của team hoặc founder.
1–1.5 giờ
05
Các trang còn lại
Case Study, FAQ, Policy... Build nếu còn thời gian. Không bắt buộc trong ngày hôm nay.
Tuỳ
SOP Chi Tiết
1

Brief tổng thể — thiết lập design system ngay từ đầu

Prompt đầu tiên phải đủ để Anti build nhất quán cho tất cả các trang sau

  • ANTIGRAVITY Tạo project mới trong Antigravity. Gửi prompt brief tổng thể dưới đây làm tin nhắn đầu tiên — đây là lần duy nhất bạn cần giải thích đầy đủ về brand.
PROMPT BRIEF TỔNG THỂ — tin nhắn đầu tiên → thiết lập design system
Tôi cần build website bán hàng multi-page. Hãy thiết lập design system nhất quán cho toàn bộ website trước khi build từng trang. THÔNG TIN BRAND: - Tên: [tên business] - Tagline: [nếu có] - Lĩnh vực: [ngành] - Tone: [chuyên nghiệp / thân thiện / trẻ trung / cao cấp] DESIGN SYSTEM: - Màu chính (Primary): [mã hex] - Màu phụ (Secondary): [mã hex hoặc "tự chọn phù hợp"] - Màu nền: [trắng / tối / xám nhạt] - Font heading: [tên font hoặc "tự chọn"] - Font body: [tên font hoặc "tự chọn"] - Style tổng thể: [clean tối giản / bold mạnh mẽ / warm thân thiện / luxury cao cấp] HEADER (xuất hiện trên tất cả trang): - Logo: [text logo hoặc "sẽ upload ảnh sau"] - Navigation menu: [paste menu từ sitemap Ngày 8] - CTA button header: [text + màu] FOOTER (xuất hiện trên tất cả trang): - [paste cấu trúc footer từ sitemap Ngày 8] THAM KHẢO STYLE: [link website bạn thích về mặt design, hoặc mô tả: "giống Notion, clean và tối giản"] Hãy xác nhận design system này và build Homepage trước. Tôi sẽ approve từng trang rồi mới build tiếp.
2

Build Homepage — chuẩn nhất, kỹ nhất

Homepage là trang quan trọng nhất — build đúng thì các trang còn lại sẽ nhanh và nhất quán

  • ANTIGRAVITY Tiếp tục trong cùng project. Gửi prompt Homepage sau khi Anti confirm design system.
PROMPT HOMEPAGE → gửi tiếp sau khi Anti confirm design system
Build Homepage với các section sau. Dùng đúng design system đã thiết lập. SECTION 1 — HERO [Paste nội dung hero từ content outline Ngày 8] - Layout: headline trái + ảnh phải (hoặc full-width với overlay text) - CTA: 2 button — primary [text] và secondary [text] SECTION 2 — SOCIAL PROOF [paste nội dung — hoặc ghi "logo bar: [tên các brand]"] SECTION 3 — SERVICES OVERVIEW [paste nội dung — grid 3 hoặc 4 service cards, mỗi card có icon + tên + mô tả ngắn + link đến trang chi tiết] SECTION 4 — WHY CHOOSE US [paste nội dung — 3-4 điểm khác biệt] SECTION 5 — TESTIMONIALS [paste 2-3 testimonial] SECTION 6 — CTA CUỐI [paste nội dung — headline + button + urgency text nếu có] Yêu cầu thêm: - Mỗi service card trong Section 3 phải link đến trang /san-pham hoặc trang tương ứng - CTA button phải link đến trang /lien-he - Smooth scroll animation khi cuộn trang
  • REVIEW HOMEPAGE Xem preview. Kiểm tra: Nhìn vào 5 giây đầu biết đây là website về gì không? Có muốn cuộn xuống xem tiếp không? Style có đúng tone brand không?
  • TINH CHỈNH TRƯỚC KHI QUA TRANG TIẾP Sửa hết những điểm chưa ổn trên Homepage trước khi build trang khác. Homepage là chuẩn — tất cả trang sau phải nhất quán với nó.
3

Build trang Products/Services

Trang convert — người dùng vào đây để quyết định mua hay không

  • ANTIGRAVITY Gửi prompt dưới đây để build trang Products/Services.
PROMPT PRODUCTS / SERVICES PAGE → gửi tiếp trong cùng project
Build trang Products/Services. Giữ nguyên header, footer và design system của Homepage. URL trang này: /[san-pham hoặc dich-vu] NỘI DUNG: [Paste toàn bộ content outline trang Products từ Ngày 8] YÊU CẦU ĐẶC BIỆT: - Mỗi sản phẩm/dịch vụ phải có: tên, mô tả, giá, danh sách tính năng/lợi ích, CTA button - Nếu có nhiều gói: thêm comparison table - CTA button của mỗi gói link đến trang /lien-he với pre-filled subject: "Tôi quan tâm đến [tên gói]" - Thêm FAQ ngắn cuối trang: 3 câu hỏi phổ biến nhất về sản phẩm Giữ đúng màu sắc, font, spacing như Homepage.
4

Build trang Contact và About

2 trang này build nhanh — brief ngắn gọn, Anti tự xử lý phần còn lại

PROMPT CONTACT PAGE → trang đơn giản, brief ngắn
Build trang Contact. URL: /lien-he. Giữ header, footer, design system. NỘI DUNG: - Headline: [ví dụ: "Liên hệ với chúng tôi"] - Form: Họ tên + Email + Số điện thoại + Chủ đề (dropdown) + Tin nhắn + Nút Gửi - Thông tin liên hệ: SĐT [số] | Email [email] | Địa chỉ [địa chỉ] - Embed Google Map nếu có địa chỉ văn phòng - Giờ làm việc: [ví dụ: T2–T6, 8:00–17:30] Sau khi submit form hiện thông báo: "[nội dung cảm ơn]" Form gửi về email: [email nhận lead]
PROMPT ABOUT PAGE → cần ảnh thật để hiệu quả
Build trang About Us. URL: /ve-chung-toi. Giữ header, footer, design system. NỘI DUNG: [Paste content outline trang About từ Ngày 8 — gồm: câu chuyện thành lập, sứ mệnh/giá trị, đội ngũ, số liệu nổi bật] YÊU CẦU: - Section đội ngũ: card cho từng người — ảnh placeholder tròn + tên + chức vụ + 1 câu mô tả - Section số liệu: [ví dụ: 50+ KH | 3 năm kinh nghiệm | 95% hài lòng] — dạng counter lớn - CTA cuối trang: dẫn về trang /lien-he hoặc /san-pham
Trang About không có ảnh thật = trang không có hồn. Nếu chưa có ảnh team, dùng AI generate avatar placeholder hoặc tạm thời dùng icon — nhưng ghi chú lại để thay ảnh thật sau khi deploy.
5

Kết nối internal links giữa các trang

Website mà các trang không liên kết với nhau là website chết — người dùng đi vào ngõ cụt

  • LÀM Sau khi build xong tất cả trang, gửi prompt dưới đây để Anti kiểm tra và thêm internal links còn thiếu.
PROMPT INTERNAL LINKS — gửi sau khi build xong tất cả trang
Kiểm tra và đảm bảo các internal links sau đang hoạt động đúng trên toàn website: NAVIGATION HEADER: Tất cả menu items link đến đúng trang FOOTER: Tất cả links trong footer hoạt động HOMEPAGE: - Service cards → /san-pham hoặc trang tương ứng - CTA buttons → /lien-he - "Xem thêm" links → trang phù hợp PRODUCTS PAGE: - CTA mỗi gói → /lien-he - "Back to home" hoặc breadcrumb ABOUT PAGE: - CTA cuối trang → /lien-he hoặc /san-pham CONTACT PAGE: - "Xem dịch vụ" link → /san-pham Nếu link nào đang broken hoặc chưa có → thêm vào ngay.
6

Review toàn bộ website trước khi deploy

Check list đầy đủ — đừng skip bước này

  • LÀM Mở từng trang và check theo danh sách dưới đây. Tick từng mục.
  • Design nhất quán: Màu sắc, font, spacing giống nhau trên tất cả trang
  • Header/Footer: Hiển thị đúng trên tất cả trang, navigation links hoạt động
  • Mobile: Mở từng trang trên điện thoại — không bị lệch, text không tràn
  • Form Contact: Submit được, nhận email/sheet
  • Không có broken links: Click tất cả button và link — không có trang 404
  • Không có lỗi chính tả: Đọc lại toàn bộ text một lần
  • Ảnh load đúng: Không có ảnh vỡ hoặc hiển thị sai tỉ lệ
  • Load speed: Mỗi trang load dưới 4 giây trên mobile
  • CTA rõ ràng: Mỗi trang có ít nhất 1 CTA button visible không cần cuộn
7

Deploy + test với người thật + nộp Sếp

Quy trình giống Ngày 7 — nhưng test kỹ hơn vì nhiều trang hơn

  • ANTIGRAVITY Bấm Deploy → copy link website.
  • LÀM Gửi link vào nhóm team. Nhờ 2 người test theo kịch bản thật: "Em vào website như một người chưa biết brand này. Đi từ Homepage → tìm hiểu dịch vụ → xem giá → liên hệ. Báo lại bất kỳ điểm nào bị mắc kẹt hoặc không tìm được thứ cần tìm."
  • LÀM Fix tất cả vấn đề team báo → gửi link cho Sếp review trên điện thoại.
  • TIÊU CHÍ ĐẠT Website đạt khi: người dùng đi từ Homepage đến trang Contact và submit form thành công mà không cần hướng dẫn gì thêm.
Nếu không kịp build hết tất cả trang trong ngày: Homepage + Products + Contact là bộ 3 tối thiểu phải xong. About và các trang còn lại có thể hoàn thiện ngày hôm sau — nhưng website phải live với bộ 3 trang core này trước khi kết thúc ngày 9.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Link website live — mở được, load nhanh, ít nhất 3 trang core: Homepage, Products, Contact
  • Navigation hoạt động: click tất cả menu link đến đúng trang, không broken
  • Form Contact hoạt động: submit được, nhận được thông tin
  • Ít nhất 2 người test và confirm không lỗi nghiêm trọng
  • Sếp đã review trên điện thoại — hoặc đang chờ, ghi rõ trạng thái
  • Share link vào nhóm team, tag Sếp
  • Đăng Facebook — share link website vừa build. So sánh: build LDP mất bao lâu (Ngày 7) vs build website đầy đủ (Ngày 9). Cảm giác khác nhau thế nào. Tag Trần Linh
ClaudeMeta Ads Library
Ngày 10
NGÀY 10 — OFF 🎉
VàoSự mệt mỏi sau 9 ngày cày cuốc
RaMột tinh thần sảng khoái để chiến tiếp Phase 3!
Ngày 10
🎉

Hôm nay
KHÔNG LÀM GÌ HẾT

9 ngày vừa rồi bạn đã build được nhiều thứ hơn hầu hết người làm marketing làm trong cả tháng.
Nghỉ ngơi không phải lười biếng — là đầu tư cho 11 ngày tiếp theo.
9 ngày vừa qua bạn đã làm được
🧠

Skill viết content AI

Đóng gói giọng văn vào SKILL.md

📝

10 bài content bán hàng

Post, ads, email, ZNS — sẵn sàng đăng

🎯

Ads brief + seeding script

Phân tích đối thủ, ICP, target audience

🔧

Tool phân tích comment

Build + deploy thật trên Antigravity

🚀

Landing Page live

Có link thật, form hoạt động

🌐

Website bán hàng live

Multi-page, navigation, contact form

Nhiệm vụ hôm nay — chỉ có 1
  • 🥳 Vui vẻ. Bung xoã. Làm bất cứ thứ gì giúp bạn nạp lại năng lượng — cafe với bạn bè, xem phim, ngủ thêm, đi chơi, ăn gì ngon. Không có nhiệm vụ nào khác.
  • 📵 Không mở Claude. Không mở Antigravity. Không nghĩ đến challenge. Não cần nghỉ ngơi thật sự, không phải "nghỉ mà vẫn lo".
  • 💬 Nếu muốn đăng Facebook hôm nay — đăng về việc bạn đang nghỉ ngơi. Flex cái cảm giác deserve it sau 9 ngày build liên tục.
Nghiêm cấm hôm nay
  • Mở Claude để "làm thêm chút"
  • Review lại bài làm của các ngày trước
  • Lo lắng về 11 ngày còn lại
  • Làm việc vì cảm thấy tội lỗi khi nghỉ
Ngày 11 quay lại với Phase 3 — Thanh toán & CRM.
Sepay, webhook, tự động hóa đơn hàng. Nặng hơn — nhưng bạn đã sẵn sàng hơn sau hôm nay.
ClaudeGamma
Nộp Sếp: proposal thật cho 1 KH đang pitch
3

Tự Động Hóa Quy Trình Agency

Những việc lặp đi lặp lại — giao hết cho hệ thống

Ngày 11–17
Ngày 11
Hiểu Sepay flow + webhook + tích hợp vào LDP
VàoLink LDP live từ ngày 7
RaNút thanh toán Sepay trên LDP hoạt động ở test mode
Tư duy cốt lõi
Hầu hết người build LDP đẹp xong rồi... nhận tiền bằng cách nhắn tin "em chuyển khoản vào số này nhé." Đó là thủ công. Hôm nay bạn build hệ thống: KH tự thanh toán, bạn tự nhận thông báo, không cần làm gì thêm.
Hiểu Sepay Hoạt Động Như Thế Nào
Bước 1
KH bấm nút "Mua ngay" trên LDP
Bước 2
Hiện QR hoặc redirect đến trang thanh toán Sepay
Bước 3
KH quét QR — chuyển khoản với mã đơn hàng
Bước 6
Bạn nhận thông báo tự động
Zalo / Email / Telegram
Bước 5
Sepay kích hoạt Webhook gửi data đến hệ thống
Bước 4
Ngân hàng xác nhận giao dịch thành công

Payment Link là gì?

Một đường link duy nhất của Sepay đại diện cho 1 sản phẩm/đơn hàng. KH click vào link → thấy thông tin thanh toán → chuyển khoản.

Giống như tạo một tờ hóa đơn điện tử có thể share qua link.

QR Code là gì?

Mã QR chứa thông tin tài khoản ngân hàng + số tiền + mã đơn hàng. KH mở app ngân hàng quét QR là đủ thông tin — không cần nhập tay.

Giống như QR trên tờ menu quán cafe — quét là ra thứ cần thiết.

Webhook là gì?

Khi có tiền vào, Sepay tự động gửi thông báo đến một URL bạn chỉ định — ngay lập tức, không cần bạn check thủ công.

Giống như chuông cửa: có người đến → chuông tự kêu, bạn không cần ra cửa mỗi 5 phút để xem có ai không.

Mã đơn hàng là gì?

Chuỗi ký tự duy nhất gắn với mỗi giao dịch. KH chuyển khoản kèm mã này → Sepay biết đây là đơn hàng nào → webhook gửi đúng thông tin.

Giống như mã vận đơn — giúp phân biệt đơn này với đơn kia khi có nhiều người mua cùng lúc.
SOP Chi Tiết
1

Đăng ký và setup tài khoản Sepay

Cần làm 1 lần — sau đó dùng mãi

  • LÀM Vào sepay.vn → Đăng ký tài khoản merchant → Điền thông tin doanh nghiệp hoặc cá nhân kinh doanh.
  • LÀM Sau khi có tài khoản → vào phần Tài khoản ngân hàng → Kết nối tài khoản ngân hàng bạn muốn nhận tiền vào. Sepay sẽ theo dõi biến động số dư tài khoản này.
  • LÀM Vào phần API / Tích hợp → Lấy API Key của tài khoản. Copy và lưu vào nơi an toàn — bạn sẽ cần dùng ở các bước sau.
  • LƯU Ý Sepay hoạt động dựa trên việc đọc SMS hoặc email thông báo biến động từ ngân hàng — hoặc kết nối trực tiếp qua API ngân hàng tùy gói. Đảm bảo tài khoản ngân hàng của bạn đã bật thông báo SMS/email biến động số dư.
Gói nào phù hợp? Với mục đích học và test, gói miễn phí của Sepay đủ dùng. Khi chạy thật với volume lớn mới cần nâng lên gói trả phí.
2

Tạo Payment Link cho sản phẩm trên LDP

Mỗi sản phẩm cần 1 payment link riêng — tạo link xong mới tích hợp vào LDP

  • LÀM Trong dashboard Sepay → vào Payment Link hoặc Tạo đơn hàng → Điền thông tin:
THÔNG TIN CẦN ĐIỀN KHI TẠO PAYMENT LINK
Tên sản phẩm: [tên sản phẩm trên LDP của bạn] Số tiền: [giá sản phẩm — đơn vị VNĐ] Mô tả: [mô tả ngắn — KH sẽ thấy khi thanh toán] Redirect URL sau thanh toán: [link trang cảm ơn hoặc để trống] Webhook URL: [để trống tạm — sẽ điền ở Bước 4]
  • LÀM Sau khi tạo xong → Sepay cấp cho bạn 1 Payment Link và 1 QR Code. Copy cả hai, lưu vào Google Doc.
  • TEST NGAY Mở payment link trên điện thoại — có hiện thông tin thanh toán đúng không? QR có scan được không?
3

Tích hợp nút thanh toán vào LDP trên Antigravity

3 cách tích hợp — chọn cách phù hợp với LDP của bạn

  • CHỌN CÁCH PHÙ HỢP Có 3 cách tích hợp, tùy vào UX bạn muốn. Đọc cả 3 rồi chọn 1.
CÁCH 1 — ĐƠN GIẢN NHẤT: Nút redirect đến Payment Link → khuyên dùng cho người mới
Vào LDP trên Antigravity → tìm nút CTA "Mua ngay" → thay link nút bằng payment link Sepay vừa tạo. Prompt cho Antigravity: "Đổi link của nút [tên CTA button] thành: [paste payment link Sepay]. Thêm target="_blank" để mở tab mới."
CÁCH 2 — TRUNG BÌNH: Hiện QR Code trực tiếp trên LDP → UX tốt hơn
Prompt cho Antigravity: "Thêm section thanh toán ngay dưới nút CTA chính. Section này gồm: - Tiêu đề: 'Thanh toán nhanh qua QR' - Ảnh QR Code: [upload ảnh QR từ Sepay] - Hướng dẫn ngắn: 'Mở app ngân hàng → Quét QR → Xác nhận' - Thông tin ngân hàng backup: [tên ngân hàng, số TK, tên chủ TK] - Ghi chú nhỏ: 'Sau khi chuyển khoản, chúng tôi sẽ liên hệ xác nhận trong vòng 15 phút'"
CÁCH 3 — NÂNG CAO: Modal popup hiện QR khi bấm nút → UX chuyên nghiệp nhất
Prompt cho Antigravity: "Khi KH bấm nút 'Mua ngay', hiện popup modal gồm: - Tiêu đề: 'Hoàn tất thanh toán' - Tóm tắt đơn hàng: tên sản phẩm + giá - QR Code ảnh: [upload ảnh QR Sepay] - Countdown timer 15 phút - Hướng dẫn 3 bước: Quét QR → Nhập đúng số tiền → Xác nhận - Nút 'Tôi đã thanh toán' → chuyển đến trang cảm ơn - Nút 'Đóng' để đóng modal"
Khuyến nghị cho Ngày 11: Dùng Cách 1 hoặc Cách 2 để test nhanh. Cách 3 có thể làm sau khi đã confirm Cách 1/2 hoạt động. Đừng bị kẹt ở việc làm đẹp khi chức năng chưa test xong.
4

Setup Webhook — nhận thông báo tự động khi có tiền vào

Đây là phần kỹ thuật nhất hôm nay — nhưng Claude sẽ làm cùng bạn

  • HIỂU TRƯỚC Webhook cần 1 URL để Sepay gửi data đến khi có tiền vào. URL này phải là 1 server đang chạy — không phải URL tĩnh. Cách đơn giản nhất: dùng n8n hoặc Make để tạo webhook URL miễn phí.
  • LÀM Vào n8n.io hoặc make.com → Tạo tài khoản miễn phí → Tạo workflow mới.
PROMPT CHO CLAUDE — hỏi cách tạo webhook nhận Sepay → dán vào Claude
Tôi đang dùng n8n (hoặc Make) và muốn tạo một webhook để nhận thông báo từ Sepay khi có thanh toán thành công. Hãy hướng dẫn tôi từng bước: 1. Cách tạo Webhook node trong n8n/Make để lấy URL 2. Cách điền Webhook URL đó vào Sepay dashboard 3. Cấu trúc data Sepay sẽ gửi về (JSON format) — để tôi biết field nào chứa: số tiền, mã đơn hàng, thời gian, trạng thái 4. Cách set up n8n/Make để sau khi nhận webhook thì tự động gửi tin nhắn thông báo vào Telegram hoặc email của tôi Giải thích đơn giản, tôi không biết lập trình.
  • LÀM Làm theo hướng dẫn Claude cung cấp từng bước. Nếu bị kẹt ở bước nào → chụp màn hình lỗi và paste vào Claude hỏi tiếp.
  • LÀM Sau khi có Webhook URL từ n8n/Make → điền vào Sepay dashboard → phần Webhook Setting của payment link vừa tạo.
  • TEST WEBHOOK Sepay có nút "Test Webhook" trong dashboard — bấm vào để gửi thử request → kiểm tra n8n/Make có nhận được data không.
Nếu không setup được Webhook hôm nay: Không sao — nghiệm thu tối thiểu là nút thanh toán hoạt động (Bước 3). Webhook là bonus. Ngày 12 sẽ đi sâu hơn vào automation — có thể hoàn thiện webhook lúc đó.
5

Test end-to-end — giả làm khách hàng mua thật

Chuyển 1.000đ để test — không cần chuyển đủ giá sản phẩm

  • LÀM Mở LDP đã tích hợp Sepay trên điện thoại. Đóng vai KH: đọc trang, bấm nút mua, thấy thông tin thanh toán.
  • LÀM Chuyển khoản 1.000đ (hoặc bất kỳ số tiền nhỏ nào) vào tài khoản Sepay đang theo dõi. Ghi đúng nội dung chuyển khoản theo hướng dẫn.
  • KIỂM TRA Trong vòng 1–2 phút: Sepay dashboard có ghi nhận giao dịch không? Nếu đã setup webhook — n8n/Make có nhận được data không? Bạn có nhận được thông báo Telegram/email không?
  • LÀM Screenshot toàn bộ flow: màn hình LDP → màn hình thanh toán → dashboard Sepay ghi nhận → thông báo nhận được. Đây là bằng chứng cho nghiệm thu.
Nếu Sepay không ghi nhận giao dịch: Kiểm tra lại: (1) Tài khoản ngân hàng đã kết nối đúng chưa? (2) Nội dung chuyển khoản có đúng mã không? (3) SMS/email thông báo từ ngân hàng có được Sepay đọc không? Paste lỗi vào Claude để được hướng dẫn fix.
6

Thêm trang cảm ơn sau thanh toán

Trải nghiệm KH không kết thúc ở lúc chuyển tiền — cần có confirmation rõ ràng

  • ANTIGRAVITY Tạo thêm 1 trang đơn giản trên Antigravity — trang "Cảm ơn". Gửi prompt dưới đây.
PROMPT TRANG CẢM ƠN — thêm vào website Antigravity
Build trang cảm ơn sau thanh toán. URL: /cam-on Nội dung: - Icon lớn: ✅ hoặc 🎉 - Headline: "Thanh toán thành công!" - Subtext: "Cảm ơn bạn đã mua [tên sản phẩm]. Chúng tôi sẽ liên hệ với bạn trong vòng [thời gian] để xác nhận đơn hàng." - Thông tin liên hệ nếu có thắc mắc: [SĐT / email] - Nút: "Quay về trang chủ" → link về Homepage Design: đơn giản, sạch, tông màu dễ chịu. Không cần nhiều section.
  • LÀM Sau khi tạo xong trang cảm ơn → vào Sepay dashboard → điền URL trang cảm ơn vào phần Redirect URL sau thanh toán của payment link.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • LDP có nút/section thanh toán Sepay — KH bấm vào thấy được thông tin thanh toán
  • Screenshot flow test — LDP → màn hình thanh toán → Sepay ghi nhận giao dịch 1.000đ
  • Trang cảm ơn đã tạo và redirect URL đã điền trong Sepay
  • Nếu setup được webhook: screenshot thông báo nhận được sau khi test
  • Share link LDP (đã có Sepay) vào nhóm team, tag Sếp
  • Đăng Facebook — chia sẻ cảm giác lần đầu nhận được tiền tự động không cần check ngân hàng thủ công. Tag Trần Linh
ClaudeSKILL.md
Ngày 12
Build CRM nhận đơn tự động khi có thanh toán thành công
VàoHệ thống LDP tích hợp Sepay
RaDemo flow live — thanh toán Sepay → đơn vào CRM tự động
Tư duy cốt lõi
CRM không cần phức tạp để hiệu quả. 1 Google Sheet có cấu trúc tốt + automation điền tự động = đủ để vận hành 100 đơn/tháng mà không cần nhân sự nhập liệu. Build đơn giản trước, nâng cấp sau khi có nhu cầu thật.
Toàn Bộ Flow Hôm Nay
KH thanh toán Sepay
Sepay Webhook kích hoạt
Apps Script nhận data
(viết bằng Claude)
Ghi vào Google Sheet
Dashboard Antigravity cập nhật
Chọn CRM Phù Hợp
Dashboard

Antigravity CRM View

Build trang dashboard đẹp bằng Antigravity — kéo data từ Sheet qua API, hiển thị dạng card và bảng.

✓ Giao diện đẹp hơn Sheet
✓ Có thể share link cho Sếp
✗ Cần làm sau khi Sheet đã có data
Nâng cao

Airtable

Nếu muốn Kanban pipeline view — Airtable có giao diện đẹp hơn Sheets, miễn phí đến 1.000 records.

✓ Kanban view
✓ Filter mạnh
✗ Giới hạn record free
✗ Cần học thêm
SOP Chi Tiết
1

Tạo Google Sheet CRM với cấu trúc chuẩn

Cấu trúc đúng từ đầu — thêm cột sau dễ hơn xóa cột đang dùng

  • LÀM Tạo Google Sheet mới → đặt tên: "CRM Đơn Hàng — [Tên sản phẩm/Agency]" → tạo các cột theo bảng dưới đây.
Tên cột Nguồn data Mô tả
🕐 Thời gian Tự động Timestamp khi thanh toán thành công
🔢 Mã đơn hàng Tự động Mã giao dịch từ Sepay — duy nhất mỗi đơn
👤 Tên khách hàng Tự động Lấy từ form LDP hoặc nội dung chuyển khoản
📞 Số điện thoại Tự động Từ form trên LDP
📧 Email Tự động Từ form trên LDP
📦 Sản phẩm Tự động Tên sản phẩm từ payment link
💰 Số tiền Tự động Số tiền thực tế Sepay nhận được
✅ Trạng thái Tự động Mặc định: "Đã thanh toán" — update thủ công sau
📝 Ghi chú Thủ công Team tự điền — tình trạng xử lý, lưu ý đặc biệt
👩 Người xử lý Thủ công Ai trong team đang phụ trách đơn này
  • LÀM Đặt màu header row (dòng đầu) — teal hoặc màu brand của agency. Freeze dòng header để khi scroll xuống vẫn thấy tên cột.
  • LÀM Tạo thêm sheet thứ 2 tên "Dashboard" — để trống, sẽ dùng sau để tạo báo cáo tự động.
  • LÀM Share Google Sheet → Anyone with link can edit → Copy link. Sẽ cần link này khi kết nối n8n.
2

Dùng Claude viết Google Apps Script làm webhook receiver

Claude viết code — bạn copy, paste, deploy. Không cần hiểu code.

  • TẠI SAO APPS SCRIPT? Google Apps Script là công cụ tích hợp sẵn trong Google Sheets — có thể nhận POST request từ bên ngoài và ghi thẳng vào Sheet. Không cần tài khoản thêm, không cần server riêng. Claude viết code, bạn chỉ cần paste vào và bấm Deploy.
  • LÀM Mở Google Sheet CRM → vào menu Extensions → Apps Script → cửa sổ code editor mở ra.
  • LÀM Mở Claude → gửi prompt dưới đây để Claude viết code Apps Script.
PROMPT CHO CLAUDE — viết Google Apps Script webhook receiver → dán vào Claude
Viết cho tôi Google Apps Script để làm webhook receiver cho Sepay payment gateway. Script này cần: 1. Nhận POST request từ Sepay khi có thanh toán thành công 2. Parse JSON data từ Sepay (gồm các field: id giao dịch, số tiền, thời gian, nội dung chuyển khoản, trạng thái) 3. Ghi một row mới vào Google Sheet tên "Đơn Hàng" với các cột theo thứ tự: Thời gian | Mã đơn hàng | Tên KH | SĐT | Email | Sản phẩm | Số tiền | Trạng thái 4. Trả về response JSON {"status": "ok"} cho Sepay Lưu ý: - Tên KH, SĐT, Email có thể không có trong webhook Sepay — nếu không có thì để trống, điền "N/A" - Sản phẩm lấy từ nội dung chuyển khoản hoặc description của payment link - Trạng thái mặc định: "Đã thanh toán" - Thêm xử lý lỗi cơ bản — nếu có lỗi thì log vào console Viết đầy đủ, có comment giải thích từng phần bằng tiếng Việt để tôi hiểu code đang làm gì.
  • LÀM Copy toàn bộ code Claude viết → paste vào Apps Script editor (xóa code mặc định trước) → bấm Save (Ctrl+S).
  • LÀM Bấm Deploy → New deployment → Web app → Cài đặt:
    Execute as: Me
    Who has access: Anyone
    → Bấm Deploy → Copy URL được cấp.
  • LÀM Paste URL vào Sepay dashboard → Webhook URL của payment link → Save.
  • TEST WEBHOOK Trong Sepay → bấm "Test Webhook" → quay lại Sheet kiểm tra có row mới xuất hiện không.
Lần đầu deploy Apps Script cần duyệt quyền: Google sẽ hiện màn hình "This app isn't verified" → bấm Advanced → Go to [tên script] → Allow. Đây là bình thường khi chạy script của chính mình.
Nếu code Claude viết ra có lỗi: Copy thông báo lỗi từ Apps Script editor → paste vào Claude và hỏi: "Code bị lỗi này, sửa giúp tôi: [paste lỗi]". Không tự sửa code khi chưa hiểu.
3

Thêm thông báo Zalo/Telegram vào Apps Script

Cùng file code — thêm vài dòng để nhận thông báo realtime

  • LÀM Mở Claude → gửi prompt dưới đây để Claude cập nhật lại code Apps Script vừa viết, thêm phần gửi thông báo.
PROMPT — thêm thông báo vào Apps Script đã có
Cập nhật Google Apps Script đã viết ở bước trước — thêm chức năng gửi thông báo vào [Telegram Bot hoặc Zalo OA — chọn 1] sau khi ghi thành công vào Sheet. Nội dung tin nhắn: 🛒 ĐƠN HÀNG MỚI ━━━━━━━━━━━━━━ 📦 SP: [tên sản phẩm] 💰 Tiền: [số tiền] VNĐ 🕐 Lúc: [thời gian] 🔢 Mã: [mã giao dịch] ━━━━━━━━━━━━━━ 👉 [link Google Sheet CRM] Hướng dẫn tôi cách lấy Bot Token (Telegram) hoặc Access Token (Zalo) để điền vào code. Viết code đầy đủ, có comment bằng tiếng Việt.
  • LÀM Copy code mới → paste đè lên code cũ trong Apps Script → Save → Deploy lại (chọn Manage deployments → chỉnh sửa deployment hiện tại).
  • TEST Trigger test webhook từ Sepay → kiểm tra nhận được tin nhắn đúng format không.
4

Build Dashboard CRM trên Antigravity

Sheet là nơi lưu data — Antigravity là nơi nhìn data đẹp và dễ dùng hơn

  • MỤC TIÊU Build 1 trang dashboard trên Antigravity — hiển thị đơn hàng mới nhất, tổng doanh thu hôm nay, và danh sách đơn dạng bảng. Sếp có thể mở link là thấy tình hình ngay, không cần mở Sheet.
  • LÀM Trước tiên — tạo công thức Dashboard trong Sheet. Mở Claude, gửi prompt sau:
PROMPT — tạo công thức Dashboard trong Google Sheet
Tôi có Google Sheet "CRM Đơn Hàng" với các cột: Thời gian | Mã đơn hàng | Tên KH | SĐT | Email | Sản phẩm | Số tiền | Trạng thái | Ghi chú | Người xử lý. Data ở sheet "Đơn Hàng", bắt đầu từ dòng 2. Viết công thức Google Sheet cho sheet "Dashboard" để hiển thị: 1. Tổng số đơn hôm nay 2. Tổng doanh thu hôm nay (VNĐ, format có dấu phẩy) 3. Tổng số đơn tháng này 4. Tổng doanh thu tháng này 5. Số đơn theo trạng thái: Đã thanh toán / Đang xử lý / Hoàn thành / Hủy 6. 10 đơn hàng mới nhất (dùng QUERY hoặc FILTER) Dùng COUNTIFS, SUMIFS, QUERY. Giải thích ngắn từng công thức.
  • LÀM Paste công thức vào sheet Dashboard → verify số liệu đúng → copy link Sheet.
  • ANTIGRAVITY Vào Antigravity → tạo trang mới tên "CRM Dashboard" → gửi prompt:
PROMPT ANTIGRAVITY — build CRM dashboard
Build trang CRM Dashboard cho agency. Giao diện tối, chuyên nghiệp. Layout gồm: - Header: "CRM Đơn Hàng — [Tên agency]" + ngày hôm nay - Row 1: 4 stat cards nằm ngang • Đơn hôm nay: [số] • Doanh thu hôm nay: [số] VNĐ • Đơn tháng này: [số] • Doanh thu tháng này: [số] VNĐ - Row 2: Bảng "10 đơn mới nhất" Cột: Thời gian | Khách hàng | Sản phẩm | Số tiền | Trạng thái Trạng thái dùng badge màu: xanh = Hoàn thành, vàng = Đang xử lý, đỏ = Hủy - Nút "Xem Google Sheet đầy đủ" → link [link sheet] Data tạm thời là static/hardcode — sau này tôi sẽ kết nối API. Bây giờ chỉ cần giao diện đúng cấu trúc.
Tại sao hardcode data trước? Build giao diện đúng cấu trúc trước, kết nối data sau — nhanh hơn và dễ review layout. Khi có nhu cầu live data thật, Claude Code có thể viết thêm phần fetch từ Google Sheets API.
5

Test toàn bộ flow end-to-end

Demo đủ để ghi nhận vào nghiệm thu — flow phải chạy được trước mặt người xem

  • LÀM Mở LDP trên điện thoại. Bấm nút mua, quét QR, chuyển 1.000đ test.
  • TRONG VÒNG 2 PHÚT Kiểm tra 3 thứ cùng lúc: (1) Sheet có thêm row mới không? (2) Tin nhắn thông báo có đến không? (3) Dashboard có cập nhật số liệu không?
  • LÀM Quay video màn hình toàn bộ quá trình: từ bấm nút trên LDP → đến khi thấy row mới trong Sheet và nhận được tin nhắn thông báo. Video này là nghiệm thu.
  • LÀM Test thêm 1 lần nữa với thông tin khác để đảm bảo không phải may mắn — hệ thống chạy nhất quán.
Nếu flow không chạy được hoàn chỉnh hôm nay: Nghiệm thu tối thiểu là Sheet nhận được data từ webhook Sepay — dù chưa có thông báo Telegram hay chưa có Dashboard. Automation cơ bản chạy được là đã đủ điều kiện nộp.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Video demo flow — từ thanh toán Sepay đến row mới xuất hiện trong Google Sheet
  • Google Sheet CRM có đủ cấu trúc cột + ít nhất 1 row data thật từ test
  • Apps Script đang deploy và hoạt động — webhook URL đã điền trong Sepay
  • Dashboard Antigravity — link live, hiển thị đúng cấu trúc stat cards + bảng đơn hàng
  • Nếu có: screenshot thông báo Telegram/Zalo nhận được sau khi test
  • Share link Dashboard Antigravity + link Sheet vào nhóm team, tag Sếp
  • Đăng Facebook — chia sẻ cảm giác lần đầu thấy đơn hàng tự chạy vào hệ thống mà không cần làm gì. Tag Trần Linh
BufferLaterMeta Business
Ngày 13
Build trợ lý chat tư vấn trên Zalo Cá Nhân
VàoKịch bản tư vấn Zalo
RaBot Zalo trả lời được câu hỏi tư vấn, test live với số thật
Tư duy cốt lõi
Bot Zalo không phải để thay con người hoàn toàn — mà để xử lý 80% câu hỏi lặp đi lặp lại để bạn chỉ cần tập trung vào 20% câu hỏi thật sự cần con người. Từ "giá bao nhiêu" đến "có ship không" — AI xử lý hết. Bạn chỉ vào khi cần chốt deal thật.
Zalo Cá Nhân vs Zalo OA — Khác Nhau Ở Đâu

📱 Zalo Cá Nhân — hôm nay build

  • Số điện thoại bình thường của bạn
  • KH đã có trong danh bạ → nhắn trực tiếp
  • Cảm giác thân thiện hơn, gần gũi hơn
  • Không cần đăng ký gì thêm
  • Dùng ZCA library để kết nối API
  • Phù hợp: sales cá nhân, tư vấn trực tiếp

🏢 Zalo OA (Official Account)

  • Tài khoản doanh nghiệp, cần đăng ký
  • KH follow OA → nhận broadcast
  • Có API chính thức, ổn định hơn
  • Phù hợp: brand lớn, nhiều KH
  • Có phí khi gửi ZNS, broadcast
  • Phức tạp hơn để setup ban đầu
Flow Hoạt Động
KH nhắn tin vào Zalo của bạn
ZCA nhận tin nhắn
(chạy trên máy tính)
Gửi lên Claude API
+ Knowledge Base
Claude phân tích + trả lời
ZCA gửi lại cho KH tự động
SOP Chi Tiết
1

Cài Node.js và setup môi trường

Làm 1 lần — sau đó dùng mãi cho tất cả bot cần build

  • LÀM Vào nodejs.org → tải và cài Node.js phiên bản LTS (bản ổn định nhất). Sau khi cài xong, mở Terminal (Mac) hoặc Command Prompt (Windows) → gõ node --version → nếu hiện số phiên bản là đã cài thành công.
  • LÀM Tạo thư mục mới trên máy tính tên zalo-bot. Mở Terminal → cd vào thư mục đó.
  • LÀM Gõ lần lượt trong Terminal:
LỆNH TERMINAL — gõ từng dòng, enter sau mỗi dòng
npm init -y npm install zca-js npm install @anthropic-ai/sdk npm install dotenv
  • KIỂM TRA Sau khi install xong, trong thư mục zalo-bot xuất hiện folder node_modules — nghĩa là cài đặt thành công.
  • ZCA LÀ GÌ? ZCA (Zalo Chat Automation) là thư viện Node.js cho phép kết nối và tương tác với tài khoản Zalo cá nhân — đọc tin nhắn đến và gửi tin nhắn đi. Đây là thư viện mã nguồn mở được cộng đồng developer Việt Nam xây dựng.
Lưu ý quan trọng: ZCA kết nối vào tài khoản Zalo cá nhân của bạn. Chỉ dùng với tài khoản bạn có quyền sở hữu. Không dùng để spam hoặc gửi tin nhắn hàng loạt không có sự cho phép — vi phạm điều khoản Zalo và có thể bị khóa tài khoản.
2

Build Knowledge Base — dạy bot biết gì cần trả lời

Bot chỉ tốt bằng knowledge base của nó — viết kỹ ở bước này, bot sẽ trả lời chuẩn

  • LÀM Tạo file knowledge.txt trong thư mục zalo-bot. Điền đầy đủ thông tin theo bảng dưới đây.
Mục Nội dung cần điền
Tên & vai trò Tên bot, là trợ lý của ai, phục vụ cho agency/sản phẩm nào
Sản phẩm/Dịch vụ Tên đầy đủ, mô tả chi tiết, giá, các gói, điều kiện mua
FAQ thường gặp 15–20 câu hỏi KH hay hỏi + câu trả lời chuẩn từng câu
Quy trình mua hàng Các bước từ lúc quan tâm đến lúc hoàn thành giao dịch
Chính sách Đổi trả, bảo hành, hoàn tiền, thời gian giao hàng
Thông tin liên hệ SĐT, email, địa chỉ, giờ làm việc
Giới hạn bot Câu hỏi nào bot KHÔNG trả lời → chuyển sang người thật (ví dụ: khiếu nại, câu hỏi phức tạp)
Cách viết FAQ hiệu quả: Mở chat Zalo thật → tìm 20 câu KH hay hỏi nhất → paste vào Claude và hỏi: "Viết câu trả lời chuẩn, ngắn gọn, thân thiện cho từng câu hỏi này theo thông tin sản phẩm [mô tả sản phẩm]." Đây là nguồn dữ liệu tốt nhất.
3

Dùng Claude Code viết bot — copy, paste, chạy

Không cần hiểu code — Claude viết, bạn paste vào file và chạy

  • LÀM Tạo file .env trong thư mục zalo-bot. Điền API key vào:
FILE .env — điền thông tin thật vào
ANTHROPIC_API_KEY=sk-ant-[api key của bạn từ console.anthropic.com]
  • LÀM Mở Claude → gửi prompt dưới đây. Claude sẽ viết toàn bộ code bot.
PROMPT CHO CLAUDE — viết Zalo bot hoàn chỉnh → dán vào Claude
Viết code Node.js cho Zalo chatbot sử dụng thư viện zca-js và Anthropic Claude API. YÊU CẦU CHỨC NĂNG: 1. Kết nối Zalo cá nhân qua QR code (dùng zca-js) 2. Lắng nghe tin nhắn đến từ tất cả người dùng 3. Với mỗi tin nhắn → gọi Claude API để tạo phản hồi 4. Gửi phản hồi lại cho người nhắn SYSTEM PROMPT cho Claude API: Đọc file knowledge.txt trong cùng thư mục làm knowledge base. Claude đóng vai trợ lý tư vấn, chỉ trả lời trong phạm vi thông tin trong file đó. Nếu câu hỏi nằm ngoài phạm vi → trả lời: "Câu hỏi này tôi cần chuyển cho [tên bạn] hỗ trợ trực tiếp. Để lại số điện thoại để được gọi lại nhé!" THÊM CÁC TÍNH NĂNG: - Delay 1–2 giây trước khi gửi (để không nghe như bot) - Log ra console mỗi khi có tin nhắn đến và khi gửi phản hồi - Bỏ qua tin nhắn từ chính mình (tránh loop) - Xử lý lỗi khi Claude API timeout Viết code đầy đủ trong 1 file index.js. Có comment tiếng Việt giải thích từng phần. Hướng dẫn cách chạy ở cuối.
  • LÀM Copy toàn bộ code → tạo file index.js trong thư mục zalo-bot → paste code vào → save.
  • LÀM Mở Terminal → cd vào thư mục zalo-bot → gõ: node index.js
  • QR CODE Terminal sẽ hiện QR code. Mở Zalo trên điện thoại → Cài đặt → Quét mã QR → Scan QR trong Terminal. Bot bắt đầu chạy sau khi scan thành công.
Nếu code báo lỗi khi chạy: Copy toàn bộ thông báo lỗi từ Terminal → paste vào Claude: "Code bị lỗi này khi chạy node index.js, sửa giúp tôi: [paste lỗi]". Không tự đoán lỗi.
4

Tinh chỉnh System Prompt — bot trả lời đúng giọng, đúng scope

Code chạy được rồi — giờ cần dạy bot trả lời như người bán hàng thật

  • LÀM Nhờ 1-2 người nhắn thử 10 câu hỏi thường gặp vào Zalo. Đọc từng câu trả lời của bot.
CHECKLIST — bot đang trả lời tốt hay chưa
✓ ĐẠT nếu: - Trả lời đúng thông tin trong knowledge.txt - Giọng thân thiện, không cứng như đọc script - Câu trả lời ngắn gọn — dưới 100 chữ cho câu hỏi đơn giản - Biết từ chối đúng cách khi câu hỏi nằm ngoài scope - Có delay tự nhiên, không phản hồi ngay lập tức 0ms ✗ CẦN SỬA nếu: - Trả lời sai thông tin không có trong knowledge.txt - Giọng quá formal hoặc quá robotic - Trả lời quá dài — KH không đọc hết - Không biết chuyển câu hỏi phức tạp sang người thật - Loop: bot reply tin nhắn của chính bot
  • LÀM Nếu cần sửa giọng hoặc scope → mở index.js → tìm phần system prompt → sửa trực tiếp. Hoặc hỏi Claude: "System prompt của tôi đang tạo ra bot trả lời [mô tả vấn đề]. Sửa lại system prompt để [mô tả điều muốn thay đổi]."
  • LÀM Sau khi sửa → dừng bot (Ctrl+C trong Terminal) → chạy lại: node index.js → scan QR lại → test tiếp.
5

Giữ bot chạy liên tục — không tắt máy là bot chết

Bot đang chạy trên máy tính bạn — máy tắt là bot offline

  • THỰC TẾ CẦN BIẾT Với ZCA chạy local, bot chỉ hoạt động khi máy tính mở và có internet. Đây là giới hạn của bài học hôm nay — đủ để test và học concept. Để bot chạy 24/7 cần deploy lên server.
  • LÀM Dùng pm2 để bot không tự tắt nếu có lỗi. Gõ trong Terminal:
LỆNH — cài pm2 và chạy bot ổn định hơn
npm install -g pm2 pm2 start index.js --name "zalo-bot" pm2 logs zalo-bot
  • DEPLOY 24/7 (BONUS) Nếu muốn bot chạy không cần máy tính bật: hỏi Claude cách deploy code này lên Railway.app hoặc Render.com — cả hai đều có gói miễn phí. Đây là bài nâng cao, không bắt buộc hôm nay.
Hôm nay test trên máy local là đủ cho nghiệm thu. Mục tiêu là bot chạy được và trả lời đúng — không nhất thiết phải 24/7 ngay hôm nay. Deploy server là bước tiếp theo sau khi đã confirm bot hoạt động tốt.
6

Test live — nhờ người thật nhắn thử

Tự test không đủ — cần người không biết đây là bot để test thật

  • LÀM Nhờ 2-3 người (không phải team) nhắn vào Zalo của bạn — không nói trước là bot. Chỉ nói "nhắn hỏi về [tên sản phẩm] giúp mình."
  • TIÊU CHÍ ĐẠT Bot trả lời được ít nhất 7/10 câu hỏi đúng và tự nhiên. Người nhắn không biết đó là bot cho đến khi bạn nói.
  • LÀM Quay video màn hình Terminal (thấy log) + màn hình Zalo (thấy bot đang reply). Đây là bằng chứng nghiệm thu.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Bot đang chạy — Terminal mở, đã scan QR, log hiện tin nhắn đang được xử lý
  • Video demo — người thật nhắn câu hỏi → bot tự trả lời trong vài giây
  • File knowledge.txt đầy đủ — ít nhất 15 FAQ, thông tin sản phẩm, giới hạn bot
  • Bot trả lời được ít nhất 7/10 câu hỏi thường gặp đúng và tự nhiên
  • Share video demo vào nhóm team, tag Sếp
  • Đăng Facebook — chia sẻ khoảnh khắc bot lần đầu tự trả lời KH mà không cần bạn cầm điện thoại. Cảm giác đó như thế nào. Tag Trần Linh
n8nClaudeZalo API
Nộp Sếp: demo workflow chạy thật — Sếp xem được báo cáo tự động
Ngày 14
Học cấu trúc AI chatbot + design conversation flow
VàoSản phẩm thực tế
RaSystem prompt + knowledge base outline + sơ đồ conversation flow cho 1 sản phẩm thật
Tư duy cốt lõi
Chatbot không phải "AI thông minh tự biết làm" — là AI được lập trình để làm đúng thứ bạn muốn. Bạn càng thiết kế chi tiết, bot càng trả lời chuẩn. Bạn thiết kế sơ sài, bot sẽ hallucinate — tự bịa thông tin không có thật. Hôm nay là ngày thiết kế, không phải ngày code.
3 Thành Phần Của Mọi AI Chatbot
🧠

System Prompt

Bộ luật và nhân cách của bot. Quy định: bot là ai, làm gì, nói như thế nào, được phép làm gì và không được làm gì.

Giống như job description của nhân viên — viết rõ thì nhân viên làm đúng, mơ hồ thì tự diễn.
📚

Knowledge Base

Kho thông tin bot được phép dùng để trả lời. Sản phẩm, giá, FAQ, chính sách — tất cả phải có trong đây.

Giống như tài liệu training nhân viên mới — nếu không cho đọc thì không biết mà nói.
🗺️

Conversation Flow

Bản đồ hành trình hội thoại. KH hỏi gì → bot đi theo nhánh nào → kết thúc ở đâu. Phòng trường hợp bot bị lạc.

Giống như flowchart xử lý khiếu nại — mỗi tình huống có đường đi rõ ràng, không phán đoán theo cảm tính.
SOP Chi Tiết
1

Xác định 5 Intent chính — bot cần xử lý những gì

Intent = mục đích của người nhắn. Biết intent mới thiết kế được flow

  • INTENT LÀ GÌ? Intent là mục đích thật sự đằng sau câu hỏi. "Giá bao nhiêu?" và "Mắc không vậy?" đều có intent là hỏi giá — bot nhận ra intent rồi mới trả lời đúng cách.
  • LÀM Mở Claude → gửi prompt dưới đây để xác định intent cho sản phẩm của bạn.
PROMPT — xác định intent chính cho chatbot → dán vào Claude
Tôi đang build chatbot tư vấn bán hàng cho sản phẩm: [mô tả sản phẩm/dịch vụ] Hãy liệt kê 8–10 intent phổ biến nhất mà KH sẽ có khi nhắn vào chatbot này. Với mỗi intent, cung cấp: 1. Tên intent (ngắn gọn, viết thường, dùng dấu gạch ngang): ví dụ "hoi-gia", "dat-hang" 2. Ví dụ 3 câu hỏi KH hay dùng cho intent này 3. Bot nên trả lời theo hướng nào (không cần viết full, chỉ cần định hướng) 4. Có cần chuyển sang người thật không? Tại sao? Sắp xếp theo thứ tự từ phổ biến nhất đến ít phổ biến nhất.
  • LÀM Đọc danh sách intent Claude cung cấp. Chọn ra 5 intent quan trọng nhất cho sản phẩm của bạn — đây là 5 nhánh chính trong conversation flow.
  • LÀM Copy 5 intent đã chọn vào Google Doc tên: "Chatbot Design — [Tên sản phẩm]"
hoi-gia
"Giá bao nhiêu?", "Mắc không?", "Có giảm giá không?"
Trả lời giá + so sánh value → dẫn đến CTA mua
hoi-tinh-nang
"Sản phẩm có gì?", "Dùng được không?", "Khác gì đối thủ?"
Giải thích lợi ích chính → link landing page chi tiết
dat-hang
"Mua ở đâu?", "Đặt hàng thế nào?", "Thanh toán được không?"
Hướng dẫn 3 bước → link trang thanh toán Sepay
after-sales
"Đổi trả thế nào?", "Tôi bị lỗi rồi", "Hoàn tiền không?"
Chuyển sang người thật ngay → không tự xử lý
2

Viết System Prompt hoàn chỉnh

System Prompt là trái tim của chatbot — viết kỹ ở đây, mọi thứ còn lại sẽ ổn

Nhân cách & Vai trò
Bot là ai, phục vụ cho aiTên bot, đang làm việc cho brand nào, tone giao tiếp (thân thiện / chuyên nghiệp / trẻ trung)
Nhiệm vụ chính
Bot làm những gìTư vấn sản phẩm, trả lời FAQ, hướng dẫn mua hàng, thu thập thông tin KH
Giới hạn & Từ chối
Bot KHÔNG được làm gìKhông nói xấu đối thủ, không cam kết ngoài quyền hạn, không trả lời câu hỏi ngoài sản phẩm
Xử lý không biết
Khi câu hỏi ngoài knowledge baseCâu trả lời cố định khi không biết: "Câu hỏi này tôi cần chuyển chuyên gia hỗ trợ…"
Format trả lời
Cách viết câu trả lờiĐộ dài tối đa, có dùng bullet point không, có dùng emoji không, ngôn ngữ (Việt/Anh)
Chuyển người thật
Khi nào chuyển & chuyển thế nàoTình huống nào trigger chuyển, câu nói cố định khi chuyển, thông tin cần thu thập trước khi chuyển
  • LÀM Gửi prompt dưới đây cho Claude — Claude sẽ viết System Prompt hoàn chỉnh dựa trên thông tin bạn cung cấp.
PROMPT — Claude viết System Prompt cho chatbot website → dán vào Claude
Viết System Prompt hoàn chỉnh cho AI chatbot tư vấn bán hàng trên website. THÔNG TIN: - Tên bot: [tên — ví dụ: "Linh" hoặc "Trợ lý Trần Linh"] - Brand: [tên agency/công ty] - Sản phẩm/dịch vụ: [mô tả ngắn] - Tone giao tiếp: [thân thiện + chuyên nghiệp / trẻ trung / cao cấp] - Ngôn ngữ chính: Tiếng Việt NHIỆM VỤ CỦA BOT: - Trả lời câu hỏi về sản phẩm/dịch vụ - Hướng dẫn quy trình mua hàng - Thu thập tên + SĐT của KH quan tâm - Chuyển sang người thật khi: khiếu nại, câu hỏi kỹ thuật phức tạp, yêu cầu giảm giá đặc biệt GIỚI HẠN: - Chỉ trả lời trong phạm vi thông tin về sản phẩm - Không cam kết giá hoặc điều khoản chưa được phép - Không nói về đối thủ cạnh tranh - Khi không biết: dùng câu cố định "Câu hỏi này cần chuyên gia hỗ trợ thêm. Để lại tên và SĐT để được liên hệ lại trong vòng 1 giờ nhé!" FORMAT TRẢ LỜI: - Tối đa 80 chữ cho câu hỏi đơn giản - Tối đa 150 chữ cho câu hỏi cần giải thích - Dùng emoji vừa phải (1-2 emoji mỗi câu) - Kết thúc bằng câu hỏi ngược để giữ cuộc trò chuyện Viết System Prompt theo chuẩn để paste thẳng vào API của Claude. Có comment giải thích từng phần.
  • LÀM Copy System Prompt vào Google Doc. Đọc kỹ từng phần — sửa bất cứ điểm nào chưa đúng với brand thật của bạn.
  • QUAN TRỌNG Đừng để System Prompt quá dài — trên 1.000 chữ bắt đầu ảnh hưởng đến chất lượng trả lời. Mỗi câu trong System Prompt phải có lý do tồn tại.
3

Build Knowledge Base outline chi tiết

Khác với KB của Zalo bot ngày 13 — KB này cần cấu trúc hơn vì nhúng vào website

  • LÀM Tiếp tục trong cùng chat. Gửi prompt dưới đây để Claude giúp build KB có cấu trúc.
PROMPT — build Knowledge Base có cấu trúc → gửi tiếp trong cùng chat
Dựa trên System Prompt vừa viết, hãy tạo Knowledge Base outline cho chatbot này. Cấu trúc KB theo các section sau: ## 1. THÔNG TIN SẢN PHẨM/DỊCH VỤ [Tên, mô tả, các gói/phiên bản, giá từng gói] ## 2. LỢI ÍCH & ĐIỂM KHÁC BIỆT [Tại sao chọn sản phẩm này, so với làm thủ công/đối thủ thì khác gì] ## 3. QUY TRÌNH MUA HÀNG [Từng bước từ quan tâm đến thanh toán xong] ## 4. FAQ — 20 CÂU HỎI PHỔ BIẾN NHẤT [Câu hỏi + câu trả lời chuẩn cho từng câu] ## 5. CHÍNH SÁCH [Đổi trả, bảo hành, hoàn tiền, thời gian xử lý] ## 6. THÔNG TIN LIÊN HỆ [SĐT, email, địa chỉ, giờ làm việc, Zalo, Facebook] ## 7. CÁC TÌNH HUỐNG CHUYỂN NGƯỜI THẬT [Liệt kê 10 tình huống cụ thể cần con người xử lý + câu bot nói khi chuyển] Điền nội dung thật dựa trên: [paste thông tin sản phẩm đầy đủ vào đây] Viết đầy đủ, không để placeholder trống.
  • LÀM Copy KB outline vào Google Doc — dưới System Prompt. Đây là 2 tài liệu quan trọng nhất bạn sẽ dùng ngày mai khi build chatbot thật.
  • REVIEW KB Đọc lại toàn bộ KB. Có thông tin nào sai hoặc thiếu so với thực tế không? Sửa ngay — chatbot chỉ trả lời được những gì có trong KB.
4

Vẽ Conversation Flow Diagram bằng Claude Code

Bản đồ hội thoại — nhìn vào biết ngay bot sẽ đi theo đường nào

  • LÀM Gửi prompt dưới đây để Claude tạo diagram dạng HTML — có thể mở xem trực tiếp trên browser.
PROMPT — tạo conversation flow diagram → chat mới với Claude
Tạo cho tôi một HTML file hiển thị Conversation Flow Diagram cho chatbot tư vấn bán hàng. FLOW CHÍNH cần vẽ: START: KH gửi tin nhắn đầu tiên ↓ BOT: Chào + hỏi có thể giúp gì Phân nhánh theo intent: ├── HỎI GIÁ → Trả lời giá + hỏi ngân sách → Đề xuất gói phù hợp → CTA mua ├── HỎI TÍNH NĂNG → Giải thích lợi ích chính → Hỏi nhu cầu cụ thể → Demo/link chi tiết ├── ĐẶT HÀNG → Hướng dẫn 3 bước → Link thanh toán → Xác nhận ├── KHIẾU NẠI → Thu thập tên+SĐT → Chuyển người thật ngay └── KHÔNG RÕ INTENT → Hỏi lại để làm rõ → Phân nhánh lại FALLBACK (không biết câu trả lời): → "Để hỗ trợ tốt nhất, cho tôi xin tên và SĐT để chuyên gia liên hệ lại trong 1 giờ nhé!" YÊU CẦU DIAGRAM: - Mỗi node là 1 hộp với màu phân biệt: xanh = bot nói, xám = KH nói, đỏ = chuyển người thật, vàng = decision point - Có mũi tên kết nối rõ ràng - Giao diện tối, đẹp, professional - Responsive, xem được trên điện thoại Build HTML hoàn chỉnh, chạy được ngay.
  • LÀM Copy HTML code → lưu file conversation-flow.html → mở bằng Chrome để xem diagram.
  • REVIEW FLOW Đi theo từng nhánh trong diagram. Tự hỏi: nếu KH hỏi X, bot đi theo đường nào? Có nhánh nào bị cụt (đi vào không ra được) không?
  • LÀM Deploy file HTML lên Antigravity → copy link. Link này sẽ nộp cùng nghiệm thu để Sếp review được.
Flow không cần hoàn hảo ngay hôm nay. Khi chatbot chạy thật (Ngày 15), bạn sẽ phát hiện thêm những tình huống chưa nghĩ đến. Update flow sau khi có data thực tế tốt hơn là thiết kế hết trên giấy mà không test.
5

Test System Prompt với Claude — simulate conversation

Test trên Claude chat trước khi nhúng vào website — rẻ hơn và nhanh hơn

  • LÀM Mở Claude → New chat. Gửi tin nhắn đầu tiên như sau (đây là cách simulate system prompt trong chat thường):
CÁCH TEST SYSTEM PROMPT TRONG CLAUDE CHAT
Tin nhắn đầu tiên gửi cho Claude: "Từ bây giờ hãy đóng vai chatbot theo System Prompt sau. Trả lời mọi tin nhắn tiếp theo đúng theo role này, không phá vỡ nhân vật. [Paste toàn bộ System Prompt vào đây] [Paste toàn bộ Knowledge Base vào đây] --- Bắt đầu bây giờ. Tin nhắn đầu tiên từ KH:" Sau đó gửi các tin nhắn test như thể bạn là KH.
  • LÀM Test ít nhất 10 câu hỏi — cover đủ 5 intent đã xác định ở Bước 1. Ghi chú câu nào bot trả lời tốt, câu nào chưa.
  • LÀM Câu nào bot trả lời sai hoặc chưa tự nhiên → sửa System Prompt hoặc bổ sung KB → test lại.
  • TIÊU CHÍ ĐẠT System Prompt + KB đạt khi bot trả lời đúng 8/10 câu test và không hallucinate (tự bịa thông tin không có trong KB).
Dấu hiệu hallucination: Bot trả lời thông tin không có trong KB của bạn — ví dụ tự bịa giá, tự bịa tính năng, tự bịa chính sách. Nếu thấy hallucination → thêm vào System Prompt: "Chỉ sử dụng thông tin trong Knowledge Base được cung cấp. Tuyệt đối không tự suy luận hoặc bịa thêm thông tin."
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Google Doc "Chatbot Design — [Tên sản phẩm]" gồm: System Prompt + Knowledge Base outline đầy đủ
  • Link Conversation Flow Diagram — deploy trên Antigravity, xem được trên điện thoại
  • Kết quả test: 8/10 câu trả lời đúng khi simulate trong Claude chat
  • Ghi chú: câu nào bot còn yếu, đã sửa System Prompt như thế nào
  • Share link diagram + doc vào nhóm team, tag Sếp
  • Đăng Facebook — chia sẻ insight: khi thiết kế chatbot bạn mới nhận ra KH đang thật sự cần gì — điều bạn chưa để ý trước đó. Tag Trần Linh
ClaudeNotion
Ngày 15
Build trợ lý chat tư vấn nhúng vào website
VàoSơ đồ conversation flow từ ngày 14
RaChatbot live trên website, test được 10 câu hỏi thường gặp
Tư duy cốt lõi
Chatbot tốt không phải chatbot biết nhiều nhất — là chatbot trả lời đúng thứ KH cần, đúng lúc, đúng cách. Hôm nay ưu tiên chatbot chạy được và trả lời đúng 80% câu hỏi thường gặp. Hoàn hảo 100% là mục tiêu của tuần sau khi có data thật từ KH.
Chat Widget Sẽ Có Gì
SOP Chi Tiết
1

Chuẩn bị: kiểm tra lại System Prompt + KB trước khi build

5 phút chuẩn bị tránh mất 2 tiếng fix sau khi build xong

  • CHECKLIST TRƯỚC KHI BUILD Mở Google Doc từ Ngày 14 → kiểm tra 3 điều:
CHECKLIST 3 ĐIỀU CẦN CONFIRM TRƯỚC KHI BUILD
□ System Prompt đã test đạt 8/10 trong Claude chat (Ngày 14 Bước 5) □ Knowledge Base đã điền đầy đủ — không có mục nào còn "[điền vào]" □ API key Anthropic còn hoạt động — vào console.anthropic.com kiểm tra
  • CHƯA ĐẠT 8/10? Dừng lại — dành 30 phút tinh chỉnh System Prompt và KB trước. Build chatbot với System Prompt kém thì chatbot kém, không phải lỗi code.
2

Dùng Claude build chat widget hoàn chỉnh

1 prompt — Claude viết toàn bộ widget. Bạn chỉ cần điền System Prompt và KB vào

  • VIBECODE Mở Claude → New chat → gửi prompt dưới đây. Đây là prompt build widget quan trọng nhất — đọc kỹ trước khi gửi.
PROMPT BUILD CHAT WIDGET — copy nguyên, điền phần in nghiêng → dán vào Claude
Build cho tôi một chat widget nhúng vào website. Widget này kết nối Claude API để tư vấn bán hàng tự động. THIẾT KẾ WIDGET: - Bubble button góc dưới phải — icon 💬, màu [màu chính brand], size 56px - Khi bấm bubble → cửa sổ chat 360×500px nổi lên phía trên button - Header chat: "[tên bot]" + status "🟢 Đang online" + nút X đóng - Vùng tin nhắn: bot bubble trái (màu nhạt), user bubble phải (màu brand) - Ô nhập + nút Gửi ở dưới, Enter để gửi - Loading animation khi chờ bot trả lời (3 chấm nhấp nhảy) - Tin nhắn chào mặc định khi mở: "[câu chào của bot]" TECHNICAL: - HTML + CSS + JavaScript thuần, không dùng framework - Gọi Anthropic API: https://api.anthropic.com/v1/messages - Model: claude-sonnet-4-20250514 - API key lưu trong biến const API_KEY = "[paste api key của bạn vào đây]" - Giữ lịch sử hội thoại trong session (messages array) - Xử lý lỗi: hiện "Xin lỗi, có lỗi xảy ra. Vui lòng thử lại!" khi API fail SYSTEM PROMPT (paste nguyên vào code): """ [Paste toàn bộ System Prompt từ Ngày 14 vào đây] KNOWLEDGE BASE: [Paste toàn bộ Knowledge Base từ Ngày 14 vào đây] """ LEAD CAPTURE: Khi bot phát hiện KH đang quan tâm mua (dựa trên context) → bot tự hỏi: "Để tư vấn chi tiết hơn, bạn cho mình xin tên và số điện thoại nhé!" Khi KH cung cấp SĐT → gửi POST request đến: [Apps Script URL từ Ngày 12 — hoặc để trống nếu chưa có] Data gửi: { name, phone, message, timestamp } Viết tất cả trong 1 file HTML duy nhất, có thể nhúng vào bất kỳ website nào qua thẻ script hoặc iframe. Build ngay, không hỏi thêm gì.
  • LÀM Copy toàn bộ HTML code Claude viết → lưu file chatbot-widget.html → mở bằng Chrome → test thử ngay trên local.
  • TEST LOCAL Gõ 3 câu hỏi → bot có trả lời không? Loading animation có hiện không? Bubble button hoạt động không?
  • NẾU CÓ LỖI CORS API key trong file HTML local có thể bị chặn bởi browser CORS policy. Nếu gặp lỗi này → deploy lên Antigravity trước rồi mới test (bước tiếp theo).
API key trong code: Đây là file chỉ dùng nội bộ — không push lên GitHub public hay share link công khai. Khi cần share với team, tạo 1 API key riêng có giới hạn spending để kiểm soát chi phí.
3

Deploy widget + nhúng vào website Antigravity

2 cách nhúng — chọn cách phù hợp với setup website của bạn

  • CHỌN CÁCH NHÚNG Có 2 cách, tùy vào Antigravity của bạn hỗ trợ thế nào.
CÁCH 1 — NHÚNG TRỰC TIẾP VÀO ANTIGRAVITY → thử trước
Vào Antigravity → mở website đã build ở Ngày 9 → tìm phần chỉnh sửa HTML/Custom Code → thêm vào trước thẻ </body>: <script> [Paste toàn bộ JavaScript từ file chatbot-widget.html] </script> <style> [Paste toàn bộ CSS từ file chatbot-widget.html] </style> Hoặc nếu Antigravity có ô "Custom HTML" / "Embed Code" → paste nguyên file HTML vào đó.
CÁCH 2 — DEPLOY RIÊNG + NHÚNG QUA IFRAME → dùng nếu Cách 1 không được
Bước 1: Deploy file chatbot-widget.html lên Antigravity như 1 trang độc lập → Lấy URL của trang đó (ví dụ: https://your-site.antigravity.app/chatbot) Bước 2: Trong website chính → thêm đoạn code này vào cuối mỗi trang: <div id="chat-container" style="position:fixed; bottom:20px; right:20px; z-index:9999;"> <iframe src="[URL chatbot từ Bước 1]" style="width:380px; height:520px; border:none; border-radius:16px;" allow="clipboard-write"> </iframe> </div> Prompt cho Antigravity: "Thêm đoạn HTML này vào cuối tất cả các trang của website, trước thẻ </body>: [paste đoạn iframe code]"
  • KIỂM TRA SAU KHI NHÚNG Mở website trên điện thoại → có thấy bubble chat góc dưới phải không? Bấm vào → cửa sổ chat mở lên không?
4

Test 10 câu hỏi thường gặp — kiểm tra chất lượng

Test theo kịch bản có cấu trúc — không test ngẫu nhiên

  • LÀM Mở website trên điện thoại. Test lần lượt 10 câu hỏi dưới đây. Ghi kết quả bên cạnh mỗi câu.
  • 1
    Câu chào hỏi đầu tiên — bot có chào lại tự nhiên không?
  • 2
    Hỏi giá — bot trả lời đúng giá và đúng gói không?
  • 3
    Hỏi tính năng — bot giải thích lợi ích hay chỉ liệt kê feature?
  • 4
    Hỏi cách mua — bot hướng dẫn đúng quy trình không?
  • 5
    Hỏi chính sách đổi trả — bot có biết không?
  • 6
    Câu hỏi không có trong KB — bot có từ chối đúng cách không?
  • 7
    Khiếu nại giả — bot có chuyển sang người thật không?
  • 8
    Hỏi so sánh với đối thủ — bot có nói xấu hay xử lý khéo?
  • 9
    Yêu cầu giảm giá — bot xử lý như thế nào?
  • 10
    Hội thoại dài 5 tin nhắn — bot có nhớ context không?
  • LÀM Ghi chú câu nào bot chưa đạt → quay lại System Prompt sửa → test lại câu đó.
  • TIÊU CHÍ ĐẠT Ít nhất 8/10 câu bot trả lời đúng hướng và tự nhiên. Câu 6, 7 bắt buộc phải đúng — đây là 2 câu quan trọng nhất về an toàn của bot.
5

Nhờ người ngoài team test — blind test

Bạn biết bot được thiết kế thế nào nên test khác người dùng thật — cần blind test

  • LÀM Nhờ 2 người không trong team (bạn bè, người thân) vào website và tự nhiên chat với bot — không giải thích trước là bot hay người.
  • LÀM Sau 5 phút hỏi họ: "Em/bạn thấy đang chat với người hay bot? Bot trả lời có giúp được không? Có điểm nào thấy khó chịu không?"
  • KẾT QUẢ TỐT Người test không chắc đang chat với người hay bot. Họ nhận được thông tin cần thiết mà không cần phải hỏi lại nhiều lần.
  • LÀM Fix những điểm feedback chỉ ra → deploy lại → báo cáo kết quả blind test khi nộp nghiệm thu.
Feedback thường gặp nhất từ blind test: "Bot trả lời dài quá", "Bot hỏi lại nhiều quá", "Bot không hiểu tôi hỏi gì". Mỗi cái này có cách fix trong System Prompt — hỏi Claude: "Người test nói bot [mô tả vấn đề]. Sửa System Prompt thế nào?"
6

Kết nối lead capture với CRM từ Ngày 12

Khi KH để lại SĐT trong chat → tự động vào Google Sheet — đóng vòng lặp

  • NẾU CHƯA SETUP Ở BƯỚC 2 Khi bot hỏi SĐT và KH trả lời — data đó cần được lưu lại. Nếu chưa nối với Apps Script từ Ngày 12, làm ngay bước này.
  • LÀM Gửi prompt cho Claude:
PROMPT — thêm lead capture vào chatbot widget
Trong file chatbot-widget.html hiện tại, thêm chức năng: Khi bot nhận được tin nhắn chứa số điện thoại Việt Nam (10 số bắt đầu bằng 0) → tự động gửi POST request đến Apps Script URL sau để lưu vào Google Sheet CRM: Apps Script URL: [paste URL từ Ngày 12] Data gửi dạng JSON: { "source": "website-chatbot", "name": [tên nếu đã hỏi trước đó, không có thì "KH Website"], "phone": [số điện thoại vừa nhận], "message": [nội dung câu hỏi cuối cùng trước khi để SĐT], "timestamp": [thời gian hiện tại] } Sau khi gửi thành công → bot tiếp tục conversation bình thường, không báo đã lưu.
  • TEST Chat với bot → để lại SĐT giả → kiểm tra Google Sheet CRM có thêm row mới không.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Link website — mở ra thấy bubble chat góc dưới phải trên tất cả trang
  • Video demo — bấm bubble → chat window mở → hỏi 3 câu → bot trả lời đúng và tự nhiên
  • Kết quả test 10 câu: ít nhất 8/10 đạt, đặc biệt câu 6 và 7 bắt buộc đúng
  • Kết quả blind test: 2 người ngoài đã test + feedback thật
  • Lead capture hoạt động: để lại SĐT trong chat → vào Google Sheet
  • Share link website vào nhóm team, tag Sếp
  • Đăng Facebook — share link website, kêu bạn bè vào chat thử với bot. Đừng nói trước là bot — để họ tự phát hiện. Tag Trần Linh
Claude API
Ngày 16
Nghiên cứu Shopee chat automation — tool, giới hạn platform, cách đi hợp lệ
VàoTài liệu API Shopee / Tool automation
RaTài liệu phân tích tool + plan approach được Sếp duyệt
Thực tế cần biết trước
Shopee không có API chat công khai cho bên thứ 3. Không có cách nào nhúng Claude API vào Shopee chat một cách chính thức. Nhưng Shopee có công cụ auto-reply tích hợp sẵn — và đó là con đường hợp lệ duy nhất. Hôm nay bạn sẽ học cách tận dụng tối đa công cụ đó.
Thực Tế: Shopee Cho Làm Gì Và Không Cho Làm Gì

✓ ĐƯỢC PHÉP — Hợp lệ 100%

  • Dùng Quick Reply có sẵn trong Seller Center
  • Setup Auto Reply khi offline / ngoài giờ
  • Dùng Shopee Chat Bot tích hợp sẵn (nếu shop đủ điều kiện)
  • Tạo template câu trả lời để dùng lại
  • Dùng Shopee Business App để quản lý chat nhiều thiết bị
  • Tích hợp tool CRM bên thứ 3 qua Shopee Open API (có phê duyệt)

✕ KHÔNG ĐƯỢC — Rủi ro bị phạt

  • Dùng tool automation không được Shopee phê duyệt
  • Scrape dữ liệu chat từ Shopee
  • Dùng bot tự động gửi tin nhắn hàng loạt
  • Giả mạo hành vi người dùng trong chat
  • Dùng browser extension không chính thức để tự động hóa
  • Kết nối API bên thứ 3 không qua Shopee Open API
Các Tool Đang Được Dùng Trên Thị Trường
⚠ Thận trọng

CRM tích hợp Shopee

Một số CRM như Sapo, KiotViet, Haravan có tích hợp Shopee chat qua API chính thức.

⚠ Hợp lệ nếu tool đó đã được Shopee phê duyệt. Verify trước khi dùng.
⚠ Kiểm tra kỹ

SubizChat / LiveChat tools

Một số live chat tool claim tích hợp được Shopee. Thực tế phần lớn là tích hợp partial hoặc dùng cách không chính thức.

⚠ Hỏi rõ họ tích hợp qua Shopee Open API không trước khi dùng.
✕ Tránh

Browser automation tools

Selenium, Playwright, extension tự động click/reply trong Shopee chat. Shopee phát hiện được và sẽ cảnh báo/khóa.

✕ Rủi ro cao. Không dùng dù thấy trên YouTube hướng dẫn.
✕ Tránh

Unofficial Shopee APIs

Reverse-engineered Shopee API, các library không chính thức trên GitHub. Shopee thường xuyên update để chặn.

✕ Có thể work hôm nay, bị chặn ngày mai. Không đáng rủi ro.
SOP Chi Tiết
1

Khám phá Shopee Seller Center — tìm hết tính năng chat có sẵn

Phần lớn seller chưa dùng hết tính năng miễn phí của Shopee — bắt đầu từ đây

  • LÀM Vào banhang.shopee.vn → đăng nhập Seller Center → tìm mục Chat với Khách Hàng hoặc Shopee Chat.
  • LÀM Khám phá và ghi chú tất cả tính năng có trong tab Chat. Tìm các mục: Auto Reply, Quick Reply, Chat Bot, Away Mode, và bất cứ thứ gì liên quan đến tự động hóa.
  • LÀM Chụp màn hình từng tính năng tìm được. Ghi chú: tính năng này làm gì, có giới hạn gì, có miễn phí không.
CÁC TÍNH NĂNG THƯỜNG CÓ TRONG SHOPEE SELLER CENTER
Auto Reply (Trả lời tự động): - Trả lời tự động khi shop đang offline hoặc ngoài giờ - Có thể cài thông điệp chào + thông tin cơ bản - Giới hạn: chỉ 1 tin nhắn, không có logic phân nhánh Quick Reply (Trả lời nhanh): - Tạo template câu trả lời → gõ phím tắt là ra - Tiết kiệm thời gian trả lời câu hỏi lặp lại - Giới hạn: vẫn cần người bấm gửi, không tự động Shopee Chat Bot (nếu có): - Một số shop được mở tính năng chatbot thử nghiệm - Rule-based: nếu KH hỏi X thì bot trả lời Y - Giới hạn: không có AI, chỉ match keyword Away Mode: - Bật khi shop không online → tự gửi tin nhắn away - Có thể ghi thông tin liên hệ khác hoặc thời gian quay lại
  • NẾU SHOP CHƯA CÓ Nếu đang thực hành với shop KH chưa có tài khoản Shopee — tạo shop test miễn phí chỉ để học. Không cần đăng sản phẩm thật.
2

Dùng Claude phân tích giới hạn và cơ hội

Không tự research từ đầu — Claude tổng hợp kiến thức, bạn verify và bổ sung

  • LÀM Mở Claude → gửi prompt dưới đây. Sau khi nhận được phân tích, bổ sung những gì bạn tự tìm hiểu được từ Bước 1.
PROMPT — phân tích Shopee chat automation → dán vào Claude
Tôi là nhân viên của agency marketing, cần setup tư vấn tự động cho shop Shopee của khách hàng. Hãy phân tích chi tiết: 1. TÍNH NĂNG CHÍNH THỨC CỦA SHOPEE: - Shopee Seller Center có những công cụ chat/auto-reply nào? - Từng công cụ có chức năng gì, giới hạn gì? - Cách setup từng công cụ đó như thế nào? 2. SHOPEE OPEN API: - Shopee Open API có cho phép tích hợp chat không? - Cần điều kiện gì để đăng ký? - Những gì developer có thể làm với Chat API? 3. TOOL BÊN THỨ 3 HỢP LỆ: - Tool/phần mềm nào đang được dùng phổ biến ở Việt Nam để quản lý Shopee chat? - Tool nào đã được Shopee chính thức phê duyệt? 4. CHIẾN LƯỢC THỰC TẾ: - Với agency muốn setup tư vấn AI cho shop Shopee của KH — đâu là cách tiếp cận tốt nhất trong giới hạn cho phép? - Làm thế nào để maximize hiệu quả với các công cụ hợp lệ? 5. RỦI RO CẦN TRÁNH: - Những hành động nào vi phạm TOS của Shopee liên quan đến chat automation? - Hậu quả nếu vi phạm? Trả lời dựa trên thông tin thực tế nhất, ghi rõ nếu có thông tin chưa chắc chắn.
  • LÀM Đọc kỹ phân tích của Claude. So sánh với những gì bạn tự tìm thấy ở Bước 1. Bổ sung hoặc sửa những điểm chưa chính xác.
  • LƯU Ý Claude có thể không có thông tin mới nhất về Shopee Seller Center vì platform thay đổi thường xuyên. Thông tin từ Bước 1 (bạn tự tìm trong Seller Center thật) luôn chính xác hơn.
3

Thiết kế chiến lược tối ưu trong giới hạn hợp lệ

Không có AI nhưng vẫn có thể tự động hóa 70% công việc chat nếu setup đúng

  • LÀM Gửi tiếp prompt sau để Claude giúp thiết kế chiến lược tối ưu.
PROMPT — thiết kế chiến lược chat automation hợp lệ → gửi tiếp trong cùng chat
Dựa trên giới hạn của Shopee, hãy thiết kế chiến lược chat automation tối ưu cho shop [mô tả ngành hàng — ví dụ: shop thời trang, mỹ phẩm, đồ gia dụng]. Yêu cầu thiết kế: 1. AUTO REPLY MESSAGE: Viết cho tôi tin nhắn auto reply hoàn chỉnh khi shop offline gồm: - Câu chào + tên shop - Thông báo giờ làm việc - Hướng dẫn đặt hàng tự phục vụ - Thông tin liên hệ khẩn - Dự kiến thời gian phản hồi 2. QUICK REPLY TEMPLATES — 15 mẫu: Viết 15 câu trả lời nhanh cho 15 tình huống phổ biến nhất của shop ngành [ngành hàng]: - Hỏi giá (3 mẫu) - Hỏi size/màu/mẫu (2 mẫu) - Hỏi ship (2 mẫu) - Hỏi đổi trả (2 mẫu) - Xác nhận đơn hàng (2 mẫu) - Khiếu nại (2 mẫu) - Cảm ơn mua hàng (2 mẫu) 3. CHAT BOT RULES (nếu Shopee có tính năng này): Thiết kế 5 rule đơn giản nhất dạng: "Nếu KH nhắn [keyword] → Bot trả lời [message]" 4. QUY TRÌNH XỬ LÝ CHAT CHO NHÂN SỰ: Vẽ quy trình làm việc: khi online thì xử lý chat như thế nào để nhanh nhất, dùng quick reply ra sao Viết đầy đủ, có thể copy paste trực tiếp vào Seller Center.
  • LÀM Copy toàn bộ output vào Google Doc tên: "Shopee Chat Setup — [Tên shop/KH]"
  • LÀM Đọc lại từng template — sửa những chỗ chưa phù hợp với ngành hàng cụ thể và giọng của shop.
4

Lên plan chi tiết cho Ngày 17

Ngày 17 chỉ execute — plan phải rõ ràng từ hôm nay

Hạng mục Nội dung cụ thể Công cụ Thời gian
Auto Reply Setup tin nhắn offline hoàn chỉnh với đầy đủ thông tin Seller Center 30 phút
Quick Reply Nhập 15 template vào Seller Center, đặt phím tắt cho từng mẫu Seller Center 45 phút
Chat Bot Rules Setup 5 keyword rules nếu Shopee shop có tính năng này Seller Center 30 phút
Test toàn bộ Nhờ người nhắn thử — kiểm tra auto reply và quick reply hoạt động Zalo/điện thoại khác 30 phút
SOP cho team Hướng dẫn nhân sự dùng quick reply đúng cách khi trực chat Google Doc 30 phút
  • LÀM Copy bảng plan này vào Google Doc → bổ sung chi tiết cụ thể cho shop đang làm → gửi cho Sếp duyệt.
Giải thích với Sếp: Shopee không có API chat công khai — không thể nhúng AI như website. Nhưng với Auto Reply + 15 Quick Reply templates được thiết kế kỹ, shop có thể xử lý 60–70% câu hỏi lặp lại mà không cần nhân sự trả lời thủ công từng câu. Đây là cách tối ưu nhất trong giới hạn Shopee cho phép.
5

Research thêm: Shopee Open API có phù hợp không?

Nếu agency muốn build solution chuẩn cho nhiều KH — Open API là hướng đi đúng

  • LÀM Vào open.shopee.vn → tìm hiểu về Shopee Open API, đặc biệt phần Chat API.
  • LÀM Ghi chú: Điều kiện đăng ký là gì? Thời gian được duyệt? Những gì Chat API cho phép?
  • TẦM NHÌN DÀI HẠN Nếu agency plan build chatbot AI cho nhiều shop Shopee khác nhau — đăng ký Open API ngay từ bây giờ. Thời gian duyệt 1–2 tuần. Khi được duyệt, có thể build solution kết nối Claude API với Shopee Chat theo cách chính thức.
Shopee Open API vs làm thủ công: Open API cho phép đọc tin nhắn → xử lý bằng AI → gửi trả lời — tự động 100%. Nhưng cần đăng ký và được phê duyệt. Trong khi chờ, Seller Center tools đủ để vận hành tốt cho hầu hết shop vừa và nhỏ.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Google Doc "Shopee Chat Setup" gồm: phân tích tool + 15 quick reply templates + auto reply message + plan Ngày 17
  • Bảng so sánh tool — liệt kê những gì Shopee cho làm và không cho làm, có lý do
  • Plan Ngày 17 với timeline cụ thể — Sếp đọc xong biết ngay ngày mai làm gì
  • Plan đã được Sếp duyệt — hoặc đang chờ, ghi rõ trạng thái
  • Share link doc vào nhóm team, tag Sếp
  • Đăng Facebook — chia sẻ insight: nhiều người nghĩ Shopee có thể tích hợp AI chatbot tự do, nhưng thực tế không phải vậy. Chia sẻ những gì bạn học được hôm nay để người khác không mất thời gian tìm hiểu lại. Tag Trần Linh
n8nZalo OAClaude
Ngày 17
Setup trợ lý tư vấn tự động trên Shopee
VàoPlan approach được duyệt từ ngày 16
RaAuto reply Shopee hoạt động, test với tin nhắn mẫu

🔥 BÀI 17 ĐẶC BIỆT: CHỌN 1 TRONG 2 CÁCH LÀM

Bạn chỉ cần chọn 1 trong 2 cách dưới đây để thực hành. Cách 1 dễ và an toàn. Cách 2 khó nhưng tự động hóa cao.

👉 CÁCH 1: Dùng tính năng Auto-Reply của Shopee (Dễ)

Tư duy cốt lõi
Quick Reply không phải chatbot AI — nhưng nếu setup đúng 15 mẫu cho 15 tình huống phổ biến nhất, nhân viên chỉ cần 2 giây để chọn mẫu và gửi thay vì 2 phút để gõ lại từ đầu. Nhân 100 tin nhắn/ngày = tiết kiệm hơn 3 tiếng mỗi ngày. Không cần AI cũng đáng làm.
SOP Chi Tiết
1

Vào đúng chỗ trong Seller Center

Giao diện Seller Center thay đổi thường xuyên — dùng đường dẫn này để tìm nhanh

  • LÀM Vào banhang.shopee.vn → đăng nhập → tìm mục Chat theo navigation dưới đây.
  • NẾU KHÔNG TÌM THẤY Thử tìm trực tiếp: banhang.shopee.vn/portal/chat/settings — hoặc search "Quick Reply" / "Trả lời nhanh" trong thanh tìm kiếm của Seller Center.
  • LÀM Chụp màn hình trang Cài đặt Chat khi tìm được — đây là điểm xuất phát cho tất cả bước tiếp theo.
Seller Center trên điện thoại vs máy tính: Một số tính năng như Quick Reply chỉ có trên desktop web — không phải Shopee App. Làm trên máy tính để đảm bảo thấy đầy đủ tính năng.
2

Setup Auto Reply — tin nhắn tự động khi offline

Đây là thứ hoạt động 24/7 dù không có ai trực — setup kỹ một lần, dùng mãi

  • LÀM Trong Cài đặt Chat → tìm Trả lời tự động hoặc Auto Reply → Bật lên.
  • LÀM Paste tin nhắn auto reply dưới đây vào ô nội dung. Điền thông tin thật của shop vào phần in nghiêng.
TIN NHẮN AUTO REPLY — copy và điền thông tin shop → paste vào Seller Center
Xin chào bạn! Cảm ơn đã nhắn tin cho [Tên Shop] 🛍️ Shop đang bận hoặc ngoài giờ làm việc. Bạn để lại câu hỏi, shop sẽ phản hồi trong vòng [1–2 giờ / 30 phút] nhé! 🕐 Giờ làm việc: [Thứ 2–6: 8:00–17:30 | Thứ 7–CN: 8:00–12:00] 📦 Đặt hàng tự phục vụ: → Chọn sản phẩm → Thêm vào giỏ hàng → Đặt mua ngay → Shop xử lý đơn và giao hàng trong [1–2 ngày làm việc] ❓ Câu hỏi thường gặp: → Phí ship: từ [25.000đ], free ship đơn từ [500.000đ] → Đổi trả: trong [7 ngày] nếu sản phẩm còn nguyên vẹn → Mã giảm giá: xem tại trang shop hoặc livestream của mình Cần gấp: Zalo [số điện thoại] — shop sẽ phản hồi nhanh hơn nhé! 🙏
  • GIỚI HẠN KÝ TỰ Shopee giới hạn khoảng 300 ký tự cho Auto Reply. Nếu tin nhắn dài quá → hỏi Claude: "Rút gọn tin nhắn này xuống dưới 280 ký tự, giữ đủ thông tin quan trọng nhất."
  • TEST Dùng điện thoại khác nhắn vào shop → xem auto reply có gửi về không và nội dung có đúng không.
Không được để trong auto reply: Số điện thoại Zalo đặt trước link shop hoặc các link ngoài Shopee — có thể bị Shopee warning. Số điện thoại hỗ trợ khẩn chỉ nên để ở cuối, sau khi đã hướng dẫn KH tự phục vụ trước.
3

Nhập 15 Quick Reply templates

Từng mẫu có phím tắt riêng — nhân viên gõ "/" + phím tắt là ra ngay

  • LÀM Trong Cài đặt Chat → tìm Trả lời nhanh hoặc Quick Reply → Thêm mới từng mẫu.
  • MỖI MẪU CẦN Tên phím tắt (shortcut) + Nội dung tin nhắn. Phím tắt gõ không dấu, không khoảng trắng.
Phím tắt Tình huống Nội dung mẫu — sửa cho phù hợp shop
/gia Hỏi giá Bạn xem giá ở trang sản phẩm nha! Shop đang có chương trình [tên ưu đãi], đơn từ [500k] free ship luôn 🎁
/size Hỏi size/màu Shop có các size [S/M/L/XL] và màu [trắng/đen/navy]. Bạn cho shop biết dáng người để tư vấn size chuẩn nhé!
/con Hỏi còn hàng Dạ sản phẩm này shop còn hàng bạn nhé ✅ Bạn đặt luôn để shop giữ hàng cho mình, ship trong [1–2 ngày] nha!
/het Hết hàng Dạ sản phẩm này tạm hết hàng rồi bạn ơi 😢 Shop sẽ nhập thêm trong [3–5 ngày], bạn để lại SĐT để shop báo khi có hàng nhé!
/ship Hỏi phí ship Phí ship từ [25.000đ] tùy khu vực. Đơn từ [500.000đ] miễn phí ship toàn quốc bạn nhé! 🚚 Nội thành HCM/HN giao [1–2 ngày].
/doi Hỏi đổi trả Shop hỗ trợ đổi trả trong [7 ngày] nếu sản phẩm còn nguyên vẹn, chưa qua sử dụng, còn tem mác đầy đủ bạn nhé! Lỗi do shop thì miễn phí đổi luôn ✅
/loi Sản phẩm lỗi Dạ bạn cho shop xin ảnh/video lỗi qua chat này nhé. Shop sẽ xem và hỗ trợ đổi/hoàn tiền trong [24 giờ] ạ. Xin lỗi bạn về sự bất tiện này 🙏
/don Hỏi đơn hàng Bạn check đơn tại Shopee → Tôi → Đơn mua → chọn đơn hàng là thấy trạng thái nhé! Hoặc gửi shop mã đơn để shop check nhanh hơn 📦
/giao Hỏi thời gian giao Nội thành HCM/HN: [1–2 ngày]. Các tỉnh: [3–5 ngày]. Vùng xa: [5–7 ngày]. Shop giao ngay sau khi nhận đơn bạn nhé! ✈️
/ma Hỏi mã giảm giá Mã [SHOPCODE] giảm [15%] đơn từ [300k] — hết hạn [31/05]. Bạn nhập khi checkout nhé! Shop còn livestream [thứ 6 tối] có thêm nhiều mã xịn nữa 🎉
/sl Hỏi số lượng Bạn cần số lượng bao nhiêu để shop check hàng nhé! Đơn số lượng lớn shop có thể hỗ trợ thêm, bạn inbox chi tiết để shop báo giá nha 😊
/hang Hỏi chất lượng/xuất xứ Sản phẩm [tên SP] của shop [mô tả xuất xứ/chất liệu]. Shop có ảnh thật/video review nếu bạn cần xem thêm! ✨
/cam Cảm ơn mua hàng Cảm ơn bạn đã ủng hộ shop nhé! 💕 Shop sẽ đóng gói cẩn thận và giao hàng sớm nhất có thể. Nếu cần hỗ trợ gì cứ nhắn shop nhé!
/nhan Nhân viên thật Dạ bạn đang được hỗ trợ bởi nhân viên [tên] của shop nhé! Bạn cần hỗ trợ gì để shop giải đáp cho bạn ạ 😊
/tam Tạm thời bận Dạ bạn ơi shop đang bận chút, trả lời bạn trong [5–10 phút] nha! Bạn vẫn có thể đặt hàng tự phục vụ trước nhé 🙏
  • LÀM Nhập từng mẫu vào Seller Center. Sau khi nhập xong → mở chat thử → gõ /gia → xem có hiện mẫu không.
  • TUỲ CHỈNH 15 mẫu trên là template chung — phần in nghiêng phải được điền thông tin thật của shop. Mẫu nào không phù hợp ngành hàng → xoá, thay bằng mẫu khác phù hợp hơn.
4

Dùng Claude cải thiện từng mẫu cho đúng giọng shop

15 mẫu trên là khung — Claude tinh chỉnh để nghe đúng giọng từng shop cụ thể

  • LÀM Mở Claude → gửi prompt dưới đây cho từng shop cụ thể đang làm.
PROMPT — viết lại Quick Reply đúng giọng shop → dán vào Claude
Tôi cần viết lại 15 Quick Reply templates cho shop Shopee với thông tin cụ thể sau: Tên shop: [tên shop] Ngành hàng: [thời trang / mỹ phẩm / đồ gia dụng / ...] Tone giao tiếp: [thân thiện trẻ trung / chuyên nghiệp / gần gũi như bạn bè] Xưng hô: [shop–bạn / em–anh/chị / mình–bạn] Thông tin cụ thể: - Giá sản phẩm phổ biến nhất: [...] - Free ship từ: [... đồng] - Chính sách đổi trả: [... ngày] - Giờ làm việc: [...] - Mã giảm giá đang chạy: [...] Hãy viết 15 Quick Reply theo đúng giọng và thông tin trên. Mỗi mẫu dưới 200 ký tự, ngắn gọn, đọc tự nhiên không nghe như template. Phím tắt giữ nguyên: /gia, /size, /con, /het, /ship, /doi, /loi, /don, /giao, /ma, /sl, /hang, /cam, /nhan, /tam
  • LÀM Copy từng mẫu Claude viết lại → cập nhật vào Seller Center.
5

Setup Away Mode + Chat Bot rules (nếu có)

2 tính năng bonus — không phải shop nào cũng có, nhưng nếu có thì bật hết

  • LÀM Tìm trong Cài đặt Chat mục Chế độ vắng hoặc Away Mode:
CÀI ĐẶT AWAY MODE
Bật Away Mode: ON Thời gian away: Ngoài giờ làm việc (hoặc thiết lập lịch cụ thể nếu có tính năng) Tin nhắn away (ngắn hơn auto reply): "Shop đang ngoài giờ làm việc 🌙 Giờ làm: [thứ 2–6 8:00–17:30] Bạn để lại tin nhắn, shop phản hồi sớm nhất có thể nhé! Đặt hàng tự phục vụ được 24/7 ạ 😊"
  • LÀM Tìm mục Chat Bot hoặc Chatbot tự động — nếu shop có tính năng này (không phải shop nào cũng có):
CHAT BOT RULES — nếu Seller Center có tính năng này
Setup 5 rules cơ bản dạng keyword → reply: Rule 1: Keyword "giá" hoặc "bao nhiêu" → Reply: [paste mẫu /gia đã tạo] Rule 2: Keyword "ship" hoặc "giao hàng" hoặc "freeship" → Reply: [paste mẫu /ship đã tạo] Rule 3: Keyword "đổi" hoặc "trả hàng" hoặc "hoàn tiền" → Reply: [paste mẫu /doi đã tạo] Rule 4: Keyword "còn hàng" hoặc "còn không" → Reply: [paste mẫu /con đã tạo] Rule 5: Keyword "mã" hoặc "voucher" hoặc "giảm giá" → Reply: [paste mẫu /ma đã tạo]
Nếu không tìm thấy Chat Bot trong Seller Center: Tính năng này đang được Shopee roll out dần, không phải tất cả shop đều có. Không có cũng không ảnh hưởng — Auto Reply + Quick Reply đã đủ cho 90% use case.
6

Viết SOP dùng Quick Reply cho team

Tool có mà không dùng đúng cách thì vô nghĩa — SOP giúp team dùng nhất quán

  • LÀM Tạo Google Doc tên: "SOP Chat Shopee — [Tên Shop]". Điền theo cấu trúc dưới đây.
CẤU TRÚC SOP CHAT SHOPEE
QUY TRÌNH XỬ LÝ CHAT KHI ONLINE Bước 1: Đọc tin nhắn — xác định KH đang hỏi về gì Bước 2: Tìm phím tắt phù hợp trong danh sách Quick Reply Bước 3: Gõ "/" + phím tắt → chọn mẫu → CHỈNH SỬA nếu cần → Gửi Bước 4: Nếu không có mẫu phù hợp → tự gõ, sau đó báo để bổ sung mẫu mới DANH SÁCH PHÍM TẮT: /gia → Hỏi giá /size → Hỏi size/màu /con → Còn hàng /het → Hết hàng /ship → Phí ship /doi → Đổi trả /loi → Sản phẩm lỗi /don → Đơn hàng /giao → Thời gian giao /ma → Mã giảm giá /sl → Số lượng lớn /hang → Chất lượng/xuất xứ /cam → Cảm ơn /nhan → Xác nhận là nhân viên thật /tam → Xin phép bận NGUYÊN TẮC QUAN TRỌNG: ✓ Đọc kỹ mẫu trước khi gửi — chỉnh thông tin cụ thể nếu cần ✓ Không gửi mẫu khi thông tin trong mẫu không đúng với tình huống ✗ Không hỏi SĐT/email khách ngoài Shopee ✗ Không để link ngoài Shopee ✗ Không đề nghị thanh toán ngoài Shopee KHI NÀO BÁO SẾP/NHÂN VIÊN CẤP CAO: → KH khiếu nại nặng hoặc đe dọa đánh giá 1 sao → Yêu cầu hoàn tiền/đổi hàng giá trị lớn → Tình huống chưa có mẫu và không biết trả lời thế nào
  • LÀM Share Google Doc cho toàn team có trách nhiệm trực chat Shopee.
7

Test toàn bộ với 5 kịch bản thực tế

Nhờ người nhắn thử — không tự test vì biết trước câu trả lời

  • LÀM Nhờ 1 người ngoài team nhắn thử 5 kịch bản dưới đây vào Shopee của shop. Đừng nói trước họ đang test.
Kịch bản 1 — Hỏi giá khi OFFLINE
KH:Shop ơi cái áo này giá bao nhiêu vậy?
Shop:[Auto Reply tự gửi ngay lập tức]
✓ Đạt: Auto Reply gửi trong vòng 5 giây, nội dung đúng
Kịch bản 2 — Hỏi ship khi ONLINE
KH:Ship về Đà Nẵng bao nhiêu vậy shop?
Shop:[Nhân viên gõ /ship → chọn mẫu → gửi] trong vòng 30 giây
✓ Đạt: Nhân viên tìm đúng mẫu và gửi nhanh, nội dung phù hợp
Kịch bản 3 — Sản phẩm lỗi
KH:Shop ơi hàng giao về bị lỗi rồi, chỉ sử dụng được 1 ngày
Shop:[Nhân viên gõ /loi → chỉnh sửa → gửi, sau đó theo dõi tiếp]
✓ Đạt: Phản hồi nhanh, xin ảnh/video, không từ chối thẳng thừng
Kịch bản 4 — Đòi nhân viên thật
KH:Cho tôi nói chuyện với người thật đi, không muốn chat với bot
Shop:[Nhân viên gõ /nhan → gửi]
✓ Đạt: Xác nhận rõ đang là nhân viên thật, không giải thích dài dòng
Kịch bản 5 — Câu hỏi không có mẫu
KH:Shop có nhận đặt riêng theo yêu cầu không?
Shop:[Nhân viên tự gõ câu trả lời phù hợp — không có mẫu này]
✓ Đạt: Nhân viên biết tự xử lý khi không có mẫu, sau đó báo để bổ sung
  • LÀM Sau khi test xong 5 kịch bản → ghi chú điểm nào chưa ổn → sửa mẫu tương ứng → test lại.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Auto Reply đang bật, nội dung đầy đủ — test bằng cách nhắn vào shop khi offline
  • 15 Quick Reply đã nhập vào Seller Center với đúng phím tắt và nội dung thật của shop
  • Google Doc SOP Chat — team đã được share và confirm đã đọc
  • Video ngắn demo: nhân viên dùng Quick Reply trả lời 3 tình huống — thời gian phản hồi dưới 30 giây
  • 5 kịch bản test — ghi kết quả từng kịch bản (đạt/chưa đạt và lý do)
  • Share link SOP vào nhóm team, tag Sếp
  • Đăng Facebook — chia sẻ: trước khi có Quick Reply team mất bao lâu trả lời 1 tin nhắn, sau khi setup mất bao lâu. Con số cụ thể nói lên tất cả. Tag Trần Linh

👉 CÁCH 2: Dùng N8N + ChatGPT API (Nâng cao)

Đọc kỹ trước khi bắt đầu
Tài liệu hướng dẫn này chưa được test thực tế bởi tác giả. Đây là tổng hợp từ docs chính thức của Shopee và TikTok. Trong thực tế có thể gặp các quirk không có trong docs. Khi bị kẹt — dùng Perplexity hoặc đọc Shopee Open Platform docs trực tiếp.
Điều Kiện Tiên Quyết — Thiếu 1 Là Dừng
Checklist bắt buộc trước khi bắt đầu
  • 🏪
    Shop đã đạt Preferred Seller (Shop Yêu Thích) hoặc Shopee Mall — kiểm tra tại banhang.shopee.vn → Settings → Shop Profile. Shop thường sẽ bị Shopee từ chối cấp Chat API ngay vòng đầu.
  • 🖥️
    Đã có n8n đang chạy với URL HTTPS công khai — hoặc n8n Cloud. Shopee không nhận webhook URL HTTP hoặc localhost.
  • 🔑
    Đã có API key Claude (Anthropic) — vào console.anthropic.com tạo key, nạp ít nhất $10 credit.
  • Sẵn sàng chờ 3–10 ngày để Shopee duyệt — đăng ký Open Platform và xin Chat API không được duyệt ngay. Đây là thực tế của nền tảng này.
Toàn Bộ Flow Hệ Thống
KH nhắn tin trên Shopee
Shopee Push webhook về n8n
n8n verify HMAC + gọi Claude API
Câu khó → Alert Telegram + Pause
Wait 3–7s (anti-spam)
Claude sinh câu trả lời
n8n ký HMAC → gọi send_message API
KH nhận câu trả lời
Log vào Google Sheet
Timeline Thực Tế
Tuần 1
Đăng ký Shopee Open Platform + tạo In-house App + apply Chat API. Phần lớn thời gian là chờ Shopee duyệt.
3–5 ngày chờ
Ngày nhận duyệt
Setup OAuth flow, lấy access_token, test API trên Sandbox.
4–6 giờ
Build workflow
Lắp ráp n8n workflow: Webhook → Verify HMAC → AI Agent → Sign → Send Message.
6–8 giờ
Token refresh
Setup workflow auto-refresh token mỗi 3 giờ — bắt buộc vì Shopee token hết hạn sau 4 giờ.
2–3 giờ
Test + Go Live
Test trên Sandbox → Go Live → monitor 24 giờ đầu.
1–2 ngày
SOP Chi Tiết
1

Đăng ký Shopee Open Platform + Tạo In-house App

Làm đúng ngay từ đầu — sai loại app là không được cấp Chat API

  • LÀM Vào open.shopee.com → Get Access → đăng ký tài khoản (có thể dùng email khác email Seller).
  • LÀM Chọn region Vietnam → chọn loại tài khoản đúng: Individual Seller (shop đạt Preferred Seller cá nhân) hoặc Registered Business Seller (Shopee Mall, cần GPKD).
  • QUAN TRỌNG Không chọn "Third-party Partner Platform (ISV)" — ISV không được cấp Chat API. Phải chọn "Seller In-house System" khi tạo App.
  • LÀM Sau khi tài khoản được duyệt (3–5 ngày) → Console → App Management → Add New App:
THÔNG TIN TẠO APP
App Type: Seller In-house System ← BẮT BUỘC App Name: [Tên Shop] AI Chatbot App Description: Chatbot AI tự động trả lời khách hàng để cải thiện response time và trải nghiệm mua hàng. Redirect URL: https://[n8n-domain]/webhook/shopee-oauth-callback Push URL: https://[n8n-domain]/webhook/shopee-chat Region: Vietnam (VN)
  • CHỜ Sau khi tạo app → vào tab API Permissions → tìm Chat API → bấm Apply để xin quyền. Nội dung ticket: "Chatbot AI tự động trả lời để cải thiện response time, cam kết tuân thủ chính sách Chat của Shopee." Chờ 3–7 ngày làm việc.
  • LÀM Trong khi chờ → lấy Test Partner_idTest Key từ tab Basic Information → lưu vào file .env trên VPS.
Quyền Chat API cần apply riêng: sellerchat.get_message, sellerchat.send_message, sellerchat.get_conversation_list, sellerchat.get_one_conversation, sellerchat.read_conversation. Thiếu bất kỳ quyền nào → workflow sẽ bị lỗi 403.
2

OAuth flow — lấy access_token cho shop

Đây là bước "liên kết" app developer với shop bán hàng cụ thể

  • LÀM Tạo workflow n8n riêng để xử lý OAuth. Gửi prompt dưới đây cho Claude để có hướng dẫn từng node.
PROMPT — Claude hướng dẫn build OAuth workflow trong n8n → dán vào Claude
Hướng dẫn tôi build OAuth workflow cho Shopee trong n8n từng bước. Tôi có: - n8n đang chạy tại: https://[n8n-domain] - Test Partner_id: [...] - Test Partner_key: [...] Tôi cần: 1. Tạo Authorization URL để seller (chính tôi) click vào và authorize - Base string cho sign: partner_id + "/api/v2/shop/auth_partner" + timestamp - Sign = HMAC-SHA256(partner_key, base_string) → lowercase hex 2. Khi Shopee redirect về webhook-test/shopee-oauth-callback với ?code=...&shop_id=... → Workflow tự đổi code lấy access_token qua: POST https://partner.test-stable.shopeemobile.com/api/v2/auth/token/get 3. Lưu access_token + refresh_token + shop_id + expires_at vào Google Sheet Viết hướng dẫn từng node trong n8n, có code mẫu cho Code Node tính HMAC. Giải thích bằng tiếng Việt đơn giản.
  • LÀM Làm theo hướng dẫn Claude. Khi workflow OAuth chạy xong → kiểm tra Google Sheet có access_token + refresh_token không.
  • QUAN TRỌNG Lưu CẢ HAI: access_token (hết hạn sau 4 giờ) VÀ refresh_token (hết hạn sau 30 ngày). Thiếu refresh_token → 30 ngày sau phải authorize lại từ đầu.
3

Build Main Workflow — từ webhook đến gửi tin nhắn

8 node chính — Claude hướng dẫn từng node

  • n8n Tạo workflow mới tên "Shopee Chat Bot — Main". Gửi prompt dưới đây để Claude hướng dẫn chi tiết.
PROMPT — hướng dẫn build main workflow trong n8n → dán vào Claude
Hướng dẫn tôi build workflow chatbot Shopee trong n8n với các node sau theo thứ tự: NODE 1 — Webhook - Path: shopee-chat - Method: POST - Response Mode: Immediately (trả 200 ngay) - Bật Raw Body NODE 2 — Code: Verify HMAC Shopee - Verify chữ ký: HMAC-SHA256(partner_key, webhook_url + "|" + rawBody) - So sánh với header Authorization - Nếu sai → throw error, dừng workflow NODE 3 — Set: chuẩn hoá data - Lấy: buyer_id (from_id), conversation_id, message_text từ webhook payload - Set sessionId = "shopee_" + buyer_id NODE 4 — Postgres/Google Sheet: kiểm tra chat có đang bị pause không - Nếu đang pause (nhân viên đang xử lý) → exit NODE 5 — AI Agent - Model: Claude claude-haiku-4-5 (rẻ hơn, đủ nhanh) - Memory: giữ 5 tin nhắn gần nhất theo sessionId - System Prompt: [tôi sẽ cung cấp sau] - Knowledge base: Google Doc hoặc text tĩnh NODE 6 — IF: câu khó cần người thật - Check nếu response chứa "chuyển nhân viên" hoặc confidence thấp - Yes → Telegram alert + Set pause flag → exit - No → tiếp tục NODE 7 — Wait: random 3–7 giây (anti-spam Shopee) NODE 8 — Code: tính HMAC cho send_message - Sign type: Shop (partner_id + api_path + timestamp + access_token + shop_id) - Gọi: POST https://partner.test-stable.shopeemobile.com/api/v2/sellerchat/send_message NODE 9 — HTTP Request: gọi send_message API NODE 10 — Google Sheet: log cuộc trò chuyện Viết hướng dẫn từng node, có code mẫu cho Code Node, bằng tiếng Việt.
  • PITFALL PHỔ BIẾN NHẤT Khi verify HMAC ở Node 2: phải dùng rawBody — không được dùng JSON.stringify($json.body) vì thứ tự keys có thể thay đổi → HMAC ra sai → verify fail mãi.
  • LÀM Test từng node bằng cách dùng "Execute Node" trong n8n với data mẫu. Không chạy cả workflow khi chưa test từng phần.
Dùng Shopee Sandbox trước: Host sandbox là partner.test-stable.shopeemobile.com — test toàn bộ trên đây trước khi đổi sang production partner.shopeemobile.com. Lỗi trên sandbox không ảnh hưởng shop thật.
4

Setup Auto-refresh Token — BẮT BUỘC

Shopee token hết hạn sau 4 giờ — quên bước này thì bot chết sau 4 giờ đầu tiên

  • TẠI SAO QUAN TRỌNG Access_token Shopee hết hạn sau đúng 4 giờ. Nếu không refresh → mọi tin nhắn KH gửi đến sau đó đều không được trả lời → response rate giảm → shop bị Shopee phạt.
  • LÀM Tạo workflow riêng tên "Shopee Token Refresh". Gửi prompt cho Claude:
PROMPT — build token refresh workflow → dán vào Claude
Hướng dẫn tôi tạo workflow n8n để auto-refresh Shopee access_token. Workflow cần: 1. Trigger: Schedule mỗi 3 giờ 2. Đọc refresh_token + shop_id từ Google Sheet (hoặc n8n Variable) 3. Gọi endpoint refresh: POST https://partner.test-stable.shopeemobile.com/api/v2/auth/access_token/get Body: { "refresh_token": "...", "shop_id": ..., "partner_id": ... } Sign type: Public (partner_id + api_path + timestamp) 4. Lưu CẢ HAI access_token mới VÀ refresh_token mới vào Google Sheet (Shopee rotate-on-use: refresh_token cũ hết hiệu lực sau khi đã dùng) 5. Nếu lỗi → gửi Telegram alert ngay Viết code HMAC cho refresh endpoint, hướng dẫn từng node.
  • TEST Sau khi build xong → chạy thủ công 1 lần → kiểm tra Google Sheet có cập nhật access_token mới không → kiểm tra main workflow vẫn dùng được token mới không.
5

Setup System Prompt + Knowledge Base cho AI Agent

Reuse từ Ngày 14 — không cần làm lại từ đầu

  • LÀM Mở Google Doc System Prompt + KB đã viết từ Ngày 14 → copy System Prompt vào AI Agent Node trong n8n.
  • LÀM Thêm vào System Prompt phần đặc thù cho Shopee — những gì KHÔNG được làm:
BỔ SUNG VÀO SYSTEM PROMPT — phần Shopee policy
NGHIÊM CẤM — VI PHẠM CHÍNH SÁCH SHOPEE: ❌ KHÔNG hỏi số điện thoại, email, địa chỉ ngoài Shopee ❌ KHÔNG đề nghị chuyển sang Zalo, Facebook, WhatsApp, Telegram ❌ KHÔNG gửi bất kỳ link nào ngoài Shopee ❌ KHÔNG đề nghị thanh toán ngoài Shopee ❌ KHÔNG gửi tin nhắn quảng cáo không liên quan đến câu hỏi KH KHI KHÔNG BIẾT TRẢ LỜI: → Trả lời: "Dạ câu hỏi này em cần xác nhận lại với bộ phận kỹ thuật. Em sẽ phản hồi bạn trong vòng 1–2 giờ ạ." → Thêm vào cuối response: [ESCALATE] để n8n biết cần pause và alert nhân viên ANTI-SPAM: → Không gửi quá 1 emoji mỗi tin → Độ dài tối đa 200 ký tự → Không lặp lại câu trả lời giống nhau liên tiếp
  • KNOWLEDGE BASE Pass KB vào system message dưới dạng text. Nếu KB ngắn (<10K tokens) → paste trực tiếp. Nếu dài → dùng Google Docs node để fetch dynamic.
6

Test trên Sandbox → Go Live → Monitor 24 giờ đầu

Test kỹ trên Sandbox trước — 1 lỗi nhỏ trên Production có thể ảnh hưởng response rate

  • LÀM Test toàn bộ workflow trên Sandbox với host: partner.test-stable.shopeemobile.com. Dùng Shopee Sandbox account (tạo trong Open Platform) để nhắn tin test.
  • 10 TEST CASES CẦN PASS Hỏi giá / Hỏi ship / Còn hàng / Hết hàng / Đổi trả / Sản phẩm lỗi / Mã giảm giá / Câu ngoài KB / Yêu cầu nhân viên thật / Câu trả lời dài bất thường.
  • LÀM Khi tất cả test pass → đổi host sang Production: partner.shopeemobile.com → Activate workflow → Gửi tin nhắn thật đầu tiên → Theo dõi log trong Google Sheet.
  • 24 GIỜ ĐẦU Kiểm tra Google Sheet log mỗi 2 giờ. Xem: có tin nhắn nào bot trả lời sai không? Có lỗi 401 (token hết hạn) không? Có lỗi spam flag không?
Nếu workflow fail và không trả lời KH: Response rate shop giảm ngay. Luôn có Error Workflow trong n8n gửi Telegram alert khi có lỗi — đừng bỏ qua bước setup error handling ở Phần 9 trong tài liệu gốc.
7

Xử lý lỗi phổ biến với Claude

Khi bị kẹt — đây là cách hỏi Claude để được giải quyết nhanh nhất

CÁCH HỎI CLAUDE KHI GẶP LỖI SHOPEE API
Template hỏi Claude khi bị lỗi: "Workflow Shopee chatbot của tôi đang bị lỗi: Lỗi: [copy chính xác error message] Node bị lỗi: [tên node] Input vào node: [copy data input] Code đang dùng: [copy code trong Code Node] Partner_id: [che bớt vài số cuối] Endpoint đang gọi: [URL endpoint] Hãy giải thích lỗi này là gì và cách fix." --- Các lỗi hay gặp và từ khóa hỏi: • "error_sign" → "Fix Shopee HMAC signature error, base string format" • "401 Unauthorized" → "Shopee access_token expired, force refresh in n8n" • "Webhook không trigger" → "n8n webhook not receiving Shopee push, HTTPS debug" • "Bot trả lời rồi lại hỏi lại" → "n8n AI Agent memory sessionId not working" • "Wait node bị bỏ qua" → "n8n Wait node skip, workflow not activated"
Nghiệm Thu — Bản Nâng Cao
  • Shopee Open Platform app đã được duyệt, Chat API đã được whitelist
  • OAuth flow hoạt động — Google Sheet có access_token + refresh_token
  • Main workflow chạy được trên Sandbox — 10 test cases pass
  • Token refresh workflow chạy tự động mỗi 3 giờ
  • Error workflow gửi Telegram alert khi có lỗi
  • Screenshot Google Sheet log với ít nhất 5 cuộc trò chuyện test thật
  • Share kết quả vào nhóm team, tag Sếp
  • Đăng Facebook — chia sẻ hành trình: từ Quick Reply (bản Seller Center) đến AI chatbot thật sự. Cái nào khó hơn? Cái nào value hơn? Tag Trần Linh
Lời khuyên cuối: Nếu đây là lần đầu tiên team làm việc với Shopee API — hãy bắt đầu bằng bản Seller Center (file ngày 17 kia) để có kết quả thật trong ngày hôm nay. Bản nâng cao này nên là dự án của tuần sau khi đã có Shopee Open Platform được duyệt và có thời gian debug đúng nghĩa. Cả hai đều có giá trị — chọn đúng theo tình huống thực tế của shop.
ClaudeMeta Insights
Nộp Sếp: toàn bộ hệ thống automation đang chạy — demo live
4

Vibecode — Build Tool Thật

Từ người dùng tool → người tự build tool

Ngày 18–21
5
Phase 5
HỆ THỐNG & TÍCH HỢP (Ngày 18–21)
Ngày 18
Build hệ thống report công việc + quản lý task cá nhân
VàoData công việc hàng ngày
RaDashboard live, cả team dùng được ngay
Tư duy cốt lõi
Hệ thống task tốt nhất là hệ thống team thật sự dùng mỗi ngày — không phải hệ thống phức tạp nhất. Ưu tiên đơn giản, dùng được ngay, không cần training. Thêm tính năng sau khi team đã có thói quen dùng còn dễ hơn thuyết phục team dùng một tool phức tạp.
Hệ Thống Hôm Nay Gồm 3 Phần
📋

Task Database

Google Sheet — nơi toàn bộ task được ghi. Tự điền khi nhận task, cập nhật khi xong.

Google Sheets · Apps Script
📊

Live Dashboard

Trang Antigravity hiển thị: task hôm nay, tiến độ từng người, task quá hạn nổi bật.

Antigravity · Claude Code
📬

Auto Report

Apps Script tự generate báo cáo cuối tuần, gửi vào nhóm Zalo/Telegram của team.

Apps Script · Zalo / Telegram
SOP Chi Tiết
1

Tạo Google Sheet Task Database với cấu trúc chuẩn

Cấu trúc đúng từ đầu — thêm cột sau dễ hơn xóa cột đang dùng

  • LÀM Tạo Google Sheet mới → đặt tên: "Task Board — Trần Linh Marketing" → tạo 3 sheet: Tasks, Dashboard, Team.
  • LÀM Trong sheet Tasks, tạo các cột theo bảng dưới đây.
Tên cộtKiểuMô tả
🔢 Task IDCông thứcTự động tạo: TL-001, TL-002...
📅 Ngày tạoTự độngTimestamp khi tạo task
👤 Người làmThủ côngTên nhân viên phụ trách
🏷️ Loại taskThủ côngContent / Ads / Design / Client / Admin
📝 Tên taskThủ côngMô tả ngắn — tối đa 60 ký tự
🎯 KH / Dự ánThủ côngTên khách hàng hoặc dự án liên quan
⚡ Độ ưu tiênThủ côngCao / Trung bình / Thấp
📆 DeadlineThủ côngNgày cần hoàn thành
✅ Trạng tháiThủ côngMới / Đang làm / Chờ duyệt / Hoàn thành / Hủy
⏱️ Giờ ước tínhThủ côngSố giờ dự kiến
⏰ Giờ thực tếThủ côngSố giờ thực tế (điền khi xong)
📌 Ghi chúThủ côngLink, context, chú thích
📅 Ngày xongThủ côngĐiền ngày khi chuyển trạng thái → Hoàn thành
  • LÀM Trong sheet Team — tạo danh sách tên nhân viên (1 cột). Dùng làm Data Validation cho cột "Người làm" trong sheet Tasks → dropdown chọn tên, không gõ tay.
  • LÀM Tương tự tạo Data Validation cho cột Loại task, Độ ưu tiên, Trạng thái → dropdown để không bị typo.
  • LÀM Nhập 5–10 task mẫu thật của team để test hệ thống. Không để sheet trống khi test dashboard.
2

Dùng Claude viết công thức Dashboard trong Sheet

Sheet Dashboard tổng hợp số liệu tự động — không cần nhìn từng row một

  • LÀM Mở Claude → gửi prompt dưới đây.
PROMPT — viết công thức Dashboard Google Sheet → dán vào Claude
Tôi có Google Sheet "Task Board" với sheet "Tasks" gồm các cột theo thứ tự: A: Task ID | B: Ngày tạo | C: Người làm | D: Loại task | E: Tên task | F: KH/Dự án | G: Độ ưu tiên | H: Deadline | I: Trạng thái | J: Giờ ước tính | K: Giờ thực tế | L: Ghi chú | M: Ngày xong Data bắt đầu từ dòng 2. Danh sách nhân viên trong sheet "Team", cột A. Viết công thức Google Sheet cho sheet "Dashboard" hiển thị: SECTION 1 — TỔNG QUAN HÔM NAY - Tổng task đang mở (chưa Hoàn thành) - Task cần làm hôm nay (Deadline = hôm nay) - Task quá hạn (Deadline < hôm nay, chưa Hoàn thành) - Task hoàn thành tuần này SECTION 2 — THEO TỪNG NGƯỜI (cho mỗi nhân viên trong sheet Team): - Số task đang làm - Số task quá hạn - % hoàn thành tháng này SECTION 3 — THEO LOẠI TASK - Số task và giờ ước tính cho từng loại: Content/Ads/Design/Client/Admin SECTION 4 — 10 TASK ƯU TIÊN CAO NHẤT CHƯA XONG Dùng FILTER hoặc QUERY lấy 10 task: Độ ưu tiên = "Cao", Trạng thái ≠ "Hoàn thành", sắp xếp theo Deadline tăng dần Dùng COUNTIFS, SUMIFS, FILTER, QUERY. Giải thích ngắn từng công thức.
  • LÀM Paste công thức vào sheet Dashboard → verify số liệu đúng với data mẫu đã nhập ở Bước 1.
  • LÀM Tô màu nền cho ô "Task quá hạn" thành đỏ nhạt, "Task hôm nay" thành vàng nhạt — để nhìn vào là thấy ngay điểm cần xử lý.
3

Build Dashboard Antigravity — nhìn đẹp hơn Sheet

Sheet là nơi nhập data — Antigravity là nơi nhìn tổng quan nhanh nhất

  • ANTIGRAVITY Tạo project mới tên "Task Dashboard — TLMKT" → gửi prompt dưới đây.
PROMPT ANTIGRAVITY — build task dashboard → tin nhắn đầu tiên trong project
Build Task Management Dashboard cho agency marketing. Giao diện tối, chuyên nghiệp. LAYOUT: HEADER: - Logo/Tên: "Trần Linh Marketing — Task Board" - Ngày hôm nay + tên ngày trong tuần - Nút "Cập nhật" (link đến Google Sheet) ROW 1 — 4 STAT CARDS: • Task đang mở: [số] — màu trắng • Hôm nay cần làm: [số] — màu vàng • Quá hạn: [số] — màu đỏ (nếu > 0 thì nhấp nháy nhẹ) • Xong tuần này: [số] — màu xanh ROW 2 — 2 COLUMNS: Cột trái (60%): Bảng "10 Task Ưu Tiên Cao Nhất" Columns: Task ID | Tên task | Người làm | KH | Deadline | Trạng thái Trạng thái dùng badge màu: • Mới = xám • Đang làm = xanh dương • Chờ duyệt = vàng • Quá hạn = đỏ (tự detect nếu deadline < hôm nay) Cột phải (40%): Mini chart theo từng người Mỗi người: tên + progress bar + số task đang làm / tổng FOOTER: - "Data từ Google Sheet — cập nhật thủ công" - Link Google Sheet Data hiện tại là STATIC/HARDCODE với dữ liệu mẫu: [Paste 10 task mẫu từ Sheet vào đây để Antigravity có data thật để hiển thị] Build ngay, không hỏi thêm.
  • LÀM Review dashboard → chỉnh màu sắc nếu cần → Deploy → copy link.
  • KIỂM TRA MOBILE Mở link trên điện thoại → dashboard có hiển thị đúng không? Sếp hay xem trên điện thoại — mobile phải đẹp.
Data static vs live data: Dashboard Antigravity hiện tại dùng data hardcode — team xem được ngay nhưng cần cập nhật thủ công. Để có live data thật, cần kết nối Google Sheets API — đây là bài nâng cao có thể làm sau khi team đã quen dùng hệ thống.
4

Viết Apps Script auto-generate báo cáo tuần

Mỗi thứ Sáu 5 giờ chiều — script tự generate báo cáo và gửi vào nhóm

  • LÀM Mở Google Sheet → Extensions → Apps Script → gửi prompt dưới đây cho Claude để viết code.
PROMPT — viết Apps Script báo cáo tuần → dán vào Claude
Viết Google Apps Script để auto-generate và gửi báo cáo công việc tuần cho team. Script cần đọc từ Google Sheet "Tasks" (cấu trúc như đã mô tả) và tạo báo cáo theo format: 📊 BÁO CÁO TUẦN [số tuần] — TRẦN LINH MARKETING ━━━━━━━━━━━━━━━━━━━━ 📅 [Ngày bắt đầu] — [Ngày kết thúc tuần] ✅ HOÀN THÀNH TRONG TUẦN: [số] task ⏳ ĐANG XỬ LÝ: [số] task ⚠️ QUÁ HẠN: [số] task ━━━━━━━━━━━━━━━━━━━━ 👥 THEO TỪNG NGƯỜI: • [Tên 1]: [xong] xong / [đang làm] đang làm / [quá hạn] quá hạn • [Tên 2]: ... 🔴 TASK QUÁ HẠN CẦN XỬ LÝ: • [Task ID] — [Tên task] — [Người làm] — Deadline: [ngày] ━━━━━━━━━━━━━━━━━━━━ 🔗 Xem chi tiết: [link Google Sheet] Script cần: 1. Hàm generateWeeklyReport() đọc data từ sheet Tasks 2. Format báo cáo như trên 3. Gửi đến Telegram Bot: [tôi sẽ cung cấp bot_token và chat_id] 4. Trigger tự động: mỗi Thứ Sáu lúc 17:00 Có comment tiếng Việt giải thích từng phần. Có xử lý lỗi cơ bản.
  • LÀM Paste code → điền bot_token và chat_id Telegram → Save → chạy thủ công hàm generateWeeklyReport() để test → kiểm tra nhóm Telegram nhận được không.
  • LÀM Setup trigger tự động: Apps Script → Triggers → Add trigger → chọn hàm generateWeeklyReport, Time-driven, Week timer, Friday 5–6pm.
  • TEST Chạy thủ công 1 lần → kiểm tra format báo cáo đúng chưa → kiểm tra số liệu khớp với sheet không.
5

Thêm tính năng AI phân tích báo cáo

Báo cáo có số liệu — AI đọc số và viết nhận xét như một manager thật

  • LÀM Cập nhật lại Apps Script — thêm đoạn gọi Claude API để AI phân tích báo cáo trước khi gửi.
PROMPT — thêm AI analysis vào Apps Script → gửi tiếp cho Claude
Cập nhật script vừa viết — sau khi tổng hợp data xong, thêm bước gọi Claude API để AI phân tích: const analysisPrompt = ` Bạn là manager của team marketing. Đây là data công việc tuần này: ${weekData} Viết nhận xét ngắn (3-4 câu) về: 1. Điểm tốt của tuần này 2. Vấn đề cần cải thiện (nếu có task quá hạn hoặc ai đó quá tải) 3. Gợi ý cụ thể cho tuần tới Viết thẳng, không khen ngợi sáo rỗng. Tông: manager thực tế, không motivational coach. `; Thêm phần nhận xét AI vào cuối báo cáo Telegram với format: 🤖 NHẬN XÉT AI: [nội dung phân tích] API key: lấy từ PropertiesService.getScriptProperties().getProperty('ANTHROPIC_KEY') (hướng dẫn cách lưu API key vào Script Properties để không hardcode trong code)
  • LÀM Vào Apps Script → Project Settings → Script Properties → Add property: Key = ANTHROPIC_KEY, Value = API key của bạn.
  • LÀM Chạy test lại → đọc phần nhận xét AI → có đúng tone thực tế không hay vẫn sáo?
6

Onboard team — cả team dùng được trong ngày hôm nay

Hệ thống chỉ có giá trị khi team dùng — onboard ngay trong ngày

  • LÀM Share Google Sheet cho toàn team với quyền Editor.
  • LÀM Gửi prompt dưới đây để Claude viết hướng dẫn sử dụng siêu ngắn cho team.
PROMPT — viết hướng dẫn sử dụng 1 trang cho team
Viết hướng dẫn sử dụng Task Board cho nhân viên agency marketing, tối đa 300 chữ, dạng bullet points siêu ngắn. Hệ thống: Google Sheet "Task Board" có sheet Tasks. Cột quan trọng: Người làm, Tên task, KH, Độ ưu tiên, Deadline, Trạng thái. Hướng dẫn cần cover: - Cách tạo task mới (thêm row) - Cách cập nhật trạng thái task - Khi nào điền Giờ thực tế - Quy tắc đặt tên task (chuẩn để dễ tìm) - Không được làm gì (không xóa task của người khác, không sửa công thức) Tone: thân thiện, như giải thích cho bạn bè. Không dài dòng.
  • LÀM Paste hướng dẫn vào sheet đầu tiên của Workbook (rename thành "README") → pin sheet này lên đầu.
  • LÀM Nhắn vào nhóm team: link Sheet + link Dashboard Antigravity + 1 câu: "Từ hôm nay mọi task đều nhập vào đây, cập nhật trạng thái mỗi khi có thay đổi."
  • TIÊU CHÍ ĐẠT Cuối ngày hôm nay — ít nhất 3 người trong team đã tự nhập task thật của mình vào Sheet, không cần nhờ hỗ trợ.
Lỗi phổ biến khi onboard: Launch hệ thống mà không có data thật ngay ngày đầu → team thấy Sheet trống → không cảm nhận được giá trị → bỏ dùng sau 2 ngày. Hãy nhập toàn bộ task đang chạy của team vào Sheet ngay trong ngày hôm nay — kể cả task cũ chưa xong.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Google Sheet Task Board có cấu trúc đầy đủ, Data Validation đã setup, ít nhất 10 task thật đã nhập
  • Link Dashboard Antigravity — mở được, hiển thị đúng stat cards + bảng 10 task ưu tiên
  • Apps Script báo cáo tuần chạy được — test thủ công và gửi được báo cáo vào Telegram/Zalo
  • Báo cáo có phần nhận xét AI — đọc xong có ít nhất 1 insight thực sự hữu ích
  • Ít nhất 3 người trong team đã tự nhập task vào hệ thống trong ngày
  • Share link Sheet + Dashboard vào nhóm team, tag Sếp
  • Đăng Facebook — chia sẻ: trước đây quản lý task bằng gì (note điện thoại, nhóm chat, nhớ trong đầu...) và hôm nay thay đổi như thế nào. Tag Trần Linh
ClaudeAntigravity
Ngày 19
Kết nối Sepay → CRM → Zalo thông báo đơn hàng tự động
VàoCác module đã build ở Phase 3
RaDemo flow end-to-end
Tư duy cốt lõi
Integration không phải build thêm — là làm cho những thứ đã build nói chuyện được với nhau. Ngày hôm nay không có code phức tạp. Chỉ cần biết: output của hệ thống A là gì, input của hệ thống B cần gì, và viết đoạn code kết nối hai bên.
Toàn Bộ Flow Sau Khi Tích Hợp
Trigger
KH thanh toán Sepay trên LDP
Sepay webhook → Apps Script
Đã có từ Ngày 12 — chạy tốt
Apps Script ghi đơn vào Google Sheet CRM
Thêm hôm nay — bước 1
Apps Script gửi thông báo Zalo cá nhân / OA
+
Ghi task "Xử lý đơn mới" vào Task Board (Ngày 18)
Thêm hôm nay — bước 2
Apps Script gửi email xác nhận cho KH
+
Dashboard CRM Antigravity (Ngày 12) tự cập nhật
Kiểm Tra Trước Khi Bắt Đầu
Ngày 11

Sepay + LDP

Nút thanh toán Sepay trên LDP hoạt động. Webhook URL đã điền trong Sepay dashboard.

✓ Cần: Webhook URL của Apps Script còn hoạt động không?
Ngày 12

Apps Script + CRM Sheet

Script nhận webhook Sepay và ghi vào Google Sheet. Đã test thành công ít nhất 1 lần.

✓ Cần: Mở Apps Script — code còn đúng, chưa bị xóa?
Ngày 13

Zalo Bot

Bot Zalo cá nhân đang chạy (hoặc đã có Zalo OA token để gửi tin nhắn).

✓ Cần: Token/credentials Zalo còn hoạt động không?
SOP Chi Tiết
1

Xác nhận tất cả hệ thống từ trước vẫn sống

10 phút kiểm tra — tránh mất 2 tiếng debug nhầm chỗ

  • LÀM Mở Sepay dashboard → Payment Links → kiểm tra Webhook URL đang điền có đúng với Apps Script URL không.
  • LÀM Mở Apps Script của Google Sheet CRM → chạy thủ công hàm doPost với data mẫu → kiểm tra Sheet có thêm row mới không.
  • LÀM Test Zalo: gửi tin nhắn thủ công từ code trước để verify token còn hoạt động.
  • NẾU CÓ GÌ CHẾT Fix hệ thống đó trước khi tiếp tục. Không build integration trên nền hệ thống đang lỗi.
2

Cập nhật Apps Script — thêm Zalo notification

Không viết script mới — update script cũ từ Ngày 12, thêm 1 function gửi Zalo

  • LÀM Mở Apps Script của CRM Sheet. Gửi prompt dưới đây cho Claude để được code update.
PROMPT — update Apps Script thêm Zalo notification → dán vào Claude
Tôi có Google Apps Script đang nhận webhook Sepay và ghi vào Google Sheet. Code hiện tại như sau: [Paste toàn bộ code Apps Script hiện tại vào đây] Hãy update code để sau khi ghi vào Sheet xong, script tự động gửi thông báo qua Zalo. Tôi muốn dùng: [Chọn 1: "Zalo OA API" hoặc "Telegram Bot" nếu chưa có Zalo OA] Nếu Zalo OA: Access token = [OA_ACCESS_TOKEN], gửi đến User ID của người bán: [USER_ID] Nếu Telegram: Bot token = [BOT_TOKEN], Chat ID = [CHAT_ID] Format thông báo: 🛒 ĐƠN HÀNG MỚI #[mã đơn] ━━━━━━━━━━━━ 👤 KH: [tên] — [SĐT] 📦 SP: [sản phẩm] 💰 [số tiền] VNĐ 🕐 [thời gian] ━━━━━━━━━━━━ 👉 [link CRM Sheet] Lưu token vào Script Properties (không hardcode trong code). Có xử lý lỗi: nếu gửi Zalo fail thì log lỗi nhưng không ảnh hưởng việc ghi Sheet.
  • LÀM Copy code update → paste vào Apps Script → lưu API token vào Script Properties → Deploy lại (chọn "Deploy new version" nếu đang dùng version cố định).
  • TEST Dùng Sepay "Test Webhook" → kiểm tra: (1) Sheet có row mới không, (2) Zalo/Telegram có nhận thông báo không.
Chưa có Zalo OA Access Token? Dùng Telegram Bot thay thế — nhanh hơn nhiều. Vào @BotFather trên Telegram → /newbot → lấy token → test gửi tin ngay. Bên nào hoạt động trước thì dùng bên đó.
3

Thêm: tự động tạo task "Xử lý đơn" trong Task Board

Kết nối Ngày 12 với Ngày 18 — đơn mới vào thì task mới tự tạo

  • TẠI SAO LÀM ĐIỀU NÀY Khi có đơn mới từ Sepay — ai đó trong team phải xử lý đơn đó. Thay vì nhắn tin phân công thủ công, hệ thống tự tạo task vào Task Board (Ngày 18) với deadline và người phụ trách mặc định.
  • LÀM Gửi tiếp prompt sau cho Claude trong cùng chat.
PROMPT — thêm auto-create task vào Task Board → gửi tiếp trong cùng chat
Tiếp tục update Apps Script — sau khi gửi thông báo Zalo xong, thêm bước tự động tạo task mới trong Google Sheet Task Board (sheet "Tasks"). Task Board ở Google Sheet ID: [lấy từ URL của Task Board Sheet] Sheet name: "Tasks" Cột theo thứ tự: Task ID | Ngày tạo | Người làm | Loại task | Tên task | KH/Dự án | Độ ưu tiên | Deadline | Trạng thái | ... Task tự tạo cần điền: - Ngày tạo: ngay lúc nhận đơn - Người làm: "[tên nhân viên xử lý đơn mặc định]" - Loại task: "Client" - Tên task: "Xử lý đơn #[mã đơn] — [tên KH]" - KH/Dự án: [tên KH từ đơn hàng] - Độ ưu tiên: "Cao" - Deadline: ngày hôm nay + 1 - Trạng thái: "Mới" Nếu Task Board ở Sheet khác với CRM Sheet thì dùng SpreadsheetApp.openById() để mở.
  • LÀM Update code → test lại với Sepay webhook → kiểm tra Task Board có task mới xuất hiện không.
4

Thêm: email xác nhận tự động gửi cho KH

KH thanh toán xong — nhận email xác nhận ngay lập tức, không cần chờ

  • ĐIỀU KIỆN Cần biết email của KH. Nếu form trên LDP thu thập email → data có trong webhook. Nếu không có email → bỏ qua bước này, thay bằng gửi Zalo message cho KH (nếu có SĐT).
  • LÀM Gửi tiếp prompt sau.
PROMPT — thêm email xác nhận đơn hàng cho KH → gửi tiếp trong cùng chat
Thêm vào Apps Script: sau khi ghi Sheet và gửi Zalo xong, tự động gửi email xác nhận cho KH. Điều kiện: chỉ gửi nếu email KH không rỗng. Dùng GmailApp.sendEmail() của Google Apps Script. Nội dung email: Subject: "✅ Xác nhận đơn hàng #[mã đơn] — [tên shop]" Body (HTML format): - Lời chào + tên KH - Xác nhận đã nhận thanh toán thành công - Tóm tắt đơn: tên SP, số tiền, ngày đặt - Thời gian xử lý và giao hàng dự kiến: [điền thông tin thật] - Thông tin liên hệ nếu có thắc mắc: [SĐT/email shop] - Lời cảm ơn Dùng tên shop: [tên shop] Email shop (From name): [tên hiển thị]
  • LÀM Test bằng cách điền email thật của bạn vào data test → chạy script → kiểm tra inbox.
  • KIỂM TRA Email hiển thị đúng tên shop không? Có vào spam không? Format HTML có lỗi không?
5

Update Dashboard Antigravity phản ánh flow mới

Dashboard CRM cần thêm 1 thông tin: đơn nào đã tạo task xử lý, đơn nào chưa

  • LÀM Vào Google Sheet CRM → thêm cột mới: "Task ID" — điền mã task tương ứng trong Task Board khi script tạo task xong.
  • LÀM Cập nhật Apps Script để khi tạo task xong → lấy Task ID vừa tạo → ghi vào cột "Task ID" của row đơn hàng tương ứng trong CRM Sheet.
  • LÀM Vào Antigravity dashboard → update bảng đơn hàng thêm cột "Task" — hiển thị badge: Có task (xanh) hoặc Chưa có task (đỏ).
PROMPT ANTIGRAVITY — update bảng đơn hàng thêm cột Task
Trong bảng "10 đơn hàng mới nhất" của dashboard, thêm cột cuối cùng: Cột: "Task xử lý" - Nếu có Task ID → hiển thị badge xanh: "✓ [Task ID]" - Nếu chưa có → hiển thị badge đỏ: "⚠ Chưa có" Giữ nguyên tất cả cột khác, chỉ thêm cột này.
6

Test end-to-end toàn bộ flow — quay video

Nghiệm thu của ngày này là video demo — không phải screenshot

  • LÀM Mở song song 4 tab: LDP, Google Sheet CRM, Task Board, Zalo/Telegram.
  • LÀM Bắt đầu quay màn hình. Thực hiện lần lượt:
1
Mở LDP — bấm nút mua

Mở LDP trên điện thoại hoặc browser. Điền thông tin giả (tên, SĐT, email). Bấm "Mua ngay".

2
Chuyển khoản 1.000đ qua Sepay

Quét QR hoặc chuyển khoản với đúng nội dung. Giữ màn hình điện thoại trong frame quay.

3
Chờ và quan sát — tối đa 60 giây

Không bấm thêm gì. Nhìn vào Zalo/Telegram trước — thường nhận thông báo đầu tiên.

✓ Đạt: Thông báo đến trong vòng 60 giây sau khi thanh toán
4
Kiểm tra Google Sheet CRM

Mở tab CRM Sheet — có row mới xuất hiện với đúng thông tin không?

✓ Đạt: Row mới có đầy đủ: tên, SĐT, sản phẩm, số tiền, trạng thái, Task ID
5
Kiểm tra Task Board

Mở tab Task Board — có task "Xử lý đơn" mới xuất hiện không?

✓ Đạt: Task mới với đúng tên đơn, người phụ trách, deadline ngày mai
6
Kiểm tra email KH (nếu đã setup Bước 4)

Mở email bạn điền vào form — có email xác nhận không?

✓ Đạt: Email đến trong vòng 2 phút, đúng format, không vào spam
7
Kiểm tra Dashboard Antigravity

Refresh trang dashboard — số liệu có cập nhật không? (nếu đã có live data)

  • LÀM Dừng quay sau khi kiểm tra xong bước 7. Video dài khoảng 2–3 phút là đủ.
  • TIÊU CHÍ ĐẠT Bước 1–5 đều pass trong video. Bước 6–7 là bonus.
Nếu flow bị đứt ở đâu đó: Mở Apps Script → Executions → xem log execution gần nhất → tìm dòng lỗi → paste vào Claude để được fix. Đừng tự đoán lỗi ở đâu — log nói hết.
7

Viết tài liệu mô tả hệ thống — 1 trang A4

Hệ thống phức tạp cần được document — để người khác hiểu và maintain được

  • LÀM Gửi prompt dưới đây cho Claude để viết tài liệu mô tả hệ thống.
PROMPT — viết System Documentation → dán vào Claude
Viết tài liệu mô tả hệ thống automation của tôi, tối đa 400 chữ, dành cho người mới vào team cần hiểu hệ thống. Hệ thống gồm: 1. LDP (Antigravity) → nút Sepay 2. Sepay webhook → Apps Script (Google Sheet: [tên sheet và link]) 3. Apps Script → ghi CRM + gửi Zalo/Telegram + tạo task Task Board + email KH 4. Dashboard CRM (Antigravity link: [link]) 5. Task Board (Google Sheet: [link]) Tài liệu cần có: - Mô tả tổng quan hệ thống làm gì - Danh sách các component và link/location của từng cái - Khi nào cần làm gì thủ công (cái gì hệ thống không tự làm) - Khi hệ thống có lỗi — check ở đâu trước - Ai chịu trách nhiệm maintain từng phần Format: đơn giản, có heading, dùng được ngay làm onboarding doc.
  • LÀM Copy tài liệu → paste vào sheet "README" của Task Board — hoặc tạo Google Doc riêng.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Video demo end-to-end (2–3 phút) — từ bấm mua trên LDP đến thông báo Zalo + row CRM + task Board, tất cả trong 1 video liên tục
  • Apps Script đã cập nhật với 3 function mới: gửi Zalo, tạo task, gửi email KH
  • Google Sheet CRM có thêm cột Task ID — liên kết với Task Board
  • System Documentation 1 trang — người mới vào team đọc hiểu được hệ thống
  • Share video + doc vào nhóm team, tag Sếp
  • Đăng Facebook — chia sẻ video demo (hoặc screen recording ngắn). Caption: "Đây là những gì xảy ra trong 60 giây sau khi có khách hàng trả tiền — không có ai làm gì cả." Tag Trần Linh
ClaudeChart.js
Ngày 20
Kết nối chatbot website + Zalo vào cùng 1 knowledge base
VàoKnowledge base + Chatbot website + Bot Zalo
RaUpdate 1 chỗ → cả 2 platform phản ánh đúng ngay
Tư duy cốt lõi
Bất kỳ thứ gì cần update ở nhiều hơn 1 chỗ — đó là single point of failure đang chờ xảy ra. Bạn sẽ quên update 1 trong 2. KH hỏi bot Zalo nhận được thông tin cũ trong khi bot website đã biết thông tin mới. Hôm nay fix vấn đề đó một lần cho xong.
Trước Và Sau Khi Tích Hợp

✕ Trước — 2 KB riêng lẻ

  • Chatbot website: KB trong HTML file hardcode
  • Zalo bot: KB trong file knowledge.txt trên máy
  • Thay đổi giá → phải sửa 2 chỗ
  • Dễ bị không đồng bộ — 2 bot trả lời khác nhau
  • Người không biết code không thể tự update KB

✓ Sau — 1 KB dùng chung

  • 1 Google Sheet là nguồn sự thật duy nhất
  • Cả 2 bot fetch KB từ Sheet mỗi khi có câu hỏi
  • Thay đổi giá → sửa 1 chỗ trong Sheet → xong
  • Luôn đồng bộ — 2 bot luôn biết cùng thông tin
  • Bất kỳ ai cũng tự update KB mà không cần code
Kiến Trúc Hệ Thống Sau Khi Xong
Single Source of Truth
📋 Google Sheet — Knowledge Base
Apps Script phục vụ KB qua URL công khai
↙              ↘
Platform 1
🌐 Chatbot Website

Widget HTML fetch KB khi người dùng mở chat → gửi KB + System Prompt → Claude API

Platform 2
📱 Zalo Bot

Node.js fetch KB mỗi khi có tin nhắn đến → gửi KB + System Prompt → Claude API

SOP Chi Tiết
1

Tạo Google Sheet Knowledge Base chuẩn hóa

Cấu trúc Sheet phải đủ để cả người dùng lẫn 2 bot đều đọc được dễ dàng

  • LÀM Tạo Google Sheet mới tên: "Knowledge Base — [Tên sản phẩm/Agency]" → tạo các sheet sau.
Sheet 1 — THÔNG TIN SẢN PHẨM
Cột: Tên SP | Mô tả | Giá | Gói/Phiên bản | Điều kiện | Còn hàng (Có/Không)
→ Mỗi sản phẩm 1 row. Thêm/xóa/sửa row là update KB.
Sheet 2 — FAQ
Cột: Câu hỏi | Câu trả lời | Danh mục (Giá/Ship/Đổi trả/Kỹ thuật...)
→ Thêm FAQ mới là thêm 1 row. Bot tự học ngay lần hỏi tiếp theo.
Sheet 3 — CHÍNH SÁCH
Cột: Loại chính sách | Nội dung chi tiết | Cập nhật lần cuối
→ Đổi trả, bảo hành, shipping, hoàn tiền — update 1 ô là xong.
Sheet 4 — LIÊN HỆ & GIỜ LÀM VIỆC
SĐT, email, địa chỉ, giờ làm việc, kênh hỗ trợ, thời gian phản hồi
→ Ít thay đổi nhất — nhưng quan trọng để bot không báo thông tin sai.
Sheet 5 — SYSTEM CONFIG
Tên bot, giọng giao tiếp, từ ngữ cấm, câu chào mặc định, câu chuyển người thật
→ Điều chỉnh personality của bot mà không cần sửa code.
  • LÀM Chuyển toàn bộ nội dung từ knowledge.txt (Ngày 13) và System Prompt (Ngày 14) vào đúng sheet tương ứng.
  • LÀM Share Sheet: Anyone with link → Viewer (đủ để bot đọc, không cần edit quyền).
2

Tạo Apps Script endpoint phục vụ KB

Bot không đọc Sheet trực tiếp — đọc qua 1 endpoint trả về text đã format sẵn

  • TẠI SAO CẦN ENDPOINT Gọi Google Sheets API trực tiếp từ browser (chatbot website) có vấn đề CORS và cần authentication. Dùng Apps Script làm trung gian: Sheet → Apps Script → text format sẵn → bot đọc dễ dàng.
  • LÀM Mở KB Sheet → Extensions → Apps Script → paste code dưới đây (hoặc gửi prompt cho Claude để viết).
PROMPT — Claude viết Apps Script KB endpoint → dán vào Claude
Viết Google Apps Script làm API endpoint phục vụ Knowledge Base cho chatbot. Sheet có các sheet: "THÔNG TIN SẢN PHẨM", "FAQ", "CHÍNH SÁCH", "LIÊN HỆ & GIỜ LÀM VIỆC", "SYSTEM CONFIG" Yêu cầu: 1. Hàm doGet(e) nhận request GET → đọc tất cả sheet → format thành plain text → trả về Format output (text thuần, không JSON): === THÔNG TIN SẢN PHẨM === [Tên SP]: [Mô tả] — Giá: [Giá] — [Gói] — Còn hàng: [Có/Không] ... === FAQ === H: [Câu hỏi] A: [Câu trả lời] ... === CHÍNH SÁCH === [Loại]: [Nội dung] ... === LIÊN HỆ === [Thông tin liên hệ] === CONFIG BOT === Tên bot: [...] Giọng điệu: [...] ... 2. Xử lý lỗi: nếu sheet nào trống thì bỏ qua, không báo lỗi 3. Cache kết quả 5 phút bằng CacheService để không đọc Sheet mỗi request Sau khi viết code, hướng dẫn cách Deploy làm Web App với quyền "Anyone, even anonymous".
  • LÀM Paste code → Deploy → Web App → Execute as: Me → Who has access: Anyone → Deploy → copy URL (dạng https://script.google.com/macros/s/.../exec).
  • TEST ENDPOINT Mở URL đó trên browser → có thấy text KB format đúng không? Đây là thứ 2 bot sẽ đọc.
URL này là public — ai có link đều đọc được KB của bạn. Không để thông tin nhạy cảm (mật khẩu, API key, thông tin nội bộ) trong KB Sheet. Chỉ để thông tin bạn sẵn sàng cho KH biết.
3

Update Chatbot Website — fetch KB từ endpoint

Thay KB hardcode trong HTML bằng fetch động từ Apps Script URL

  • LÀM Mở file chatbot-widget.html từ Ngày 15. Gửi prompt dưới đây cho Claude để update.
PROMPT — update chatbot widget fetch KB động → dán vào Claude
Update file chatbot-widget.html để thay vì dùng KB hardcode trong System Prompt, nó tự fetch KB từ URL sau mỗi khi người dùng gửi tin nhắn đầu tiên: KB URL: [paste Apps Script URL từ Bước 2] Cụ thể: 1. Khi người dùng gửi tin nhắn đầu tiên trong session → fetch KB URL 2. Cache kết quả vào biến trong session (không fetch lại mỗi tin nhắn, chỉ fetch 1 lần khi bắt đầu) 3. Ghép KB vào System Prompt: "[System Prompt cũ]\n\n---KNOWLEDGE BASE---\n[KB từ endpoint]" 4. Gửi lên Claude API như bình thường Xử lý lỗi: nếu fetch KB fail → dùng KB mặc định (1 đoạn text ngắn thông báo không tải được thông tin) Đây là code hiện tại của tôi: [Paste toàn bộ JavaScript của chatbot-widget.html vào đây] Chỉ sửa phần cần thiết, giữ nguyên phần còn lại.
  • LÀM Update code → lưu file mới → deploy lên Antigravity → test: mở chat widget, hỏi câu hỏi về sản phẩm → bot có trả lời đúng thông tin trong Sheet không?
  • VERIFY Thay đổi 1 thông tin trong Sheet (ví dụ: đổi giá sản phẩm) → refresh trang → hỏi lại → bot trả lời giá mới chưa?
4

Update Zalo Bot — fetch KB từ cùng endpoint

Cùng URL, cùng KB — Zalo bot và website bot luôn đồng bộ

  • LÀM Mở file index.js của Zalo bot từ Ngày 13. Gửi prompt dưới đây cho Claude.
PROMPT — update Zalo bot fetch KB động → dán vào Claude
Update file index.js của Zalo bot (dùng zca-js) để thay vì đọc KB từ file knowledge.txt, nó fetch KB từ URL sau mỗi 10 phút: KB URL: [paste Apps Script URL từ Bước 2] Cụ thể: 1. Khi bot khởi động → fetch KB ngay lần đầu 2. Set interval fetch lại KB mỗi 10 phút (để tự cập nhật khi Sheet thay đổi) 3. Cache KB trong biến toàn cục 4. Khi có tin nhắn → dùng cached KB để ghép vào System Prompt 5. Xử lý lỗi: nếu fetch fail → log warning, tiếp tục dùng KB cũ Đây là code hiện tại: [Paste toàn bộ code index.js vào đây] Chỉ sửa phần liên quan đến KB loading, giữ nguyên phần ZCA và logic xử lý tin nhắn.
  • LÀM Update code → restart Zalo bot (Ctrl+C → node index.js) → xem Terminal log có "KB loaded successfully" không.
  • TEST Nhắn câu hỏi vào Zalo → bot có trả lời đúng thông tin từ Sheet không?
5

Test đồng bộ — update 1 chỗ, cả 2 platform phản ánh đúng

Đây là test quan trọng nhất — không chỉ test từng bot riêng lẻ

  • LÀM Chọn 3 thông tin để test đồng bộ — thay đổi trong Sheet, rồi hỏi cả 2 bot.
Thay đổi trong Sheet Hỏi Bot Website Hỏi Bot Zalo Đạt?
Đổi giá sản phẩm A: 990k → 1.290k "Giá [SP A] là bao nhiêu?" "Sản phẩm [SP A] giá mấy vậy?" Cả 2 nói 1.290k
Thêm FAQ mới: "Có hỗ trợ trả góp không?" → "Có, qua thẻ tín dụng 0%" "Shop có trả góp không?" "Mình có thể trả góp không?" Cả 2 biết có trả góp
Đổi giờ làm việc: thêm "Thứ 7 làm đến 15:00" "Thứ 7 shop làm việc đến mấy giờ?" "Thứ 7 còn làm việc không?" Cả 2 trả lời đúng giờ mới
  • VỀ THỜI GIAN ĐỒNG BỘ Website chatbot: fetch KB khi chat mới bắt đầu → gần như realtime. Zalo bot: fetch lại mỗi 10 phút → có độ trễ tối đa 10 phút. Đây là trade-off bình thường — có thể chỉnh xuống 5 phút hoặc 1 phút nếu cần.
  • LÀM Sau khi test 3 trường hợp trên đều đạt → quay ngắn màn hình 60 giây: mở Sheet sửa giá → hỏi bot website → hỏi bot Zalo → cả 2 trả lời đúng.
6

Viết hướng dẫn update KB cho team — không cần biết code

Hệ thống hoàn chỉnh khi người không biết code cũng tự update được

  • LÀM Gửi prompt dưới đây cho Claude.
PROMPT — viết hướng dẫn update KB cho người không biết code
Viết hướng dẫn cực ngắn (dưới 200 chữ) để nhân viên agency (không biết code) tự update Knowledge Base cho chatbot. Hệ thống: - KB trong Google Sheet: [link Sheet] - Có 5 sheet: Thông tin SP, FAQ, Chính sách, Liên hệ, Config Bot Hướng dẫn cần cover: - Cách thêm/sửa/xóa thông tin sản phẩm - Cách thêm FAQ mới - Bao lâu sau khi sửa thì bot biết? - Những gì KHÔNG được thay đổi (cột nào, sheet nào là hệ thống tự dùng) Tone: như giải thích cho đồng nghiệp, thân thiện, không kỹ thuật.
  • LÀM Paste hướng dẫn vào sheet đầu tiên của KB Sheet (tên: "README") → pin sheet lên đầu.
  • FINAL TEST Nhờ 1 người trong team (không phải người build) đọc hướng dẫn → tự thêm 1 FAQ mới vào Sheet → không hỏi ai → verify bot website và Zalo đều biết FAQ đó sau tối đa 10 phút.
Đây là mục tiêu cuối cùng của Phase 4: Chatbot không còn là thứ "chỉ developer mới update được". Bất kỳ ai trong team có thể mở Sheet, sửa thông tin, và 2 bot trên 2 platform tự cập nhật. Không cần deploy lại, không cần restart server.
Nghiệm Thu — Nộp trước khi kết thúc ngày
  • Link KB Sheet — đủ 5 sheet, data thật từ sản phẩm thật
  • Apps Script endpoint URL — mở trên browser trả về KB text đúng format
  • Chatbot website đã update — fetch KB động, không còn hardcode
  • Zalo bot đã update — auto-refresh KB mỗi 10 phút
  • Video 60 giây: sửa giá trong Sheet → hỏi cả 2 bot → cả 2 trả lời đúng giá mới
  • Hướng dẫn README trong KB Sheet — người không biết code tự update được
  • Share link KB Sheet + video demo vào nhóm team, tag Sếp
  • Đăng Facebook — chia sẻ: từ Ngày 13 đến Ngày 20, 2 chatbot đã được kết nối thành 1 hệ thống duy nhất. Điều này có nghĩa gì với công việc thực tế của bạn. Tag Trần Linh
Claude APIVibecode
Ngày 21
Build AI Agent tư vấn + chốt đơn tự động cho 1 sản phẩm thật
VàoToàn bộ kiến thức 20 ngày qua
RaAgent chạy live — test hỏi thông tin → tư vấn → thanh toán → CRM. Quay video demo gửi nhóm.
Tư duy cốt lõi — ngày cuối
Agent tốt nhất không phải agent thông minh nhất — là agent làm đúng việc của nó, đúng lúc, không làm hỏng deal. Hôm nay không cần build thêm tool mới. Cần viết 1 System Prompt đủ tốt và kết nối đúng những thứ đã có.
Agent Hôm Nay Sẽ Làm Gì
Bước 1
Chào hỏi
Chào KH + hỏi nhu cầuKhông giới thiệu ngay — hỏi KH đang cần giải quyết vấn đề gì trước
Conversation design (Ngày 14)
Bước 2
Qualify
Hiểu nhu cầu + phân loại KHBudget? Timeline? Đã từng dùng sản phẩm tương tự chưa? Mục tiêu cụ thể?
System Prompt logic
Bước 3
Đề xuất
Recommend gói phù hợp + giải thích tại saoKhông liệt kê hết — chọn đúng 1–2 option phù hợp nhất với nhu cầu KH
KB Sheet (Ngày 20)
Bước 4
Xử lý objection
Trả lời lo ngại + củng cố quyết địnhGiá cao? → so sánh value. Chưa chắc? → offer trial/guarantee. Cần hỏi thêm? → cung cấp social proof
KB FAQ + Chính sách
Bước 5
Chốt đơn
Dẫn KH đến trang thanh toán SepayKhi KH đồng ý → lấy tên + SĐT + hiển thị nút/link thanh toán Sepay ngay trong chat
Sepay (Ngày 11)
Bước 6
After-sale
Sau thanh toán → tự động ghi CRM + tạo taskLead data → CRM Sheet + task "Xử lý đơn mới" trong Task Board + thông báo Zalo team
CRM + Task Board (Ngày 12, 18, 19)
Những Thứ Đã Có — Agent Dùng Lại Hết
Ngày 2–3
Skill viết content

Giọng văn brand → Agent nói đúng tone

Ngày 11
Sepay payment link

Link/QR sẵn → Agent gửi khi chốt được

Ngày 12
CRM + Apps Script

Lead data → tự vào Sheet sau thanh toán

Ngày 14
Conversation flow

Diagram đã thiết kế → Agent đi đúng flow

Ngày 18
Task Board

Đơn chốt → task "Xử lý" tự tạo

Ngày 20
Shared KB

1 nguồn → Agent luôn có thông tin mới nhất

SOP Chi Tiết
1

Viết Sales System Prompt — khác với FAQ System Prompt

Bot FAQ trả lời câu hỏi. Agent bán hàng dẫn dắt hành trình mua. Logic khác nhau hoàn toàn.

  • KHÁC BIỆT QUAN TRỌNG System Prompt từ Ngày 14 được viết để trả lời câu hỏi — reactive. Hôm nay cần System Prompt proactive: Agent chủ động dẫn dắt hội thoại về phía chốt đơn, không chỉ ngồi chờ câu hỏi.
  • LÀM Mở Claude → gửi prompt dưới đây.
PROMPT — viết Sales Agent System Prompt → dán vào Claude
Viết System Prompt cho AI Sales Agent — không phải FAQ bot, mà là agent chủ động tư vấn và dẫn dắt đến chốt đơn. THÔNG TIN: Tên agent: [tên — ví dụ: "Linh" hoặc tên thật của nhân viên sales] Sản phẩm/dịch vụ: [mô tả ngắn + các gói + giá] Tone: [thân thiện + tự tin + không áp lực] Xưng hô: [em/anh/chị hoặc mình/bạn] HÀNH TRÌNH AGENT CẦN DẪN DẮT: 1. Chào → hỏi KH đang cần giải quyết vấn đề gì (không giới thiệu SP ngay) 2. Lắng nghe → hỏi thêm 1–2 câu qualify (budget, urgency, mục tiêu cụ thể) 3. Recommend đúng 1 gói phù hợp nhất → giải thích TẠI SAO gói đó phù hợp với tình huống của họ 4. Nếu KH do dự → hỏi "Điều gì đang làm bạn ngần ngại?" → xử lý từng objection 5. Khi KH sẵn sàng → lấy tên + SĐT → gửi link thanh toán: [Sepay payment link từ Ngày 11] 6. Sau khi KH xác nhận đã thanh toán → ghi nhận và hứa follow up trong [X giờ] NGUYÊN TẮC BÁN HÀNG: - Hỏi trước, giới thiệu sau — không dump thông tin khi chưa biết KH cần gì - Recommend 1 gói, không list tất cả — KH nhiều lựa chọn = không chọn - Không giảm giá khi bị từ chối — thay vào đó làm rõ value - Không hỏi quá 2 câu trong 1 tin nhắn — gây choáng ngợp - Tin nhắn tối đa 120 chữ — ngắn gọn, dễ đọc trên điện thoại ESCALATE KHI: KH yêu cầu tư vấn kỹ thuật sâu, khiếu nại, hoặc deal enterprise (>10tr) → Câu cố định: "Để hỗ trợ tốt nhất cho trường hợp của bạn, cho em xin tên và SĐT để chuyên gia liên hệ trực tiếp trong vòng 1 giờ nhé!" Viết System Prompt hoàn chỉnh, ready to use.
  • LÀM Copy System Prompt → test trong Claude chat bằng cách đóng vai KH có các tình huống: hỏi giá, do dự vì đắt, hỏi so sánh với đối thủ, sẵn sàng mua. Sửa cho đến khi agent dẫn dắt tự nhiên.
2

Build trang Agent độc lập trên Antigravity

Trang này là "phòng tư vấn riêng" — KH vào đây để được AI tư vấn 1:1

  • LÀM Mở Claude → gửi prompt dưới đây để build trang Agent hoàn chỉnh.
PROMPT BUILD AGENT PAGE — copy nguyên, điền phần in nghiêng → dán vào Claude
Build cho tôi một trang web AI Sales Agent hoàn chỉnh — standalone page, không phải widget nhỏ. DESIGN: - Layout 2 cột: trái là chat interface (60%), phải là product info sidebar (40%) - Header: "Tư vấn cùng [tên agent] 🤖" + status "Đang online 24/7" - Chat interface: full height, messages hiển thị bubble, smooth scroll - Sidebar phải: tóm tắt sản phẩm + giá + nút CTA "Mua ngay" → link Sepay - Màu: [màu brand chính], dark mode, professional CHỨC NĂNG: 1. Load trang → agent gửi tin nhắn chào mặc định sau 1 giây 2. Fetch KB từ: [Apps Script URL từ Ngày 20] 3. Gọi Claude API: claude-sonnet-4-20250514, max_tokens: 300 4. Giữ full conversation history trong session 5. Khi agent nhắc đến payment → nút "Thanh toán ngay" xuất hiện tự động trong chat (detect keyword "link thanh toán" hoặc "thanh toán tại đây") 6. Lead capture: khi agent hỏi tên + SĐT và KH trả lời → tự gửi POST đến Apps Script CRM: [URL từ Ngày 12] 7. Nút "Chat với người thật" ở header → link Zalo/messenger 8. Mobile responsive — 1 cột trên điện thoại API key: const CLAUDE_KEY = "[api key]" Sepay link: "[payment link từ Ngày 11]" System Prompt (paste nguyên): """ [Paste System Prompt vừa viết ở Bước 1] """ Build ngay, không hỏi thêm. Tất cả trong 1 file HTML.
  • LÀM Copy HTML → lưu file ai-agent.html → mở Chrome test local → nói chuyện thử như KH thật.
  • KIỂM TRA 5 ĐIỀU (1) Agent chào trước không? (2) Agent hỏi nhu cầu trước khi giới thiệu SP? (3) Nút thanh toán hiện đúng lúc? (4) Lead capture ghi vào CRM không? (5) Mobile có dùng được không?
Sidebar product info: Lấy thông tin từ KB Sheet — tóm tắt ngắn gọn 3–4 dòng về sản phẩm nổi bật nhất + giá + CTA. Sidebar này giúp KH luôn thấy option mua ngay dù đang chat ở đâu.
3

Deploy + nhúng vào website chính từ Ngày 9

Trang Agent là điểm đến — website chính là nơi KH xuất phát

  • ANTIGRAVITY Deploy file ai-agent.html như 1 trang riêng → copy link.
  • LÀM Vào website chính (Ngày 9) → thêm nút CTA nổi bật trên Homepage và Products page: "💬 Tư vấn miễn phí với AI" → link đến trang Agent.
  • LÀM Prompt cho Antigravity website:
PROMPT ANTIGRAVITY — thêm nút AI tư vấn vào website
Thêm vào Homepage và Products page một banner/section gọi đến AI Agent: Design: banner ngang ở cuối trang trước footer Nội dung: - Headline: "Không biết chọn gói nào? 🤖 AI của mình sẽ tư vấn miễn phí" - Subtext: "Trả lời 3 câu hỏi → nhận gợi ý phù hợp nhất trong 2 phút" - Nút: "Bắt đầu tư vấn ngay" → link [URL trang Agent] - Màu nền: [màu brand accent], text trắng, nút màu trắng Thêm vào cả Homepage và Products page.
4

Simulate demo cuối cùng — đóng vai KH thật

Test quan trọng nhất của 21 ngày — chạy hết flow từ đầu đến cuối không dừng

  • LÀM Mở song song 5 tab: Trang Agent, Google Sheet CRM, Task Board, Zalo/Telegram, Apps Script logs.
  • LÀM Bắt đầu quay màn hình. Đóng vai KH lần lượt theo kịch bản:
KỊCH BẢN DEMO — đây là flow lý tưởng cần đạt được
KH:
Chào, mình đang tìm giải pháp giúp tự động hóa việc chăm sóc khách hàng
Agent:
Chào bạn! Nghe hay đó 😊 Bạn đang chủ yếu chăm sóc khách qua kênh nào — Zalo, website hay cả hai?
→ Agent hỏi qualify, không giới thiệu ngay ✓
KH:
Zalo và website. Hiện mình đang phải trả lời thủ công hết, tốn nhiều thời gian lắm
Agent:
Hiểu rồi! Mình tò mò — hiện một ngày bạn nhận khoảng bao nhiêu tin nhắn từ khách?
→ Thêm 1 câu qualify — tìm đúng gói phù hợp ✓
KH:
Khoảng 30-50 tin/ngày
Agent:
30–50 tin/ngày là khối lượng đủ để chatbot AI giải phóng 2–3 tiếng mỗi ngày cho bạn. Gói [tên gói phù hợp] sẽ phù hợp nhất — tích hợp cả Zalo lẫn website, setup trong 1 buổi. Ngân sách của bạn đang khoảng bao nhiêu/tháng?
→ Recommend đúng 1 gói + lý do cụ thể ✓
KH:
Oke, mình muốn thử. Chi phí như thế nào?
Agent:
Gói [tên] là [giá]/tháng, bao gồm setup + support 30 ngày đầu. Cho mình xin tên và SĐT để gửi link thanh toán + tài liệu chi tiết cho bạn nhé!
→ Chốt nhẹ nhàng, lấy contact info ✓
KH:
Minh Tú, 0901234567
Agent:
Cảm ơn Tú! Đây là link thanh toán cho gói [tên]: 🔗 [nút THANH TOÁN NGAY hiện ra]
Sau khi thanh toán, bên mình sẽ liên hệ trong vòng 1 giờ để bắt đầu setup nhé!
→ Link thanh toán hiện tự động, thông tin ghi vào CRM ✓
  • LÀM Sau khi chat xong kịch bản trên → giả lập thanh toán 1.000đ → kiểm tra: CRM Sheet có lead Minh Tú không? Task Board có task mới không? Zalo team có thông báo không?
  • TIÊU CHÍ ĐẠT Agent dẫn dắt được từ câu hỏi đầu tiên đến hiển thị link thanh toán — trong không quá 8–10 tin nhắn qua lại. Sau thanh toán, 3 hệ thống (CRM, Task Board, Zalo) đều nhận được thông tin.
5

Blind test — nhờ người ngoài dùng thật

Ngày cuối cần test thật nhất — không phải bạn tự test cho chính bạn

  • LÀM Gửi link trang Agent cho 2–3 người không biết bạn đang build gì. Nói đơn giản: "Vào đây hỏi thử về [tên sản phẩm], cho mình biết cảm giác thế nào."
  • LÀM Sau 10 phút hỏi họ 3 câu:
3 CÂU HỎI BLIND TEST
1. "Bạn có biết đây là AI hay người thật không? Lúc nào bạn nhận ra?" → Mục tiêu: họ nhận ra muộn nhất có thể, không phải từ tin nhắn đầu tiên 2. "Bạn có muốn mua sau khi chat không? Tại sao / tại sao không?" → Mục tiêu: câu trả lời thẳng thắn về giá trị thực 3. "Điều gì trong cuộc trò chuyện làm bạn thấy ngần ngại?" → Mục tiêu: tìm friction point để sửa
  • LÀM Dựa trên feedback → sửa System Prompt ngay trong ngày → deploy lại → test lại nếu còn thời gian.
🎉 21 Ngày — Những Gì Bạn Đã Build
Từ người dùng tool → người build hệ thống. Đây là danh sách thật.
Skill AI viết content bán hàng đúng giọng brand
Bộ 10 bài content sẵn sàng đăng cho bất kỳ sản phẩm nào
Tool phân tích comment ads — chạy được, link chia sẻ được
Wireframe + Landing Page live trên Antigravity
Website bán hàng multi-page — navigation, form, mobile
Cổng thanh toán Sepay tích hợp vào LDP
CRM tự động nhận đơn khi có thanh toán
Chatbot tư vấn trên Zalo cá nhân
System Prompt + KB + Conversation Flow Design
Chatbot tư vấn nhúng vào website
Shopee chat automation — Seller Center tools
Task Board + Auto-report + AI phân tích tuần
Flow Sepay → CRM → Zalo → Task tự động
Shared KB — update 1 chỗ, 2 bot đều biết
AI Sales Agent tư vấn + chốt đơn đầy đủ
Nghiệm Thu Ngày 21 + Toàn Challenge
  • Link trang AI Agent live — mở được, agent chào và bắt đầu tư vấn ngay
  • Video demo full flow (3–5 phút) — từ KH vào trang → chat với agent → thanh toán → CRM + Task Board + Zalo cùng nhận thông tin
  • Kết quả blind test từ ít nhất 2 người ngoài team — ghi lại feedback thật
  • Trang Agent đã được nhúng vào website chính từ Ngày 9 qua nút CTA
  • Share link Agent + video demo vào nhóm team, tag Sếp
  • Đăng Facebook bài tổng kết 21 ngày — không phải bài checklist thành tích. Viết thật: ngày nào khó nhất, thứ gì bạn tự hào nhất, và điều gì đã thay đổi trong cách bạn nghĩ về công việc sau 3 tuần này. Tag Trần Linh
Tất cả tools đã build
Sếp đánh giá: tool nào dùng được ngay cho agency — nâng cấp vào quy trình chính thức
Trước challenge
Làm thủ công, đợi tool từ người khác
Sau 10 ngày
AI làm cùng mọi việc hàng ngày
Sau 17 ngày
Hệ thống tự chạy — người review kết quả
Sau 21 ngày
Tự build tool cho agency và KH

Kết thúc 21 ngày thực chiến, bạn hoàn toàn có thể làm chủ:

  • Viết content 1 tháng cho 1 KH trong 1 buổi sáng
  • Thiết kế visual campaign không cần chờ designer
  • Phân tích ads và đối thủ bằng logic, không phải cảm tính
  • Tạo proposal campaign trong ngày — không mất 3 ngày làm tay
  • Hệ thống báo cáo tự động gửi KH mỗi tuần
  • Bot tự trả lời 70% comment lặp lại của từng brand
  • Tự vibecode landing page và dashboard cho KH
  • Build chatbot FAQ nhúng vào fanpage/website KH