by Marth
How it works This automation helps revive expired property listings by: Reading listing data from a Google Sheet that tracks all properties. Filtering listings where the last_activity date is older than 30 days. Generating a personalized email using OpenAI (GPT-4) to re-engage the owner. Sending the email to the property owner using Gmail or SMTP. (Optional): Updating the listing's status to followed_up in the Sheet once the email is sent. This workflow ensures no opportunity is missed by proactively reactivating cold leads. Set Up Steps Prepare your Google Sheet Create a Google Sheet with these columns: title, owner_name, email, property_type, location, last_activity Fill in sample data for testing. Connect Google Sheets in n8n Add a Google Sheets node. Use the "Read Rows" operation to load the listing data. Filter listings inactive for 30+ days Use a Set node to convert last_activity to a Date. Add an IF node or Code node to check if the listing is older than 30 days. Generate email content with OpenAI Add an OpenAI node. Use dynamic input (e.g. owner name, property type) to create a follow-up message. Send the email Add a Gmail node or SMTP node to send the email to the property owner. (Optional) Update status Use a Google Sheets "Update Row" node to change the listing's status to followed_up. Test the full workflow Manually trigger the workflow or schedule it to run daily/weekly.
by Avkash Kakdiya
How it works: This project automatically verifies lead email addresses stored in Google Sheets using Hunter.io. It checks each email’s validity and writes back the results—including confidence scores, verification status, and metadata—so your outreach lists are always clean and reliable. This workflow runs daily, reads from a source sheet, verifies emails via API, and writes results into another sheet. No manual checking. No wasted leads. Step-by-step: Schedule Trigger:** The workflow is scheduled to run automatically once per day, but you can also run it manually when needed. Fetch Emails:** Reads emails from a Google Sheet (named Sheet1) with columns like Email, FirstName, LastName, and Company. Data Cleaning:** Filters out blank or invalid email formats before verification to save API usage. Hunter.io Verification:** Each email is passed to Hunter.io’s /email-verifier API, returning status (valid, invalid, risky), SMTP check, score (0–100), and disposable flag. Format Results:** The API response is converted into a human-readable summary like: ✅ Valid (96% confidence) or ❌ Invalid / Risky Write to Sheet:** The verified results are written back into your output Google Sheet—either appending new rows or updating existing ones. Setup instructions: Google Sheet:** Use a sheet named Sheet1 and ensure it includes these columns: Email, FirstName, LastName, Company. Hunter.io Key:** Sign up at hunter.io. Go to Dashboard → API → Copy your key In n8n, open the Email Verifier node → Create Credential → Paste your API key → Save
by Artur
What this workflow does Monitors Google Drive: The workflow triggers whenever a new CSV file is uploaded. Uses AI to Identify PII Columns: The OpenAI node analyzes the data and identifies PII-containing columns (e.g., name, email, phone). Removes PII: The workflow filters out these columns from the dataset. Uploads Cleaned File: The sanitized file is renamed and re-uploaded to Google Drive, ensuring the original data remains intact. How to customize this workflow to your needs Adjust PII Identification: Modify the prompt in the OpenAI node to align with your specific data compliance requirements. Include/Exclude File Types: Adjust the Google Drive Trigger settings to monitor specific file types (e.g., CSV only). Output Destination: Change the folder in Google Drive where the sanitized file is uploaded. Setup Prerequisites: A Google Drive account. An OpenAI API key. Workflow Configuration: Configure the Google Drive Trigger to monitor a folder for new files. Configure the OpenAI Node to connect with your API Set the Google Drive Upload folder to a different location than the Trigger folder to prevent workflow loops.
by Darien Kindlund
Do you consistently forget to set a Default Error Workflow when creating new workflows? Then this helper workflow is for you! When activated, this helper workflow will: Scan ALL other workflows every 4 hours Make sure ALL workflows have a default error workflow set (based on what Workflow ID you provide) This helper will SKIP OVER any workflows that have the default_error:false tag set (make sure your default error workflow has the default_error:false tag set, so that you don't end up with recursive loops during errors) Setup Nodes: Once imported, edit the Set Vars node with your default_error_workflow_id value. If you want to change the default_error:false tag to some other tag name, you can do so here as well. You need to update the Set Default Error Workflow node with your PostgreSQL credentials to access the n8n database.
by Corentin Ribeyre
This template can be used to verify email addresses with Icypeas. Be sure to have an active account to use this template. How it works This workflow can be divided into four steps : The workflow initiates with a manual trigger (On clicking ‘execute’). It reads your Google sheet file. It connects to your Icypeas account. It performs an HTTP request to search for the email addresses. Set up steps You will need a formated Google Sheet file with firstnames,lastnames and company/domain names. You will need a working icypeas account to run the workflow and get your API Key, API Secret and User ID. You will need a personn firstname, lastname and domain/company name to perform the search.
by Rudi Afandi
Description This n8n workflow enables users to send an image to a Telegram bot and receive the extracted text using Tesseract OCR (via the n8n-nodes-tesseractjs Community Node). It's a quick and straightforward way to convert images into readable text directly through chat. How it Works The workflow listens for new image messages coming in via the Telegram bot. Once an image is received, it downloads the image file from Telegram (which initially arrives as application/octet-stream). The image data, now properly identified, is then sent to the Tesseract OCR node to extract the text. Finally, the recognized text is sent back as a reply to the Telegram user. Setup Steps Install Community Node: Ensure you have installed n8n-nodes-tesseractjs in your n8n instance. Connect Telegram Bot: Configure the Telegram Trigger node with your Telegram bot. Bot Token: Add your Telegram bot token to the Send Message node to send replies. Deploy & Test: Activate (deploy) the workflow and send an image to your Telegram bot to test.
by Fan Luo
Daily Company News Bot This n8n template demonstrates how to use Free FinnHub API to retrieve the company news from a list stock tickers and post messages in Slack channel with a pre-scheduled time. How it works We firstly define the list of stock tickers you are interested Loop over items to call FinnHub API to get the latest company news for the ticker Then we format the company news as a markdown text content which could be sent to Slack Post a new message in Slack channel Wait for 5 seconds, then move to the next ticker How to use Simply setup a scheduler trigger to automatically trigger the workflow Requirements FinnHub API Key Slack channel webhook Need Help? Contact me via My Blog or ask in the Forum! Happy Hacking!
by Emad
This workflow automatically sends you a list of your daily meetings every morning via a Telegram bot. Use Cases: This workflow is useful for anyone who wants to be automatically informed of their daily meetings, especially for busy professionals, students, and anyone with a hectic schedule. Setup: Google Calendar connected to n8n A Telegram bot created and connected to n8n Your Telegram user ID specified Notes: You need to replace the placeholder in the Telegram node with your actual Telegram user ID. You can customize the formatting of the Telegram message in the JavaScript Code node.
by Tom
Markdown to Notion Blocks Converter Transform markdown-formatted text into properly structured Notion page content with this comprehensive workflow. Overview This workflow automatically converts markdown text into Notion's block format and inserts it directly into a Notion page. Perfect for content creators, documentation teams, and anyone who needs to migrate markdown content to Notion. Features Complete Markdown Support**: Handles headers (H1-H4), paragraphs, lists, quotes, code blocks, and horizontal rules Rich Text Formatting**: Preserves bold, italic, and link formatting Smart Text Processing**: Generates plain text excerpts and maintains original content structure Direct Notion Integration**: Automatically inserts converted blocks into your specified Notion page Batch Processing**: Efficiently handles large content blocks What It Does Takes markdown-formatted text as input Parses and converts it to Notion's block structure Handles complex formatting including: Headers and subheaders Bulleted and numbered lists Code blocks with syntax highlighting Blockquotes Bold and italic text Links Horizontal dividers Uploads the converted content directly to your Notion page Use Cases Content Migration**: Move existing markdown documentation to Notion Automated Publishing**: Convert blog posts or articles from markdown to Notion Documentation Workflows**: Streamline technical documentation processes Content Syndication**: Publish the same content across multiple platforms Requirements Notion API credentials Target Notion page ID Markdown-formatted source content Setup Configure your Notion API credentials Replace the page ID in the HTTP request node with your target Notion page Connect your markdown data source (replace the mock data node) Execute the workflow
by Yang
👤 Who is this for? This workflow is ideal for social media managers, personal brand strategists, ghostwriters, and founders who want to post regularly on LinkedIn without spending hours writing from scratch. It’s also useful for marketing agencies and assistants looking to automate consistent post creation using curated articles as source material. 🧩 What problem does this workflow solve? Manually reading multiple articles, extracting key insights, and writing a clean, professional LinkedIn post is a time-consuming process. This workflow automates everything: from pulling topics, finding related articles, summarizing them using AI, and even generating a matching image to accompany the post. It ensures faster content turnaround, more consistency, and less manual effort. 🔁 What this workflow does This workflow starts manually and retrieves one topic marked as “To do” from a Google Sheet. That topic is used as a search term for Dumpling AI’s search endpoint, which scrapes and returns the top three article contents related to the topic. These articles are sent to a LangChain agent powered by GPT-4o, which analyzes and summarizes the content into a LinkedIn post in a friendly, insightful tone. It also generates an image prompt for the post. After generating the post and image prompt, the data is extracted using a Set node. The prompt is sent to Dumpling AI’s image generation endpoint, which returns an image URL. Finally, the post text, image prompt, image URL, and status update (“created”) are saved back to the original row in Google Sheets. 🛠️ Workflow Breakdown Manual Trigger – Starts the automation. Google Sheets (Get Topic) – Searches for the first row in your content pipeline sheet where the “status” is “To do”. HTTP Request (Dumpling AI Search) – Uses the topic as a search query to pull 3 article contents using Dumpling AI’s API. Set LangChain GPT Model – Defines GPT-4o as the LLM for the LangChain Agent. LangChain Agent (Summarize & Generate) – Summarizes all 3 articles and generates a LinkedIn post and a related image prompt. Set (Extract Data) – Extracts postText and imagePrompt from the LangChain agent output. HTTP Request (Dumpling Image Gen) – Sends imagePrompt to Dumpling AI’s image generation endpoint. Update Google Sheets – Writes the post, image prompt, and image URL back to the sheet and changes the row status to “created”. ⚙️ Setup Instructions Dumpling AI Sign up at Dumpling AI Get your API key and connect it in the HTTP Request nodes (Search and Image endpoints) Use the /search endpoint to retrieve article content Use the /generate-image endpoint to create the image Google Sheets Create a spreadsheet with columns: topic, status, postText, imagePrompt, imageURL Add sample topics and set their status to To do LangChain (GPT-4o) Connect your OpenAI credentials to n8n Make sure GPT-4o is available in your OpenAI account Use the LangChain node to process multi-input summarization and generate a social media caption Customize the Prompt (Optional) Adjust the Set node to tweak the input format sent to the LangChain agent Add constraints like tone, hashtags, or emojis to fit your brand style 🧠 How to Customize This Workflow Change the content source (RSS feed, Notion DB, etc.) instead of Google Sheets Add a scheduler node to run this automatically every morning or weekly Use Airtable instead of Google Sheets for more control and filtering Send the final post to LinkedIn using the Buffer or LinkedIn API Add a Telegram or Slack notification when new content is ready for approval
by bangank36
This workflow converts an exported CSV from Squarespace profiles into a Shopify-compatible format for customer import. How It Works Clone this Google Sheets template, which includes two sheets: Squarespace Profiles (Input) Go to Squarespace Dashboard → Contacts Click the three-dot icon → Select Export all Contacts Shopify Customers (Output) This sheet formats the data to match Shopify's customer import CSV. Shopify Dashboard → Customers → Import customers by CSV The workflow can run on-demand or be triggered via webhook. Via webhook Set up webhook node to expect a POST request Trigger the webhook using this code (psuedo) - replace {webhook-url} with the actual URL const formData = new FormData(); formData.append('file', blob, 'profiles_export.csv'); // Add file to FormData fetch('{webhook-url}', { // Replace with your target URL method: 'POST', mode: 'no-cors', body: formData }); The data is processed into the Shopify Customers sheet. Manually trigger Import Squarespace profiles into the sheet. Run the workflow to convert and populate the Shopify Customers sheet. Once workflow is done, export the Shopify to csv and import to Shopify customers Requirements To use this template, you need: Google Sheets API credentials Google Sheets Setup Use this sample Google Sheets template to get started quickly. Who Is This For? For anyone looking to automate Squarespace contact exports into a Shopify-compatible format—no more manual conversion! Explore More Templates Check out my other n8n templates: 👉 n8n.io/creators/bangank36
by Ankur Pata
✨ What It Does Mello is a Claude-powered Slack assistant that helps you stay on top of unread messages across all your channels. It: Summarizes conversations contextually using Claude AI. Generates reply suggestions and sends them as private (ephemeral) Slack messages. Lets you respond instantly with one-click AI-suggested replies. Perfect for busy teams, founders, and anyone looking to reduce Slack noise and save hours each week. 🔧 Setup Instructions Create a Slack App Go to Slack API → Your Apps Click Create New App and set it up for your workspace Under OAuth & Permissions, add: Bot Token Scopes: commands, chat:write, channels:history, users:read User Token Scopes: channels:history, chat:write Enable Interactivity, and point the Request URL to your n8n webhook (e.g. /slash-summarize) Add Claude API Get an API key from Claude (Anthropic) In n8n, set up the Claude API credential (or switch to OpenAI) Import This Workflow Go to your n8n instance, click Import, and paste this template Update any placeholders (Slack app, Claude key, webhook URLs) Follow the inline sticky notes for guidance Test It Type /summarize in any Slack channel Mello will fetch unread messages, summarize them, and show reply buttons in a private message ⏱ Setup time: ~10 minutes 🛠 Workflow Highlights Slash command trigger (/summarize) Slack API integration to fetch messages Claude AI for contextual summaries Reply suggestions with smart buttons Private Slack delivery (ephemeral messages) Designed to be easily extended (e.g. add support for OpenAI, custom storage) 🔒 Note This is a lite preview of the full Mello workflow. ✅ The full version includes: Slack reply buttons with thread context Full OAuth flow with token storage MongoDB integration Custom Claude/OpenAI configuration Hosted version with onboarding, branding & support 💡 Want access to the complete version? 📩 Email nina@baloon.dev