by Lorena
This workflow detects toxic language (such as profanity, insults, threats) in messages sent via Telegram. This blog tutorial explains how to configure the workflow nodes step-by-step. Telegram Trigger: triggers the workflow when a new message is sent in a Telegram chat. Google Perspective: analyzes the text of the message and returns a probability value between 0 and 1 of how likely it is that the content is toxic. IF: filters messages with a toxic probability value above 0.7. Telegram: sends a message in the chat with the text "I don't tolerate toxic language" if the probability value is above 0.7. NoOp: takes no action if the probability value is below 0.7.
by Harshil Agrawal
This workflow demonstrates how to can use Redis to implement rate limits to your API. The workflow uses the incoming API key to uniquely identify the user and use it as a key in Redis. Every time a request is made, the value is incremented by one, and we check for the threshold using the IF node. Duplicate the following Airtable to try out the workflow: https://airtable.com/shraudfG9XAvqkBpF
by rpshu
-- Disclaimer: This template is mainly made for self-hosted users who can reach CSV files in their file system. For Cloud users, just replace the first few nodes with your file system of choice, like Google Drive or Dropbox -- How to automatically import CSV files into postgres 1、project description This workflow demonstrates how CSV file can be automatically imported into existing PostgreSQL database. Before running the workflow please make sure you have a file on the server: /tmp/t1.csv The name of the test database is db01, and you can replace it. then create table t1 create table t1(id int,name varchar(10)); And the content of the file is the following: |id|name| |-|-|-| |1|a| |2|b| |3|c| 2、Other If you want to import a custom csv file, please refer to the following methods. 2.1、Create a table in the database SQL Commands: https://www.postgresql.org/docs/current/sql-createtable.html 2.2、Upload csv file Upload csv file to N8N server and make sure it can be read.
by Lucas Walter
AI News Scraping System This n8n workflow automates the process of pulling in breaking AI-related headlines from curated RSS feeds, scraping their full content, and saving readable Markdown versions directly to Google Drive. Use cases include: Creating a personal newsletter curation system Automating blog post research workflows Archiving news content for later summarization or AI use How it Works Scheduled Triggers The workflow runs every 3–4 hours using multiple Schedule Trigger nodes. Each trigger targets a different news source (e.g., Google News, OpenAI Blog, Hugging Face, etc.). Fetch and Parse Feeds RSS feeds are fetched via the HTTP Request node. Items from the feed are split into individual entries using the Split Out node. Scrape Article Content Each article URL is sent to the Firecrawl API with a prompt to extract only the main content in Markdown. The scraping skips navigation, headers, footers, and ads. Convert and Save The extracted Markdown is converted into a .md file using the Convert to File node. The file is then uploaded to a Google Drive folder. Good to Know This workflow uses the Firecrawl API for web scraping. Be sure to configure a Generic HTTP Header credential with your API key. Output files are saved in Markdown format You can add more Schedule Trigger + HTTP Request pairs to extend this workflow to additional feeds. Requirements Firecrawl API account for scraping Google Drive account (OAuth2 credentials must be configured in n8n) n8n instance (self-hosted or cloud) Customization Ideas Replace or extend RSS feeds with sources relevant to your niche Load up scraped news stories into a prompt to create new content like TikToks and Reels Add a summarization step using an LLM like GPT or Claude Send the Markdown files to Notion, Slack, or a blog CMS Example Feeds | Feed Name | URL | |------------------|----------------------------------------------------------------------| | Google News (AI) | https://rss.app/feeds/v1.1/AkOariu1C7YyUUMv.json | | OpenAI Blog | https://rss.app/feeds/v1.1/xNVg2hbY14Z7Gpva.json | | Hugging Face | https://rss.app/feeds/v1.1/sgHcE2ehHQMTWhrL.json |
by Automate With Marc
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. 🧠 Market Research & Business Case Study Generator Category: AI + Research | GPT + Perplexity | Business Strategy Skill Level: Intermediate Use Case: Market Research, Business Planning, Strategic Analysis 📌 Description: This template automates the creation of comprehensive, data-backed business case studies—perfect for entrepreneurs, analysts, consultants, and market researchers. For more of such build + step-by-step video tutorials, check out: https://www.youtube.com/@Automatewithmarc Just send a simple message like: “Give me a market opportunity analysis of a bicycle rental business in North Africa.” And the workflow does the rest. It scopes your research topic, performs live web research, and crafts a well-structured 1500-word business case study—all automatically saved to Google Docs. 🔧 How It Works: 🟢 Chat Trigger: Start the workflow by sending a prompt via the built-in Chat interface (Langchain Chat Trigger). 🧭 Research Scope Definer (GPT-4o): Breaks down the user input into structured components like industry, geography, trends, and challenges. 🌐 Deep Research (Perplexity Sonar): Performs live research to retrieve relevant industry data, consumer trends, competitive insights, and more. 📘 Business Case Writer (Claude Sonnet): Synthesizes the findings into a detailed case study with sections including: Executive Summary Market Overview Opportunity Analysis Competitive Landscape Risks & Challenges Strategic Recommendations Conclusion 📄 Google Docs Integration: The final output is appended to a connected Google Doc, so all your insights are neatly stored and ready to share. 🧰 Tools Used: OpenAI GPT-4o Perplexity Sonar Deep Research Anthropic Claude Sonnet Google Docs Chat Trigger ✅ Ideal For: Business consultants & strategy teams Market researchers & analysts Startup founders & product managers Educators & MBA students
by Baptiste Fort
Still manually copy-pasting your Tally form responses? What if every submission went straight into Airtable — and the user got an automatic email right after? That’s exactly what this workflow does. No code, no headache — just a simple and fast automation: Tally → Airtable → Gmail. STEP 1 — Capture Tally Form Responses Goal Trigger the workflow automatically every time someone submits your Tally form. What we're setting up A webhook that catches form responses and kicks off the rest of the flow. Steps to follow Add a Webhook node Parameter : Value Method : POST Path : formulaire-tally Authentication : None Respond : Immediately Save the workflow → This will generate a URL like: https://your-workspace.n8n.cloud/webhook-test/formulaire-tally 💡 Use the Test URL first (found under Parameters > Test URL) Head over to Tally Go to your form → Form Settings > Integrations > Webhooks Paste the Test URL into the Webhook field Enable the webhook ✅ Submit a test entry → Tally won’t send anything until a real submission is made. This step is required for n8n to capture the structure. Expected output n8n receives a JSON object containing: General info (IDs, timestamps, etc.) A fields[] array with all the form inputs (name, email, etc.) Each field is nicely structured with a label, key, type, and most importantly, a value. Perfect foundation for the next step: data cleanup. STEP 2 — Clean and Structure the Form Data (Set node) Goal Take the raw data sent by Tally and turn it into clean, readable JSON that's easy to use in the rest of the workflow. Tally sends the responses inside a big array called field. Can you grab a field directly with something like {{$json"fields"["value"]}}? Yes. But a good workflow is like a sock drawer — when everything’s folded and labeled, life’s just easier. So we’re going to clean it up using a Set node. Steps to follow Add a Set node right after the Webhook. Enable the “Keep only set” option. Define the following fields in the Set node: Field name: Expression full_name: {{$json"fields"["value"]}} company_name: {{$json"fields"["value"]}} job_title: {{$json"fields"["value"]}} email: {{$json"fields"["value"]}} phone_number: {{$json"fields"["value"] ?? ""}} submission_date: {{$now.toISOString()}} ⚠️ The order of fields[] depends on your Tally form. If you change the question order, make sure to update these indexes accordingly. Expected output You’ll get a clean, structured JSON like this: Now your data is clear, labeled, and ready for the rest of your workflow. STEP 3 — Save Data in Airtable Goal Every time someone submits your Tally form, their info is automatically added to an Airtable base. No more copy-pasting — everything lands right where it should. Steps to follow Create your Airtable base Start by creating a base named Leads (or whatever you prefer), with a table called Form Submissions. Add the following columns in this exact order so everything maps correctly later: Generate an Airtable token So n8n can send data into your base: Go to 👉 [ https://airtable.com/create/tokens](https://airtable.com/create/tokens ) Click Create token Give it a name (e.g. Tally Automation) Check the following permissions: data.records:read data.records:write schema.bases:read Under Base access, either choose your base manually or select “All current and future bases” Click Create token and copy the generated key Add configure the Airtable node in n8n Node: Airtable Operation: Create Authentication: Personal Access Token Paste your token n8n will suggest your base and table (or you can manually grab the IDs from the URL: https://airtable.com/appXXXXXXXX/tblYYYYYYYY/...) Map your fields Inside the Airtable node, add the following field mappings: Every new Tally form submission automatically creates a new row in your Airtable base. STEP 4 — Send an Automatic Confirmation Email Goal Send a professional email as soon as a form is completed Steps to follow Add a Wait node You don’t want the email to go out instantly — it feels cold and robotic. → Add a Wait node right after Airtable. Mode: Wait for a period of time Delay: 5 to 10 minutes Unit: Minutes Add a Gmail > Send Email node Authentication: OAuth2 Connect a Gmail account (business or test) ⚠️ No API keys here — Gmail requires OAuth. Configure the Send Email node Field Value Credential to connect with Gmail account via OAuth2 Resource : Message Operation : Send To : {{ $json.fields["Email"] }} Subject : Thanks for reaching out! Email Type : HTML Message: (but do the mapping correctly using the Input so that lead receives its name correctly ) End of the Workflow And that’s it — your automation is live! Your lead fills out the Tally form → the info goes to Airtable → they get a clean, professional email without you doing a thing.
by Darsheel
This n8n workflow acts as an AI-powered Inbox Assistant that automatically summarizes and classifies Gmail emails, prioritizes important messages, and sends a daily digest to Slack. It’s ideal for startup founders and small teams juggling investor intros, customer leads, and support queries — all from a busy Gmail inbox. Each email is processed using ChatGPT to generate a concise summary, classify the message (e.g., Support, Investor, Spam), and determine its urgency. High and medium priority messages are forwarded to Slack instantly. Lower priority emails are logged to Google Sheets for review. A daily 7 PM digest summarizes the day’s most important messages. 💡 Use Cases Preventing missed investor or lead emails Lightweight CRM alternative using Google Sheets Slack summaries of critical Gmail activity 🔧 How It Works Gmail node fetches new messages ChatGPT summarizes and extracts urgency + type High/medium urgency → sent to Slack + labeled in Gmail Low urgency → logged in Google Sheets Cron node triggers a daily 7 PM Slack summary ✅ Requirements OpenAI API Key (GPT-4 or GPT-4o recommended) Gmail access with read and label permission Slack Bot Token or Webhook URL Google Sheets integration (optional) 🛠 Customization Ideas Replace Slack with Telegram or WhatsApp Route investor leads to Airtable or Notion Add multi-language support in ChatGPT prompt Create weekly summaries via email
by Vlad Temian
Description This workflow automates a video content pipeline that generates creative, Instagram Reel videos using AI. It combines OpenAI's GPT-4o-mini for idea generation with Sisif.ai's text-to-video AI technology to produce engaging short-form content automatically. Perfect for: Content creators, social media managers, marketing teams, and anyone who wants to maintain a consistent flow of AI-generated video content without manual intervention. Prerequisites Sisif.ai Account**: Sign up at sisif.ai and get your API token from https://sisif.ai/users/api-keys/ OpenAI Account**: Get your API key from OpenAI platform n8n Instance**: Self-hosted or cloud instance Step-by-step setup Import the workflow in n8n. Create OpenAI API credentials here. Create Sisif.ai API credentials here. Add OpenAI API & Sisif.ai API creds in n8n. Open the blue sticky → edit topic, style, duration, resolution. Enable the Cron trigger (defaults to every 6 h). Run once to test. Activate when ready. How it Works The workflow operates on a scheduled cycle, generating fresh video content every 6 hours: 🤖 AI Idea Generation: OpenAI's GPT-4o-mini acts as a creative video strategist, generating unique, trend-aware video concepts optimized for Instagram and social media 🎬 Video Creation: Sisif.ai transforms each creative prompt into a high-quality 5-second video in 360x640 resolution ⏱️ Smart Monitoring: The workflow intelligently monitors video generation progress, waiting for completion before proceeding 📊 Data Processing: Final video data is structured and prepared for further use or storage Key Features ⚡ Fully Automated Runs every 6 hours without manual intervention Generates 4 unique videos daily (28 videos per week) Self-monitoring with automatic retry logic 🎯 Optimized for Social Media Instagram 360x640 resolution 5-second duration for maximum engagement Trend-aware content generation Action-packed, visual storytelling 🔧 Smart Architecture Simple HTTP requests for reliable operation Bearer token authentication for secure API access Automatic status checking and waiting logic Error handling and retry mechanisms
by Automate With Marc
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. 🧠 AI News Update Every 24 Hours (with Perplexity + GPT Formatter) Description: This workflow automatically delivers a clean, AI-curated summary of the latest AI news headlines from the past 24 hours directly to your inbox — every morning at 9 AM. For step-by-step video tutorial for this build, watch here: https://youtu.be/O-DLvaMVLso 🧰 How It Works: 🕘 Schedule Trigger Runs daily at 9 AM to start the workflow. 🔎 Perplexity AI Agent Searches for AI-related headlines published in the last 24 hours, including: Headline 1-sentence summary Source Full URL 🧠 GPT Formatter AI Agent Uses an OpenAI language model (GPT-4.1-mini) to reformat raw news data into a clean, readable email update. 🧷 Memory Buffer (Optional) Gives the formatter context and continuity if you want to personalize formatting further over time. 📧 Gmail Node Sends the formatted AI news digest to your inbox (or your team’s) daily. 📦 Tools & APIs Required: ✅ Perplexity AI API ✅ OpenAI API ✅ Gmail Account (OAuth2 credentials) 🔄 Use Cases: Daily AI trend monitoring for individuals or teams Automating internal market intelligence Research triggers for blog or content creation Email digests for newsletters or Slack updates 🛠️ Customizable Ideas: Swap Gmail for Slack, Telegram, Discord, etc. Modify the topic (e.g., Climate Tech, Crypto News) Add sentiment analysis or AI-generated commentary Send summary to Google Docs or Notion instead
by Lucas Walter
Overview & Setup This n8n template demonstrates how to automatically generate authentic User-Generated Content (UGC) style marketing videos for eCommerce products using AI. Simply upload a product image, and the workflow creates multiple realistic influencer-style video ads complete with scripts, personas, and video generation. Use cases Generate multiple UGC video variations for A/B testing Create authentic-looking product demonstrations for social media Produce influencer-style content without hiring creators Quickly test different marketing angles for new products Scale video content creation for eCommerce catalogs Good to know Sora 2 video generation takes approximately 2-3 minutes per 12-second video Each video generation costs approximately $0.50-1.00 USD (check OpenAI pricing for current rates) The workflow generates multiple video variations from a single product image Videos are automatically uploaded to Google Drive upon completion Generated videos are in 720x1280 (9:16) format optimized for social media How it works Product Analysis: OpenAI's vision API analyzes the uploaded product image to understand its features, benefits, and target audience Persona Creation: The system generates a detailed profile of the ideal influencer/creator who would authentically promote this product Script Generation: Gemini 2.5 Pro creates multiple authentic UGC video scripts (12 seconds each) with frame-by-frame breakdowns, natural dialogue, and camera movements Frame Generation: For each script, Gemini generates a custom first frame that adapts the product image to match UGC aesthetic and aspect ratio Video Production: Sora 2 API generates the actual video using the script and custom first frame as reference Status Monitoring: The workflow polls the video generation status every 15 seconds until completion Upload & Storage: Completed videos are automatically uploaded to Google Drive with organized naming How to use Click the form trigger URL to access the submission form Upload your product image (works best with clean product shots on white/neutral backgrounds) Enter the product name Submit the form and wait for the workflow to complete Find your generated UGC videos in the specified Google Drive folder Each run produces multiple video variations you can test Requirements OpenAI API** account with Sora 2 access for video generation and GPT-4 Vision Google Gemini API** account for script generation and image adaptation Google Drive** account for video storage Sufficient API credits for video generation (budget accordingly) Customizing this workflow Adjust the video duration in the generate_video node (currently set to 12 seconds) Modify the persona prompt in analyze_product node to target different audience demographics Change the script style in set_build_video_prompts node for different UGC aesthetics (excited discovery, casual recommendation, etc.) Update the Google Drive folder in upload_video node to organize videos by campaign Add additional processing nodes for video editing, subtitle generation, or thumbnail creation Modify the aspect ratio in resize_image node for different platforms (1:1 for Instagram feed, 16:9 for YouTube, etc.)
by jason
This is the workflow that I presented at the April 9, 2021 n8n Meetup. This workflow uses Baserow.io to store registration information collected using n8n as both the web server and the data processor. To get this workflow working properly, you will either need to run it on n8n.cloud or using the on premise version with people having the ability to connect to n8n externally. You will need an account on Baserow.io to store your subscriptions with a table with the following fields: GUID First Name Last Name Email Confirmed
by Sarfaraz Muhammad Sajib
Daily Currency Update Workflow (n8n) Trigger: ScheduleTrigger node (configurable interval) Set Variables: API Key, Preferred Currencies (PKR, GBP, EUR, USD, BDT, INR) HTTP Request: Fetch latest exchange rates from CurrencyFreaks API Set Recipient Email Set Email Subject Send Email: HTML formatted via Gmail OAuth2 with dynamic rate data (date, base currency, rates) Flow: ScheduleTrigger → Set API Key & Currencies → HTTP Request → Set Recipient → Set Subject → Gmail Send