Skip to content
FlowHubFluxonLab
B
AI Automationfree

Auto-label incoming Gmail messages with AI nodes

by Oskaradapted from n8n official workflow galleryUpdated Aug 2026
RequiresBBasic LLM ChainGmailGmailOpenAI Chat ModelOpenAI Chat ModelStructured Output ParserStructured Output Parser
Share Post Share
Gmail triggerGet message contentGet message con…CLAssign labels for messageAssign labels f…OpenAI ChatOPJSON ParserSeSet label valuesGet all labelsSOSplit out assigned labelsSplit out assig…MeMerge corresponding labelsMerge correspon…AgAggregate label IDsAggregate label…Add labels to messageAdd labels to m…1234567891011
1/5
STEPS · 11
Starts on a Gmail event

This workflow uses AI to analyze the content of every new message in Gmail and then assigns specific labels, according to the context of the email. Default configuration of the workflow includes 3 labels: „Partnership” - email about sponsored content or cooperation, „Inquiry” - email about products, services, „Notification” - email that doesn't require response. You can add or edit labels and descriptions according to your use case. 🎬 See this workflow in action in my YouTube video about automating Gmail. How it works? Gmail trigger performs polling every minute for new messages (you can change the trigger interval according to your needs). The email content is then downloaded and forwarded to an AI chain. 💡 The prompt in the AI chain node includes instructions for applying labels according to the email content - change label names and instructions to fit your use case. Next, the workflow retrieves all labels from the Gmail account and compares them with the label names returned from the AI chain. Label IDs are aggregated and applied to processed email messages. ⚠️ Label names in the Gmail account and workflow (prompt, JSON schema) must be the same.

Tags

n8nreference-onlychain-llmgmaillm-chat-open-aioutput-parser-structured
Connects
BBasic LLM ChaingmailGmailopenaichatmodelOpenAI Chat ModelstructuredoutputparserStructured Output Parser
CategoryAI Automation
Triggermanual
Complexitycomplex
Nodes11
AddedMar 27, 2024

Related workflows

See all AI Automation
autofixingoutputparserBopenaichatmodelstructuredoutputparser
free

Force AI to use a specific output format

This workflow is for anyone looking to automatically fetch, validate, and parse complex language-based queries into a structured format. Its unique capability lies in not only processing language but also fixing invalid outputs before structuring them. Note that to use this template, you need to be on n8n version 1.19.4 or later.

by n8n Team
ACDgmail
free

AI: Summarize podcast episode and enhance using Wikipedia

The workflow automates the process of creating a summarized and enriched podcast digest, which is then sent via email. Note that to use this template, you need to be on n8n version 1.19.4 or later.

by n8n Team
BCgooglecalendaropenaichatmodel
free

Schedule weekly focus-time blocks with Google Calendar, OpenAI, and Slack

Quick overview This workflow runs every Sunday at 18:00 to scan your Google Calendar for next week, find free gaps of at least two hours within your working hours, auto-book them as “🧘 Focus Time” events, and then DM you a personalized deep-work plan in Slack using OpenAI. How it works Runs every Sunday at 18:00 on a schedule. Loads your working-hour preferences and fetches all events from your Google Calendar. Calculates weekday-only free gaps within your working hours and keeps only gaps that meet the minimum block length. If no qualifying gap exists, sends you a Slack DM warning that next week is too fragmented for a focus block. If gaps exist, limits the number of blocks for the week and creates “🧘 Focus Time (protected by n8n)” events in Google Calendar for each selected slot. Uses OpenAI to generate a short, personal Slack message that lists the protected blocks and suggests what kind of work fits each. Sends the generated deep-work plan to you as a Slack DM. Setup Add Google Calendar credentials, select the calendar to read from and the calendar to create “🧘 Focus Time” events in. Add Slack credentials and set your target Slack username in both the plan DM and warning mes

by kenta