Weekly Digest Email
- Build a schedule-triggered weekly digest that aggregates data from multiple sources in parallel
- Use the Aggregate node and Code node to calculate totals and week-over-week percentage changes
- Add a Basic LLM Chain call to generate an executive summary of the week's highlights
- Send the formatted HTML email via Gmail or SendGrid to a subscriber list from Airtable or Sheets
The Value of Automated Digests
Weekly digest emails are one of the highest-value low-complexity automations available. They surface data that otherwise lives in silos — spread across spreadsheets, dashboards, and apps that team members rarely check. Done well, a weekly digest replaces a manual reporting task that takes 30–60 minutes and turns it into a workflow that runs while you sleep.
Defining What Goes in the Digest
Before building, list every metric or update that belongs in the digest. A typical business digest might include: revenue this week (Stripe), new leads (HubSpot or Sheets), content published (Airtable), open support tickets (Zendesk or Notion), and a brief AI-generated commentary on the week's highlights. Each data source becomes one section of the email.
The Workflow Architecture
- Schedule Trigger — set to run every Monday at 8:00 AM.
- Parallel data fetching — use multiple nodes in parallel to pull data from each source simultaneously:
- Google Sheets node → weekly revenue rows
- HubSpot or Airtable node → new leads count
- HTTP Request → any other data source with an API
- Aggregate nodes — calculate totals and week-over-week changes for each metric.
- Code node — assemble all the aggregated data into a single object, ready for the email template.
- Basic LLM Chain (optional) — pass the week's numbers to an LLM and ask for a 2–3 sentence executive summary of the key highlights and any anomalies. This adds a layer of insight the raw numbers alone do not provide.
- HTML email template — build the email body in the Code node using inline-styled HTML: a header with the date range, metric cards for each data source, the AI summary paragraph, and a footer with unsubscribe link.
- Gmail or SendGrid node — send to a list of recipients stored in an Airtable or Sheets subscriber table.
Week-over-Week Comparisons
To include percentage changes, your Google Sheets revenue log needs to store data by date. Add a filter in the Sheets query to fetch last week's totals separately, then calculate the change in the Code node: (thisWeek - lastWeek) / lastWeek * 100. Format the result as a coloured arrow (up in green, down in red) in the HTML template — this makes the digest immediately scannable.
Testing Before Enabling
While building, set the Schedule Trigger to test mode and run it manually. Before enabling the live schedule, run the workflow once with the Gmail node configured to send only to yourself. Verify all data sources are returning the right data, the formatting looks correct, and links work. Switch to the full recipient list only after this confirmation step.
- Digest emails are high-value automations: they replace 30-60 minutes of weekly manual reporting
- Fetch data from multiple sources in parallel rather than sequentially to keep the workflow fast
- A 2-3 sentence LLM-generated summary adds interpretation to raw numbers automatically
- Always test by sending to yourself first before enabling the live schedule and full recipient list