Automated reporting and alerting from any Google Sheets data. Get daily summaries, threshold-based alerts, and weekly digest emails without building dashboards.
Teams store operational data in Google Sheets but lack automated reporting. Checking sheets manually is tedious, and important changes (threshold violations, trends) go unnoticed until it's too late.
This skill turns any Google Sheet into an automated reporting system with zero code changes.
| # | File | Purpose |
|---|---|---|
| --- | ------ | --------- |
| 01 | 01-daily-summary.json | Daily aggregate statistics email for any sheet |
| 02 | 02-threshold-alerts.json | Hourly threshold monitoring with alert emails |
| 03 | 03-weekly-digest.json | Weekly multi-sheet digest email (Monday 9AM) |
Daily (once):
|
v
Workflow 01: Daily Summary
+-> Read sheet data
+-> Auto-detect numeric columns
+-> Calculate sum, avg, min, max
+-> Count categories in first text column
+-> Email formatted report
Hourly:
|
v
Workflow 02: Threshold Alerts
+-> Read sheet data
+-> Check each value against thresholds
+-> IF violations found -> email alert
+-> Thresholds configurable via env variable
Weekly (Monday 9AM):
|
v
Workflow 03: Weekly Digest
+-> Read primary + secondary sheets in parallel
+-> Summarize both sheets
+-> Email combined digest
| Credential Type | Used For | Placeholder in JSON |
|---|---|---|
| ---------------- | ---------- | --------------------- |
| Google Sheets OAuth2 | Reading sheet data | YOUR_GOOGLE_SHEETS_CREDENTIAL_ID |
| SMTP | Sending reports and alerts | YOUR_SMTP_CREDENTIAL_ID |
| Placeholder | Description |
|---|---|
| ------------- | ------------- |
YOUR_REPORT_SHEET_ID | Google Sheet ID to monitor |
YOUR_GOOGLE_SHEETS_CREDENTIAL_ID | n8n Google Sheets credential ID |
YOUR_SMTP_CREDENTIAL_ID | n8n SMTP credential ID |
YOUR_NOTIFICATION_EMAIL | Email for reports and alerts |
# Required
REPORT_EMAIL=your-email@example.com
# Optional: Threshold configuration (JSON)
ALERT_THRESHOLDS='{"revenue":{"min":100,"max":null,"label":"Revenue"},"error_count":{"min":null,"max":10,"label":"Errors"}}'
Thresholds are configured via the ALERT_THRESHOLDS environment variable as JSON:
{
"column_name": {
"min": 100,
"max": null,
"label": "Display Name"
}
}
min — Alert if value falls below this (set null to disable)max — Alert if value exceeds this (set null to disable)label — Human-readable name for alert emailsImport all 3 JSON files into n8n. Replace YOUR_REPORT_SHEET_ID with your sheet's ID and set credential placeholders.
Edit the Google Sheets nodes to match your tab names (default: "Data" and "Sheet2").
Configure ALERT_THRESHOLDS env var for your columns, or edit the Code node defaults directly.
Activate all 3 workflows. You'll receive your first daily summary within 24 hours.
共 1 个版本