AutomationFlowsWeb Scraping › Automated Weekly Report via Email

Automated Weekly Report via Email

Original n8n title: Wf-6: Weekly Report Generation

WF-6: Weekly Report Generation. Uses httpRequest, sendEmail. Scheduled trigger; 6 nodes.

Cron / scheduled trigger★★★★☆ complexity6 nodesHTTP RequestSend Email
Web Scraping Trigger: Cron / scheduled Nodes: 6 Complexity: ★★★★☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "WF-6: Weekly Report Generation",
  "nodes": [
    {
      "id": "trigger",
      "name": "Weekly Report Schedule",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        250,
        300
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 10 * * 1"
            }
          ]
        }
      }
    },
    {
      "id": "get_graph_stats",
      "name": "Get Graph Stats",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        450,
        200
      ],
      "parameters": {
        "method": "POST",
        "url": "http://data-api:8000/mcp/call/get_graph_stats",
        "body": {}
      }
    },
    {
      "id": "get_discovery_log",
      "name": "Get Discovery History",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        450,
        400
      ],
      "parameters": {
        "method": "POST",
        "url": "http://data-api:8000/mcp/call/get_discovery_history",
        "body": {
          "limit": 100
        }
      }
    },
    {
      "id": "get_impact_log",
      "name": "Get Impact History",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        450,
        600
      ],
      "parameters": {
        "method": "POST",
        "url": "http://data-api:8000/mcp/call/get_impact_history",
        "body": {
          "limit": 50
        }
      }
    },
    {
      "id": "generate_report",
      "name": "Generate Report",
      "type": "n8n-nodes-base.function",
      "position": [
        700,
        400
      ],
      "parameters": {
        "functionCode": "const stats = $input.all()[0].json;\nconst discovery = $input.all()[1]?.json || [];\nconst impact = $input.all()[2]?.json || [];\n\nconst report = {\n  title: 'Supply Chain KG Weekly Report',\n  generated_at: new Date().toISOString(),\n  period: 'Last 7 days',\n  summary: {\n    total_companies: stats.node_count || 0,\n    total_relationships: stats.edge_count || 0,\n    discoveries_this_week: discovery.length,\n    impact_analyses: impact.length\n  },\n  top_discoveries: discovery.slice(0, 5),\n  recent_impacts: impact.slice(0, 5)\n};\n\nreturn [{ json: report }];"
      }
    },
    {
      "id": "send_report",
      "name": "Send Email Report",
      "type": "n8n-nodes-base.sendEmail",
      "position": [
        900,
        400
      ],
      "parameters": {
        "toEmail": "admin@example.com",
        "subject": "Supply Chain KG Weekly Report - {{ new Date().toISOString().split('T')[0] }}",
        "text": "Weekly Report:\n\nTotal Companies: {{ $json.summary.total_companies }}\nTotal Relationships: {{ $json.summary.total_relationships }}\nNew Discoveries: {{ $json.summary.discoveries_this_week }}\nImpact Analyses: {{ $json.summary.impact_analyses }}\n\nGenerated at: {{ $json.generated_at }}"
      }
    }
  ],
  "connections": {
    "Weekly Report Schedule": {
      "main": [
        [
          {
            "node": "Get Graph Stats",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get Discovery History",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get Impact History",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Graph Stats": {
      "main": [
        [
          {
            "node": "Generate Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Discovery History": {
      "main": [
        [
          {
            "node": "Generate Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Impact History": {
      "main": [
        [
          {
            "node": "Generate Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Report": {
      "main": [
        [
          {
            "node": "Send Email Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "tags": [
    "report",
    "weekly",
    "summary"
  ]
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

WF-6: Weekly Report Generation. Uses httpRequest, sendEmail. Scheduled trigger; 6 nodes.

Source: https://github.com/123qsa/supply-chain-kg/blob/6c12816aaff4604969763abfda43fd3bf84fb0f0/n8n-workflows/wf-6-weekly-report.json — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Web Scraping

Birthday Automation - Production (Fixed). Uses stopAndError, httpRequest, emailSend, bannerbear. Scheduled trigger; 86 nodes.

Stop And Error, HTTP Request, Email Send +1
Web Scraping

This template runs two scheduled workflows to govern Microsoft Entra ID (Azure AD) guest accounts by detecting stale users via Microsoft Graph, staging deletions in SharePoint with a 72-hour window, n

Microsoft SharePoint, Microsoft Teams, Microsoft Entra +1
Web Scraping

Spotify-Sync-Surrealdb-V1. Uses httpRequest, n8n-nodes-surrealdb, spotify. Scheduled trigger; 62 nodes.

HTTP Request, N8N Nodes Surrealdb, Spotify
Web Scraping

As n8n instances scale, teams often lose track of sub-workflows—who uses them, where they are referenced, and whether they can be safely updated. This leads to inefficiencies like unnecessary copies o

HTTP Request, n8n, N8N Trigger +1
Web Scraping

This workflow is an improvement of this workflow by Greg Brzezinka.

HTTP Request, Email Send, XML +1