Sheets Automation

作者 claude-office-skills9c4c7d5cd281MIT499 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫8 個月前更新

Google Sheets automation workflows - data sync, task management, reporting dashboards, and multi-platform integrations

AI 產生的概覽

指導 Google Sheets 自動化工作流程,涵蓋資料同步、任務提醒、報表儀表板和多平台整合。

功能
此技能僅提供說明,用於建置 Google Sheets 自動化工作流程,包括多來源資料彙整、搭配 Slack 提醒的任務追蹤、排程報表產生、庫存警示,以及表單到 CRM 的潛在客戶擷取。它為每個情境提供 YAML 工作流程大綱、試算表範本和公式參考。它產出的是設定指引和範例設定,本身不會執行任何自動化。
適用情境
適用於規劃或記錄以 Google Sheets 為基礎的自動化,例如將 CRM、付款或分析資料同步到儀表板、傳送任務提醒,或產生週期性報表。適合在設定 n8n 等工具之前,想先了解工作流程結構和公式範例的使用者。
執行需求
僅為說明,不隨附指令碼。所述工作流程涉及 Google Sheets 存取、n8n 類自動化平台,以及 Slack、HubSpot、Stripe、Google Analytics、Google Forms 和電子郵件等整合,還需要提供 sheets 讀取、寫入、附加和格式化工具的 Google Workspace MCP 伺服器。

Google Sheets Automation

Automate Google Sheets workflows for data synchronization, task management, reporting dashboards, and multi-platform integrations. Based on n8n's 7,800+ workflow templates.

Overview

This skill covers:

  • Automated data sync from multiple sources
  • Task management with Slack reminders
  • Real-time reporting dashboards
  • CRM/Marketing data aggregation
  • Scheduled report generation

Core Workflows

1. Multi-Source Data Aggregation

┌─────────────┐   ┌─────────────┐   ┌─────────────┐│ HubSpot     │   │ Stripe      │   │ Google      ││ (CRM)       │   │ (Payments)  │   │ Analytics   │└──────┬──────┘   └──────┬──────┘   └──────┬──────┘       │                 │                 │       └─────────────────┼─────────────────┘                         │                         ▼              ┌──────────────────┐              │ Google Sheets    │              │ (Master Dashboard)│              └──────────────────┘                         │                         ▼              ┌──────────────────┐              │ Slack/Email      │              │ (Daily Report)   │              └──────────────────┘

n8n Configuration:

yaml
workflow: "Daily Business Metrics Sync"
schedule: "6:00 AM daily"
steps:  1. fetch_crm_data:      source: hubspot      data:        - new_leads_today        - deals_closed        - pipeline_value          2. fetch_revenue_data:      source: stripe      data:        - mrr        - new_subscriptions        - churn          3. fetch_traffic_data:      source: google_analytics      data:        - sessions        - conversions        - bounce_rate          4. update_sheets:      spreadsheet: "Business Dashboard"      sheet: "Daily Metrics"      action: append_row      data:        - date: today        - leads: "{hubspot.new_leads}"        - deals: "{hubspot.deals_closed}"        - mrr: "{stripe.mrr}"        - sessions: "{ga.sessions}"          5. update_charts:      refresh: automatic (Sheets built-in)        6. send_summary:      slack:        channel: "#daily-metrics"        message: |          📊 Daily Metrics - {date}                    💰 Revenue: ${mrr} MRR          👥 New Leads: {leads}          🎯 Deals Closed: {deals}          📈 Website Sessions: {sessions}

2. Task Management with Reminders

yaml
workflow: "Sheets Task Tracker"
trigger:  type: schedule  frequency: every_15_minutes
sheet_structure:  columns:    - A: Task    - B: Assignee    - C: Due Date    - D: Priority (High/Medium/Low)    - E: Status (Todo/In Progress/Done)    - F: Slack ID
steps:  1. read_tasks:      filter: |        Status != "Done" AND        Due Date <= TODAY() + 1          2. categorize_urgency:      overdue: Due Date < TODAY()      due_today: Due Date == TODAY()      due_tomorrow: Due Date == TODAY() + 1        3. send_reminders:      for_each: task            overdue:        slack_dm:          to: "{assignee_slack_id}"          message: |            🚨 *OVERDUE*: {task_name}            Due: {due_date} ({days_overdue} days ago)            Priority: {priority}                  due_today:        slack_dm:          to: "{assignee_slack_id}"          message: |            ⏰ *Due Today*: {task_name}            Priority: {priority}              4. daily_recap:      schedule: "6:00 PM"      slack_channel: "#team"      message: |        📋 *Daily Task Recap*                ✅ Completed: {completed_count}        ⏳ In Progress: {in_progress_count}        🚨 Overdue: {overdue_count}                Top priorities for tomorrow:        {tomorrow_tasks}

3. Automated Report Generation

yaml
workflow: "Weekly Report Generator"
schedule: "Friday 5:00 PM"
steps:  1. collect_data:      sheets:        - "Sales Data"        - "Marketing Metrics"        - "Support Tickets"          2. calculate_metrics:      sales:        - total_revenue: SUM(revenue_column)        - deals_closed: COUNT(won_deals)        - avg_deal_size: AVG(deal_value)        - win_rate: won / (won + lost)              marketing:        - leads_generated: COUNT(new_leads)        - cost_per_lead: spend / leads        - conversion_rate: conversions / visitors              support:        - tickets_resolved: COUNT(resolved)        - avg_response_time: AVG(first_response)        - csat_score: AVG(satisfaction)          3. generate_report:      format: google_doc      template: "Weekly Report Template"      sections:        - executive_summary        - sales_performance        - marketing_metrics        - customer_support        - next_week_priorities          4. create_charts:      google_sheets:        - revenue_trend: line_chart        - deal_funnel: bar_chart        - lead_sources: pie_chart          5. distribute:      email:        to: leadership_team        subject: "Weekly Business Report - Week {week_number}"        attach: [report_doc, charts_pdf]              slack:        channel: "#leadership"        message: "📊 Weekly report ready: {doc_link}"

4. Inventory/Stock Tracker

yaml
workflow: "Inventory Alert System"
trigger:  type: sheets_change  sheet: "Inventory"  sheet_structure:  columns:    - Product    - SKU    - Current Stock    - Reorder Level    - Supplier    - Lead Time (days)
steps:  1. check_stock_levels:      condition: Current Stock <= Reorder Level        2. generate_alerts:      for_each: low_stock_item      actions:        - update_cell:            column: "Status"            value: "REORDER NEEDED"            format: red_background                    - slack_alert:            channel: "#inventory"            message: |              ⚠️ *Low Stock Alert*                            Product: {product_name}              SKU: {sku}              Current: {current_stock}              Reorder Level: {reorder_level}              Supplier: {supplier}                      - email_supplier:            if: auto_reorder == true            template: "reorder_request"              3. daily_summary:      schedule: "9:00 AM"      report:        - total_skus: count        - low_stock_items: count        - out_of_stock: count        - pending_orders: list

5. Form Responses → CRM + Slack

yaml
workflow: "Google Form Lead Capture"
trigger:  type: google_forms  form: "Contact Us Form"  steps:  1. capture_response:      fields: [name, email, company, message, source]        2. append_to_sheet:      spreadsheet: "Lead Tracker"      data:        - timestamp: NOW()        - name: "{name}"        - email: "{email}"        - company: "{company}"        - message: "{message}"        - status: "New"          3. enrich_lead:      clearbit:        lookup_by: email        append: [company_size, industry, linkedin]          4. create_in_crm:      hubspot:        object: contact        properties:          email: "{email}"          firstname: "{name}"          company: "{company}"          lead_source: "Website Form"            5. notify_sales:      slack:        channel: "#new-leads"        message: |          🎉 *New Lead!*                    👤 {name}          🏢 {company} ({company_size} employees)          📧 {email}          💬 "{message}"                    [View in HubSpot]({hubspot_link})            6. auto_respond:      email:        to: "{email}"        template: "thank_you_for_contacting"

Sheet Templates

Sales Dashboard

┌────────────────────────────────────────────────────────────────┐│                    SALES DASHBOARD - {Month}                   │├────────────────────────────────────────────────────────────────┤│                                                                ││  ┌─────────┐  ┌─────────┐  ┌─────────┐  ┌─────────┐          ││  │ Revenue │  │ Deals   │  │ Avg Deal│  │ Win Rate│          ││  │ $125K   │  │ 23      │  │ $5,400  │  │ 34%     │          ││  │ ▲ 15%   │  │ ▲ 8%    │  │ ▲ 12%   │  │ ▼ 2%   │          ││  └─────────┘  └─────────┘  └─────────┘  └─────────┘          ││                                                                ││  [Revenue Trend Chart - Line]                                  ││  [Pipeline by Stage - Funnel]                                  ││  [Top Sales Reps - Bar]                                        ││                                                                │├────────────────────────────────────────────────────────────────┤│ Date    │ Deal      │ Value   │ Rep    │ Stage    │ Prob     ││ 1/30    │ Acme Corp │ $15,000 │ Alice  │ Proposal │ 60%      ││ 1/29    │ Tech Inc  │ $8,500  │ Bob    │ Demo     │ 40%      ││ ...     │ ...       │ ...     │ ...    │ ...      │ ...      │└────────────────────────────────────────────────────────────────┘

Marketing Tracker

┌────────────────────────────────────────────────────────────────┐│                   MARKETING METRICS                            │├────────────────────────────────────────────────────────────────┤│ Channel     │ Spend    │ Leads │ CPL    │ Conv % │ Revenue   │├─────────────┼──────────┼───────┼────────┼────────┼───────────┤│ Google Ads  │ $5,000   │ 150   │ $33    │ 3.2%   │ $45,000   ││ Facebook    │ $3,000   │ 200   │ $15    │ 1.8%   │ $28,000   ││ LinkedIn    │ $2,500   │ 50    │ $50    │ 5.5%   │ $35,000   ││ Organic     │ $0       │ 300   │ $0     │ 2.1%   │ $52,000   │├─────────────┼──────────┼───────┼────────┼────────┼───────────┤│ TOTAL       │ $10,500  │ 700   │ $15    │ 2.8%   │ $160,000  │└────────────────────────────────────────────────────────────────┘
ROAS: 15.2xBest Channel: LinkedIn (highest conversion)Action: Increase LinkedIn budget by 20%

Formulas Reference

Common Automation Formulas

# Auto-status based on date=IF(C2<TODAY(), "OVERDUE", IF(C2=TODAY(), "DUE TODAY", "UPCOMING"))
# Days until due=DATEDIF(TODAY(), C2, "D")
# Auto-assign based on criteria=IFS(B2="Enterprise", "Alice", B2="Mid-Market", "Bob", TRUE, "Carol")
# Calculate conversion rate=IFERROR(D2/C2, 0)
# Running total=SUMIF($A$2:A2, "<="&A2, $B$2:B2)
# Conditional formatting trigger=AND($E2="High", $F2<TODAY())
# VLOOKUP from another sheet=VLOOKUP(A2, 'Reference Data'!$A:$C, 3, FALSE)
# Query for dashboard=QUERY(Data!A:F, "SELECT A, SUM(C) WHERE B='Closed Won' GROUP BY A")

Output Example

Request: "Set up automated task reminders from Google Sheets"

Output:

markdown
# Task Reminder System Setup
## Sheet Structure
Create a sheet named "Tasks" with these columns:
| A | B | C | D | E | F ||---|---|---|---|---|---|| Task | Assignee | Due Date | Priority | Status | Slack ID || Review proposal | Alice | 2026-01-31 | High | In Progress | U12345 || Update docs | Bob | 2026-02-01 | Medium | Todo | U67890 |
## Automation Workflow
```yamltrigger: Every 15 minutesactions:  1. Check for tasks due within 24 hours  2. Send Slack DM to assignee  3. Post daily summary at 6pm

Sample Reminders

Overdue Alert:

🚨 *OVERDUE*: Review proposalDue: Jan 29 (1 day ago)Priority: High
Please update status or mark complete.

Due Today:

⏰ *Due Today*: Update documentationPriority: Medium
You've got this! 💪

Daily Recap (6pm):

📋 *Daily Task Recap*
✅ Completed today: 5⏳ In Progress: 3🚨 Overdue: 1
Tomorrow's priorities:• Review proposal (High) - Alice• Client call prep (High) - Bob

Setup Steps

  1. Create Google Sheet with structure above
  2. Set up n8n workflow with Schedule trigger
  3. Connect Google Sheets and Slack nodes
  4. Test with sample tasks
  5. Activate workflow

Would you like the complete n8n workflow JSON?


---
*Sheets Automation Skill - Part of Claude Office Skills*

來源與署名

來源:claude-office-skills/skills位於sheets-automation提交9c4c7d5

授權條款: MIT

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架