Scheduled digest
Every morning at 9, the graph fetches the Hacker News front page, asks the model for the five stories most worth reading, and writes the answer to a file named after the day.
Download the graph and save it in user/graphs/, or build it below. The graph is MIT-0: copy it and license what you build from it however you like. It has no model picked: pick one on the LLM node, or the LLM writes a mock reply instead of a digest.
1. The nodes
Section titled “1. The nodes”| Node | Settings |
|---|---|
| Schedule, named Every morning | cron 0 9 * * *, timezone Local |
| HTTP Request, named Feed | method GET, url https://news.ycombinator.com/rss, response text |
| Template, named Prompt | the text below |
| LLM | model: pick Gemma 4 e4b (Ollama), or the model you pulled |
| Preview, named Digest | none |
| Time, named Today | format 2026-06-08 |
| Template, named File name | digests/{today}.md |
| Write File, named Save | path empty: it comes from the wire |
The Prompt:
Here is the Hacker News front page as RSS. Pick the five stories most worth reading and give each one line: the title, then why it matters.
{feed}2. The wires
Section titled “2. The wires”| From | To |
|---|---|
Every morning trigger |
Feed trigger |
Feed trigger |
Prompt trigger |
Feed body |
Prompt feed |
Prompt trigger |
LLM trigger |
Prompt out |
LLM prompt |
LLM trigger |
Digest trigger |
LLM response |
Digest in |
Digest trigger |
File name trigger |
Today out |
File name today |
File name trigger |
Save trigger |
File name out |
Save path |
Digest out |
Save content |
The trigger runs down the whole line, one node at a time. The Feed fires the Prompt only when the page has arrived, so the Prompt always has the fresh feed, and the Prompt then fires the LLM. The Digest shows the answer and passes it on with one trigger, which fires the File name and then Save, so each morning writes one file. A tag is named after the node its wire comes from: Feed body becomes {feed}, Today out becomes {today}. The file name is filled in at the moment of the run, so it carries the day.
3. Turn it On and leave it
Section titled “3. Turn it On and leave it”Press On. The Schedule checks the clock every 15 seconds and fires once in the minute that matches, so at 09:00 the digest lands in user/data/files/digests/, one file per day. It skips the minute the graph turned On in, which keeps a Restart from firing twice.
To try it without waiting, set the cron to * * * * * (every minute) and turn it On (or Save & Restart if it is already On): it fires early in the next minute. Put the cron back when you are done.
Cron in one line
Section titled “Cron in one line”Five fields: minute, hour, day of month, month, day of week (0 or 7 is Sunday).
| Cron | Fires |
|---|---|
0 9 * * * |
at 09:00 every day |
0 9 * * 1-5 |
at 09:00 on weekdays |
*/15 * * * * |
every quarter hour |
0 18 * * 5 |
at 18:00 on Fridays |
0 8 1 * * |
at 08:00 on the first of the month |
Change it
Section titled “Change it”- Another source. Any URL works. For JSON APIs, set the response to
jsonand pick fields out with Get before the Prompt. - Only when something changed. Poll with an Interval and put a Changed node after the fetch: the model only runs when the page is different.
- Send it somewhere. Swap the Write File for an HTTP Request that posts to a chat service, or an Append File that builds one long log.
- Reminders from data. For times that live in a table instead of a cron line, use Agenda.