Skip to main content
← Back to Projects
PythonAI Automation In use Weekly digest

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

pythonRSSDigestDeepSeekSlacklaunchd
01 / Problem

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.

02 / Solution

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.

03 / Demo

See it running

Demo coming

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.

04 / Architecture

How it fits together

Weekly AI Digest Bot

One digest a week, nothing sent twice

  1. Five AI feedsOpenAI, DeepMind, Google AI, Hugging Face, Salesforce EngineeringRSS and Atomlast 8 days
    new posts
  2. Only unseenSQLite state on the Macgrouped by sourcea broken feed is named, not fatal
    grouped
  3. Summary per sourceDeepSeek, from titles and descriptions only2-3 sentences
    digest
  4. EmailGmail SMTP: every source, summary and linksthe full digest
    sent
  5. SlackIncoming webhook: one line per sourcea failure never re-sends the email
launchd checks every 15 minutes whether Monday 07:00 IST has passed, so a sleeping Mac catches up when it wakes.
05 / Write-up

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.

Work with me

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.

Share
Discussion

Comments

Loading comments...

Add a comment

Comments are reviewed before they appear.