Rappels de tâches et résumés quotidiens automatisés avec Google Sheets et Slack
Ceci est unPersonal Productivity, Multimodal AIworkflow d'automatisation du domainecontenant 9 nœuds.Utilise principalement des nœuds comme If, Cron, Slack, GoogleSheets. Rappels de tâches automatisés et résumé quotidien avec Google Sheets et Slack
- •Token Bot Slack ou URL Webhook
- •Informations d'identification Google Sheets API
Nœuds utilisés (9)
{
"meta": {
"instanceId": "f01290caa6c024522b0ed5bb2d09cea02bb113d8970b898b340ca3d74255326e",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "6173c474-bdf3-4066-a7f3-0d6aa59c4a96",
"name": "Start : Déclencheur 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": "Récupérer les tâches depuis 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": "Vérifier les échéances des tâches",
"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": "Mettre à jour le dernier rappel envoyé",
"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": "Déclencheur du récapitulatif quotidien",
"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": "Récupérer les tâches terminées",
"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": "Envoyer un rappel 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": "Envoyer un rappel Slack1",
"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": "Note autocollante",
"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
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Productivité personnelle, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Ziad Adel
@ziadadelAI Automation Growth Partner with 5 years of experience in the tech and hyper growing startups industry
Partager ce workflow