Google SheetsとSlackを使った自動タスクアラートと日次サマリー
中級
これはPersonal Productivity, Multimodal AI分野の自動化ワークフローで、9個のノードを含みます。主にIf, Cron, Slack, GoogleSheetsなどのノードを使用。 Google SheetsとSlackを使った自動化作業リマインダーと日次サマリー
前提条件
- •Slack Bot Token または Webhook URL
- •Google Sheets API認証情報
使用ノード (9)
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"meta": {
"instanceId": "f01290caa6c024522b0ed5bb2d09cea02bb113d8970b898b340ca3d74255326e",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "6173c474-bdf3-4066-a7f3-0d6aa59c4a96",
"name": "開始: Cronトリガー",
"type": "n8n-nodes-base.cron",
"notes": "Runs every 15 minutes to check tasks in Google Sheets.",
"position": [
-288,
176
],
"parameters": {},
"typeVersion": 1
},
{
"id": "ad92e170-65ed-41a3-909d-063c1d02bdd7",
"name": "Google Sheetsからタスクを取得",
"type": "n8n-nodes-base.googleSheets",
"notes": "Reads all tasks from the `Tasks` sheet.",
"position": [
-32,
176
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "id",
"value": "={{ SHEET_TAB }}"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "={{{GOOGLE_SHEET_WORKSHEET}}}"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "GOOGLE_SHEET_ID",
"name": "YOUR_GOOGLE_SHEET_ACCOUNT"
}
},
"typeVersion": 3
},
{
"id": "126d822b-85b2-4c5c-87e1-6d759d9bf2b8",
"name": "タスク期限を確認",
"type": "n8n-nodes-base.if",
"notes": "Checks if task is due within the next 30 minutes.",
"position": [
224,
176
],
"parameters": {
"conditions": {
"dateTime": [
{
"value1": "={{$json[\"Due Date\"]}}",
"value2": "={{$now.plus({ minutes: 30 }).format('yyyy-MM-dd hh:mm')}}",
"operation": "before"
}
]
}
},
"typeVersion": 1
},
{
"id": "2a958536-cb0a-4a01-a1e0-4253a474c2b1",
"name": "最終リマインダー送信日を更新",
"type": "n8n-nodes-base.googleSheets",
"notes": "Updates the `Last Reminder Sent` column in Sheets to avoid duplicate reminders.",
"position": [
464,
272
],
"parameters": {
"options": {},
"fieldsUi": {
"values": [
{
"column": "Last Reminder Sent",
"fieldValue": "={{ $now.format('yyyy-MM-dd HH:mm') }}"
}
]
},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{GOOGLE_SHEET_ID}}/edit#gid=0",
"cachedResultName": "Tasks"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "={{GID}}"
},
"valueToMatchOn": "={{ $json[\"Task ID\"] }}",
"columnToMatchOn": "Task ID"
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "GOOGLE_SHEET_ID",
"name": "YOUR_GOOGLE_SHEET_ACCOUNT"
}
},
"typeVersion": 3
},
{
"id": "c43df2f4-ec79-4b57-ac57-30ca2d822cfe",
"name": "日次サマリートリガー",
"type": "n8n-nodes-base.cron",
"notes": "Triggers daily recap at 6 PM.",
"position": [
-288,
480
],
"parameters": {},
"typeVersion": 1
},
{
"id": "0171cb17-54c7-4dd4-8243-ed97a9237bd4",
"name": "完了タスクを取得",
"type": "n8n-nodes-base.googleSheets",
"notes": "Reads all tasks for recap.",
"position": [
-64,
480
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{GOOGLE_SHEET_ID}}/edit#gid=0",
"cachedResultName": "Tasks"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "17vTZDnZ_37_xlgs-RB_ekIhLi_c-2rpXOI5BaomD0k8",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{GOOGLE_SHEET_ID}}/edit?usp=drivesdk",
"cachedResultName": "Productivity & Time Tracking Sheet"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "GOOGLE_SHEET_ID",
"name": "YOUR_GOOGLE_SHEET_ACCOUNT"
}
},
"typeVersion": 3
},
{
"id": "f852d299-3f23-4755-aaa6-e16745925160",
"name": "Slackリマインダーを送信",
"type": "n8n-nodes-base.slack",
"position": [
464,
96
],
"webhookId": "f775ed72-9f3a-4ffc-bdfc-ba464037cdb1",
"parameters": {
"text": "=⚡ Reminder: Task *{{$json[\"Task Name\"]}}* is due at {{$json[\"Due Date\"]}}.|Reason: {{$json[\"Why it matters\"]}}",
"select": "channel",
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "SLACK_ID",
"name": "YOUR_SLACK"
}
},
"typeVersion": 2.3
},
{
"id": "55101bb4-a1ec-490b-b3f6-a5969e4512c0",
"name": "Slackリマインダー1を送信",
"type": "n8n-nodes-base.slack",
"position": [
160,
480
],
"webhookId": "f775ed72-9f3a-4ffc-bdfc-ba464037cdb1",
"parameters": {
"text": "=📊 Daily Recap:\nCompleted tasks today: {{ ($json[\"Status\"] || \"\").match(/Completed/g)?.length || 0 }}\nPending tasks: {{ ($json[\"Status\"] || \"\").match(/In Progress|Not Started/g)?.length || 0 }}",
"select": "channel",
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "SLACK_ID",
"name": "YOUR_SLACK"
}
},
"typeVersion": 2.3
},
{
"id": "7ab80956-b706-428d-b152-26cc9738eddd",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1392,
-304
],
"parameters": {
"width": 960,
"height": 1504,
"content": "# 📝 Rize Lite – Google Sheets + Slack Productivity Tracker\n\n## ⚙️ Workflow Setup\n\n### Google Sheets\n1. Create a Google Sheet with two tabs:\n - **Tasks** (main tracker)\n | Task ID | Task Name | Assigned To | Start Time | End Time | Duration (mins) | Due Date | Status | Last Reminder Sent | Why it matters |\n - **Reflections** (optional daily logs)\n | Date | Productivity Score | Focus Rating (1–10) | Completed Tasks | Overdue Tasks | Notes |\n\n2. Fill in tasks with:\n - `Task ID`: unique identifier (e.g., 1, 2, 3…).\n - `Due Date`: in `yyyy-MM-dd HH:mm` format.\n - `Status`: `Not Started`, `In Progress`, or `Completed`.\n - `Why it matters`: short motivation/goal behind the task.\n\n### Slack\n- Connect your Slack workspace to n8n.\n- Set the target channel where reminders and recaps will be sent.\n- Replace `{{SLACK_CHANNEL}}` with your channel name or ID.\n\n### n8n Workflow\n- **Start: Cron Trigger** → runs every 15 minutes to check upcoming tasks.\n- **Fetch Tasks from Google Sheets** → pulls tasks list from the `Tasks` sheet.\n- **Check Task Deadlines (IF Node)** → identifies tasks due in the next 30 minutes.\n- **Send a Slack Reminder** → posts reminders with task name, due date, and reason.\n- **Update Last Reminder Sent** → stamps the timestamp to avoid duplicate pings.\n- **Daily Recap Trigger (Cron)** → runs daily at 6 PM.\n- **Fetch Completed Tasks** → pulls updated tasks from the sheet.\n- **Send Daily Recap (Slack)** → posts a daily summary with completed vs pending tasks.\n\n---\n\n## ✅ Benefits\n\n- **Zero-Cost Productivity System** \n Replaces paid tools like Rize using only free tools (Sheets + Slack + n8n).\n\n- **Simple Setup, Powerful Results** \n Google Sheets acts as the database, while Slack is the notification interface.\n\n- **Stay on Track** \n Automated reminders prevent missed deadlines and encourage task focus.\n\n- **Accountability** \n Daily recaps summarize progress, making it easier to reflect and improve.\n\n- **Customizable** \n Add weekly reviews, focus scores, or AI summaries without changing core logic.\n\n- **Team-Friendly** \n Expand to multiple users: each task assigned to a person can send them reminders individually.\n\n---\n\n## 📌 Use Cases\n\n- **Solo Productivity** → Stay consistent, track tasks, and build focus habits. \n- **Team Task Tracking** → Assign tasks in Google Sheets, reminders go to Slack channels. \n- **Project Management Lite** → No heavy SaaS tools, just Sheets + Slack automation. \n- **Self-Reflection & Growth** → Daily logs show trends, strengths, and areas for improvement. \n"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"c43df2f4-ec79-4b57-ac57-30ca2d822cfe": {
"main": [
[
{
"node": "0171cb17-54c7-4dd4-8243-ed97a9237bd4",
"type": "main",
"index": 0
}
]
]
},
"6173c474-bdf3-4066-a7f3-0d6aa59c4a96": {
"main": [
[
{
"node": "ad92e170-65ed-41a3-909d-063c1d02bdd7",
"type": "main",
"index": 0
}
]
]
},
"126d822b-85b2-4c5c-87e1-6d759d9bf2b8": {
"main": [
[
{
"node": "f852d299-3f23-4755-aaa6-e16745925160",
"type": "main",
"index": 0
}
],
[
{
"node": "2a958536-cb0a-4a01-a1e0-4253a474c2b1",
"type": "main",
"index": 0
}
]
]
},
"0171cb17-54c7-4dd4-8243-ed97a9237bd4": {
"main": [
[
{
"node": "55101bb4-a1ec-490b-b3f6-a5969e4512c0",
"type": "main",
"index": 0
}
]
]
},
"ad92e170-65ed-41a3-909d-063c1d02bdd7": {
"main": [
[
{
"node": "126d822b-85b2-4c5c-87e1-6d759d9bf2b8",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - 個人の生産性, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
AI と Apify を使って LinkedIn 投稿の要約を自動のに Slack に送信
AI と Apify で LinkedIn 投稿を自動まとめて Slack に送信
Code
Cron
Slack
+
Code
Cron
Slack
14 ノードZiad Adel
AI要約
Excel から仕事の申請を行い、申請ステータスを追跡
LinkedIn、Indeed、Google Sheetsを活用した自動求人情報応募とステータス追跡
If
Set
Cron
+
If
Set
Cron
24 ノードVipinW
個人の生産性
> GSheets CRM
Google スプレッドシートメール通知と時間追跡を使った自動 prospective客から顧客へのパイプライン
If
Set
Code
+
If
Set
Code
24 ノードZiad Adel
顧客管理
毎日誕生日祝賀(コードノード最終版)
NASA画像、GPT-4、Gmail、Slackを使用した自動太空テーマ誕生日メール
If
Code
Gmail
+
If
Code
Gmail
17 ノードYanagi Chinatsu
個人の生産性
アフォーム送信機+週次の感謝サマリー(ヘルス)v2
Notion、メール、Telegramを使って隔日の肯定メッセージと週次の感謝要約を送信
If
Set
Cron
+
If
Set
Cron
26 ノードShelly-Ann Davy
個人の生産性
ドイツのアパート検索ツールと自動申請(ノート付き)
自動ドイツ語アパート検索と申請:Immobilienscout24とGoogleサービスを統合
Set
Cron
Function
+
Set
Cron
Function
22 ノードAbbas Ali
個人の生産性
ワークフロー情報
難易度
中級
ノード数9
カテゴリー2
ノードタイプ5
作成者
Ziad Adel
@ziadadelAI Automation Growth Partner with 5 years of experience in the tech and hyper growing startups industry
外部リンク
n8n.ioで表示 →
このワークフローを共有