by Nitin Dixit
This n8n template demonstrates how to leverage AI to analyze trending short-form video content and automatically generate original, high-engagement video scripts inspired by proven viral formats. Use cases are many: Create consistent content calendars for beauty salons and aestheticians, maintain a steady stream of reels without creative burnout, or study viral patterns to understand what drives engagement across Instagram's trending hashtags! Good to know The workflow scrapes real trending reels from Instagram based on your chosen hashtag, ensuring you're always learning from current viral patterns Video transcription happens automatically, extracting the core messaging and pacing strategies from successful content Generated scripts use proven engagement structures—hook, value delivery, and call-to-action timing—without copying original content All data is organized in Google Sheets for easy review, editing, and tracking of script performance The AI model intelligently mirrors the emotional tone and narrative structure while creating entirely new storylines How it works A form trigger collects your hashtag and desired number of reels to analyze The Apify API scrapes trending Instagram reels matching your hashtag, filtering for high engagement (1000+ likes from the last 7 days) Filtered reels are added to your Google Sheet with metadata: captions, engagement metrics, video links, and music information Each reel is automatically transcribed using video-to-text technology, capturing the exact dialogue and timing The AI Agent analyzes each transcript to understand its underlying structure—pacing, tone, curiosity hooks, and CTA placement Using this analysis, Claude generates a completely original script that follows the same proven engagement formula but with a fresh topic or angle Generated scripts are saved back to your Google Sheet alongside the source materials for comparison and refinement A summary email is sent confirming the number of scripts created and ready for production How to use Start by entering a beauty or lifestyle hashtag (e.g., #aiautomation, #beautysalon, #haircare) and specify how many trending reels to analyze Review the scraped content in your Google Sheet to understand what's currently resonating Check the generated scripts and use them as jumping-off points for your own video production Iterate on the process with different hashtags to discover emerging trends in your niche Requirements Apify account and API key for Instagram scraping (free tier available) Google Sheets document set up to store reel data and generated scripts OpenAI API key for the AI script generation Gmail account for the completion notification (optional but recommended) Customising this workflow Adjust the engagement filter thresholds (currently 1000+ likes, 7 days old) to capture micro-trends or evergreen content Modify the AI prompt in the "AI Agent" node to enforce specific brand voice, tone, or content guidelines Add additional Google Sheet columns to track metrics like script-to-video conversion rates or audience response Connect to additional distribution channels—automatically post scripts to team Slack, create video production briefs, or trigger video editing templates Experiment with different video categories by creating multiple instances of this workflow for different hashtags or niches
by Growth AI
SEO Anchor Text Generator with n8n and Claude AI Generate optimized SEO anchor texts for internal linking using AI automation. This workflow processes your website pages and creates diverse, SEO-compliant anchor variations automatically. Who's it for SEO specialists managing large websites with extensive internal linking needs Content managers looking to automate anchor text creation for better search rankings Digital marketers seeking to optimize internal linking strategies at scale Web agencies handling multiple client websites with SEO requirements What it does This workflow automatically generates 10 unique SEO anchor texts with 3-5 linguistic variations each (40-50 total variations per page) using Claude AI. It analyzes your page content, applies advanced SEO criteria, and creates diverse anchor types including exact match, brand anchors, long-tail keywords, contextual phrases, and call-to-action variants. How it works The system connects to your Google Sheets document containing page information, filters pages needing anchor generation, processes each page individually through Claude AI, and updates your spreadsheet with generated anchor texts. The workflow ensures semantic relevance, keyword optimization, natural language flow, and linguistic diversity while avoiding over-optimization penalties. Requirements Google Sheets with OAuth2 authentication configured in n8n Anthropic API key for Claude AI model access Template spreadsheet with proper column structure (Page, URL, Description, Anchors) Pages must have URL and description but empty anchor fields to trigger processing How to set up Step 1: Prepare Your Data Duplicate the template spreadsheet: https://docs.google.com/spreadsheets/d/1VNl8xLYgRrNcKrmN9hCdfov1dMnwD44tAALJZAlagCo Fill in your page information in the "Anchor" sheet: Page: Name/title of your page (can use hierarchical levels Niv 0-3) URL: Complete URL of the page Description: Brief description of page content to help AI generate relevant anchors Leave the "Anchors" column empty for pages needing anchor generation Step 2: Configure n8n Credentials Set up Google Sheets OAuth2: Go to n8n credentials settings Add new Google Sheets OAuth2 API credential Follow OAuth flow to authenticate with Google Test connection with your spreadsheet Configure Anthropic API: Obtain API key from Anthropic Console Add new Anthropic API credential in n8n Enter your API key and test connection Step 3: Import and Activate Workflow Import the workflow from the provided JSON Update credential references to match your configured credentials Test the Chat Trigger webhook to ensure it's accessible Activate the workflow in n8n Step 4: Execute the Workflow Send a chat message with your Google Sheets URL to trigger the workflow Monitor execution through n8n interface to track progress Check your spreadsheet for automatically generated anchor texts Review and customize generated anchors as needed for your content How to customize the workflow Modify AI Prompt Instructions Update the "Générateur d'ancres" node prompt to: Change the number of anchor variations generated Adjust SEO criteria and anchor types Modify linguistic variation requirements Customize language style and tone Add specific industry terminology Adjust Data Processing Customize the "Filter" node conditions to: Change criteria for pages requiring anchor generation Add additional validation rules Modify column names to match your spreadsheet structure Enhance Output Formatting Modify the "Import Sheets" code node to: Change data transformation logic Add additional processing steps Customize how results are formatted for Google Sheets Include timestamp or processing metadata Scale for Large Datasets Optimize the "Loop Over Items" batch processing: Adjust batch sizes for better performance Add error handling for failed API calls Implement retry logic for robustness Add progress tracking mechanisms Integration Extensions Extend functionality by adding nodes for: Slack notifications when processing completes Email reports with generation statistics Integration with content management systems Automated content publishing with generated anchors Advanced Customization Tips Language Adaptation: Modify the AI prompt for different languages by adjusting linguistic variation rules Industry Specialization: Add domain-specific terminology and SEO best practices to the prompt Quality Control: Implement additional filtering to review generated anchors before updating sheets Analytics Integration: Connect with Google Analytics to prioritize high-traffic pages for anchor generation Content Integration: Add nodes to automatically insert generated anchors into CMS or static site generators
by Fariez
X (Twitter) and Threads (by Meta) both have different maximum character lengths. Different X and Threads Content Auto Poster This n8n template demonstrates how to post different content optimized for X (Twitter) and Meta Threads using the Late API. You can use it for any niche. For example: posting AI news to X and Threads. Possible use cases: Schedule your posts to X and Threads. Use this workflow as a content calendar and automated posting system. Apply it across different content niches. How it works The automation runs according to the time defined in the Schedule Trigger node. Content is pulled from Google Sheets. Any URL is shortened using your preferred short URL API. Images are uploaded to Late’s server first. Content for X is posted in Step 2. The workflow checks that the content length is under 280 characters. Content for Threads is posted in Step 3. The workflow checks that the content length is under 500 characters. Posts on X are published as threaded posts, while on Threads they are single posts. Once posted, the Google Sheets content database is updated. Requirements Google OAuth credentials with the Google Sheets API enabled Bitly account and access token (or OAuth) GetLate API connected to your X and Threads accounts HOW TO USE STEP 1 Adjust the settings in the Schedule Trigger node to define when the workflow runs. Open this Google Sheets template, then go to File → Make a copy, and update the settings in the Get Topic node. Get your Bitly OAuth or Access Token here and add the credentials in the Short Link node. Get your API key from getlate.dev and add the credentials in the Upload IMG node. STEP 2 Add your Late credentials to the Post Twitter node. Get your Twitter account ID from Late, and update it in the JSON Body section of the Post Twitter node. STEP 3 Add your Late credentials to the Post Threads node. Get your Threads account ID from Late, and update it in the JSON Body section of the Post Threads node.
by Cheng Siong Chin
Introduction Automate price monitoring for e-commerce competitors—ideal for retailers, analysts, and pricing teams. ⚠️ Self-Hosted Only: Requires self-hosted n8n instance. How It Works Scrapes competitor URLs, extracts data via AI, detects price/stock changes, logs to Google Sheets with email alerts. Workflow Template Trigger → Scrape → AI Extract → Parse → Compare → Detect Changes → Update Sheets + Alert Workflow Steps Scraping: Firecrawl fetches Nike, Adidas, Sneaker data AI Extraction: Processes product details Parsing: Structures response Historical Check: Reads Sheets data Change Detection: Identifies price/stock updates Dual Output: Updates Sheets + sends alerts Setup Instructions 1. Firecrawl API Get key from dashboard → Add to n8n 2. OpenAI API Get key from platform → Add to n8n 3. Google Sheets OAuth2 Create OAuth2 in Google Cloud Console → Authorize in n8n → Enable API 4. Gmail OAuth2 Use same project → Authorize in n8n → Enable API 5. Spreadsheet Setup Create Sheet with required columns → Copy ID from URL → Paste in workflow Prerequisites Self-hosted n8n, Firecrawl account, OpenAI key, Google account (Sheets + Gmail OAuth2) Customization Add URLs, adjust thresholds, integrate Slack Benefits Saves 2+ hours daily, real-time tracking, automated alerts Google Sheets Structure Required Columns: Product Name** (Column A) Current Price** (Column B) Previous Price** (Column C) Stock Status** (Column D) Last Updated** (Column E) URL** (Column F) Change Detected** (Column G)
by Rahul Joshi
Description Automate Zendesk ticket follow-up management by fetching pending tickets daily, enriching and logging them into Google Sheets, creating ClickUp tasks for team reminders, and sending professional follow-up emails to customers. Keeps your support pipeline clean and ensures no pending tickets fall through the cracks. 🎫📊📧✅ What This Template Does Triggers daily (Mon–Fri at 8 PM) to check Zendesk for pending tickets. ⏰ Filters only "pending" status tickets to reduce noise. 🔍 Formats ticket data with priority, age, and attention flags. 🧠 Logs all tickets into Google Sheets for reporting and analytics. 📊 Creates ClickUp tasks for team follow-up and accountability. 📋 Generates professional HTML follow-up emails grouped by customer. 🎨 Sends emails via Gmail with ticket details and next steps. 📧 Key Benefits Ensures no pending Zendesk tickets are forgotten. ⏱️ Builds a historical log for analytics and audit trails. 🧾 Keeps your support team accountable with ClickUp tasks. ✅ Delivers personalized, branded follow-up emails to customers. 💡 Reduces manual effort in tracking and responding to tickets. 🔄 Features Schedule Trigger – Runs Mon–Fri at 8:00 PM. 🗓️ Zendesk Integration – Fetches pending tickets automatically. 🎫 Smart Data Processing – Cleans descriptions, calculates age, flags urgent tickets. ⚡ Google Sheets Logging – Maintains a structured log with Ticket ID, URL, tags, status, etc. 📈 ClickUp Tasks – Automatically creates tasks per pending ticket. 📋 Email Generation – Groups tickets per customer, builds professional HTML follow-ups. 🎨 Gmail Delivery – Sends personalized follow-ups directly to customers. 📧 Requirements n8n instance (cloud or self-hosted). Zendesk API credentials with read access. Google Sheets OAuth2 credentials with write access. ClickUp API credentials for task creation. Gmail OAuth2 credentials for sending emails. Pre-configured Google Sheet for pending ticket tracking. Target Audience Customer support teams managing Zendesk tickets. 🎧 SaaS companies wanting automated follow-ups. 🚀 CS managers ensuring accountability in ticket handling. 🛠️ SMBs reducing customer wait time with proactive follow-ups. 🏢 Remote support teams needing automated reminders and logs. 🌐 Step-by-Step Setup Instructions Connect Zendesk, Google Sheets, ClickUp, and Gmail credentials in n8n. 🔑 Update the schedule trigger (default: Mon–Fri at 8:00 PM). ⏰ Replace the Google Sheet ID with your pending ticket log sheet. 📊 Configure your ClickUp space/list IDs for task creation. 📋 Update email branding and sender address in the email generator. 🎨 Test with sample tickets to validate Sheets logging, ClickUp tasks, and Gmail delivery. ✅
by Avkash Kakdiya
How it works This workflow automatically captures website visitors using Albacross, enriches their data with Datagma, and syncs it into HubSpot. Once leads are created or updated, a personalized email is generated and sent through Gmail. All email activities are logged in HubSpot for proper sales tracking and follow-up. Step-by-step 1. Trigger the workflow Schedule Trigger** – Runs the workflow at set intervals (hourly, daily, or custom). 2. Capture website visitors Albacross Website Visitor** – Pulls company and visitor details from website activity. 3. Enrich lead data Enrich Lead Data** – Enhances visitor records with personal and professional details via Datagma. 4. Sync to CRM Create/Update HubSpot Contact** – Creates or updates contact records in HubSpot with enriched lead data. 5. Generate personalized outreach Generate Personalized Message** – Builds a tailored email including company, industry, and value propositions. 6. Send and track emails Send Personalized Email** – Sends the outreach message through Gmail. Log Email Activity in HubSpot** – Tracks email engagement automatically in HubSpot. Why use this? Capture and identify anonymous website visitors as potential leads. Enrich contact details with accurate, professional information. Keep HubSpot updated automatically without manual data entry. Send highly personalized outreach emails tailored to each lead. Log all communication for better pipeline visibility and sales follow-up.
by Rahul Joshi
Description Automatically generate multi-jurisdiction tax summaries from Stripe invoices and sync them into Google Sheets with daily reporting. This workflow ensures compliance-ready tax data, detailed breakdowns by country/state/tax rate, and real-time Slack notifications for both success and error handling. 💳📈📢 What This Template Does Triggers daily at 2:00 AM using a scheduled cron. ⏰ Fetches paid invoices from Stripe (last 30 days). 💳 Validates data integrity before processing. ✅ Summarizes taxes by period, country, state, and rate. 🧮 Formats and logs results in Google Sheets for reporting. 📊 Sends Slack notifications for both success and failure. 📢 Key Benefits Automated tax compliance reporting. 🧾 Accurate multi-jurisdiction tracking. 🌍 Eliminates manual spreadsheet work. ⏱️ Maintains a historical audit trail. 📋 Real-time notifications keep your team informed. 🔔 Built-in error handling ensures reliability. 🛡️ Features Daily cron schedule (0 2 * * *). Stripe invoices fetched with expanded tax amounts. Intelligent grouping by period, country, state, and tax rate. Google Sheets integration with append/update logic. Success Slack message: summary totals, record count, period. Error Slack message: troubleshooting guidance and failure logs. Uses environment variables for secure configuration (GOOGLE_SHEETS_DOCUMENT_ID, SLACK_CHANNEL_ID). Requirements n8n instance (cloud or self-hosted). Stripe API credentials with invoice read access. Google Sheets OAuth2 credentials with write access. Slack API credentials with chat:write permissions. Proper tax configuration in Stripe for accurate reporting. Target Audience Finance teams handling recurring billing and tax filings. 💼 Accountants needing automated jurisdiction tax breakdowns. 📊 SaaS businesses managing global customers. 🌐 Agencies and SMEs streamlining monthly tax reporting. 🏢 Remote teams requiring real-time workflow notifications. 📲 Step-by-Step Setup Instructions Configure Stripe API credentials in n8n. Set up Google Sheets with a “Tax Summary” sheet (columns: period, country, state, tax rate, taxable amount, tax collected, processing date). Configure Slack API credentials and channel ID (e.g., tax-reports). Replace hardcoded values with environment variables for security. Import this workflow JSON into n8n. Run once manually with test invoices to validate. Enable the workflow for daily automated reporting. ✅
by Vlad Arbatov
Summary Send a number to your Telegram bot (e.g., 2) and get a neatly formatted digest of all Gmail newsletters received since that date. Each email is summarized by an LLM into concise topics, merged into a single Telegram message, automatically split into chunks to fit Telegram limits, and safely formatted as HTML. What this workflow does Triggers on your Telegram message containing a number of days, e.g., 1, 2, 7 Fetches all Gmail messages since that date using a custom search query, optionally filtered by senders Retrieves and decodes each email’s HTML, subject, sender name, date Prompts an LLM (GPT‑4.1‑mini) to produce a consistent JSON summary of topics per email Merges topics from all emails into a single digest Builds a readable, enumerated message (with bold titles) Splits it into 3 500‑char parts and sanitizes Markdown to Telegram‑safe HTML Sends the digest to your Telegram chat with preview disabled Apps and credentials Gmail OAuth2: Gmail account Telegram: Telegram account (bot) OpenAI: OpenAi account Typical use cases Personal or team daily/weekly newsletter digests in Telegram Curated feeds from selected senders compiled on demand Lightweight knowledge briefings without leaving Telegram How it works (node-by-node) Telegram Trigger Waits for your message (e.g., "2"). Chat ID is restricted to your Telegram ID for safety. Get days (Code) Takes the numeric daysAgo from the Telegram message text Computes YYYY/MM/DD for Gmail’s after: filter Get many messages (Gmail → getAll, returnAll: true) Uses a custom q filter like: =(from:@.com) OR (from:@.com) OR (from:@.com -"__") after:{{ $json.dateString }} Returns a list of message IDs Loop Over Items (Split in Batches) Iterates through each message ID Get a message (Gmail → get) Retrieves the full message/payload for the current email Get message data (Code) Extracts HTML from Gmail’s payload (body/parts) Normalizes sender to just the name Formats the date as DD.MM.YYYY Passes html, subject, from, date forward Clean (Code) Converts DD.MM.YYYY → MM.DD (for prompt brevity) Passes html, subject, from, date to the LLM Message a model (OpenAI, model: gpt‑4.1‑mini, JSON output) Prompt instructs: Produce JSON: { "topics": [ { "title", "descr", "subject", "from", "date" } ] } Split multi-news blocks into separate topics Combine or ignore specific blocks for particular senders (placeholders __) Keep subject untranslated; other values in __ language Injects subject/from/date/html from the current email Loop Over Items (continues) After all iterations complete, the aggregated per-email results are available Merge (Code) Flattens the topics arrays from all processed emails into one combined topics list Create TG message (Code) Renders an enumerated list: 1. Title (bold) Short description Original subject From — Date Split (Code) Splits into 3 500‑character chunks to stay below Telegram’s 4 096 limit with HTML overhead Sanitize (Code) Escapes &, <, > Fixes unbalanced * and _ Converts basic Markdown markers to Telegram HTML Send a message (Telegram) Sends each part with parse_mode=HTML, previews disabled Node map | Node | Type | Purpose | |---|---|---| | Telegram Trigger | Trigger | Receive daysAgo command from Telegram | | Get days | Code | Compute Gmail after:YYYY/MM/DD from daysAgo | | Get many messages | Gmail (getAll) | Search emails since date with custom from: filters | | Loop Over Items | Split in Batches | Iterate messages one-by-one | | Get a message | Gmail (get) | Fetch full message payload | | Get message data | Code | Extract HTML/subject/from/date; normalize sender and date | | Clean | Code | Reformat date and forward fields to LLM | | Message a model | OpenAI | Summarize email into JSON topics | | Merge | Code | Merge topics from all emails | | Create TG message | Code | Build human-friendly digest text | | Split | Code | Chunk into 3 500‑char parts | | Sanitize | Code | Escape HTML and map Markdown to Telegram HTML | | Send a message | Telegram | Deliver digest to Telegram chat | Before you start Create a Telegram bot and get its token (via @BotFather) Get your Telegram user ID to restrict access Connect Gmail OAuth2 in n8n Add your OpenAI API key Import the provided workflow JSON into n8n Setup instructions 1) Telegram Telegram Trigger node: additionalFields.chatIds = your Telegram user ID Send a message node: chatId = your Telegram user ID parse_mode = HTML disable_web_page_preview = true 2) Gmail Connect a Gmail OAuth2 credential (Gmail account) In Get many messages, adjust filters.q to your senders and rules: Example: =(from:news@publisher.com) OR (from:briefs@media.com -"promo") after:{{ $json.dateString }} If needed, add label: or category: filters 3) OpenAI Message a model: Model: gpt‑4.1‑mini (can swap to gpt‑4o‑mini or your preferred) Update the prompt placeholders: __ language → your target language __ sender rules → your special cases (combine blocks, ignore sections) 4) Safety and formatting Keep parse_mode=HTML in Telegram The Sanitize node is designed for ` and ` only; avoid other HTML tags The Split node uses 3 500 chars per part to stay safe under Telegram limits How to use In Telegram, send a number indicating “days ago” Example: 2 → will query Gmail after the date 2 days ago The workflow compiles and returns a digest in your chat Rerun anytime with a new number Customization ideas Labels instead of global search: q = label:Newsletters after:{{ $json.dateString }} Time window control: add before: or exact date ranges Different language: set the __ language in the LLM prompt Model choice: swap to cheaper/faster models if volume is high Chunk size: adjust from 3 500 to your needs Formatting: tweak Create TG message to include links parsed from HTML (if you add an HTML parser step) Limits and notes Telegram messages are limited to ~4 096 characters; we chunk to 3 500 per part Gmail “after:” uses YYYY/MM/DD and Google’s interpretation of dates; your n8n server time influences the computed date LLM usage incurs cost and latency proportional to email size and count HTML extraction is robust for typical Gmail structures but may need tweaks for exotic MIME layouts Privacy and safety Emails are sent to OpenAI for summarization—ensure that’s acceptable for your data policies The Telegram Trigger restricts chat access; keep your chatIds locked down Avoid sending raw HTML to Telegram; rely on the Sanitize node Sample output format (Telegram) Bold topic title One-sentence description Original Subject Line → Sender Name — DD.MM.YYYY Next topic title ... Tips and troubleshooting Got empty digests? Check Gmail filters.q and make sure there really are emails after the computed date Model errors or empty JSON? Lower prompt complexity or switch model HTML formatting issues in Telegram? Ensure parse_mode=HTML and keep only `, ` Long messages not fully delivered? Reduce chunk size from 3 500 Tags gmail, telegram, openai, llm, newsletters, digest, summarization, automation Changelog v1: Initial release with sender filters, topic merging, Telegram HTML sanitization, and on-demand time window via Telegram message
by Stephan Koning
Who it's for Construction and renovation businesses that need to generate detailed quotes from customer inquiries—plasterers, painters, contractors, renovation specialists, or any construction service provider handling quote requests through online forms. What it does Automatically transforms JotForm submissions into professional, itemized construction quotes with complete CRM tracking—no subscription needed (saving €200-500/year). When a customer fills your project request form (specifying wall/ceiling areas, finish types, ceiling heights, wet areas, prep work), the workflow extracts measurements, normalizes service selections, applies intelligent pricing rules from your Supabase catalog, calculates line items with material and labor costs plus proper VAT handling, stores everything in a structured CRM pipeline (customer → project deal → estimate), and generates a branded HTML email ready for delivery. This self-hosted pricing engine replaces paid invoicing software for quote generation, saving thousands over time while eliminating manual takeoffs and quote preparation— from 30-60 minutes to under 30 seconds. How it works Stage 1: JotForm webhook triggers → Parser extracts project data (m² measurements, service types, property details) → Normalize Dutch construction terms to database values → Save raw submission for audit trail Stage 2: Upsert customer record (idempotent on email) → Create project deal → Link to form submission Stage 3: Fetch active pricing rules → Calculate line items based on square meters, service type (smooth plaster vs decorative), ceiling height premiums, property status (new build vs renovation), wet area requirements → Apply conditional logic (high ceilings = price multiplier, prep work charges, finish level) → Group duplicate items → Save estimate header + individual lines Stage 4: Query optimized view (single call, all data) → Generate professional HTML email with logo, itemized services table (description, m², unit price, totals), VAT breakdown, CTA buttons, legal disclaimer Setup requirements Supabase account** (free tier sufficient) - Database for CRM + pricing catalog JotForm account** (free tier works) - Form builder with webhook support Email service** - Gmail, SendGrid, or similar (add your own email node) How to set up 1. Database setup (2 minutes): Run this workflow's "SQL Generator" node to output complete schema Copy output → Paste in Supabase SQL Editor → Click Run Creates 9 tables + 1 optimized view + sample construction services (plastering €21-32/m², painting €12-15/m², ornamental work, ceiling finishes) 2. Credentials: Add Supabase credentials to n8n (Project URL + Service Role Key from Supabase Settings → API) No JotForm credentials needed (uses webhook) 3. JotForm webhook: Clone demo construction form: [jotform stucco planet demo](https://form.jotform.com/252844786304060 )- Form fields: Property type, postcode, services needed, wall/ceiling m², finish level, ornament quantities, molding meters, wet areas, ceiling heights, prep removal, start date, customer contact Settings → Integrations → Webhooks → Add your n8n webhook URL Test with preview submission 4. Customize email: Update company info in "Generate Email HTML" node (logo, business address, contact details, Chamber of Commerce number, VAT number) Adjust colors/branding in HTML template Available in Dutch and English versions How to customize Add your construction services: Edit price_catalog table in Supabase (no code changes): INSERT INTO price_catalog (item_code, name, unit_price, vat_rate, unit_type) VALUES ('DRYWALL_INSTALL', 'Drywall Installation', 18.50, 9, 'm²');
by gotoHuman
Let AI classify your incoming emails and draft replies. Use gotoHuman to approve emails before they are sent out. It also lets you manually edit the draft or even ask for a retry. How it works The workflow is triggered for each new email which gets passed to an AI classification agent. It assigns the email to one of the categories defined in the prompt (Customer Support, Sales opportunity, Promo, Personal,...). The agent also determines whether a reply is needed and if it is important. If a reply is needed, we ask the AI Email Writer to draft a response. Even if it is missing context it can help us draft an outline for the response. The email draft is sent to gotoHuman where the reviewer can manually edit it or ask to regenerate it with the option to even edit the prompt (Retries loop back to the AI Email Writer node) Approved email replies are automatically sent from the workflow How to set up Most importantly, install the gotoHuman node before importing this template! (Just add the node to a blank canvas before importing) Set up your credentials for gotoHuman, OpenAI, and Gmail In gotoHuman, select and create the pre-built review template "Email agent" or import the ID: v81wzxwYoFYvWpmuIBgX Select this template in the gotoHuman node Requirements You need accounts for gotoHuman (human supervision) OpenAI (classification, drafting) Gmail How to customize Change the predefined categories in the prompt of the AI classification agent Provide the AI Email Writer with more context to create replies. Consider adding tools that allow the agent to fetch more infos about clients, your calendar, FAQs for your product,...
by Yang
Who’s it for This template is perfect for SEO writers, niche bloggers, and content marketers who want to generate high-quality blog posts from a single keyword without spending hours on research and writing. If you often find yourself stuck at the research stage or manually drafting blog content, this workflow automates the entire process from topic discovery to publication. What it does The workflow takes a keyword, performs a Google search using Dumpling AI, analyzes the top-ranking pages and People Also Ask (PAA) questions, and then uses GPT-4 to generate a detailed blog post based on the most valuable question. The blog draft is sent for approval via email, and once approved, it’s automatically published to WordPress. Here’s what happens step by step: Receives a keyword through a simple form Uses Dumpling AI to perform a Google search and extract: Top 2 organic search results People Also Ask (PAA) questions and answers Top related searches Filters for insightful PAA questions Sends the data to GPT-4 to generate a blog post in JSON format Emails the draft blog post for manual review and approval If approved, publishes the post automatically to WordPress How it works Form Trigger: Captures the keyword input Dumpling AI: Searches Google and extracts SEO data including top results, PAA, and related searches Code Node: Processes the raw search data into a structured format for GPT-4 Filter Node: Checks if PAA questions are available GPT-4: Chooses a strong PAA question and writes the blog post Gmail: Sends the draft blog post to your inbox for review Approval Node: Waits for manual approval WordPress: Publishes the approved post automatically Requirements ✅ Dumpling AI API key stored securely as credentials ✅ OpenAI GPT-4 credentials ✅ Gmail account with OAuth2 connected to n8n ✅ WordPress account with API credentials configured How to customize Edit the GPT-4 prompt to control the blog structure, tone, or style Add extra filters to select specific types of PAA questions (e.g., how-to, guides) Change the review recipient email in the Gmail node Add additional formatting or SEO optimization steps before publishing Integrate with Notion, Airtable, or Slack to log or notify team members after publication > This workflow turns a single keyword into a fully researched, GPT-4 generated, and auto-published blog post — helping you scale content creation efficiently while maintaining quality.
by Remko Stas
Simple Coupon Points Tracker with Google Sheets and Weekly Summary Email Take full control of your expected loyalty points. This workflow helps you log every coupon and the points you should receive, store proof of purchase, and get a weekly summary so you can quickly spot any points that haven’t been credited and follow up with the program if needed. Who’s it for Ideal for frequent coupon users or anyone collecting loyalty points from programs like Payback, Miles & More, or similar reward systems. If you want a centralized, reliable way to track expected points, organize screenshots, and make sure nothing goes missing, this workflow is built for you. How it works Log coupon details and screenshots: Submit your coupon info via an n8n form. Screenshots are automatically saved in a Google Drive folder, and coupon data is appended to a Google Sheet. Weekly points summary: Every week, a scheduled trigger scans your sheet for coupons that are due to have points credited. It generates a clear summary email via Gmail so you can easily see which points are expected and follow up if the program hasn’t credited them. How to set up Google credentials: Configure OAuth2 credentials in n8n for Google Drive, Sheets, and Gmail. Google Drive: Create a folder for storing screenshots and link it in the workflow. Google Sheets: Create a sheet with these columns, or use the Google Sheets Template and then set the sheet ID and name in the workflow nodes. Coupon Name | Account Used to Buy | Program | Points | Bonus Points | Purchase Date | Redeem Delay (days) | Claimable Date | Coupon Screen Email node: Configure Gmail credentials and recipient address for weekly summaries. Form trigger: Open the form URL to submit coupon data from any device. Schedule trigger: Runs weekly to send the summary; timing can be adjusted. Requirements n8n instance with Google OAuth2 credentials for Drive, Sheets, and Gmail Google Drive folder ID for screenshots Google Sheets ID and sheet name for logging points Gmail account for sending summary emails Stay on top of your expected points, ensure no reward slips through the cracks, and keep proof safely stored automatically. Happy tracking!