{"workflow":{"id":14931,"name":"Generate a weekly business health report from Google Sheets with Claude","views":0,"recentViews":0,"totalViews":0,"createdAt":"2026-04-08T16:34:12.119Z","description":"# **Overview**\nStop spending Monday mornings manually pulling numbers and building reports. This workflow reads your last 7 days of business data from Google Sheets, asks Claude AI to compare it to the week before, spot trends, flag problems and highlight wins — then emails a plain-English health report to your inbox before your team standup.\n\n## How it works\n\n- Fires every Monday at 7AM automatically\n- Pulls this week's and last week's data from your Google Sheet\n- Formats both datasets into a clean comparison table\n- Claude AI analyses the numbers and writes a structured health report covering wins, concerns, and top 3 actions\n- Report is emailed to your team via Gmail\n- Every run is logged to a second sheet tab for historical tracking\n\n\n## Setup steps\n\n1.  **Google Sheets** — Connect your Google account in Fetch This Week Data and Fetch Last Week Data nodes and select your data sheet. Each row should be one day, columns should be your key metrics\n2. **Configure node** — Open Configure Report Settings and set your business name, report email, and a plain-English description of what your columns mean\n3. **Claude AI** — Add your Anthropic API key to the Claude Sonnet sub-node from console.anthropic.com\n4. **Gmail** — Connect your Gmail account in Send Weekly Report\n5. **Log sheet** — Create a second tab called Report Log with columns: Date, Week Covered, Business, Status, Summary. Connect it in Log Report Run\n6. **Activate** — runs automatically every Monday at 7AM","workflow":{"id":"beSXvU2G0O5JUu2n","meta":{"instanceId":"e2fb5ffa5415f970304f594ae9e42173c5e4458986483913075fc58c185fb00a"},"name":"AI Weekly Business Health Report: Analyse Google Sheets Data and Email Insights with Claude","tags":[],"nodes":[{"id":"0cfbed27-0221-4693-a962-d8ace2292475","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[0,-256],"parameters":{"color":0,"width":460,"height":1180,"content":"## AI Weekly Business Health Report using Claude and Gmail\n\nStop spending Monday mornings building reports in spreadsheets. This workflow reads your last 7 days of business data from Google Sheets, asks Claude AI to find the trends, flag any problems, and highlight the wins -- then emails a plain-English summary straight to your inbox before your team standup.\n\n### How it works\n\n1. A schedule trigger fires every Monday at 7AM.\n2. The Configure node sets your business name, report email, and the date range for the past 7 days and the 7 days before that.\n3. This week's data and last week's data are both pulled from your Google Sheet.\n4. A Code node formats both datasets into a clean comparison table for Claude to read.\n5. Claude AI analyses the numbers, compares this week to last week, identifies trends, flags anything that looks off, and highlights wins.\n6. The report is formatted as a clean plain-text email and sent to your team via Gmail.\n7. Every report run is logged to a second sheet tab with the date and a summary for historical tracking.\n\n### Setup steps\n\n- [ ] **Google Sheets** -- Create a sheet where each row is one day and columns are your key metrics (e.g. Revenue, Leads, Calls, Conversions). Connect your Google account in the Fetch This Week and Fetch Last Week nodes and select your sheet.\n- [ ] **Configure node** -- Open Configure Report Settings and set YOUR_BUSINESS_NAME, YOUR_REPORT_EMAIL, and YOUR_METRICS_DESCRIPTION (a short plain-English description of what your columns mean).\n- [ ] **Claude AI** -- Click the Claude Sonnet sub-node under Analyse with Claude, add a new Anthropic credential, and paste your API key from console.anthropic.com.\n- [ ] **Gmail** -- Connect your Gmail account in the Send Weekly Report node.\n- [ ] **Log sheet** -- Create a second tab in your Google Sheet called Report Log with columns: Date, Summary, Status. Connect it in the Log Report Run node.\n- [ ] Activate the workflow. It will run automatically every Monday at 7AM.\n\n### Customization\n\nChange the trigger day and time in the Weekly Schedule Trigger node to suit your team. Add more data sources by pulling from additional sheets before the Format Data node. Swap Claude Sonnet for Claude Haiku to reduce API cost if your dataset is small."},"typeVersion":1},{"id":"a0295a60-fc6f-4380-abc7-684a793569a3","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[528,0],"parameters":{"color":7,"width":440,"height":516,"content":"## Schedule and configure\n\nFires every Monday at 7AM and sets up your business name, recipient email, and the exact date ranges for this week and last week so every downstream node knows what period to pull."},"typeVersion":1},{"id":"f5be4033-966b-45b3-9ccd-42815196836a","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[1040,0],"parameters":{"color":7,"width":440,"height":516,"content":"## Fetch and format data\n\nPulls this week's rows and last week's rows from your Google Sheet in parallel, then merges them into a single formatted comparison table that Claude can read clearly."},"typeVersion":1},{"id":"b71f7874-66c5-4694-9d67-15d235198392","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1552,-32],"parameters":{"color":7,"width":380,"height":572,"content":"## Analyse with Claude AI\n\nClaude Sonnet reads both weeks of data and returns a structured business health report covering: week-on-week changes, trends, any metrics that look off, and the top 3 actions to take this week.\n\nEdit the system prompt in this node to describe your business and what good performance looks like for you."},"typeVersion":1},{"id":"aa0cf241-711b-4532-9ac0-45f6f488dcf1","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[2032,-32],"parameters":{"color":7,"width":400,"height":564,"content":"## Send report and log run\n\nSends the finished plain-text report to your team via Gmail, then logs the run date and a short summary to your Report Log sheet so you have a historical record of every weekly report."},"typeVersion":1},{"id":"b8dcfedd-c444-46e5-bc3b-d9522da12d72","name":"Weekly Schedule Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[560,240],"parameters":{"rule":{"interval":[{"field":"weeks","triggerAtDay":[1],"triggerAtHour":7}]}},"typeVersion":1.2},{"id":"e577d204-1318-4c31-b847-4022e7caff1f","name":"Configure Report Settings","type":"n8n-nodes-base.code","position":[784,240],"parameters":{"jsCode":"// ================================================\n//  EDIT THIS NODE -- all your settings live here\n// ================================================\n\nconst BUSINESS_NAME    = 'Your Business Name';\nconst REPORT_EMAIL     = 'user@example.com';\nconst METRICS_DESCRIPTION = 'Revenue (USD), New Leads, Sales Calls Booked, Deals Closed, Refunds';\n\n// ================================================\n//  DO NOT EDIT BELOW THIS LINE\n// ================================================\n\nconst now   = new Date();\nconst today = now.toISOString().split('T')[0];\n\n// This week: last 7 days\nconst thisWeekEnd   = new Date(now);\nconst thisWeekStart = new Date(now);\nthisWeekStart.setDate(thisWeekStart.getDate() - 7);\n\n// Last week: 8-14 days ago\nconst lastWeekEnd   = new Date(thisWeekStart);\nconst lastWeekStart = new Date(thisWeekStart);\nlastWeekStart.setDate(lastWeekStart.getDate() - 7);\n\nfunction fmt(d) { return d.toISOString().split('T')[0]; }\n\nreturn [{\n  json: {\n    business_name:        BUSINESS_NAME,\n    report_email:         REPORT_EMAIL,\n    metrics_description:  METRICS_DESCRIPTION,\n    run_date:             today,\n    this_week_start:      fmt(thisWeekStart),\n    this_week_end:        fmt(thisWeekEnd),\n    last_week_start:      fmt(lastWeekStart),\n    last_week_end:        fmt(lastWeekEnd)\n  }\n}];"},"typeVersion":2},{"id":"e1f766d9-9901-4fae-b316-f6227052a432","name":"Fetch This Week Data","type":"n8n-nodes-base.googleSheets","position":[1088,144],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"name","value":"Sheet1"},"documentId":{"__rl":true,"mode":"id","value":"YOUR_GOOGLE_SHEET_ID"}},"typeVersion":4.5},{"id":"15242eec-11a4-40ad-aa73-3c7e4cf4aa6d","name":"Fetch Last Week Data","type":"n8n-nodes-base.googleSheets","position":[1088,352],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"name","value":"Sheet1"},"documentId":{"__rl":true,"mode":"id","value":"YOUR_GOOGLE_SHEET_ID"}},"typeVersion":4.5},{"id":"7ffdf44a-2b97-4da9-b694-275102ca6af8","name":"Format Data for Claude","type":"n8n-nodes-base.code","position":[1328,240],"parameters":{"jsCode":"const cfg     = $('Configure Report Settings').first().json;\nconst allItems = $input.all();\n\n// Split into this week vs last week based on item order\n// Fetch This Week feeds first batch, Fetch Last Week feeds second\n// We'll use all items and label them by date column\nconst rows = allItems.map(function(item) { return item.json; });\n\n// Build a readable text block for Claude\nconst thisWeekRows = rows.filter(function(r) {\n  return r.Date >= cfg.this_week_start && r.Date <= cfg.this_week_end;\n});\n\nconst lastWeekRows = rows.filter(function(r) {\n  return r.Date >= cfg.last_week_start && r.Date <= cfg.last_week_end;\n});\n\nfunction rowsToText(rowArr) {\n  if (!rowArr || rowArr.length === 0) return 'No data found for this period.';\n  const headers = Object.keys(rowArr[0]).join(' | ');\n  const lines   = rowArr.map(function(r) { return Object.values(r).join(' | '); });\n  return headers + '\\n' + lines.join('\\n');\n}\n\nconst formattedData = 'THIS WEEK (' + cfg.this_week_start + ' to ' + cfg.this_week_end + '):\\n'\n  + rowsToText(thisWeekRows)\n  + '\\n\\nLAST WEEK (' + cfg.last_week_start + ' to ' + cfg.last_week_end + '):\\n'\n  + rowsToText(lastWeekRows);\n\nreturn [{\n  json: {\n    business_name:       cfg.business_name,\n    report_email:        cfg.report_email,\n    metrics_description: cfg.metrics_description,\n    run_date:            cfg.run_date,\n    this_week_start:     cfg.this_week_start,\n    this_week_end:       cfg.this_week_end,\n    formatted_data:      formattedData,\n    this_week_row_count: thisWeekRows.length,\n    last_week_row_count: lastWeekRows.length\n  }\n}];"},"typeVersion":2},{"id":"704ee2e7-e619-45a7-9b89-41c07b5a3774","name":"Analyse with Claude","type":"@n8n/n8n-nodes-langchain.chainLlm","position":[1568,240],"parameters":{"text":"=You are a sharp business analyst reviewing weekly performance data for {{ $json.business_name }}.\n\nYour job is to write a clear, honest weekly business health report that a busy owner can read in 2 minutes.\n\nMETRICS IN THIS DATASET: {{ $json.metrics_description }}\n\nDATA:\n{{ $json.formatted_data }}\n\nWrite the report using EXACTLY this structure:\n\nWEEKLY BUSINESS HEALTH REPORT -- {{ $json.run_date }}\n\nOVERALL HEALTH: [One of: Strong / Steady / Needs Attention / Critical]\n\nWEEK-ON-WEEK SUMMARY:\nWrite 2-3 sentences comparing this week to last week in plain English. Be specific with numbers.\n\nWHAT IS WORKING:\n- [specific win with numbers]\n- [specific win with numbers]\n\nWHAT NEEDS ATTENTION:\n- [specific concern with numbers and why it matters]\n- [specific concern with numbers and why it matters]\n\nTOP 3 ACTIONS THIS WEEK:\n1. [Concrete action -- one sentence]\n2. [Concrete action -- one sentence]\n3. [Concrete action -- one sentence]\n\nTREND TO WATCH:\nOne sentence on the most important trend developing across both weeks.\n\nRules: Be direct. Use actual numbers from the data. Do not hedge or add disclaimers. If data is missing or incomplete, say so and explain what you can still see.","promptType":"define"},"typeVersion":1.4},{"id":"d55d1d70-e8aa-4947-85ea-f205627b4c72","name":"Claude Sonnet","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[1696,416],"parameters":{"model":"claude-sonnet-4-5","options":{"temperature":0.2}},"typeVersion":1.3},{"id":"c9585512-1ec1-4d19-a3c1-aed533f19c92","name":"Parse Report Output","type":"n8n-nodes-base.set","position":[1808,240],"parameters":{"options":{},"assignments":{"assignments":[{"id":"59d3956e-d9c1-4663-8389-554ffff6e18d","name":"report_text","type":"string","value":"={{ $json.text }}"},{"id":"f6fa3e13-732f-4f5a-b2bd-71c46091185d","name":"report_email","type":"string","value":"={{ $('Format Data for Claude').first().json.report_email }}"},{"id":"04684a81-2676-4777-9140-65e3319a2254","name":"business_name","type":"string","value":"={{ $('Format Data for Claude').first().json.business_name }}"},{"id":"763215e6-d415-4aee-883d-a1fbfa7c5dd1","name":"run_date","type":"string","value":"={{ $('Format Data for Claude').first().json.run_date }}"},{"id":"dd6efc38-5111-4238-bd93-8cd87ff0f9f0","name":"this_week_start","type":"string","value":"={{ $('Format Data for Claude').first().json.this_week_start }}"},{"id":"0d17c49a-1e14-4600-af46-a9c5313d8c11","name":"this_week_end","type":"string","value":"={{ $('Format Data for Claude').first().json.this_week_end }}"}]}},"typeVersion":3.4},{"id":"8203a891-fc6f-481d-bf08-414bf7769a1e","name":"Send Weekly Report","type":"n8n-nodes-base.gmail","position":[2176,144],"webhookId":"00097095-6c3b-4dd5-bdab-c186277bec7a","parameters":{"sendTo":"={{ $json.report_email }}","message":"={{ 'Hi,\n\nHere is your automated weekly business health report for the week of ' + $json.this_week_start + ' to ' + $json.this_week_end + '.\n\n' + $json.report_text + '\n\n---\nGenerated automatically by your n8n AI Business Health Report workflow.' }}","options":{},"subject":"={{ 'Weekly Business Health Report - ' + $json.run_date }}","emailType":"text"},"typeVersion":2.1},{"id":"080b3c77-503e-40a2-8936-dbfef15c06fe","name":"Log Report Run","type":"n8n-nodes-base.googleSheets","position":[2176,352],"parameters":{"columns":{"value":{"Date":"={{ $json.run_date }}","Status":"Sent","Summary":"={{ $json.report_text.split('\\n').slice(0,3).join(' ') }}","Business":"={{ $json.business_name }}","Week Covered":"={{ $json.this_week_start + ' to ' + $json.this_week_end }}"},"mappingMode":"defineBelow"},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"name","value":"Report Log"},"documentId":{"__rl":true,"mode":"id","value":"YOUR_GOOGLE_SHEET_ID"}},"typeVersion":4.5}],"active":false,"pinData":{},"settings":{"binaryMode":"separate","executionOrder":"v1"},"versionId":"762f38db-a063-432b-a915-c76e3ee3fd9b","connections":{"Claude Sonnet":{"ai_languageModel":[[{"node":"Analyse with Claude","type":"ai_languageModel","index":0}]]},"Analyse with Claude":{"main":[[{"node":"Parse Report Output","type":"main","index":0}]]},"Parse Report Output":{"main":[[{"node":"Send Weekly Report","type":"main","index":0},{"node":"Log Report Run","type":"main","index":0}]]},"Fetch Last Week Data":{"main":[[{"node":"Format Data for Claude","type":"main","index":0}]]},"Fetch This Week Data":{"main":[[{"node":"Format Data for Claude","type":"main","index":0}]]},"Format Data for Claude":{"main":[[{"node":"Analyse with Claude","type":"main","index":0}]]},"Weekly Schedule Trigger":{"main":[[{"node":"Configure Report Settings","type":"main","index":0}]]},"Configure Report Settings":{"main":[[{"node":"Fetch This Week Data","type":"main","index":0},{"node":"Fetch Last Week Data","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":15,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":2},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.googleSheets":{"count":3},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.chainLlm":{"count":1},"@n8n/n8n-nodes-langchain.lmChatAnthropic":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Akshay Chug","username":"akshaychug","bio":"Akshay is a B2B automation specialist helping business owners eliminate manual backend processes through AI-driven workflow automation. With deep expertise in n8n, AI agents, and end-to-end pipeline building, he helps companies automate cold outreach, lead follow-up, and core operations — without adding headcount.\n\nFounder of Sunsky AI.\n","verified":true,"links":["https://calendly.com/sunskymarketin/20min"],"avatar":"https://gravatar.com/avatar/626a0ee58ca449b6a93c7a28894c193ad2ee6d8e850e7abd4eac03b0fbba280c?r=pg&d=retro&size=200"},"nodes":[{"id":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1123,"icon":"fa:link","name":"@n8n/n8n-nodes-langchain.chainLlm","codex":{"data":{"alias":["LangChain"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.chainllm/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Chains","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"Basic LLM Chain","color":"#909298"},"iconData":{"icon":"link","type":"icon"},"displayName":"Basic LLM Chain","typeVersion":2,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1145,"icon":"file:anthropic.svg","name":"@n8n/n8n-nodes-langchain.lmChatAnthropic","codex":{"data":{"alias":["claude","sonnet","opus"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatanthropic/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Anthropic Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzdEN0Q4NyIgZD0iTTMyLjczIDBoLTYuOTQ1TDM4LjQ1IDMyaDYuOTQ1ek0xMi42NjUgMCAwIDMyaDcuMDgybDIuNTktNi43MmgxMy4yNWwyLjU5IDYuNzJoNy4wODJMMTkuOTI5IDB6bS0uNzAyIDE5LjMzNyA0LjMzNC0xMS4yNDYgNC4zMzQgMTEuMjQ2eiIvPjwvc3ZnPg=="},"displayName":"Anthropic Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":35,"name":"Document Extraction"},{"id":49,"name":"AI Summarization"}],"image":[]}}