Tạo report tự động với Claude + Telegram - không cần SaaS

Kết hợp Claude Routine với Telegram MCP để nhận push notification sau mỗi lần automation chạy. Setup 15 phút, không cần công cụ bên thứ ba.

Mỗi sáng mình hay check điện thoại trước khi làm bất cứ thứ gì - và cái mình muốn thấy là kết quả, không phải inbox chờ xử lý. Traffic website hôm nay tăng hay giảm, có alert SEO nào cần xử lý không, tin tức thị trường tuần này có gì đáng chú ý - những thứ nếu phải tự đi lấy từng cái thì mất 30 phút, nhưng nếu có sẵn trong thông báo thì chỉ mất 2 phút để nắm tin tổng quan, sẵn sàng để đào sâu hơn khi bắt tay vào việc.

Bộ setup mình đang dùng hiện tại giải quyết được đúng vấn đề đó, bằng cách kết hợp Claude Routine chạy task phân tích theo lịch hẹn sẵn + Telegram MCP để đẩy kết quả về điện thoại bằng push notification. Sáng ra mở Telegram là thấy thông báo ngắn gọn trên màn hình khóa, còn report đầy đủ thì nằm sẵn trong group để đọc kỹ hơn khi cần - hoàn toàn tự động, không phát sinh chi phí nào ngoài subscription Claude đang có.


Claude Routine - tính năng hay nhưng còn một điểm thiếu

Claude Code có tính năng /schedule - cho phép đặt lịch Claude chạy một task vào thời điểm định sẵn. Ví dụ: mỗi sáng thứ Hai lúc 8am pull data, mỗi ngày lúc 9pm tổng hợp notes, mỗi tuần một lần kiểm tra SEO, nhưng có một điểm trừ mình nhận ra sau lần đầu dùng: Claude chạy xong thì không có push notification. Bạn không biết task đã hoàn thành chưa, kết quả ra sao, có lỗi xảy ra không - trừ khi mở máy tính lên check. Với task chạy ban đêm hoặc trong giờ bạn đang bận, điều này làm mất đi một nửa giá trị của automation. Mình đã từng để một scheduled task chạy fail ba ngày liên tiếp mà không hay - vì không có gì báo về cả.

Cần thêm một lớp giữa Claude và bạn - một kênh để Claude chủ động báo cáo về, không phải bạn phải đi tìm kết quả.

Claude Code /schedule interface


Telegram làm notification layer

Telegram không chỉ là app nhắn tin. Với bot API và tính năng Topics trong group, nó thực sự là một inbox linh hoạt để nhận data từ bất kỳ nguồn nào - kể cả Claude. Flow của setup này khá đơn giản: Claude Routine kích hoạt task theo lịch, trong task đó Claude gọi Telegram MCP tool để gửi kết quả, report xuất hiện trong đúng topic trên Telegram group của bạn, và bạn nhận push notification trên điện thoại như mọi tin nhắn thường.

Về bản chất, đây là cách bạn biến Telegram thành một cộng sự của Claude phụ trách report lại sau khi làm xong việc mà không cần setup gì phức tạp: không Zapier, không webhook, và không cần subscription thêm - chỉ cần bot Telegram miễn phí và một file MCP server khoảng 150 dòng Node.js. Mình build server này từ raw stdio JSON-RPC, không dùng npm package nào cả, nên không có dependency hell phải quản lý.


Setup trong 15 phút

Trước khi bắt đầu: bạn cần có Claude Code đang dùng, có Telegram, và dùng được terminal ở mức cơ bản.

Setup overview - Claude + Telegram MCP flow

Bước 1 - Tạo Telegram Bot

Vào Telegram, chat với @BotFather, gửi /newbot, đặt tên bot, nhận về BOT_TOKEN. Tiếp theo tạo một Telegram group mới, add bot vào làm admin, bật Topics trong Settings của group (còn gọi là Forum Mode). Để lấy CHAT_ID, gọi endpoint https://api.telegram.org/bot{TOKEN}/getUpdates sau khi đã gửi một tin nhắn vào group - ID group sẽ hiện trong response, dạng số âm như -1001234567890.

Tạo Telegram Bot qua BotFather

Bước 2 - Tạo MCP Server

Tạo file tại ~/.claude/mcp-servers/telegram-mcp.js. Server này chạy bằng Node.js built-in (https, fs, path), không cần cài gì thêm. Cấu trúc cơ bản: đọc stdin theo Content-Length header dạng JSON-RPC over stdio, handle ba method - initialize, tools/list, và tools/call. Nếu muốn copy template sẵn, paste link bài này vào Claude và hỏi “tạo file telegram-mcp.js theo hướng dẫn trong bài” là xong.

Bước 3 - Khai báo trong Claude settings

Mở ~/.claude/settings.json, thêm vào block mcpServers:

"telegram": {
  "command": "/path/to/node",
  "args": ["/Users/you/.claude/mcp-servers/telegram-mcp.js"],
  "env": {
    "TELEGRAM_BOT_TOKEN": "your-bot-token",
    "TELEGRAM_CHAT_ID": "-100xxxxxxxxxx",
    "TELEGRAM_THREAD_ID": "your-thread-id"
  }
}

Restart Claude Code, thử gõ “gửi tin nhắn test vào Telegram” - nếu bot gửi được là setup thành công. Toàn bộ quá trình này mình làm mất khoảng 20 phút lần đầu, lần sau nếu cần setup lại trên máy khác thì nhanh hơn nhiều.


Tổ chức Telegram Topics theo từng loại report

Đây là phần làm setup này thực sự có giá trị. Telegram group với Topics giống như một Slack workspace thu nhỏ - mỗi topic là một kênh riêng, và bạn route report về đúng kênh bằng thread_id. Khi Claude gửi report, nó truyền thread_id tương ứng vào tool call để tin vào đúng nơi.

Cách mình đang tổ chức hiện tại:

Topicthread_idDùng cho
Report31GA4 weekly, SEO summary, PageSpeed
Project A12Updates website, content alerts
Project B24Project reports riêng
Inbox(không truyền)Test, tin nhắn general

Để không phải nhớ thread_id mỗi khi ra lệnh, mình map tên topic vào ID trong CLAUDE.md của project. Sau này chỉ cần nói “gửi vào topic Report” là Claude tự biết dùng đúng thread_id, không cần chỉ định thêm. Một điểm mình thích so với email hay Notion notification: Telegram push về điện thoại tức thì, không cần mở thêm app nào khác.

Telegram group với Topics được tổ chức theo loại report


Use cases mình đang chạy thực tế

Sau hơn hai tuần với setup này, đây là những task đang hoạt động ổn định. GA4 weekly summary chạy mỗi sáng thứ Hai - Claude pull data từ Google Analytics qua MCP, tóm tắt traffic tuần trước, highlight trang nào tăng hay giảm đáng kể, gửi vào topic Report. Mình đọc trong lúc uống cà phê sáng mà không cần mở Analytics dashboard lần nào.

PageSpeed alert là use case mình thấy hữu ích nhất sau mỗi lần deploy website. Claude chạy kiểm tra cho các trang quan trọng, nếu điểm nào drop so với baseline thì gửi alert ngay vào Telegram - nếu ổn thì gửi brief confirmation ngắn gọn. Trước đây mình hay quên check sau khi deploy, giờ không cần nhớ nữa. Ngoài ra với những research task mình assign cho Claude chạy ban đêm - đọc nhiều nguồn, tổng hợp - sáng dậy là có summary sẵn trong Telegram thay vì phải mở terminal tìm output.

Setup này không thay thế được việc bạn tự làm việc trực tiếp với Claude. Nhưng với những task lặp đi lặp lại, có lịch cố định, hoặc cần chạy khi bạn không có mặt - nó tiết kiệm khá nhiều context switch và bỏ được thói quen “check xem Claude chạy xong chưa”.


Muốn apply setup tương tự?

Cách nhanh nhất: copy link bài này, paste vào Claude Code, và nói “mình muốn setup tương tự, guide mình từng bước theo bài này.” Claude sẽ đọc context, hỏi thêm thông tin về môi trường của bạn (đường dẫn Node.js, Telegram bot token…), rồi tạo luôn file MCP server và config phù hợp. Không cần tự đọc và điều chỉnh thủ công.

Nếu bạn đã có Telegram bot từ trước, hay đang dùng một group khác, chỉ cần nói thêm thông tin đó và Claude sẽ tự điều chỉnh phần config. Setup này hoạt động với bất kỳ Claude subscription nào có Claude Code - cái duy nhất cần thêm là một bot Telegram miễn phí và 15-20 phút ban đầu.

Bạn đang tự động hóa task gì với Claude? Mình tò mò muốn biết mọi người dùng scheduled task theo cách nào - reply hoặc nhắn mình trên LinkedIn.


Cảm ơn bạn đã đọc bài viết trên NateCue Insights!

✦ Miễn phí

Thích bài này? Nhận thêm mỗi tuần

AI workflows, marketing tips, và free tools. Không spam.

Cùng 1,200+ người đang đọc.

Không spam. Unsubscribe bất cứ lúc nào.