Automatic Gmail unsubscribe detection with AI and Google Sheets contact management
Automatically detect unsubscribe replies in your outreach emails and clean your Google Sheets contact list; keeping your domain reputation and deliverability strong.
🎯 Who it’s for
This template is designed for freelancers, lead generation specialists, and outreach managers; particularly those running email outreach campaigns for clients or personal lead-gen projects.
If you send cold emails, manage multiple lead lists, or handle outreach at scale, this workflow helps you automatically manage unsubscribe requests to maintain healthy email deliverability and protect your domain reputation.
⚙️ How it works
- Trigger: The workflow starts when a new reply is received in your Gmail inbox.
- Intent Detection: The email text is analyzed using OpenAI to detect unsubscribe intent (“unsubscribe”, “remove me”, “opt out”, etc.).
- Normalization & Filtering: A Code node verifies the AI output for accuracy and ensures the result is standardized as either
"unsubscribe"or"keep". - Check & Update Sheets:
- If the contact requested removal, the workflow checks your Unsubscribe Sheet to see if they’re already listed.
- If not, the contact is added to the Unsubscribe Sheet and simultaneously removed from your Main Outreach Sheet.
- Optional Gmail Label: Adds an “Unsubscribe” tag in Gmail for quick visual tracking (optional customization).
🧩 Requirements
To run this workflow, you’ll need:
- Gmail Credentials → for reading incoming replies and applying labels.
- Google Sheets Credentials → to manage both the “Main” and “Unsubscribe” spreadsheets.
- OpenAI API Key → used for detecting unsubscribe intent from message text.
All credentials can be added through the n8n Credentials Manager.
🧠 How to Customize
- Polling Time: Adjust how often the Gmail Trigger checks for new replies (default: every 5 minutes).
- Sheets: Replace the linked Google Sheets IDs with your own. You can change sheet names and columns freely.
- Intent Rules: Modify the Code node to include additional unsubscribe phrases or alternate keywords.
- Optional Gmail Tagging: Enable or disable tagging for unsubscribed messages.
- Secondary Validation: Enable the second “If” check after the OpenAI node to double-confirm unsubscribe intent before moving contacts.
💡 Why this workflow matters
By automatically managing unsubscribe requests, you:
- Respect recipients’ opt-out preferences
- Reduce spam complaints
- Protect your domain reputation and increase deliverability
- Save hours of manual list cleaning
This is a must-have automation for anyone running cold email outreach, especially freelancers managing multiple client inboxes.
🪄 Quick Setup Tips
- Replace all
"Gmail account"and"Google Service Account account"credential references with your actual credentials. - Ensure your sheet has an EMAIL column for lookup.
- Test with a few mock replies before activating for production.
- Optional: Add a time-based trigger to run the sheet cleanup periodically.
Automatic Gmail Unsubscribe Detection with AI and Google Sheets Contact Management
This n8n workflow automates the process of identifying potential unsubscribe emails in your Gmail inbox, extracting relevant information using AI, and managing these contacts in a Google Sheet. It helps you keep track of senders you might want to unsubscribe from, without manually sifting through every email.
What it does
- Monitors Gmail: Continuously checks your Gmail inbox for new emails.
- Analyzes Email Content with AI: Uses an OpenAI Chat Model to analyze the content of each new email, specifically looking for indicators that the email is from a sender you might want to unsubscribe from (e.g., promotional content, newsletters).
- Filters based on AI Analysis: An "If" node evaluates the AI's output. If the AI determines the email is a potential unsubscribe candidate, the workflow proceeds.
- Extracts Key Information: A "Code" node processes the email and AI output to extract the sender's email address and potentially other relevant details.
- Manages Contacts in Google Sheets: Appends the extracted sender information (email, and potentially other details) to a designated Google Sheet, creating a centralized list of potential unsubscribe contacts.
- No Operation (False Path): If the AI does not identify the email as a potential unsubscribe candidate, the workflow takes a "No Operation" path, effectively doing nothing further with that email.
Prerequisites/Requirements
- n8n Instance: A running n8n instance (self-hosted or cloud).
- Gmail Account: A Gmail account connected as a credential in n8n.
- OpenAI API Key: An OpenAI API key configured as a credential in n8n for the "OpenAI Chat Model" node.
- Google Sheets Account: A Google Sheets account connected as a credential in n8n.
- Google Sheet: A pre-existing Google Sheet where the unsubscribe contacts will be stored. You'll need to specify the spreadsheet ID and sheet name in the "Google Sheets" node.
Setup/Usage
- Import the Workflow: Import the provided JSON into your n8n instance.
- Configure Credentials:
- Set up your Gmail Account credential.
- Set up your OpenAI API Key credential.
- Set up your Google Sheets Account credential.
- Configure Gmail Trigger:
- Select your Gmail credential.
- Specify the folder to watch (e.g., "INBOX").
- Adjust the "Check Interval" as needed.
- Configure OpenAI Chat Model:
- Select your OpenAI credential.
- Review and adjust the prompt to guide the AI in identifying unsubscribe candidates. The current prompt should be designed to extract relevant information or classify emails.
- Configure Code Node:
- Review the JavaScript code to ensure it correctly extracts the desired information (e.g., sender email) from the Gmail and OpenAI node outputs. You might need to adjust the paths based on your specific AI output.
- Configure If Node:
- Ensure the conditions in the "If" node accurately evaluate the output from the "Basic LLM Chain" (OpenAI) node to determine if an email is a potential unsubscribe candidate.
- Configure Google Sheets Node:
- Select your Google Sheets credential.
- Enter the Spreadsheet ID of your target Google Sheet.
- Enter the Sheet Name where the data will be appended.
- Map the data from the previous "Code" node to the correct columns in your Google Sheet (e.g.,
{{ $json.senderEmail }}to an "Email" column).
- Activate the Workflow: Once configured, activate the workflow to start monitoring your Gmail inbox.
Related Templates
AI multi-agent executive team for entrepreneurs with Gemini, Perplexity and WhatsApp
This workflow is an AI-powered multi-agent system built for startup founders and small business owners who want to automate decision-making, accountability, research, and communication, all through WhatsApp. The “virtual executive team,” is designed to help small teams to work smarter. This workflow sends you market analysis, market and sales tips, It can also monitor what your competitors are doing using perplexity (Research agent) and help you stay a head, or make better decisions. And when you feeling stuck with your start-up accountability director is creative enough to break the barrier 🎯 Core Features 🧑💼 1. President (Super Agent) Acts as the main controller that coordinates all sub-agents. Routes messages, assigns tasks, and ensures workflow synchronization between the AI Directors. 📊 2. Sales & Marketing Director Uses SerpAPI to search for market opportunities, leads, and trends. Suggests marketing campaigns, keywords, or outreach ideas. Can analyze current engagement metrics to adjust content strategy. 🕵️♀️ 3. Business Research Director Powered by Perplexity AI for competitive and market analysis. Monitors competitor moves, social media engagement, and product changes. Provides concise insights to help the founder adapt and stay ahead. ⏰ 4. Accountability Director Keeps the founder and executive team on track. Sends motivational nudges, task reminders, and progress reports. Promotes consistency and discipline — key traits for early-stage success. 🗓️ 5. Executive Secretary Handles scheduling, email drafting, and reminders. Connects with Google Calendar, Gmail, and Sheets through OAuth. Automates follow-ups, meeting summaries, and notifications directly via WhatsApp. 💬 WhatsApp as the Main Interface Interact naturally with your AI team through WhatsApp Business API. All responses, updates, and summaries are delivered to your chat. Ideal for founders who want to manage operations on the go. ⚙️ How It Works Trigger: The workflow starts from a WhatsApp Trigger node (via Meta Developer Account). Routing: The President agent analyzes the incoming message and determines which Director should handle it. Processing: Marketing or sales queries go to the Sales & Marketing Director. Research questions are handled by the Business Research Director. Accountability tasks are assigned to the Accountability Director. Scheduling or communication requests are managed by the Secretary. Collaboration: Each sub-agent returns results to the President, who summarizes and sends the reply back via WhatsApp. Memory: Context is maintained between sessions, ensuring personalized and coherent communication. 🧩 Integrations Required Gemini API – for general intelligence and task reasoning Supabase- for RAG and postgres persistent memory Perplexity API – for business and competitor analysis SerpAPI – for market research and opportunity scouting Google OAuth – to connect Sheets, Calendar, and Gmail WhatsApp Business API – for message triggers and responses 🚀 Benefits Acts like a team of tireless employees available 24/7. Saves time by automating research, reminders, and communication. Enhances accountability and strategy consistency for founders. Keeps operations centralized in a simple WhatsApp interface. 🧰 Setup Steps Create API credentials for: WhatsApp (via Meta Developer Account) Gemini, Perplexity, and SerpAPI Google OAuth (Sheets, Calendar, Gmail) Create a supabase account at supabase Add the credentials in the corresponding n8n nodes. Customize the system prompts for each Director based on your startup’s needs. Activate and start interacting with your virtual executive team on WhatsApp. Use Case You are a small organisation or start-up that can not afford hiring; marketing department, research department and secretar office, then this workflow is for you 💡 Need Customization? Want to tailor it for your startup or integrate with CRM tools like Notion or HubSpot? You can easily extend the workflow or contact the creator for personalized support. Consider adjusting the system prompt to suite your business
🎓 How to transform unstructured email data into structured format with AI agent
This workflow automates the process of extracting structured, usable information from unstructured email messages across multiple platforms. It connects directly to Gmail, Outlook, and IMAP accounts, retrieves incoming emails, and sends their content to an AI-powered parsing agent built on OpenAI GPT models. The AI agent analyzes each email, identifies relevant details, and returns a clean JSON structure containing key fields: From – sender’s email address To – recipient’s email address Subject – email subject line Summary – short AI-generated summary of the email body The extracted information is then automatically inserted into an n8n Data Table, creating a structured database of email metadata and summaries ready for indexing, reporting, or integration with other tools. --- Key Benefits ✅ Full Automation: Eliminates manual reading and data entry from incoming emails. ✅ Multi-Source Integration: Handles data from different email providers seamlessly. ✅ AI-Driven Accuracy: Uses advanced language models to interpret complex or unformatted content. ✅ Structured Storage: Creates a standardized, query-ready dataset from previously unstructured text. ✅ Time Efficiency: Processes emails in real time, improving productivity and response speed. *✅ Scalability: Easily extendable to handle additional sources or extract more data fields. --- How it works This workflow automates the transformation of unstructured email data into a structured, queryable format. It operates through a series of connected steps: Email Triggering: The workflow is initiated by one of three different email triggers (Gmail, Microsoft Outlook, or a generic IMAP account), which constantly monitor for new incoming emails. AI-Powered Parsing & Structuring: When a new email is detected, its raw, unstructured content is passed to a central "Parsing Agent." This agent uses a specified OpenAI language model to intelligently analyze the email text. Data Extraction & Standardization: Following a predefined system prompt, the AI agent extracts key information from the email, such as the sender, recipient, subject, and a generated summary. It then forces the output into a strict JSON structure using a "Structured Output Parser" node, ensuring data consistency. Data Storage: Finally, the clean, structured data (the from, to, subject, and summarize fields) is inserted as a new row into a specified n8n Data Table, creating a searchable and reportable database of email information. --- Set up steps To implement this workflow, follow these configuration steps: Prepare the Data Table: Create a new Data Table within n8n. Define the columns with the following names and string type: From, To, Subject, and Summary. Configure Email Credentials: Set up the credential connections for the email services you wish to use (Gmail OAuth2, Microsoft Outlook OAuth2, and/or IMAP). Ensure the accounts have the necessary permissions to read emails. Configure AI Model Credentials: Set up the OpenAI API credential with a valid API key. The workflow is configured to use the model, but this can be changed in the respective nodes if needed. Connect the Nodes: The workflow canvas is already correctly wired. Visually confirm that the email triggers are connected to the "Parsing Agent," which is connected to the "Insert row" (Data Table) node. Also, ensure the "OpenAI Chat Model" and "Structured Output Parser" are connected to the "Parsing Agent" as its AI model and output parser, respectively. Activate the Workflow: Save the workflow and toggle the "Active" switch to ON. The triggers will begin polling for new emails according to their schedule (e.g., every minute), and the automation will start processing incoming messages. --- Need help customizing? Contact me for consulting and support or add me on Linkedin.
IT ops AI SlackBot workflow - chat with your knowledge base
Video Demo: Click here to see a video of this workflow in action. Summary Description: The "IT Department Q&A Workflow" is designed to streamline and automate the process of handling IT-related inquiries from employees through Slack. When an employee sends a direct message (DM) to the IT department's Slack channel, the workflow is triggered. The initial step involves the "Receive DMs" node, which listens for new messages. Upon receiving a message, the workflow verifies the webhook by responding to Slack's challenge request, ensuring that the communication channel is active and secure. Once the webhook is verified, the workflow checks if the message sender is a bot using the "Check if Bot" node. If the sender is identified as a bot, the workflow terminates the process to avoid unnecessary actions. If the sender is a human, the workflow sends an acknowledgment message back to the user, confirming that their query is being processed. This is achieved through the "Send Initial Message" node, which posts a simple message like "On it!" to the user's Slack channel. The core functionality of the workflow is powered by the "AI Agent" node, which utilizes the OpenAI GPT-4 model to interpret and respond to the user's query. This AI-driven node processes the text of the received message, generating an appropriate response based on the context and information available. To maintain conversation context, the "Window Buffer Memory" node stores the last five messages from each user, ensuring that the AI agent can provide coherent and contextually relevant answers. Additionally, the workflow includes a custom Knowledge Base (KB) tool (see that tool template here) that integrates with the AI agent, allowing it to search the company's internal KB for relevant information. After generating the response, the workflow cleans up the initial acknowledgment message using the "Delete Initial Message" node to keep the conversation thread clean. Finally, the generated response is sent back to the user via the "Send Message" node, providing them with the information or assistance they requested. This workflow effectively automates the IT support process, reducing response times and improving efficiency. To quickly deploy the Knowledge Ninja app in Slack, use the app manifest below and don't forget to replace the two sample urls: { "display_information": { "name": "Knowledge Ninja", "description": "IT Department Q&A Workflow", "background_color": "005e5e" }, "features": { "bot_user": { "display_name": "IT Ops AI SlackBot Workflow", "always_online": true } }, "oauth_config": { "redirect_urls": [ "Replace everything inside the double quotes with your slack redirect oauth url, for example: https://n8n.domain.com/rest/oauth2-credential/callback" ], "scopes": { "user": [ "search:read" ], "bot": [ "chat:write", "chat:write.customize", "groups:history", "groups:read", "groups:write", "groups:write.invites", "groups:write.topic", "im:history", "im:read", "im:write", "mpim:history", "mpim:read", "mpim:write", "mpim:write.topic", "usergroups:read", "usergroups:write", "users:write", "channels:history" ] } }, "settings": { "event_subscriptions": { "request_url": "Replace everything inside the double quotes with your workflow webhook url, for example: https://n8n.domain.com/webhook/99db3e73-57d8-4107-ab02-5b7e713894ad", "bot_events": [ "message.im" ] }, "orgdeployenabled": false, "socketmodeenabled": false, "tokenrotationenabled": false } }