Weekly AI Digest Bot
The AI news I follow, once a week: one email, one Slack line per source
A Python job that reads five AI vendor blogs every Monday and sends only the posts I have not seen, summarised per source by email and Slack.
Solo build on my Python Automation Boilerplate
The problem
I follow more AI feeds than I can read. Most weeks the useful posts are a handful, and the same announcement shows up on three sites. I wanted one email a week with only the posts I had not seen, grouped by source and summarised, instead of checking five blogs.
What I built
A weekly job on my Python Automation Boilerplate. Every Monday at 07:00 IST it reads five feeds: OpenAI News, Google DeepMind, the Google AI blog, the Hugging Face blog and Salesforce Engineering. Anthropic publishes no feed, and the Salesforce developer blog refuses automated clients, so neither is in the list.
The job keeps posts from the last eight days that are not in its SQLite state, groups them by source and asks DeepSeek for a short summary per source, using only the titles and descriptions. The email gets everything: each source, its summary and up to eight links. Slack gets one line per source.
See it running
A recorded walkthrough of Weekly AI Digest Bot is on the way. Until then, the write-up and the diagram below show how it works.
How it fits together
One digest a week, nothing sent twice
- Five AI feedsOpenAI, DeepMind, Google AI, Hugging Face, Salesforce EngineeringRSS and Atomlast 8 daysnew posts
- Only unseenSQLite state on the Macgrouped by sourcea broken feed is named, not fatalgrouped
- Summary per sourceDeepSeek, from titles and descriptions only2-3 sentencesdigest
- EmailGmail SMTP: every source, summary and linksthe full digestsent
- SlackIncoming webhook: one line per sourcea failure never re-sends the email
How it works
The order of the sends matters. Posts are marked as sent once the email is out, and the Slack message is sent after that. If Slack fails, the run says so and nothing goes out twice next week. A failed summary or a broken feed doesn't stop the digest either; the feed is named at the bottom of the email.
launchd checks every 15 minutes whether the Monday run is due, so a Mac that was asleep at 07:00 sends the digest when it wakes. Running --dry-run prints the digest without sending or saving anything.
Results
The first real run on 2026-11-10 found 47 new posts from the five sources and sent one email and one Slack message. Screenshots of both are in the repository README.
Lessons
The same news arrives twice. In the first digest, one Gemini model launch appears under both DeepMind and the Google AI blog. Merging posts that share a title is the next change.
Ask for a format, then check it. The prompt asks for sentences, but DeepSeek answered two of the five sources with a bullet list. Slack shows only the first line, so it lost the rest.
It is the weekly cousin of my AI daily brief workflow, and it uses the same draft-then-check habit as the AI Inbox Agent.
Need something like this built?
I build AI automations, agents and Salesforce solutions for teams. Tell me what you want to automate and I’ll tell you honestly whether it’s a fit.
Comments
Loading comments...