InTouch Hub · Blue Isle Software

RSS Digest → Google Doc Archive

RSS digest that appends each run to a growing Google Doc archive. Each day prepends a new dated section to the Doc; the email contains a link, not the bulk content. Builds a searchable reverse-chronological news archive.

rssnewsdigestdocsarchivedailyai

rss-digest-to-doc

Daily RSS digest that appends to a growing Google Doc archive instead of just emailing. Each run prepends a new dated section to a single shared Doc (so most-recent appears at the top), and the notification email contains just a link — not the bulk content. Builds a searchable reverse-chronological news archive without cluttering your inbox.

Use case

The existing rss-digest workflow emails a one-shot summary every day. You read it once and lose it. The upgrade: keep the history. A single Doc that grows by one dated section per day becomes a year-long archive you can search with Ctrl-F, share with a team via the Doc's link, and search across all past digests in seconds. The email is now just a 2-line "today's digest is ready" notification with the link.

Cross-platform — uses the python runtime InTouch auto-creates on every OS.

Setup

  1. Credentials (Credentials view): - google-workspace — service-account JSON with domain-wide delegation - claude-api — Anthropic API key (for the summarization step)
  2. Runtime environment (Runtime Environments view): - python — auto-created on every OS by InTouch
  3. One-time GCP setup: - Enable the Google Docs API in your GCP project. The docs insert call powering the append needs it; without it the workflow fails on first run with a 403 and an enablement URL in the error message.
  4. Archive Doc (one-time): - Create a new Google Doc to be the running archive (any title, e.g. "RSS Archive — All Feeds"). The workflow inserts new content at the very top of the body each run; older sections push down. You can put your own header/index at the top of the doc — but only above where the workflow inserts (the workflow inserts at index 1, the very first position). - Copy the Doc's ID from the URL.
  5. Edit workflow.yaml — replace the four placeholders: - <<RSS_FEED_URLS>> — comma-separated list of feed URLs (e.g. https://hnrss.org/newest?points=100,https://feeds.arstechnica.com/arstechnica/technology-lab) - <<RSS_ARCHIVE_DOC_ID>> — the Doc ID - <<OWNER_PUBLISHER>> — user name for the "digest ready" notification
  6. Schedule the workflow once daily (typical: 7 AM).

Pipeline

  1. read-feedsrss-reader (existing hub tool). Fetches each configured RSS feed, returns entries from the last 24 hours.
  2. ai-summarizeanthropic (claude-sonnet-4-6). Groups entries by source, picks highlights, produces a markdown digest. No top-level heading — the next step adds the dated header.
  3. append-to-docruntimeenv (python). Prepends a dated section to the archive Doc via gog docs insert --index 1 (plain text — gog's docs insert doesn't accept --format markdown; that flag is docs find-replace-only, confirmed against the bundled gog v0.19.0). Outputs the doc link and a 600-char preview for the email.
  4. email-linkmessage. Sends "Today's digest appended to: " plus the preview to the owner user.

Doc structure after a few runs

# Monday, May 10, 2026

Hacker News:
  - Article 1 title — https://example.com/1
  - Article 2 title — https://example.com/2

Ars Technica:
  - ...

---

# Sunday, May 9, 2026

Hacker News:
  - ...

---

Newest at top, separator between days. Content goes in as plain text — Doc renders it directly (searchable via Ctrl-F, foldable if you manually use Doc's Heading styles, shareable via a single Doc link). For richer styling (auto-headings, bold, hyperlinks) you'd need a docs find-replace pattern with a template doc instead of docs insert.

Customization

Differences from rss-digest

rss-digest rss-digest-to-doc
Output destination Email body (digest text) Google Doc (archived) + email link
History None; gone after you delete the email Persistent searchable archive
Searchability Email search (limited, single-day) Ctrl-F across the whole archive
Sharing Forward the email Share the Doc link with anyone
Inbox clutter Daily growing email thread One short link per day
Runtime cost 1 AI call + 1 email send 1 AI call + 1 Doc insert + 1 email send (negligible diff)

Verified

rss-reader tool, anthropic task, and gog docs insert --index 1 (plain text — docs insert has no --format markdown; that flag is docs find-replace-only) all confirmed against the bundled gog v0.19.0 help output (2026-06-01). The Docs API enablement requirement was hit and documented during coc-generator development; same prerequisite applies here.

Source

See workflow.yaml.