AutomationFlowsAI & RAG › Task Deadline Reminders with Google Sheets, Chatgpt, and Gmail

Task Deadline Reminders with Google Sheets, Chatgpt, and Gmail

ByYar Malik (Asfandyar) @yar on n8n.io

This template is for project managers, team leads, or anyone who wants to automatically remind teammates of tasks due today—no manual copy‑and‑paste required. Schedule Trigger runs every morning at 8 AM. Google Sheets node reads your “Tasks” sheet. If node filters rows where Due…

Cron / scheduled trigger★★☆☆☆ complexityAI-powered7 nodesGoogle SheetsOpenAIGmail
AI & RAG Trigger: Cron / scheduled Nodes: 7 Complexity: ★★☆☆☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #6335 — we link there as the canonical source.

This workflow follows the Gmail → Google Sheets recipe pattern — see all workflows that pair these two integrations.

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
{
  "id": "6D4OcntV18Okzk0L",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Deadline Reminder Bot",
  "tags": [],
  "nodes": [
    {
      "id": "3e1e6a13-1d58-4ce1-917c-facf8de988ef",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -920,
        -40
      ],
      "parameters": {
        "color": 6,
        "width": 1480,
        "height": 520,
        "content": "Deadline Reminder Bot\n\nThis workflow will:\n\n\ud83d\udcc5 Check for tasks due today \u2192 \ud83e\udde0 Summarize using OpenAI \u2192 \ud83d\udce7 Send personalized reminder to each person\n"
      },
      "typeVersion": 1
    },
    {
      "id": "0d4ce22a-af27-493f-a3f3-60cc4159b80c",
      "name": "Schedule Trigger1",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -860,
        220
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "ad804a56-f16b-49f3-8a08-67f77036e98e",
      "name": "Get row(s) in sheet1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -660,
        220
      ],
      "parameters": {
        "options": {},
        "sheetName": "YOUR_SHEET_NAME",
        "documentId": "YOUR_SHEET_ID"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "f01c9f74-1ea7-4a1e-96bb-6cc47fc767f8",
      "name": "If1",
      "type": "n8n-nodes-base.if",
      "position": [
        -440,
        220
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "a7+1234567890-adeb-5c1fabfe206b",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json['Due Date'] }}",
              "rightValue": "={{ $now.format('yyyy-MM-dd') }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "09c04680-a24a-47fd-81a4-0294c0fb1393",
      "name": "Summarize1",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -180,
        140
      ],
      "parameters": {
        "options": {
          "outputFormat": "separateItems"
        },
        "fieldsToSplitBy": "Assignee",
        "fieldsToSummarize": {
          "values": [
            {
              "field": "Task"
            },
            {
              "field": "Task",
              "aggregation": "append"
            },
            {
              "field": "Email",
              "aggregation": "min"
            },
            {
              "field": "Status",
              "aggregation": "append"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "dd85219d-245e-4c62-9bb2-336a72e86498",
      "name": "Message a model1",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        0,
        140
      ],
      "parameters": {
        "modelId": "chatgpt-4o-latest",
        "options": {},
        "messages": {
          "values": [
            {
              "role": "assistant",
              "content": "=You are a productivity assistant. Write a short task summary email for {{ $json[\"Assignee\"] }}.\nalso write to and put their email {{ $json.min_Email }} into it.\nHere are their tasks due today:{{ $json.appended_Task }}\nStatuses:{{ $json.appended_Status }}\nMake it clear, professional, and motivating.\n"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "b21439e6-67c4-4550-9315-cb0e8757a267",
      "name": "Send a message1",
      "type": "n8n-nodes-base.gmail",
      "position": [
        340,
        140
      ],
      "parameters": {
        "sendTo": "={{ $json.message.content.to }}",
        "message": "={{ $json.message.content.body }}",
        "options": {},
        "subject": "={{ $json.message.content.subject }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "d70e8a4a-3faf-4ac8-8127-09473d053254",
  "connections": {
    "If1": [
      [
        {
          "node": "Summarize1",
          "type": "main",
          "index": 0
        }
      ]
    ],
    "Summarize1": [
      [
        {
          "node": "Message a model1",
          "type": "main",
          "index": 0
        }
      ]
    ],
    "Message a model1": [
      [
        {
          "node": "Send a message1",
          "type": "main",
          "index": 0
        }
      ]
    ],
    "Schedule Trigger1": [
      [
        {
          "node": "Get row(s) in sheet1",
          "type": "main",
          "index": 0
        }
      ]
    ],
    "Get row(s) in sheet1": [
      [
        {
          "node": "If1",
          "type": "main",
          "index": 0
        }
      ]
    ]
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

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

About this workflow

This template is for project managers, team leads, or anyone who wants to automatically remind teammates of tasks due today—no manual copy‑and‑paste required. Schedule Trigger runs every morning at 8 AM. Google Sheets node reads your “Tasks” sheet. If node filters rows where Due…

Source: https://n8n.io/workflows/6335/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

Personalized Outreach & Follow-Up - Phase 2. Uses googleSheets, openAi, gmail, gmailTrigger. Scheduled trigger; 59 nodes.

Google Sheets, OpenAI, Gmail +2
AI & RAG

This advanced workflow automates brand monitoring and media coverage tracking for musicians, bands, and music labels. The system uses multiple search queries (dorky) to discover mentions across the we

Google Sheets, Gmail, @Brave/N8N Nodes Brave Search +1
AI & RAG

Stop wasting billable hours on manual time-tracking. AutoTimesheet Pro uses AI to collect emails, meetings, and GitHub work, then writes a clean timesheet straight into Google Sheets. Perfect for deve

Google Calendar, Gmail, GitHub +3
AI & RAG

This workflow finds local business leads on Google Maps, enriches them with website and AI analysis, and sends personalized cold emails to qualified prospects automatically.

@Decodo/N8N Nodes Decodo, Google Sheets, OpenAI +1
AI & RAG

Imagine a dedicated financial expert tirelessly working behind the scenes, sifting through every transaction, every investment move, and every accounting entry. That's exactly what this automated syst

HTTP Request, Google Sheets, OpenAI +3