Skip to main content

Generate a weekly business metrics report with Stripe, Notion, Sheets, Claude, SendGrid, and Slack

Workflow preview

Workflow preview
100%
Generate a weekly business metrics report with Stripe, Notion, Sheets, Claude, SendGrid, and Slack preview
Open on n8n.io

1. Workflow Overview

Stop compiling your weekly business report by hand. Let automation pull the numbers, and let Claude write the narrative. Every Monday morning, this workflow fetches last week's revenue from Stripe,...

Best for

  • Document Extraction automation workflows
  • AI Summarization automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.scheduletrigger, n8n-nodes-base.code, n8n-nodes-base.googlesheets, @n8n/n8n-nodes-langchain.chainllm, @n8n/n8n-nodes-langchain.lmchatanthropic, n8n-nodes-base.sendgrid, n8n-nodes-base.slack, n8n-nodes-base.errortrigger

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Mychel Garzon.

Original n8n.io source

1.1 Workflow description

Title
Generate a weekly business metrics report with Stripe, Notion, Sheets, Claude, SendGrid, and Slack
Workflow name
Generate a weekly business metrics report with Stripe, Notion, Sheets, Claude, SendGrid, and Slack

Stop compiling your weekly business report by hand. Let automation pull the numbers, and let Claude write the narrative.

Every Monday morning, this workflow fetches last week's revenue from Stripe, pipeline data from Notion, and operational metrics from Google Sheets aggregates everything into a single structured dataset, hands it to Claude Sonnet 4 for executive analysis, and delivers a styled HTML report to your inbox before you've had your first coffee.


How it works

The workflow runs in five sequential stages:

1. Trigger & Date Setup Fires every Monday at 08:00. Computes last week's date window in your configured business timezone using Luxon, outputting ISO timestamps, Unix epochs, and milliseconds so every downstream node speaks the same time format without conversion.

2. Data Collection Fetches from three sources in sequence:

  • Stripe: Cursor-based pagination retrieves every charge in the window no 100 record cap, no missed revenue
  • Notion: Queries your Deals database with a date filter and a built-in 350ms rate-limit delay between pages to stay safely under the Notion API ceiling
  • Google Sheets: Reads the latest row from your ops metrics sheet for tickets closed, NPS score, and uptime percentage

3. Aggregation Normalises all three sources into a single structured item: gross and net revenue, refunds, transaction count, total and probability-weighted pipeline value, deal count by stage, and all operational KPIs. Every field has a safe fallback so missing data never crashes the report.

4. AI Executive Narrative Passes the aggregated metrics to Claude Sonnet 4 with a structured prompt requesting three paragraphs: revenue performance, pipeline health, and operational highlights with a forward-looking observation. Temperature is set to 0 for consistent, professional tone on every run.

5. Report Build & Delivery Assembles a styled HTML email with KPI cards, a pipeline stage breakdown table, and the AI narrative embedded inline. Sends via SendGrid, then fires a Slack message to your chosen channel with a one-line summary of net revenue and new deal count.


Key benefits

  • No record caps: Stripe pagination loops until has_more is false, the report always reflects the full week, not just the first 100 charges
  • Timezone-aware: Set REPORT_TIMEZONE once and every date window, label, and timestamp respects your business timezone automatically
  • Consistent narrative: Claude runs at temperature 0, so the executive summary reads in the same structured, data-driven voice every week
  • Safe fallbacks: Every aggregation field defaults gracefully, a missing ops metric shows N/A rather than crashing the workflow
  • Global error handling: A dedicated Error Trigger catches any execution failure and sends an alert email with the execution ID and the name of the failed node

Setup

  1. Credentials: Connect your Anthropic account to the Anthropic Chat Model node
  2. SendGrid: Connect your SendGrid credential to the Send via SendGrid and Send Error Email nodes
  3. Google Sheets: Connect a Google Sheets OAuth2 credential to the GSheets: Ops Metrics node
  4. Slack: Connect your Slack credential to the Slack: Report Sent node
  5. Stripe: Set STRIPE_SECRET_KEY environment variable
  6. Notion: Set NOTION_API_KEY and NOTION_DEALS_DB_ID environment variables
  7. Google Sheets: Set GSHEETS_SPREADSHEET_ID, GSHEETS_SHEET_NAME, and GSHEETS_LAST_ROW_RANGE environment variables
  8. Email: Set REPORT_EMAIL_FROM, REPORT_EMAIL_TO, and REPORT_ALERT_EMAIL environment variables
  9. Slack: Set SLACK_CHANNEL_ID environment variable
  10. Timezone: Set REPORT_TIMEZONE environment variable (e.g., Europe/Helsinki defaults to UTC if not set)

Who this is for

  • Founders and operators who want a Monday morning briefing without opening five different dashboards
  • Finance teams tracking weekly revenue, refunds, and transaction volume without manual Stripe exports
  • Sales managers monitoring pipeline health and weighted deal value across Notion CRM stages
  • Agencies and MSPs delivering automated reporting as a managed service to their clients

Required credentials

  • Anthropic (Claude Sonnet 4)
  • SendGrid
  • Google Sheets OAuth2
  • Slack
  • Stripe Secret Key (via env var)
  • Notion API Key (via env var)

How to customize it

  • Add more data sources: Extend the collection stage with nodes for HubSpot, Jira, Intercom, or any API, just reference them in Aggregate All Metrics
  • Change the report schedule: Modify the cron expression in the trigger node to run daily, bi-weekly, or on any schedule
  • Adjust the AI prompt: Edit the prompt in Claude: Write Executive Narrative to change the number of paragraphs, the tone, or the specific metrics Claude should prioritize
  • Swap the email provider: Replace SendGrid with Outlook, Gmail, or any SMTP node without touching any other part of the workflow
  • Extend the HTML template: Modify Build HTML Report to add your company logo, brand colors, or additional KPI sections

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Every Monday at 08:00

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 2 - Compute Date Windows

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 3 - Stripe: This Week Revenue

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 4 - Notion: Pipeline This Week

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 5 - GSheets: Ops Metrics

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 6 - Aggregate All Metrics

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 7 - Claude: Write Executive Narrative

Type / Role
@n8n/n8n-nodes-langchain.chainLlm - chainLlm
Config choices
Version 1.4

Block 8 - Anthropic Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatAnthropic - lmChatAnthropic
Config choices
Version 1.3

Block 9 - Build HTML Report

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 10 - Send via SendGrid

Type / Role
n8n-nodes-base.sendGrid - sendGrid
Config choices
Version 1

Block 11 - Slack: Report Sent

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.2

Block 12 - Workflow Error Trigger

Type / Role
n8n-nodes-base.errorTrigger - errorTrigger
Config choices
Version 1

Block 13 - Send Error Email

Type / Role
n8n-nodes-base.sendGrid - sendGrid
Config choices
Version 1

Block 14 - README

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 15 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 16 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 19 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Generate a weekly business metrics report with Stripe, Notion, Sheets, Claude, SendGrid, and Slack
Complexity advanced
Nodes 19
Categories Document Extraction, AI Summarization
Author Mychel Garzon
Published 18 May 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/15791/15791.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Generate a weekly business metrics report with Stripe, Notion, Sheets, Claude, SendGrid, and Slack do?

Stop compiling your weekly business report by hand. Let automation pull the numbers, and let Claude write the narrative. Every Monday morning, this workflow fetches last week's revenue from Stripe,...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Document Extraction, AI Summarization use case.