Xuất phát từ việc mình muốn ghi chép và đăng bài nhanh trên blog (như thói quen post status trên mạng xã hội) nên mình sẽ cần một workflow giúp mình giảm thiểu số lần thao tác và nhanh gọn nhất có thể.
💡 Ý tưởng:
User flow đơn giản:
- Mở Telegram → Gõ nội dung bài viết
- Gửi tin nhắn vào group/bot
- n8n tự động xử lý và commit lên GitHub
- Blog tự động deploy
Thời gian: Từ ý tưởng đến bài viết được publish < 1 phút! ⚡️
🎯 Giải pháp:
Để thực hiện ý tưởng trên, mình dùng Telegram Bot kết hợp với n8n để tự động hoá luồng nhận nội dung bài viết và đăng bài.
Mục tiêu:
- Vì Blog này mình build bằng Astro, đẩy lên Github rồi Deploy trên Cloudflare Pages - hệ thống sẽ tự động build lại khi có commit mới ở nhánh main trên Github.
- Nên mục tiêu là làm sao để commit được bài post từ Telegram lên Github thì xem như hoàn thành.
⚡️ Triển khai
📋 Các bước trong workflow:
1. Telegram Trigger - Lắng nghe tin nhắn
Node này sẽ lắng nghe mọi tin nhắn được gửi đến Telegram Bot hoặc Group chat mà bot được thêm vào.
2. Workflow Configuration - Cấu hình thông số
Đây là nơi bạn cấu hình các thông số quan trọng:
- : Username GitHub của bạn
- : Tên repository chứa blog
- : Nhánh muốn commit (thường là hoặc )
- : Đường dẫn thư mục chứa bài viết (ví dụ: )
- : ID của chat/group được phép sử dụng bot (để bảo mật)
3. Check Allowed Group - Kiểm tra quyền truy cập
Filter này đảm bảo chỉ tin nhắn từ chat ID được phép mới được xử lý tiếp, tránh trường hợp bot bị spam hoặc sử dụng trái phép.
4. Extract Message Data - Trích xuất dữ liệu
Node này lấy các thông tin cần thiết từ tin nhắn Telegram:
- Nội dung tin nhắn ()
- Username người gửi ()
- Tên người gửi ()
- Thời gian gửi ()
5. Process Markdown Content - Xử lý nội dung
Đây là phần quan trọng nhất của workflow. Node này sẽ:
a) Tạo tiêu đề (title):
- Nếu tin nhắn bắt đầu bằng , sẽ lấy heading đó làm title
- Nếu không, sẽ lấy dòng đầu tiên (tối đa 50 ký tự)
b) Tạo slug:
c) Tạo tên file:
Format: (ví dụ: )
d) Tạo frontmatter:
e) Ghép nội dung hoàn chỉnh:
Frontmatter + nội dung tin nhắn gốc = File markdown hoàn chỉnh
6. Create GitHub Commit - Tạo commit lên GitHub
Node này sử dụng GitHub API để:
- Tạo file mới trong repository
- Commit với message:
- Push lên nhánh đã cấu hình
7. Send a text message - Gửi thông báo
Sau khi commit thành công, bot sẽ gửi tin nhắn xác nhận: "✅ Đã commit bài post."
📦 n8n Workflow JSON
Bạn có thể import workflow này vào n8n của mình:
👉 Download: workflow.json
📖 **Xem hướng dẫn chi...