Extract Email Tasks with Gmail, ChatGPT-4o and Supabase
Last edited 133 days ago
📩 Gmail → GPT → Supabase | Task Extractor
This n8n workflow automates the extraction of actionable tasks from unread Gmail messages using OpenAI's GPT API, stores the resulting task metadata in Supabase, and avoids re-processing previously handled emails.
✅ What It Does
- Triggers on a schedule to check for unread emails in your Gmail inbox.
- Loops through each email individually using
SplitInBatches. - Checks Supabase to see if the email has already been processed.
- If it's a new email:
- Formats the email content into a structured GPT prompt
- Calls ChatGPT-4o to extract structured task data
- Inserts the result into your
emailstable in Supabase
🧰 Prerequisites
Before using this workflow, you must have:
-
An active n8n Cloud or self-hosted instance
-
A connected Gmail account with OAuth credentials in n8n
-
A Supabase project with an
emailstable and:ALTER TABLE emails ADD CONSTRAINT unique_email_id UNIQUE (email_id); -
An OpenAI API key with access to GPT-4o or GPT-3.5-turbo
🔐 Required Credentials
Name
Type
Description
Gmail OAuth
Gmail
To pull unread messages
OpenAI API Key
OpenAI
To generate task summaries
Supabase API
HTTP
For inserting rows via REST API
🔁 Environment Variables or Replacements
Supabase_TaskManagement_URI→ e.g.,https://your-project.supabase.coSupabase_TaskManagement_ANON_KEY→ Your Supabase anon key
These are used in the HTTP request to Supabase.
⏰ Scheduling / Trigger
- Triggered using a Schedule node
- Default: every X minutes (adjust to your preference)
- Uses a Gmail API filter: unread emails with label = INBOX
🧠 Intended Use Case
Designed for productivity-minded professionals who want to extract, summarize, and store actionable tasks from incoming email — without processing the same email twice or wasting GPT API credits.
This is part of a larger system integrating GPT, calendar scheduling, and optional task platforms (like ClickUp).
📦 Output (Stored in Supabase)
Each processed email includes:
email_idsubjectsenderreceived_atbody(email snippet)gpt_summary(structured task)requires_deep_work(from GPT logic)deleted(initially false)
You may also like
New to n8n?
Need help building new n8n workflows? Process automation for you or your company will save you time and money, and it's completely free!





