Quick Overview
This workflow runs weekly to collect new items from a configurable set of regulatory and bar association RSS feeds, tags them by practice-area keywords, logs a drafted digest to Google Sheets, and emails it for review, then sends a separate weekly reminder if any drafts remain pending too long.
How it works
- Runs every Monday at 8am and checks whether the AGENCY_BAR_FEED_URLS variable contains at least one RSS feed URL.
- If feeds are configured, reads each RSS feed and collects recent items within the DIGEST_LOOKBACK_DAYS window.
- Tags each item against the PRACTICE_AREA_KEYWORDS map, drops items that match no practice area, and builds a digest grouped by practice area.
- If no feeds are configured, generates a “setup required” digest notice so the workflow still produces a logged draft and review email.
- Assigns a unique digest ID, appends the draft (status pending_review) to the “Regulatory Digest Drafts” sheet in Google Sheets, and emails the draft to the content reviewer via SMTP.
- Runs every Thursday at 9am, reads the same Google Sheets log, and filters for drafts still pending_review older than STALE_DRAFT_REMINDER_DAYS.
- If stale drafts exist, sends a reminder email via SMTP listing the pending digest IDs; otherwise, it skips sending.
Setup
- Add Google Sheets credentials and set REGULATORY_LOG_SHEET_ID to the spreadsheet that contains a “Regulatory Digest Drafts” sheet with matching columns (status, digest_id, created_at, item_count, reviewed_at, published_at, draft_content).
- Add SMTP credentials for the Email Send nodes and set FIRM_FROM_EMAIL, plus CONTENT_REVIEWER_EMAIL (or rely on the fallback to FIRM_FROM_EMAIL).
- Set AGENCY_BAR_FEED_URLS as a comma-separated list of RSS feed URLs in n8n Variables.
- Review and customize PRACTICE_AREA_KEYWORDS, DIGEST_LOOKBACK_DAYS, and STALE_DRAFT_REMINDER_DAYS in n8n Variables to match your tagging and reminder needs.
- Adjust the two schedule trigger cron expressions if you want different weekly run times.