Tự động hóa quy trình viết blog cho website FlowNexa bằng n8n, AI và Strapi 5
Case study về workflow n8n của FlowNexa: biến brief ngắn thành bài blog song ngữ VI/EN, có quality gate, cover image và đồng bộ vào Strapi 5 ở trạng thái draft.

Bối cảnh
Vì sao viết blog doanh nghiệp cần một pipeline
Một bài blog không chỉ là nội dung. Nó còn là title, mô tả, SEO metadata, slug VI/EN, định dạng CMS, ảnh cover, bản dịch, kiểm tra chất lượng và bước review trước khi publish.
Với đội ngũ nhỏ, làm tất cả các bước này bằng tay thường tạo ra hai vấn đề: tốn thời gian và khó giữ chất lượng ổn định. Bài viết có thể xong phần nội dung nhưng vẫn thiếu metadata, slug chưa đồng bộ, ảnh cover chưa đạt, hoặc bài đã vào CMS nhưng chưa được đặt đúng trạng thái để biên tập viên kiểm tra.
FlowNexa dùng n8n để biến một brief ngắn thành một workflow có cấu trúc: nhận request, chuẩn hóa input, sinh bài song ngữ, kiểm tra chất lượng, tạo cover image, rồi đồng bộ vào Strapi 5 ở trạng thái draft. Cách làm này không thay thế review của con người; nó giảm thao tác lặp lại và giữ cho quy trình xuất bản có kiểm soát.
Rủi ro cần kiểm soát
Những điểm dễ hỏng nếu làm thủ công
Trước khi tự động hóa, cần nhìn rõ các lỗi vận hành thường gặp để biết workflow phải chặn ở đâu.
Thiếu đồng bộ
Nội dung, SEO, slug và bản dịch không khớp nhau giữa VI và EN.
Publish quá sớm
Bài do AI tạo có thể vào CMS khi chưa qua review hoặc chưa đạt chuẩn biên tập.
Ảnh cover không đạt
Ảnh có text, logo sai, pseudo-text hoặc trông quá generic cho một bài SaaS.
Lộ trình
Workflow n8n đi theo thứ tự nào
Pipeline được thiết kế theo trình tự rõ ràng để mỗi bước chỉ nhận đầu vào đã được kiểm tra, giảm lỗi dây chuyền và dễ retry khi cần.

Nhận và chuẩn hóa
Từ webhook đến prompt đã sạch
Webhook nhận request qua body.data, sau đó workflow kiểm tra cấu trúc, chuẩn hóa input và hỗ trợ cả basicInfo lẫn sourceUrl.
Nhận request
Webhook là điểm vào duy nhất để hệ thống bên ngoài gửi brief.
Chuẩn hóa input
Dữ liệu được làm sạch trước khi đưa vào prompt để tránh lệch định dạng.
Chọn nguồn
Workflow có thể đi từ brief ngắn hoặc từ một URL nguồn.
Sinh nội dung
AI tạo bài song ngữ theo schema
Azure OpenAI sinh nội dung VI/EN theo JSON schema để output có cấu trúc rõ ràng, dễ parse và dễ validate trước khi sync CMS.
Sinh song ngữ
Một lần chạy tạo cả bản tiếng Việt và tiếng Anh.
Parse an toàn
Output được parse và kiểm tra trước khi đi tiếp.
Kiểm tra nội dung
Technical quality gate và editorial quality gate chạy nối tiếp nhau.
Kiểm soát chất lượng
Retry có giới hạn để tránh vòng lặp
Nếu nội dung chưa đạt, workflow chỉ retry trong giới hạn cho phép. Điều này giúp tránh vòng lặp vô hạn và giữ chi phí vận hành dễ kiểm soát.
Giới hạn retry nội dung
maxQualityRetries chặn việc lặp lại quá nhiều lần.
Chạy thử an toàn
dryRun cho phép kiểm thử output mà không ghi vào CMS.
Chỉ tạo nội dung
contentOnly hữu ích khi cần kiểm tra phần text trước.
Ảnh minh họa
Hai giai đoạn cần nhìn bằng sơ đồ
Workflow này có hai điểm dễ hiểu nhất khi nhìn bằng hình: giai đoạn tạo nội dung và giai đoạn tạo cover image.
Giai đoạn đầu của workflow: nhận request qua webhook, chuẩn hóa input, sinh nội dung song ngữ và chạy quality gate trước khi sync CMS.
Giai đoạn tạo cover: generate ảnh bằng AI, kiểm tra Vision QA, retry khi chưa đạt và chỉ upload khi đủ điều kiện.
Tạo cover
Ảnh cover cũng phải qua kiểm tra
Cover image được tạo riêng bằng OpenAI Images API, sau đó kiểm tra kích thước 1536x1024 và có thể chạy Vision QA trước khi upload.
Build prompt cover
Prompt ảnh được tách khỏi prompt nội dung để kiểm soát tốt hơn.
Kiểm tra ảnh
coverQualityRequired buộc workflow xác nhận ảnh trước khi dùng.
Retry ảnh
maxCoverRetries giới hạn số lần tạo lại ảnh không đạt.

Vision QA
Chỉ upload khi ảnh đủ điều kiện
Vision QA giúp phát hiện text, pseudo-text, logo, người, cloud object quá lớn hoặc ảnh generic SaaS trước khi đẩy lên CMS.
Phát hiện text
Giảm rủi ro ảnh có chữ hoặc ký hiệu không mong muốn.
Phát hiện logo
Tránh dùng hình có thương hiệu sai hoặc chi tiết gây nhiễu.
Quyết định upload
Ảnh chỉ được upload khi QA cho kết quả phù hợp.
Đồng bộ CMS
Đưa bài vào Strapi 5 như thế nào
Mục tiêu không phải publish tự động, mà là đưa bài vào đúng môi trường, đúng trạng thái và đúng cách để con người review trước khi xuất bản.
Chọn môi trường
Tách staging và production rõ ràng
cmsTargets giúp chọn môi trường đồng bộ, còn cmsTargetModes giữ bài ở trạng thái draft để biên tập viên kiểm tra trước khi publish.
Chọn môi trường đồng bộ
cmsTargets cho phép đẩy bài vào staging hoặc production theo nhu cầu.
Giữ ở draft
cmsTargetModes đảm bảo bài chưa được publish trực tiếp.
Tách credential
Mỗi môi trường dùng credential riêng để giảm rủi ro vận hành.
Create hoặc update
Đồng bộ an toàn với bài cũ
Workflow lookup bài đã tồn tại để quyết định create/update, tránh tạo trùng hoặc ghi đè sai nội dung.
Tìm bài cũ
Hệ thống kiểm tra trước khi ghi mới.
Chọn create/update an toàn
cmsAction giúp quyết định hành động phù hợp.
Sync có kiểm soát
Bài được đưa vào Strapi 5 ở trạng thái draft để review.
Đội ngũ phù hợp
Workflow này phù hợp với ai
Đây là một workflow vận hành thực tế, phù hợp với đội ngũ cần xuất bản đều đặn nhưng vẫn muốn giữ quyền kiểm soát chất lượng.
Public-facing fit
Những đội ngũ sẽ thấy hữu ích
Workflow này phù hợp khi bạn cần vừa tăng tốc content vừa giữ quy trình review rõ ràng.
Website công ty
Cần xuất bản blog đều đặn bằng VI/EN.
Marketing nhỏ
Cần chuẩn hóa SEO và review mà không tăng quá nhiều thao tác tay.
SaaS và startup
Muốn dùng AI để tăng tốc content nhưng vẫn kiểm soát chất lượng.
Service fit
Khi nào FlowNexa có thể hỗ trợ
FlowNexa có thể hỗ trợ tư vấn, thiết kế và triển khai workflow n8n, AI automation, CMS automation và quy trình kiểm soát chất lượng trước publish.
Thiết kế workflow
Từ brief, prompt đến sync CMS theo đúng luồng vận hành.
Tích hợp Strapi 5
Kết nối staging, production và trạng thái draft an toàn.
Chuẩn hóa quality gate
Thiết lập kiểm tra nội dung và ảnh cover trước khi review.
Kết luận
Điều đáng giữ lại từ case này
Giá trị chính không nằm ở việc để AI viết thay toàn bộ, mà ở việc biến một quy trình rời rạc thành một pipeline có kiểm soát.
Khi blog được tạo qua n8n, đội ngũ không còn phải ghép từng phần bằng tay từ title, slug, SEO, bản dịch, ảnh cover đến trạng thái CMS. Thay vào đó, họ có một luồng rõ ràng để kiểm thử, review và xuất bản có trách nhiệm.
Điểm quan trọng nhất là giữ production ở draft, tách credential theo môi trường, có dryRun để kiểm thử trước khi sync, và đặt giới hạn retry để tránh vòng lặp vô hạn. Nếu bạn đang vận hành blog song ngữ trên Strapi hoặc một headless CMS khác, đây là kiểu workflow đáng cân nhắc trước khi mở rộng quy mô nội dung.



