A tiny cron job and a Telegram bot. That is the whole thing.
No app, no new dashboard, no queue. One shell script runs on the VPS that already hosts the company's other automations. It hits a single token-gated endpoint on the marketing dashboard, reads yesterday's totals, formats four lines, and posts them to a Telegram chat through the Bot API.
The interesting part is the 6 AM part. Plain cron cannot say "6 AM Eastern, but shift for daylight saving." So the job wakes up twice each morning, checks the current Eastern hour itself, and only fires when it reads 06. A per-day lock file makes sure it sends exactly once even though it woke up twice. That little dance is what keeps it correct year round without me touching it in spring and fall.
What lands at 6 AM
☀️ RC Daily Recap · Wed, Jun 4
💰 Sales: 3 won · $48,200
📅 Appointments set: 7
❤️ Social likes: 142
Stack
Bash
Host cron
Telegram Bot API
Token-gated JSON endpoint
jq
Hostinger VPS
The same idea, a second business
Once it worked for Remodeling Concepts, the format obviously traveled. Tee Off For A Cause is a 1,000-golfer charity event with its own morning question: are registrations and foursomes filling, and how close is the date. Same four-line shape, different numbers. I mocked it up to show the pattern; the Remodeling Concepts version is the one running live.
⛳ TOFAC Daily Recap · Wed, Jun 4
🎫 Registrations: 6 new · $4,150
👥 Foursomes: 38 / 50 filled
⏳ 41 days to tee-off