# templates

name: Generate AI Images from Text Prompts with Gemini 2.0, Google Sheets & Drive
author_name: Muhammad Farooq Iqbal
author_username: mfarooqone
categories: []
created_at: 2025-08-18T09:13:07.476Z
updated_at: 2025-08-18T09:13:07.476Z
url: https://n8n.io/workflows/7544
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n template demonstrates how to automate the creation of high-quality visual content using AI. The workflow takes simple titles from a Google Sheets spreadsheet, generates detailed artistic prompts using AI, creates photorealistic images, and manages the entire process from data input to final delivery.

  Use cases are many: Perfect for digital marketers, content creators, social media managers, e-commerce businesses, advertising agencies, and anyone needing consistent, high-quality visual content for marketing campaigns, social media posts, or brand materials!

  Good to know

  The Gemini 2.0 Flash Exp image generation model used in this workflow may have geo-restrictions. 
  The workflow processes one image at a time to ensure quality and avoid rate limiting.
  Each generated image maintains high consistency with the source prompt and shows minimal AI artifacts.

  How it works

  Automated Trigger: A schedule trigger runs every minute to check for new entries in your Google Sheets spreadsheet.

  Data Retrieval: The workflow fetches rows from your Google Sheets document, specifically looking for entries with "pending" status.

  AI Prompt Generation: Using Google Gemini, the workflow takes simple titles and transforms them into detailed, artistic prompts for image generation. The AI considers:
     Specific visual elements, styles, and compositions
     Natural poses, interactions, and environmental context
     Lighting conditions and mood settings
     Brand consistency and visual appeal
     Proper aspect ratios for different platforms

  Text Processing: A code node ensures proper JSON formatting by escaping newlines and maintaining clean text structure.

  Image Generation: Gemini's advanced image generation model creates photorealistic images based on the detailed prompts, ensuring high-quality, consistent results.

  File Management: Generated images are automatically uploaded to a designated folder in Google Drive with organized naming conventions.

  Public Sharing: Images are made publicly accessible with read permissions, enabling easy sharing and embedding.

  Database Update: The workflow completes by updating the Google Sheets with the generated image URL and changing the status from "pending" to "posted", creating a complete audit trail.

  How to use

  Setup: Ensure you have the required Google Sheets document with columns for ID, prompt, status, and imageUrl.

  Configuration: Update the Google Sheets document ID and folder IDs in the respective nodes to match your setup.

  Activation: The workflow is currently inactive - activate it in n8n to start processing.

  Data Input: Simply add new rows to your Google Sheets with titles and set status to "pending" - the workflow will automatically process them.

  Monitoring: Check the Google Sheets for updated status and image URLs to track progress.

  Requirements

  Google Gemini API** account for LLM and image generation capabilities
  Google Drive** for file storage and management
  Google Sheets** for data input and tracking
  n8n instance** with proper credentials configured

  Customizing this workflow

  Content Variations: Try different visual styles, seasonal themes, or trending designs by modifying the AI prompt in the LangChain agent.

  Output Formats: Adjust the aspect ratio or image specifications for different platforms (Instagram, Pinterest, TikTok, Facebook ads, etc.).

  Integration Options: Replace the schedule trigger with webhooks for real-time processing, or add notification nodes for status updates.

  Batch Processing: Modify the limit node to process multiple items simultaneously, though be mindful of API rate limits.

  Quality Control: Add additional validation nodes to ensure generated images meet quality standards before uploading.

  Analytics: Integrate with analytics platforms to track image performance and engagement metrics.

  This workflow provides a complete solution for automated visual content creation, perfect for businesses and creators looking to scale their visual content production while maintaining high quality and consistency across all marketing materials.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.limit","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  [encoded data, 4856 characters]

metadata_json:
  {"categories":["automation","integrations","AI image generation","content creation"],"complexity":"medium","use_cases":["Automated visual content creation from simple titles","Generating detailed artistic prompts from short inputs","Creating and storing photorealistic images for marketing and social","Automating delivery and public sharing of generated images","Maintaining an audit trail of image generation in a spreadsheet"],"estimated_setup_minutes":20,"required_services":["Google Gemini (Gemini 2.0) API","Google Drive","Google Sheets","n8n (cloud or self-hosted)"],"key_features":["Scheduled checks for new 'pending' rows in Google Sheets","AI-based expansion of short titles into detailed artistic prompts","Photorealistic image generation via Gemini 2.0","Automatic upload to Google Drive with public read permissions","Sheet updates with image URL and status change (pending → posted) for audit trail"],"target_audience":["Digital marketers","Content creators","Social media managers\",\"E‑commerce teams\",\"Advertising agencies"]}


name: Generate Accessible Alt Text with AI from Google Sheets to WordPress
author_name: Growth AI
author_username: growthai
categories: []
created_at: 2025-08-18T13:20:51.135Z
updated_at: 2025-08-18T13:20:51.135Z
url: https://n8n.io/workflows/7548
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  AI-powered alt text generation from Google Sheets to WordPress media
  Who's it for
  WordPress site owners, content managers, and accessibility advocates who need to efficiently add alt text descriptions to multiple images for better SEO and web accessibility compliance.
  What it does
  This workflow automates the process of generating and updating alt text for WordPress media files using AI analysis. It reads image URLs from a Google Sheet, analyzes each image with Claude AI to generate accessibility-compliant descriptions, updates the sheet with the generated alt text, and automatically applies the descriptions to the corresponding WordPress media files. The workflow includes error handling to skip unsupported media formats and continue processing.
  How it works

  Input: Provide a Google Sheets URL containing image URLs and WordPress media IDs
  Authentication: Retrieves WordPress credentials from a separate sheet and generates Base64 authentication
  Processing: Loops through each image URL in the sheet
  AI Analysis: Claude AI analyzes each image and generates concise, accessible alt text (max 125 characters)
  Error Handling: Automatically skips unsupported media formats and continues with the next item
  Update Sheet: Writes the generated alt text back to the Google Sheet
  WordPress Update: Updates the WordPress media library with the new alt text via REST API

  Requirements

  Google Sheets with image URLs and WordPress media IDs
  WordPress site with Application Passwords enabled
  Claude AI (Anthropic) API credentials
  WordPress admin credentials stored in Google Sheets
  Export Media URLs WordPress plugin for generating the media list

  How to set up
  Step 1: Export your WordPress media URLs

  Install the "Export Media URLs" plugin on your WordPress site
  Go to the plugin settings and check both ID and URL columns for export (these are mandatory for the workflow)
  Export your media list to get the required data

  Step 2: Configure WordPress Application Passwords

  Go to WordPress Admin → Users → Your Profile
  Scroll down to "Application Passwords" section
  Enter application name (e.g., "n8n API")
  Click "Add New Application Password"
  Copy the generated password immediately (it won't be shown again)

  Step 3: Set up Google Sheets
  Duplicate this Google Sheets template to get the correct structure.
  The template includes two sheets:
  Sheet 1: "Export media" - Paste your exported media data with columns:

  ID (WordPress media ID)
  URL (image URL)
  Alt text (will be populated by the workflow)

  Sheet 2: "Infos client" - Add your WordPress credentials:

  Admin Name: Your WordPress username
  KEY: The application password you generated
  Domaine: Your site URL without https:// (format: "example.com")

  Step 4: Configure API credentials

  Add your Anthropic API credentials to the Claude node
  Connect your Google Sheets account to the Google Sheets nodes

  How to customize

  Language: The Claude prompt is in French - modify it in the "Analyze image" node for other languages
  Alt text length: Adjust the 125-character limit in the Claude prompt
  Batch processing: Change the batch size in the Split in Batches node
  Error handling: The workflow automatically handles unsupported formats, but you can modify the error handling logic
  Authentication: Customize for different WordPress authentication methods

  This workflow is perfect for managing accessibility compliance across large WordPress media libraries while maintaining consistent, AI-generated descriptions. It's built to be resilient and will continue processing even when encountering unsupported media formats.

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6876 characters]

metadata_json:
  {"categories":["automation","integration","accessibility","content management","AI"],"complexity":"medium","use_cases":["Generate concise, accessibility-compliant alt text for images","Bulk update WordPress media alt attributes","Improve SEO and web accessibility compliance","Automate content workflows using Google Sheets as source"],"estimated_setup_minutes":30,"required_services":["n8n (workflow host)","Google Sheets","WordPress site with REST API and Export Media URLs plugin","WordPress Application Passwords (or admin credentials)","Anthropic Claude (Claude AI) API"],"key_features":["Reads image URLs and media IDs from Google Sheets","Generates concise alt text via Claude AI (configurable length/language)","Writes alt text back to the sheet","Updates WordPress media alt text via REST API","Batch processing and loop control (Split in Batches)"],"target_audience":["WordPress site owners","Content managers","Accessibility advocates / compliance teams‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎SEO specialists"]}


name: Daily Affirmations & Weekly Gratitude Digest with Notion, Email & Telegram
author_name: Shelly-Ann Davy
author_username: SheCodesFlow
categories: []
created_at: 2025-08-18T18:40:12.649Z
updated_at: 2025-08-18T18:40:12.649Z
url: https://n8n.io/workflows/7555
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:34
description:
  🌸 Affirmation Sender + Weekly Gratitude Digest v2  
  A gentle, automated wellness ritual for high-impact women who scale with grace.

  📌 What it does  
  Every morning at 7 a.m.* (your timezone) → a *fresh affirmation lands in Email, Telegram, or both.  
  Every Sunday at 6 p.m.* → a *beautiful recap of your last-7-day gratitude notes is delivered.  
  Logs everything** to a simple Notion hub so you can revisit, review, or share.

  ✨ Out-of-the-box experience  
  | Channel | Morning Affirmation | Sunday Digest |
  |---------|---------------------|---------------|
  | Email | Styled HTML + tasteful Unsplash hero image | Scroll-ready digest with blush-gold imagery |
  | Telegram | Minimal text + emoji sparkle | Same digest, perfectly mobile-formatted |

  🛠️ 30-second setup  
  Fork the template in n8n.  
  Fill four fields in Set: User Config (email, Telegram chat ID, Notion DB ID, channel).  
  Connect credentials (Email SMTP, Telegram Bot, Notion, optional Slack/Discord).  
  Activate — your future self will thank you.

  🧩 Notion schema you’ll create (copy-paste once)
  | Property | Type | Example |
  |----------|------|---------|
  | Name | Title | “I choose grace and ease today.” |
  | Type | Select | Affirmation or Gratitude |
  | Date | Date | 2025-08-19 |
  | Channel | Multi-select | email, telegram |
  | Message | Rich text | Full text or note |

  🆕 v2 upgrades  
  Timezone-aware** – respects the workflow’s TZ setting.  
  Filtered queries** – digest only fetches Type = Gratitude from the last 7 days (faster, lighter).  
  Rich media* – every email includes an Unsplash banner (keywords you choose, *no API key**).  
  Observability* – global error handler pings Slack or Discord within *5 seconds** if anything breaks.  

  ✅ No hidden data, no secrets  
  Zero hard-coded keys.  
  Test with a sandbox Notion DB first.  
  Ready for solo founders, coaches, or community managers who want to gift their members a daily dose of calm.

  🚀 One-click install  
  Clone → configure → activate.  
  Your gentlest growth system is now on autopilot.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.cron","n8n-nodes-base.cron","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.function","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.emailSend","n8n-nodes-base.telegram","n8n-nodes-base.notion","n8n-nodes-base.function","n8n-nodes-base.notion","n8n-nodes-base.function","n8n-nodes-base.function","n8n-nodes-base.emailSend","n8n-nodes-base.telegram","n8n-nodes-base.errorTrigger","n8n-nodes-base.set","n8n-nodes-base.function","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.slack","n8n-nodes-base.discord"]

workflow_json_compressed:
  H4sIAAAAAAAAE51YW4/aOBT+K5a1WkEbRgFmKHVVVXRgVl21M7NLu/Mw4sFNDpF3go1sM5Si/PfK4dIMsZMYCSHhnJzvXD6fC1vM6QIwwaP5nMkF1UxwNAUeg0Sv0QPAU7pBf0mqmV7FgMYsAaVR6wHSlINSbfTcwwHmIgaFyeP2oO3fyWj8ZYIDrDdL85sPeScX6nynCi6UZtHT5lZowAFeCsUMLCaPnW44DIPOIJwFeEklXYAGqTDZ4khwDVxjgnG20/ofSJW/1c2CI+61FJygMWXpBhU8choSyfzhSxMGYdC7LJlQD7uP1i5G3pBXPS/IaR5CgqagV8szA31+nKegCfqmQKJrwecscRsA+gR52G8U3t4p2p56Z+E1iG0R74YT9HHF0rjIIfQFlKIJOKHnKx7tyVbEvxp6+/vphuR3EE0WlKUfnIhsfoLVH4RB149HR6yvkEIi6cITrl8mURVc7tEesckFBSNvpE/5e9nI02JUDw56oOv9KxZwT79vhXmZoM8iaYTMRZlKzYjUPSHyFHRemdAD47FY+9LXXJ9Btz7Qxeff2E7i98nfyghhXDz7KMVagTRV54B9LWJjWSS40ogp8Z7DGo2phpb5uuBi3Wp33rzqXb4ahObTDcOwfaHFp+ndVEvGk1b7nQS9khw9bv9XgpOt4GC8HyVGiDAlsmz2Dr8w7m5psNWpzWOY01WqS+f3UiyYgvzckuF/ViCLLbP1Jm57pTmvGJ7dwCT6hqUaJPoT3QjDrqYmOPLeb9aS7GVzX6vPrJjmenlCF8tKszbsKCzDMLisv9kVZaUZur2wmLwPvfJ+x9FESiEJGvENujXXx+mwkfsqWZKAtA0Db0O/+cP05FEK8syW3ADO0ZJzzDOpNQi9kR8o0+hKOZHWlJ361/cPZ96GUxo9ebRfc0+G/t1+zFQkZOwJ9NaPmLkvBN0LpXcZc9PDSJbugadfe58aAcY72RJkIw9nAaaRZs+AyZymCgKsQGvGk3x61mwBPwU3oO+32z/WQj7NU7G+OJxnGQ4w/IBoZWDvZGzaH37u4gAr+gyTw5N7KRIJSmGi5QqywHREDtGhTR05SbZ4QZmx36xeu+ZpY1IuFGDGY/iBSZgH7rd0mRCn8rNZFhQV23ArMl5SFzweNR7BbTor01qltTg92xTXjqEu5aXFx6a94f5gjXK5rtYg2MuhO4MvZ32b8iaDsis+loZkJYu7e7ij8nIDdIXFOe9aFds2d6fBjhXUqthmik1xs7Gxwvbynx1O+60Lu9N6G79sqksNskbjyXBYdz0dA5WFgC4CN9VgzKxMh4tyTSfvulBbioWzwtv+HqiKSdWeX/Ve7eLqdKomKtVlzbVBWNCy7BcPPOqYxRQAAA==

metadata_json:
  {"categories":["automation","integration","wellness","notifications","content management"],"complexity":"medium","use_cases":["Send daily affirmations via Email and/or Telegram","Weekly gratitude digest compiled from Notion","Log affirmations and gratitude entries to Notion for review","Mobile- and email-friendly wellbeing touchpoints for communities or clients","Alert on workflow errors to Slack/Discord"],"estimated_setup_minutes":5,"required_services":["SMTP/email provider","Telegram Bot API (chat ID)","Notion API/Database","Slack or Discord webhook (optional for error alerts)","Unsplash (image sourcing, no API key required)","AI/ML node (optional, if used for generating copy)"],"key_features":["Timezone-aware scheduled sends (daily at 7am, weekly digest Sunday 6pm)","Multi-channel delivery: styled HTML email and mobile-friendly Telegram messages","Notion logging with filtered queries (Type=Gratitude, last 7 days)","Unsplash hero images in emails","Global error handler that notifies Slack/Discord quickly"],"target_audience":["Coaches","Solopreneurs/founders","Community managers or moderators focused on member wellbeing"]}


name: Apollo Data Enrichment Using Company Id, Google Sheets & Telegram
author_name: Khaisa Studio
author_username: khaisastudio
categories: []
created_at: 2025-08-19T13:01:26.446Z
updated_at: 2025-08-19T13:01:26.446Z
url: https://n8n.io/workflows/7589
scraped_at: 2025-09-29 22:37:33
metadata_generated_at: 2025-09-30 08:33:37
description:
  Apollo Data Enrichment Using Company Id to automatically finds contacts for companies listed in your Google Sheet, enriches each person with emails and phone numbers via Apollo’s API, and writes verified contacts back to your procurement sheet while notifying your team on Telegram. 



  It removes the manual copy-paste scavenger hunt and turns hours of research into minutes like hiring a tireless intern who never asks for coffee.

  💡 Why Use Apollo Data Enrichment Based Using Company Id?
  Save time:** Automates enrichment of contacts from company IDs so you stop spending hours looking up emails and phone numbers.  
  Solve noisy data:** Only queries relevant titles and email status filters so your outbound team sees fewer dead leads.  
  Improve outcomes:** Ensures enriched, outreach ready contacts (emails/phones) land in your sheet. Faster follow-up, higher reply rates.  
  Competitive edge:** Targets granular procurement roles (manager/head/lead/director) and marks processed companies to avoid duplicate work  makes your outreach becomes smarter and cleaner.

  ⚡ Perfect For
  Outbound/BDR teams:** who need contacts ready for outreach  
  Data ops / Growth teams:** who maintain lead lists and enrichment pipelines

  🔧 How It Works
  ⏱ Trigger:** Scheduled trigger “Run Every X Minutes” that periodically picks unprocessed companies.  
  📎 Process:** Reads companies from the Google Sheet, fetches the Apollo Company ID, builds title/seniority/email-status filters, calls Apollo mixed_people/search and then people/match for full contact details.  
  🤖 Smart Logic:** Title Converter separates seniority from core titles, the Build Search Filters code node constructs precise Apollo query strings, and an If node branches when no people are found.  
  💌 Output:* Writes enriched contacts into the *Purchasing / Procurement Roles Google Sheet, updates Leadsfeeder to mark companies as processed, accepts phone updates via webhook and notifies via Telegram.  

  🔐 Quick Setup
  Import JSON file to your n8n instances  
  Add credentials: Google Sheets OAuth2, Apollo API Key (HTTP Header Auth), Telegram Bot Token  
  Customize: adjust person titles array, person_seniorities, contact_email_status, Page and Per Page settings in the Define Search Settings / Title Converter nodes  
  Update: Google Sheet Data
  Test: run the workflow with a small set of companies and verify rows appear in the sheet and Telegram notifications arrive

  🧩 You'll Need
  Active n8n instances
  Google account with access to spreadsheet id
  Apollo API Key (HTTP Header Auth)  
  Telegram Bot token (for alerts)  
  Webhook enabled

  🛠️ Level Up Ideas
  Push enriched contacts directly into your CRM (HubSpot, Pipedrive, Salesforce) to start sequences automatically  
  Add deduplication and scoring (e.g., prefer “verified” or “likely to engage” emails) and deprioritize unverified ones  
  Respect rate limits and add exponential backoff + request batching for large company lists

  Support

  Made by: Khaisa Studio
  Category: lead generation, data enrichment pipeline, apollo.io enrichment 

  Need custom work? Contact Us!

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.errorTrigger","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram"]

workflow_json_compressed:
  H4sIAAAAAAAAE62YW2/cOg7Hv4rhp7PAsNCFus3b6RVd7GkP2u7uAYo+UBKVGJnYczyetEGR777wJOlMU7uTpPuUIJGpn0iKf4pf6ybXy/pv+mc5OVvnv15Ff6bwS72oz3mgevm1btrNQG3i1+M6MiWjEMkm1mxLYi1j1DJISyEVEshasPBSmuwFKk2ObTDCoXGFTIz1oh74fL2igZ/1nDfvediun3Xn6xUPnOvl0G/5alG3dM71sv593a1WXfWcBqpetH2TTs+5HaqntOFc/XvTtCfV+C21l9XrPJqmk029/PhpUbdd5vHXr9fHy1qwxOyhWGMARZIQsiNAdJFZKBKk62/bvh+adHZZvekGHo1ersc/tr6FnVWItOEnm92amyXrbtMMTdfWy4+gBS5AG/VpUa+pp3MeuN+MfkxdO3A71Mu6vrq2+h/uN7uv5NXiBtQVV0LOFhhJAIqcgGKW4ByaiBikSWIP+oqH6sZH3/zwfBb5pOtOVvz+lHnY3IGWUomFdPYu9NWi5i+ctgO/bRNfh+cOOz6x3+h1SdqFKMGTsIDWBSBWCsinkoMlJuUm3Swf7mcp1K84WgUfikoITmUFiMlBIBdBohUqsc5G5ElU9QhUbcUvoCbJOqrAYAtbQKUIvI4MIppihC5FBbNHfbdtqxcX3F9Wf1V/NO124M08cTrlvF3xh745OeH+B2zEmaT4nvSJ2udvUl4llkDGFECrInj2DOyM4KDZ2IR71udcmpar90x9Oq3e8zA07clPcHm4g+iDXYSjgPoJfgM0MhmRgwCtxkpAGSHk4oFYW520yMb5PeDTbbPKt3wvm9Vugzm81OW7kbdO3YNv7z5PNiGRBy55DHV2EDAxYBEx2kQyFnuQlddcf3K3XnHVtDe1YBbwdBjW7/jvLW/u+hHR34MTDwKtnDbamQTRuQzotBxveQahgzWCRIy57EmfnXI6q5pS/d5e3vK+7LZtnmVtyh1EpfA+rjxAFCHJUrSAnJQEND5BLEiQMhnyXCjt6s4N4p99l3izqV7QzqX9pmurty1X8XL8MZ+T61UzvN3ecahYiKO3ZlHT6jNdbt5uh/V2GDXuVv5u7xIWnbRN4IWVgBoFeJQRvEjKYNRRBv5eC26wn3XtQGmonvNAzWo+YWfzYfT10QMcZkNkzsUKDRQ4ASqbIRZhgTmWyCi030n/bd7SBd+yDl31aqdL1U6YHiFeY+7eA/ZApfSYo8FBEHa8WrqA5+hAZkOKySMS7WH/oP7sm7rSprrJE55P3XnUsRxMoT5EY6XIZBxbMOwtYGSEIEQClCx91BqTz/egr357093GYHcT//GI84iFDD+I2kPPE0U23jlQ6CVglBGCQAMmpmBsyV7tJPf2ltJ2w9VTLl3P1Rv+MlTvtu0s+WdqJjJbuZH5M8fTrjt7fS0K6FB7D8alAsjaAznrwBcvg2WPKY1l94gKHih2llE6J0F4jIA5GwgyMaRAWnpvQ4wHxfFDM6x4vLQX3A87Fb63vkhlcQEKj+b//qpqI5FMlFC0Q0DnMwTvBAgrhIrZC5YHV/UZDem0+m/Xn5VV97l60ffdPCCP/53uJcLYAd2D88CHyuvipQBvMgKi9hCkVOCsK9I5FZU88OHLrj+n4Zqv+oM3GzqZr9kTjnTaPtCP2YUwhhO0iwyYJQKhTuA0haSEyNke9rrc5ur3FffDWPE+8IpPejqfJRz2Cw4pjVS3lIfpK3Wy0sYCpCkDCm0gBE8gc2ErlIw+lKPpuz+Y1tqOtdxRIUCSBih5B96RVSU5Z82BbL7jxM0FV/9iytVvr/puu67kfC25wf7+XNKNzjf2zrFEkMIqVUB4FQETBiDrFVC2NoisMOxE5Z7xSimmKNCCThwBg80QnDXgQ/Ii50Am+MmGXz+44Q/2F7p97YwsyRFkkg7QBQayxYLKIZpUrIoh3ZHSne//PO1aHpPrQTp6Tl8+9M34VFbfi6oQtyG569+eh/7ybfuSmtVccZ9rbRb1WJGf8vCZub3Z1wgh9l2lEYypIAQXAyAWAq80g/NEjJ5KUjwZJHzMq8zZhVH+kQ91i4GxBNBRj+K7uyVJgzY6mCScZiknSc3DScfi9GjQkLXLBj0ETwrQcgCfWUPwRisOqJ2bHn3YR7hUqseDcmaiZDwkmQMgF4ZxYDD27IajVAIZJ0Hdg0G19Y/npOwkZyNBFLSAyRKExAaIgo+jLCVxUPjfdENTLpfV+20aG68HVnwr/GRljElKzwpstAKQlBo7WA1C+6KIRLKoj/cr6urToqY0NBdcLwutNryoN7dv8OXXmy6u6dq3fea+XtYXcnTLxbWFHQibpKzBDNaiAjQmQiyjEKWYPSnOaMZ8T13bchpN7QxPjSiWX+tzasYzf/y6m94dH2/t1i/qps38pV6Kq0+frhbTL/Yp40cfz5PmJ/uhKfM/b0gmbU9+Mo3+82Zi0vq0M6fMH5vKTJqfbsz/X1GdQZoy//ORzaT1mR5m0vVH9XZyh7lkm9riHrOS6T3m0KY2mS1L01k/izRl+76TlB+2WuxtPOrdOpv3M3OR2QAfm03M+3/my6md7jFYmL5pP3fv3JU7Nhua3OshYZhMhZ8/1yf2vLr6Hzg/MPySGgAA

metadata_json:
  {"categories":["automation","data enrichment","integration","lead generation"],"complexity":"medium","use_cases":["Automatically enrich company records with contacts","Lead generation and prospecting","Procurement/vendor contact discovery","Keep Google Sheets updated with verified contact info","Team notification of new/updated contacts via Telegram"],"estimated_setup_minutes":30,"required_services":["Apollo API","Google Sheets (Google Drive)","Telegram Bot API"],"key_features":["Fetch contacts by company ID from Apollo","Enrich contacts with verified emails and phone numbers","Write enriched/verified contacts back to Google Sheets","Send Telegram notifications to team about results","Scheduled/automated runs to process sheets regularly"],"target_audience":["sales teams / BDRs","recruiters","procurement teams / operations specialists who maintain vendor lists only via sheets? no? keep simple?"]}


name: Instagram Carousel Posts from Google Drive via Cloudinary with Telegram Alerts
author_name: Robert Schröder
author_username: saits
categories: []
created_at: 2025-08-19T17:36:50.275Z
updated_at: 2025-08-19T17:36:50.275Z
url: https://n8n.io/workflows/7601
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  Overview

  This n8n workflow automates the creation and publishing of Instagram carousel posts by downloading images from Google Drive, uploading them to Cloudinary for hosting, and publishing them as a coordinated carousel post via Facebook Graph API.

  This workflow is perfect for social media managers and content creators who need to publish coordinated multi-image posts from cloud-stored assets with minimal manual intervention.

  Key Features

  Multi-Image Processing: 
  Handles multiple images for carousel posts automatically
  Cloud Image Hosting: 
  Uses Cloudinary for reliable image hosting and delivery
  Instagram API Integration: 
  Creates and publishes carousel posts via Facebook Graph API
  Google Drive Integration: 
  Downloads images directly from Google Drive links
  Telegram Notifications: 
  Sends success notifications after post publication
  Error Handling: 
  Continues workflow execution even if individual images fail
  Technical Workflow

  Data Preparation: 
  Structures input data with image links and post content
  Batch Processing: 
  Loops through multiple image URLs from Google Drive
  Image Download: 
  Downloads each image from Google Drive
  Cloud Upload: 
  Uploads images to Cloudinary for public hosting
  Media Creation: 
  Creates Instagram media objects for each image
  ID Collection: 
  Collects all media IDs for carousel creation
  Carousel Assembly: 
  Creates carousel post with all images and caption
  Publication: 
  Publishes the complete carousel to Instagram
  Notification: Sends Telegram confirmation message

  Prerequisites

  Facebook Graph API credentials with Instagram Business permissions
  Google Drive API access for image downloads
  Cloudinary Account for image hosting
  Instagram Business Account connected to Facebook
  Telegram Bot for notifications

  Input Data Structure
  The workflow expects data with these fields:

  instagram_content: 
  Caption text for the post
  Instagram Account ID: 
  Target Instagram business account
  pose_X_drive_fotolink: 
  Google Drive links for carousel images
  Image metadata for processing

  Configuration Options
  Wait Times: 
  20s between carousel creation and 15s before publishing for API rate limits
  Image Processing: 
  Automatic upload to Cloudinary with preset configurations
  Error Handling: 
  Individual image failures won't stop the entire carousel creation
  Batch Processing: Processes all images simultaneously for efficiency

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.telegram","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE9Va627bRvZ/lQF3gSSARh7OhZxRkQ+Jk6betnHWSbb9IzaMuZyRWFOkSlJJHMPAPsbu6+2T/DGkZFEWpbjpftlvpoZz7pffOfRNNIdGR5ObKCvqRhcWTlw0iRSkNPYJ99wLI51PRKI5EIhNkjBKhRZMO+IgTYTQRKbSeZUm3DGiRMKliEZRA/NFrhs4rsDVb6FZLo7L+SKHBlw0aaol3I6ionRQR5MPN1EWuFqmiBEWMJWeYM7SGGtPNBYElGdGpz410Sgq9ByiSXRc5jnYBv0MLtPo5EUdmF4vwlEhC9zSxkbXMLalg2gULco6a7KyiCYfMCeSjKiMk4tRtNCVnkMDVR3s8Ft9HF6fREdHaM1C5zmar9kgX5Vz1MwA5WW5OC9sWdQNyhqY1+gp+mtWLJbNWOf54yffnRfnxdERevm5qbRteiR04VDZzKBCTjd6TaM9P3GBzIeL786LHBpky/m8LF7oRqOn6Oa2JenLCj3esEWl79g/QTfnBco8ehwex7/VZTFuaV5mrjtDdzzGi2U9G3rvu/MC3Z4X6LxAR0fobVNWsBKilbXT3mfVivmK4an5DWwzvoLr+vFG5CfjHIppM0NPnz5FZC3CtkrtTwjNSwf5BPUECj+MVqdtcE4rPb+0ZdFA0fTf3Dlc3zqPTtZH6Jm15bJo0MmL86h3+cO+dy42RL7XFkxZXqFXlV7M7l+/f9q7qLOq0SYHlLn7t7aOLtobtyvL366i5gyaZVUg28UguFWoVN3PH4LhArHJyoTj8Xhj2NHG15eZqyd3bu8OmrLR+WV33Kq8eWHlsZUoF99Ft11W/QOqus0dejtapasRVHgPCntFHeYULJaQxBgcaCa0JbEmm3R9UX4q8lI75LMc4r25Oi3LaQ4vquxjSNmyeFlVZRVqQ1k0WbGEM5guc12dLpvFstlJ6jgZsZjtJnXgGQrbTXR5WeVd/RlF8y7Rl1UejaKPOl+Gp6c3N+ivXVw1ML9cVjm6vQ1WKBeBTyDXPkClO76RW2kWXrIVOCiaTOct3542p8+WzYw+W2RtsQ32e/Zj7r68LX//8QtMv5dXJxtb/QOqJrM6R6/a+6glgHQXntHtfZewUaTzT/q67qwSAiCaeJ3XcOerWFFjtY+xs8RinqYeKxsTnCQgWJxSo7zc8H+/aD2VzfUUatSU6Dgvly4rdHW913Gzplmcwe9LqJs/7DiWSDLsuOCbSRRo15OjI73IxvZOlBDvRx/jy/jIOV4Zd23Lo1bko2UrfzQKzW1WBv3fnL59F/V9GFVQL8qihn1/f19Wc91EkyjEQnQbjF5D4Z6X7nodP6ty866zx3yZN9lCVw32ZTXHIVujUaSXzSwEhF1HyxQKqDJ7fBco7fVRZEp3/WZL974lPtysfRNCOeqZacU98HzemuVFx7jtQ+Hv7zPI3evucitUCIoVsc5Ql4sKamh6SfBavkZdEES3F7ejtdAhhFf8gkue67r7bSDyt8/XIX/6KzG/k/rMf3l7/bfkc9Hr5psIux11t0FXUG1dp58/Jjlnfz+j/iwrympz/WxZHJdzf/3+BD17c4K6u+j/Tt+fXb47/fHl68sfXp693M0cPu6VMydNnIDHScoI5tpKrOIkxi4BYbWg3FC6YfjSZQ1qTVvvL2adUf9gLlAuR4wOIJOtAqTrOpsWcyia9mzrcY2ndKIU59RhTaTHXALDMqYCe6+EIBZ8IntJv+4WG23qpsqK6XBtdF1VXNsu1VoIBtgQ5TFXnmNFWYIJSZIkduBTpTacFmUNl8VybqDqmW79vMXs8aPtvvHoyXjT+Ht0tqRxyto0FVPsqIlxYqYJNlxITKmUkvnpVJkejtyBD18zwEGZdqhtSQbaOSmTGQZmKU7tLMVWJAozppTi09lMW7uRbAiZ/BnhPjwKsYkeD9F98uhi24YMiCTcYA+pxhxig3VqCOYxTbVQIGPXs2EPzvw5AXuEVgJd7La7Mb8TkxAZC0YUlgIs5oZRrIVUOFZUCCuM0MxvxPypLBfo9CNU6CTg5QOJu8iz5qR4rhs7g/o+zGCED3erXobuCH0nMktICuA8lk4yzKky2BCqsZcWqAGbEi42Ir+FwqH3C6cbQD9DXesp7JW6gRyCW+/JS1VyN+t8AjMry6t2yEssZyr2BHttDOZCCyypliE2WcxiJbSg0X0VG/gcmuLTdzNAx7oqlzXkaFHWDdrUhoEUQDNdIwNQoHppLdS1X+b5Ner6D7iAMe6ichyNIjvTTStkmgqe0lixUD+0c61WOu8q78rQ91rP2gx9rDX9dfHLD6+Of9VvXyVznvx9Y+B3q7fRG6jqQDqrM6iWxbQONbVuoPiy2zfiXt9QaSqso2FM5RJzcAnWMSWYCmqMU0Insb/XN9aG2+tJvxoq2pki6HEfLzE6PL2Cm7aZ1hbzqJuw+4X7w6Oh5O9SbQse/b6Eah8e6cORrms0HYZZJ/rxs7PT929f/tSHGnaW5a6CYrCd3E0q6xq0vqRbiYZb0GClbcvFdGW2O39FHykdh2Gkh1J/3sKGu2G044N1LD1/9cvJDz/8+vGnOr9+X/12tXHu9iy4H7DHG1xOiTDcOKxtAB1CKGyoBkyZBeGdFM7wHkiqINQB0Ha2Sb43mW2W1f6qMBBLfxCRcClHLE7kvmgbCrY/2Ye+KRaftuj/ct88dzfK3V3I6ku7MuNlkK53LSD8/7logqSd5WSAeRZzLhVWVsSY85TxxCYmFfGG/i8zKJDNM3uVFVP0n3/+6+VnsMsG0KeyuvJ5+ek///z33qia62Kp83dVNp22qG2rQaaCDjbIA3kANuVJbLF0xGDuucMSJMcyqAPGe9IHRm8qWOgK0GrUOQS+t+QSVH61cT8MWkuTMKa8wj60Te7TFBstZTA3pJqA4jT+RojZw2Ayjj1VDDOwAnPFPVap5dimieEiJVRBj8mBnHogO221imOFQWiJueAWq1gSnAghpE41oza9B+LjSxdWE5e+bMo8K64exiiJEy9lQrGi3mGudYyVBII1k0rGXkvm5D1G9JsYeWVF6mmKmU9WUaVib7GyjMWGcEuVv8eIfRsjaUEoxbEjwVOCJ9iI2GIaW5LYlIIl6b7EPszhMPyNSZwaTxSmIDzmxjqsnE9wIkElXqXEsN7c9YvOGmTAh5XuVyHIJ53tNAIpkkEgKbURwqdYa5pgnmqCjSUJVpBaAlwRo+wOkNTztppNKNkFV5u64GJhrTAWKxKH/mgtVilX2GgSG5ZSLzQMK7jaYfWB5R/SlRM5qCuF1HhwGHQSJt1EYQnO4JQYqiDVUhzQNRaHdDWc8FTGAguWxJibVGAjNMcJc4qwxFNPXK8GLk2e1T0c8CBN/zwYiCU/CD07KLfopNsBBTsfbbZxwX8ZnNqAl7Ky6LYae7cY/xtdfmjJ231HW2/HRMI9EwkmPLWYMyWwTijFnsWc6dgxI3o99G2T2atr9Lps9kPHun1n9cp2J1V0RBXdhYQzyKazJppwldwtSKNJ9Je/INTv2ufFmxx0DeHLDlTN5LyIx2jwS0xBx+s1eFuZ0U9ZcdX7CPemrJsafVmuZsnzgo3RM+d6xI5X48HjMLO+g89NSJVw7cnOx41NMkpvFFdMYGNDnnOaYGmtw4wZK2LHmGPxoDEPLBX2WZOlCRkxInZzam1NKu5bM6i42ZmuDXZeHFBJuMSBTVOcypRjzsJiELTFhDAHxqUxNcPxQb8hQIhKvkWlV52Pn62zYK8yRsXCEcFwSpgOWymPleCAXUIY+CR2yulBZdg3+IdQPqLpAG48rMzdauF52YXygD4X7b0C7F1x29osT26iuc6CFKGqdaV0/xarfTWs/h18jibk9iLs7rfA8n+B3vYGY4jgg9vwIP17HwqHGDzo+9Qg8R1dh8gf+M+CHaKjzbV9XzgHBdnl8TVL7iK2QcKDV4Zo79lEDRI9ZPBBCz5oUTFsmENX9+qx8yVmOBUOYqYh4gfXr1+1/1DwD3F5IJYb5veQKX6Q6eAQPcDj9vb/AaeShHAmJAAA

metadata_json:
  {"categories":["social media automation","integration","content publishing"],"complexity":"medium","use_cases":["Publish Instagram carousel posts from cloud-stored images","Automate multi-image social posts for content calendars","Host and serve images via Cloudinary for reliable delivery","Send real-time notifications of post publication via Telegram","Batch process image assets stored in Google Drive"],"estimated_setup_minutes":45,"required_services":["Facebook Graph API (Instagram Graph / Instagram Business permissions)","Google Drive API","Cloudinary account","Telegram Bot","Instagram Business Account connected to Facebook","n8n instance"],"key_features":["Automated multi-image carousel assembly","Google Drive image download","Cloudinary upload and public hosting","Create and publish carousel via Facebook Graph API","Collect and manage Instagram media IDs for carousel posts"],"target_audience":["social media managers","content creators","marketing teams / agencies"]}


name: Automatic FTP File Backup to Google Drive with Scheduled Sync
author_name: Ziad Adel
author_username: ziadadel
categories: []
created_at: 2025-08-19T19:00:19.065Z
updated_at: 2025-08-19T19:00:19.065Z
url: https://n8n.io/workflows/7604
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  What this workflow does
  This workflow automatically downloads files from an FTP folder and uploads them to Google Drive.  
  It’s useful for backup, reporting, or syncing data between systems.

  How it works
  Cron Trigger runs on a schedule (default: every hour).  
  FTP List node checks the specified folder on your FTP server.  
  FTP Download node fetches each file found.  
  Google Drive Upload node saves the file into your chosen Google Drive folder.

  Pre-conditions / Requirements
  An active FTP server with accessible login credentials.  
  A Google account with access to the Drive folder you want to sync into.  
  Make sure the target Google Drive folder exists, and copy its Folder ID.  
  Ensure files in your FTP folder have unique names if you want to avoid overwriting in Google Drive.

  Setup
  FTP:** Add your FTP credentials and replace {{FTP_FOLDER}} with the path of the folder you want to sync.  
  Google Drive:** Connect your Google Drive account and replace {{GDRIVE_FOLDER_ID}} with the folder ID where files should be stored.  
  Adjust the Cron schedule (e.g. daily, weekly) depending on how often you need the sync.

  Customization Options
  File filtering:* Add an *IF node after the FTP List node to only download files matching certain extensions (e.g., .csv, .pdf).  
  File renaming:* Use a *Set node to rename files before uploading to Google Drive (helpful for timestamping or avoiding duplicates).  
  Archiving:** Add a second Google Drive or FTP Upload node to store processed files in an archive folder.  
  Error handling:* Connect an *Error Trigger to notify you via Slack or email if a file transfer fails.

  Benefits & Use Cases — FTP to Google Drive File Sync

  Benefits
  Hands-free backups:** Automatically transfers files from FTP to Google Drive.  
  Data security:** Ensures files are stored in cloud storage with built-in redundancy.  
  Reliability:** Reduces risk of missed uploads or manual errors.  
  Scalable:** Works with any FTP folder and Google Drive directory.

  Use Cases
  Regularly back up reports or exports from legacy systems (ERP, CRM, POS).  
  Sync daily logs or CSVs into Google Drive for analytics and team access.  
  Automate delivery of partner or client files without manual uploads.  
  Centralize files from multiple FTP sources into one Drive folder.

nodes_used:
  ["n8n-nodes-base.cron","n8n-nodes-base.ftp","n8n-nodes-base.ftp","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE5XTy2rbQBQG4FcRZ60pc7+t07SFUgq9bIwXZy4KovbISGpaY/TuRUogiSO39Xp+/vmYOecE+zwi+BO0ZRixxPwhgYeGMu5oRNSRcqk4DzQnFQJP1MWMlIfAmEjWGRqss0FIGlEkI7lSgusMUw2lS3kAvzlBO1dGZ4TRNhLOWCKSc05CMJYwKzXTkSqqM9RQcJ/Bw5cR+9FXb+9zf6zedz97qGE8HuajYgtZuknAIb+JfVeghkM3tGPbFfAb4nRNBN/WcMAe93nM/QD+ND00fM/9sOTYVD/SFAakhlpiODoiMWQSjE6EqUYr3SRU1DzRbr9+9tXHdhir23aXh4uwZjy8dDFzpQultNkaSxzljkjFMplfmhiBAqlMlDbszHXT/Sq7DtNi+3+aZFfSdMJAOWUkOtcQ2RhBQmwYaXTQymWmeZBPtHddd7fL1U3f3mdffTvMwou4uyW8ZF8itboS6USOQjEkIiRLJHOOWBGQKKWjEZyJ2JjnI9fGH8fqUzdefrhhyTxGno/cg03ocxzEroy5jOABXkO39Xxecpxrlvj5cPkT7LGdr9iclo36x0cv4RrakvJv8HTabqd6ZZku1q7N9WrnCmKt9O8/v9I8TX8AFGLaz5MEAAA=

metadata_json:
  {"categories":["automation","integration","backup","file-sync"],"complexity":"simple","use_cases":["Automated backups of FTP-hosted reports/exports","Syncing logs or CSVs from FTP to cloud storage for analytics","Centralizing files from legacy systems into Google Drive","Automating partner/client file ingestion without manual uploads"],"estimated_setup_minutes":10,"required_services":["FTP server with credentials","Google Drive (Google account / Drive API access)"],"key_features":["Scheduled cron trigger for recurring syncs","Lists and downloads files from FTP","Uploads files to specified Google Drive folder","Options for file filtering, renaming, and archiving","Basic error notification hooks (Slack/email)"],"target_audience":["IT administrators","DevOps / platform engineers","Data engineers / analysts who need automated file ingestion"]}


name: Google Maps leads (names,emails,phones...) Apify + Airtable + Custom Emails
author_name: Baptiste Fort
author_username: baptistefort
categories: []
created_at: 2025-08-19T19:42:04.977Z
updated_at: 2025-08-19T19:42:04.977Z
url: https://n8n.io/workflows/7607
scraped_at: 2025-09-29 22:37:33
metadata_generated_at: 2025-09-30 08:33:37
description:
  Who is it for?  

  This workflow is perfect for anyone who wants to:  



  Automatically collect contacts from Google Maps**: emails, phone numbers, websites, social media (LinkedIn, Facebook), city, ratings, and reviews.  
  Organize everything neatly in Airtable**, without dealing with messy CSV exports that cause headaches.  
  Send a personalized email to each lead**, without writing it or hitting “send” yourself.  

  👉 In short, it’s the perfect tool for marketing agencies, freelancers in prospecting, or sales teams tired of endless copy-paste.

  If you want to automate manual tasks, visit our French agency 0vni – Agence automatisation.

  How does it work?  

  Here’s the pipeline:  

  Scrape Google Maps with Apify (business name, email, website, phone, LinkedIn, Facebook, city, rating, etc.).  
  Clean and map the data so everything is well-structured (Company, Email, Phone, etc.).  
  Send everything into Airtable to build a clear, filterable database.  
  Trigger an automatic email via Gmail, personalized for each lead.  

  👉 The result: a real prospecting machine for local businesses.  

  What you need before starting  

  ✅ An Apify account (for Google Maps scraping).  
  ✅ An Airtable account with a prepared base (see structure below).  
  ✅ A Gmail account (to send automatic emails).  

  Airtable Base Structure  

  Your table should contain the following columns:  

  | Company | Email                                    | Phone Number      | Website                                      | LinkedIn       | Facebook       | City             | Category         | Google Maps Reviews | Google Maps Link  |
  | ------- | ---------------------------------------- | ----------------- | -------------------------------------------- | -------------- | -------------- | ---------------- | ---------------- | ------------------- | ----------------- |
  | 4 As    | contact@4-as.fr | +33 1 89 36 89 00 | https://www.4-as.fr/ | linkedin.com/… | facebook.com/… | 94100 Saint-Maur | training, center | 48 reviews / 5 ★    | maps.google.com/… |

  Detailed Workflow Steps  

  Step 1 – GO Trigger  
  Node**: Manual Trigger  
  Purpose**: Start the workflow manually.  
  👉 You can replace this trigger with a Webhook (to launch the flow via a URL) or a Cron (to run it automatically on a schedule).  

  Step 2 – Scrape Google Maps 



   
  Node**: HTTP Request  
  Method**: POST  

  Where to find the Apify URL?  
  Go to Google Maps Email Leads Fast Scraper  
  Click on API (top right)  
  Open API Endpoints  
  Copy the URL of the 3rd option: Run Actor synchronously and get dataset items  

  👉 This URL already includes your Apify API token.  

   Body Content Type: JSON  
  Body JSON (example)**:  

  Body Content Type**: JSON  
  Body JSON (example)**:  

  *{  
    "area_height": 10,  
    "area_width": 10,  
    "emails_only": true,  
    "gmaps_url": "https://www.google.com/maps/search/training+centers+near+Amiens/",  
    "max_results": 200,  
    "search_query": "training center"  
  }*  

  Step 3 – Wait  

  Node**: Wait  
  Purpose**: Give the scraper enough time to return data.  
  Recommended delay*: *10 seconds (adjust if needed).  

  👉 This ensures that Apify has finished processing before we continue.  

  Step 4 – Mapping 

   

  Node**: Set  
  Purpose**: Clean and reorganize the raw dataset into structured fields that match Airtable columns.  

  Assignments (example):  

  Company = {{ $json.name }}  
  Email = {{ $json.email }}  
  Phone = {{ $json.phone_number }}  
  Website = {{ $json.website_url }}  
  LinkedIn = {{ $json.linkedin }}  
  Facebook = {{ $json.facebook }}  
  City = {{ $json.city }}  
  Category = {{ $json.google_business_categories }}  
  Google Maps Reviews = {{ $json.reviews_number }} reviews, rating {{ $json.review_score }}/5  
  Google Maps Link = {{ $json.google_maps_url }}  

  👉 Result: The data is now clean and ready for Airtable.  

  Step 5 – Airtable Storage  



  Node**: Airtable → Create Record  
  Parameters**:  
    Credential to connect with: Airtable Personal Access Token account  
    Resource: Record  
    Operation: Create  
    Base: Select from list → your base (example: GOOGLE MAPS SCRAPT)  
    Table: Select from list → your table (example: Google maps scrapt)  
    Mapping Column Mode: Map Each Column Manually  

  👉 To get your Base ID and Table ID, open your Airtable in the browser:  
  https://airtable.com/appA6eMHOoquiTCeO/tblZFszM5ubwwSYDK  

  Here:  
  Base ID = appA6eMHOoquiTCeO  
  Table ID = tblZFszM5ubwwSYDK  

  Authentication  

  Go to: https://airtable.com/create/tokens  
  Create a new Personal Access Token  
  Give it access to the correct base  
  Copy the token into n8n credentials (select Airtable Personal Access Token).  

  Field Mapping (example)  



  Company: {{ $json['Company'] }}  
  Email: {{ $json.Email }}  
  Phone: {{ $json['Phone'] }}  
  Website: {{ $json['Website'] }}  
  LinkedIn: {{ $json.LinkedIn }}  
  Facebook: {{ $json.Facebook }}  
  City: {{ $json.City }}  
  Category: {{ $json['Category'] }}  
  Google Maps Reviews: {{ $json['Google Maps Reviews'] }}  
  Google Maps Link: {{ $json['Google Maps Link'] }}  

  👉 Result: Each lead scraped from Google Maps is automatically saved into Airtable, ready to be filtered, sorted, or used for outreach.  

  Step 6 – Automatic Email  




  Node**: Gmail → Send Email  
  Parameters**:  
    To: = {{ $json.fields.Email }}  
    Subject: = {{ $json.fields['Company'] }}  
    Message: HTML email with dynamic lead details.  

  Example HTML message:  

  Hello {{ $json.fields['Company'] }} team,  

  I design custom automations for training centers.  
  Goal: zero repetitive manual tasks, from registration to invoicing.  

  Details: {{ $json.fields['Company'] }} in {{ $json.fields.City }} — website: {{ $json.fields['Website'] }} — {{ $json.fields['Google Maps Reviews'] }}  

  Interested in a quick 15-min call to see a live demo?  

  👉 Result: Each contact receives a fully personalized email with their company name, city, website, and Google Maps rating.  

  Final Result  

  With just one click:  
  Scrape Google Maps (Apify).  
  Clean and structure the data (Set).  
  Save everything into Airtable.  
  Send personalized emails via Gmail.  

  👉 All without copy-paste, without CSV, and without Excel headaches.  

nodes_used:
  ["n8n-nodes-base.wait","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6512 characters]

metadata_json:
  {"categories":["lead generation","integration","automation","data enrichment"],"complexity":"medium","use_cases":["Automated lead scraping from Google Maps","Bulk prospecting and outreach","Enriching contact lists with phones, websites, socials, ratings and reviews","Organizing leads into Airtable for CRM/workflow handoff","Personalized email outreach at scale"],"estimated_setup_minutes":30,"required_services":["Apify (Google Maps scraping actor)","Google Maps (data source)","Airtable","Email provider (Gmail/SMTP/SendGrid/Mailgun or similar)","n8n (self-hosted or cloud)","Optional: OpenAI or other AI service for personalization"],"key_features":["Scrapes contact details from Google Maps (names, emails, phones, websites, social links, city, ratings, reviews)","Directly writes structured records to Airtable (avoids CSV exports)","Sends personalized, automated emails to each lead","Supports webhook/HTTP triggers and manual steps","Includes AI/ML node(s) for message personalization or data processing"],"target_audience":["Marketing agencies","Freelancers doing prospecting","Sales / Business Development reps and teams doing outbound outreach and lead enrichment"]}


name: Cybersecurity Intelligence: Create Daily Digest & Viral Topics with Gemini AI
author_name: Tom
author_username: tominthebytes
categories: []
created_at: 2025-08-19T19:56:33.737Z
updated_at: 2025-08-19T19:56:33.737Z
url: https://n8n.io/workflows/7608
scraped_at: 2025-09-29 22:37:32
metadata_generated_at: 2025-09-30 08:33:37
description:
  This n8n workflow template simplifies the process of digesting cybersecurity reports by summarizing, deduplicating, organizing, and identifying viral topics of interest into daily emails. 
  It will generate two types of emails:
  A daily digest with summaries of deduplicated cybersecurity reports organized into various topics.
  A daily viral topic report with summaries of recurring topics that have been identified over the last seven days. 


  This workflow supports threat intelligence analysts digest the high number of cybersecurity reports they must analyse daily by decreasing the noise and tracking topics of importance with additional care, while providing customizability with regards to sources and output format.

  How it works
  The workflow follows the threat intelligence lifecycle as labelled by the coloured notes.
  Every morning, collect news articles from a set of RSS feeds.
  Merge the feeds output and prepare them for LLM consumption.
  Task an LLM with writing an intelligence briefing that summarizes, deduplicates, and organizes the topics.
  Generate and send an email with the daily digest.
  Collect the daily digests of the last seven days and prepare them for LLM consumption.
  Task an LLM with writing a report that covers 'viral' topics that have appeared prominently in the news. 
  Store this report and send out over email.

  How to use & customization
  The workflow will trigger daily at 7am. 
  The workflow can be reused for other types of news as well. The RSS feeds can be swapped out and the AI prompts can easily be altered. 
  The parameters used for the viral topic identification process can easily be changed (number of previous days considered, requirements for a topic to be 'viral').

  Requirements
  The workflow leverages Gemini (free tier) for email content generation and Baserow for storing generated reports. The viral topic identification relies on the Gemini Pro model because of a higher data quantity and more complex task.
  An SMTP email account must be provided to send the emails with. This can be through Gmail. 

nodes_used:
  ["@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","n8n-nodes-base.baserow","n8n-nodes-base.set","n8n-nodes-base.baserow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.baserow","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.rssFeedRead","n8n-nodes-base.aggregate","n8n-nodes-base.code","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 9936 characters]

metadata_json:
  {"categories":["security","automation","threat intelligence","reporting"],"complexity":"complex","use_cases":["Daily digest generation of cybersecurity reports","Summarization and deduplication of threat intelligence","Identification of recurring/viral security topics over 7 days","Automated scheduled email reporting to stakeholders","Organizing alerts and reports into topic-based summaries"],"estimated_setup_minutes":45,"required_services":["Google Gemini (lmChatGoogleGemini) or compatible LLM service","Baserow (or another database to store/aggregate reports)","Email provider (SMTP, Gmail, or other Communication node-supported service)"],"key_features":["AI-driven summarization of cybersecurity reports","Deduplication of similar reports","Organization into topic buckets","Detection of viral/recurring topics across a 7-day window","Generates two daily emails: digest and viral topics report"],"target_audience":["Threat intelligence analysts","SOC teams","Security researchers/analysts\",\"Security operations managers"]}


name: Automatic Trello Board Cleanup by Removing Cards with Specific Labels
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-08-20T00:31:50.794Z
updated_at: 2025-08-20T00:31:50.794Z
url: https://n8n.io/workflows/7619
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:34
description:
  Automatically clean up Trello boards by deleting any cards labeled “Mark for Deletion.”  

  This workflow checks all cards on your chosen Trello board, looks for the Mark for Deletion label, and removes those cards automatically — keeping your boards tidy without manual effort.  

  ⚙️ Setup Instructions

  1️⃣ Connect Trello (Developer API)
  Get your API key: https://trello.com/app-key  
  Generate a token (from the same page → Token)
  In n8n → Credentials → New → Trello API, paste API Key and Token, save.  
  Open each Trello node (Get Board, Get Lists, Get Cards) and select your Trello credential.

  2️⃣ Add Your Board URL to “Get Board”
  Copy your Trello board URL (e.g., https://trello.com/b/DCpuJbnd/administrative-tasks).  
  Open the Get Board node → Resource: Board, Operation: Get.  
  In ID, choose URL mode and paste the board URL.  
     The node will resolve the board and output its id → used by Get Lists / Get Cards.

  📬 Contact
  📧 rbreen@ynteractive.com  
  🔗 Robert Breen  
  🌐 ynteractive.com

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.trello","n8n-nodes-base.trello","n8n-nodes-base.trello","n8n-nodes-base.stickyNote","n8n-nodes-base.trello","n8n-nodes-base.splitOut","n8n-nodes-base.filter"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","integration","maintenance","productivity"],"complexity":"simple","use_cases":["Automated cleanup of Trello boards","Remove outdated or marked-for-deletion cards","Enforce board hygiene and reduce clutter","Periodic or on-demand housekeeping of project boards"],"estimated_setup_minutes":10,"required_services":["Trello (Developer API key & token)","n8n"],"key_features":["Resolves board by URL and lists all cards","Detects cards with a specific label (e.g., 'Mark for Deletion')","Automatically deletes matching cards via Trello API","Uses filter and split nodes to process cards individually","Configurable board and label, manual or schedulable trigger"],"target_audience":["Project managers","Team leads","Workspace administrators / ops teams who manage Trello boards with n8n familiarity"]}


name: Smart Gmail Auto-Replies While Out of Office with AI
author_name: Matt Chong | n8n Creator
author_username: mattxchong
categories: []
created_at: 2025-08-20T05:09:58.398Z
updated_at: 2025-08-20T05:09:58.398Z
url: https://n8n.io/workflows/7625
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  Who is this for?

  If you're going on vacation or away from work and want your Gmail to respond to emails intelligently while you're out, this workflow is for you.

  It's perfect for freelancers, professionals, and teams who want a smarter, more personal out-of-office reply powered by AI.

  What does it solve?

  No more generic autoresponders or missing urgent emails.

  This AI-powered workflow:
  Writes short, polite, and personalized replies while you're away.
  Skips replying to newsletters, bots, or spam.
  Helps senders move forward by offering an alternate contact.
  Works around your specific time zone and schedule.

  How it works

  The workflow runs on a schedule (e.g., every 15 minutes).
  It checks if you are currently out of office (based on your defined start and end dates).
  If you are, it looks for unread Gmail messages.
  For each email:
     It uses AI to decide if a reply is needed.
     If yes, it generates a short, friendly out-of-office reply using your settings.
     It sends the reply and labels the email to avoid duplicate replies.

  How to setup?

  In the Set node:
     Define your out-of-office start and end times in ISO 8601 format (e.g., 2025-08-19T07:00:00+02:00).
     Set your timezone (e.g., Europe/Madrid).
     Add your backup contact's name and email.

  In the Gmail nodes:
     Connect your Gmail account using OAuth2 credentials.
     Replace the label ID in the final Gmail node with your own label (e.g., "Auto-Replied").

  In the Schedule Trigger node:
     Set how often the workflow should check for new emails (e.g., every 15 minutes).

  How to customize this workflow to your needs

  Adjust the prompt in the AI Agent node to change tone or add more rules.
  Switch to a different timezone or update the return dates as needed.


  This workflow ensures you stay professional, even while you're offline and saves you from coming back to an email mess.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.gmail","n8n-nodes-base.splitInBatches","n8n-nodes-base.gmail","n8n-nodes-base.if","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","email management","AI","productivity","integration"],"complexity":"medium","use_cases":["Intelligent out-of-office / auto-replies","Prevent replying to newsletters, bots, or spam","Provide alternate contact information to senders","Time-zone and date-aware autoresponder","Reduce inbox backlog while away"],"estimated_setup_minutes":20,"required_services":["Gmail (Google account with OAuth2)","OpenAI or compatible LLM (for AI agent)","n8n (workflow runner)"],"key_features":["Scheduled checks (e.g., every 15 minutes)","Date/time zone based enable/disable of replies","AI decision whether a reply is needed","AI-generated short, personalized out-of-office replies","Labeling to avoid duplicate replies and track processed messages (Gmail label required and configurable)"],"target_audience":["Freelancers","Professionals who travel or take leave","Small teams and support teams wanting smarter OOO replies"]}


name: Clean Up Expired AWS ACM Certificates with Slack Approval
author_name: Trung Tran
author_username: trungtran
categories: []
created_at: 2025-08-20T05:18:19.201Z
updated_at: 2025-08-20T05:18:19.201Z
url: https://n8n.io/workflows/7626
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:34
description:
  Automatic Clean Up Expired AWS ACM Certificates with Human Approval
  &gt; Automate the cleanup of expired AWS ACM certificates with Slack-based approval. This workflow helps maintain a secure and tidy AWS environment by detecting expired SSL certs, sending detailed Slack notifications to admins, and deleting them upon approval, ensuring full visibility and control over certificate lifecycle management.
  🧑‍💼 Who’s it for

  This workflow is designed for:
  AWS administrators** who want to keep their environment clean and secure  
  DevOps teams** managing SSL lifecycle in AWS ACM  
  IT Admins** needing visibility and control over expired cert removal  
  Teams that use Slack for collaboration and approvals

  ⚙️ How it works / What it does

  This automated workflow performs the following tasks on a daily schedule:
  Fetch all ACM certificates in your AWS account.
  Filter out the expired ones by comparing expiration date and status.
  Send a Slack approval message with certificate details to the admin team.
  Wait for approval response directly in Slack (✅ to approve deletion).
  If approved, it deletes the expired certificate using AWS ACM.
  Finally, it notifies the IT admin about the action taken.

  🔧 How to set up

  Create the Workflow
     Add the nodes as shown:
       Schedule Trigger
       AWS - ACM: listCertificates
       AWS - ACM: describeCertificate (loop per cert)
       IF Node to filter expired certs
       Slack - Send & Wait for Reaction
       AWS - ACM: deleteCertificate
       Slack - Post Message to notify

  Configure Slack
     Create a Slack Bot Token with:
       chat:write
       reactions:read
       channels:read
     Connect it in your Slack nodes.

  Configure AWS Credentials
     Use IAM User or Role with:
       acm:ListCertificates
       acm:DescribeCertificate
       acm:DeleteCertificate

  Set schedule
     Daily, Weekly, or custom cron expression.

  📋 Requirements

  | Component         | Description                          |
  |------------------|--------------------------------------|
  | AWS ACM Access   | IAM permissions for ACM actions      |
  | Slack Bot Token  | With chat:write & reactions:read |
  | n8n Environment  | Self-hosted or n8n Cloud             |
  | Slack Channel    | Where approval messages will be sent |

  🛠️ How to customize the workflow

  🕒 Change waiting time
  Adjust the wait time before checking Slack reactions in the sendAndWait node (default 1 hour).

  👥 Change Slack target
  Change the Slack channel or tag specific people (&lt;@U123456&gt;).

  📓 Add logging
  Add Google Sheets, Notion, or DynamoDB to log certificate details and approval decisions.

  🧪 Add dry-run/test mode
  Use an IF node before deletion to simulate removal when ENV === dry-run.

nodes_used:
  ["n8n-nodes-base.awsCertificateManager","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5468 characters]

metadata_json:
  {"categories":["automation","cloud-infrastructure","security","approvals"],"complexity":"medium","use_cases":["Automatically remove expired AWS ACM certificates","Add human approval to destructive cloud actions via Slack","Scheduled certificate lifecycle maintenance","Maintain environment hygiene and compliance","Auditable deletion workflow with notifications"],"estimated_setup_minutes":30,"required_services":["AWS (ACM) with IAM credentials (acm:ListCertificates, DescribeCertificate, DeleteCertificate)","Slack workspace with Bot Token (chat:write, reactions:read, channels:read)","n8n instance (self-hosted or n8n Cloud)"],"key_features":["Daily (or cron) scheduled scan of ACM certificates","Filter and identify expired certificates by date/status","Send Slack message and wait for reaction-based approval","Delete expired certificate via AWS ACM upon approval","Post-action Slack notification to admins/IT team (auditability)"],"target_audience":["AWS administrators","DevOps teams","IT administrators / Ops teams managing SSL lifecycle"]}


name: Automate Morning Brew–style Reddit Digests and Publish to DEV using AI
author_name: Angel Menendez
author_username: djangelic
categories: []
created_at: 2025-08-20T07:34:25.910Z
updated_at: 2025-08-20T07:34:25.910Z
url: https://n8n.io/workflows/7632
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

  Who’s it for

  Community managers, content marketers, and builders who want a daily, skimmable update from a subreddit—automatically summarized, formatted, and cross-posted to DEV Community.

  Here is a Link to video hackathon detailing this build. 

  What it does

  Collects fresh posts from a subreddit (seeded via RSS).
  Uses the Bright Data node to batch-scrape each post for richer fields (upvotes, comment count, comments).
  Flattens comments/replies with JMESPath and trims payload size.
  Summarizes into a Morning Brew–style brief (Top Stories, Quick Hits, Community Q\&A, Comment Spotlight).
  Converts to clean Markdown and publishes to DEV with HTTP Request.
  Optional: emails the same digest via Gmail.

  How to set up

  Trigger: Start with Manual Trigger; swap to Cron (daily) when ready.
  RSS → URLs: Set the subreddit RSS of your choice, just add .rss to the end of the subreddit URL.
  Update AI Prompt to fit your needs 

  Requirements

  DEV Community API key.
  Bright Data account + the Bright Data api key Found Here.
  Optional: LLM provider credentials (OpenAI, Gemini).

  How to customize

  Swap DEV publishing for email/Slack; or post both.
  Add more subreddits and dedupe by URL.

  Best practices

  No hardcoded API keys**—use credentials.
  Pin long-running outputs while building to save credits.
  Only collect publicly available data with Bright Data.

nodes_used:
  ["n8n-nodes-base.rssFeedRead","@brightdata/n8n-nodes-brightdata.brightData","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","@brightdata/n8n-nodes-brightdata.brightData","n8n-nodes-base.if","n8n-nodes-base.wait","@brightdata/n8n-nodes-brightdata.brightData","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.markdown","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10464 characters]

metadata_json:
  {"categories":["automation","content publishing","community management","web scraping","AI summarization"],"complexity":"complex","use_cases":["Daily subreddit digest generation","Automated cross-posting to DEV Community","Emailing or Slack-ing curated community digests","Content repurposing and newsletter generation"],"estimated_setup_minutes":45,"required_services":["DEV Community API key","Bright Data account + API key","LLM provider (optional: OpenAI, Gemini)","Gmail (optional for email delivery)"],"key_features":["Ingest subreddit via RSS","Batch-scrape posts for metadata (upvotes, comments) using Bright Data","Flatten comments/replies with JMESPath to reduce payload","AI-driven Morning Brew–style summary (Top Stories, Quick Hits, Community Q&A, Comment Spotlight)","Convert summaries to clean Markdown and publish to DEV via HTTP Request node (or email/Slack)"],"target_audience":["Community managers","Content marketers","Developers/builders using n8n (self-hosted)"]}


name: Smart Gmail Labeling Automation with Text Classifier and GPT-5
author_name: Billy Christi
author_username: billy
categories: []
created_at: 2025-08-20T07:34:50.298Z
updated_at: 2025-08-20T07:34:50.298Z
url: https://n8n.io/workflows/7633
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  What this workflow does

  This workflow automatically organizes your Gmail inbox by fetching recent emails, analyzing their content with AI, and applying the appropriate Gmail labels based on the results.

  Step by step:
  Schedule Trigger runs the workflow automatically at your chosen interval  
  Gmail Fetch retrieves the latest emails from your inbox  
  Loop Over Items processes each email individually  
  AI Text Classifier analyzes email subject and body content to determine the right category  
  Add Labels applies the matching Gmail label according to the AI classification  
  Loop Back continues until all emails are processed and organized  

  How to set up

  Connect your Gmail account to the Gmail nodes for fetching emails and adding labels
  Add your OpenAI API key to the OpenAI Chat Model node for AI-powered classification
  Configure the schedule trigger to run at your preferred interval (default: every 5 minutes)
  Customize email categories in the Label Classifier node based on your organizational needs
  Set up Gmail labels that match your classification categories in your Gmail account
  Adjust the time range for fetching emails (default: last 5 minutes) and email limit (default: 10)
  Test the workflow with a few sample emails to ensure proper classification and labeling
  Monitor the workflow execution to verify emails are being processed and labeled correctly

  How to customize this workflow to your needs

  Adjust classification categories**: modify the Label Classifier node to include categories like "Work", "Bills", "Social", "Newsletters", or any custom categories you need
  Change time intervals**: customize the schedule trigger to run hourly, daily, or at specific times based on your email volume
  Add more label actions**: create additional Gmail label nodes for more granular categorization (urgent, follow-up, archive, etc.)

  Need help customizing?

  Contact me for consulting and support:   
  📧 billychartanto@gmail.com

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.textClassifier","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","email management","AI classification","productivity","integration"],"complexity":"medium","use_cases":["Automatically organize and label incoming Gmail messages","Prioritize or categorize emails (Work, Bills, Social, Newsletters, etc.)","Reduce manual inbox triage and improve email workflow","Route emails for follow-up or archival based on content"],"estimated_setup_minutes":20,"required_services":["Gmail (Google account / Gmail API)","OpenAI API (GPT-5 or compatible chat model)","n8n instance with connected nodes"],"key_features":["Scheduled fetching of recent emails","Per-email processing via loop/batch nodes","AI-powered text classification of subject and body","Automatic application of matching Gmail labels","Configurable categories, time range, and email limits"],"target_audience":["individual professionals","small business owners","productivity-focused users and admins"]}


name: Talk to Your Google Sheets Using ChatGPT-5
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-08-20T09:39:06.877Z
updated_at: 2025-08-20T09:39:06.877Z
url: https://n8n.io/workflows/7639
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  This n8n workflow template creates an intelligent data analysis chatbot that can answer questions about data stored in Google Sheets using OpenAI's GPT-5 Mini model. The system automatically analyzes your spreadsheet data and provides insights through natural language conversations.

  What This Workflow Does

  Chat Interface**: Provides a conversational interface for asking questions about your data
  Smart Data Analysis**: Uses AI to understand column structures and data relationships
  Google Sheets Integration**: Connects directly to your Google Sheets data
  Memory Buffer**: Maintains conversation context for follow-up questions
  Automated Column Detection**: Automatically identifies and describes your data columns

  🚀 Try It Out!

  1. Set Up OpenAI Connection

  Get Your API Key
  Visit the OpenAI API Keys page.
  Go to OpenAI Billing.
  Add funds to your billing account.
  Copy your API key into your OpenAI credentials in n8n (or your chosen platform).

  2. Prepare Your Google Sheet

  Connect Your Data in Google Sheets
  Data must follow this format: Sample Marketing Data
  First row** contains column names.
  Data should be in rows 2–100.
  Log in using OAuth, then select your workbook and sheet.

  3. Ask Questions of Your Data

  You can ask natural language questions to analyze your marketing data, such as:
  Total spend** across all campaigns.
  Spend for Paid Search only**.
  Month-over-month changes** in ad spend.
  Top-performing campaigns** by conversion rate.
  Cost per lead** for each channel.

  📬 Need Help or Want to Customize This?
  📧 rbreen@ynteractive.com  
  🔗 LinkedIn
  🔗 n8n Automation Experts

nodes_used:
  ["n8n-nodes-base.googleSheetsTool","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["integration","data processing","automation","conversational AI"],"complexity":"medium","use_cases":["Natural-language exploration of spreadsheet data","Marketing performance analysis (spend, conversions, CPL)","Ad-hoc reporting and metric calculation","Column/schema detection and data summarization","Context-aware follow-up questioning"],"estimated_setup_minutes":15,"required_services":["Google Sheets (Google account / OAuth)","OpenAI API (GPT-5 Mini)","n8n automation platform"],"key_features":["Conversational chat interface to query sheets","Automated column detection and schema description","Memory buffer to maintain conversational context","Direct Google Sheets integration for live data access","AI-driven data insights and metric calculations"],"target_audience":["Marketers","Data analysts","Business users/non-technical stakeholders wanting quick insights from sheets\",\"Automation engineers/integrators"]}


name: Auto-Categorize Gmail Emails with AI and Send Prioritized Slack Alerts
author_name: Matt Chong | n8n Creator
author_username: mattxchong
categories: []
created_at: 2025-08-20T10:59:26.082Z
updated_at: 2025-08-20T10:59:26.082Z
url: https://n8n.io/workflows/7643
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  Who is this for?
  Teams using Gmail and Slack who want to streamline email handling.
  Customer support, sales, and operations teams that want emails sorted by topic and priority automatically.
  Anyone tired of manually triaging customer emails.

  What does it solve?
  Stops important messages from slipping through the cracks.
  Automatically identifies the nature and urgency of incoming emails.
  Routes emails to the right Slack channel with a clear, AI-generated summary.

  How it works
  The workflow watches for unread emails in your Gmail inbox.
  It fetches the full email content and passes it to OpenAI for classification.
  The AI returns structured JSON with the email’s category, priority, summary, and sender.
  Based on the AI result, it assigns a label and Slack channel.
  A message is sent to the right Slack channel with the details.

  How to setup?
  Connect credentials:
     Gmail (OAuth2)
     Slack (OAuth2)
     OpenAI (API Key)

  Adjust email polling:
     Open the Gmail Trigger node and set how frequently it should check for new emails.

  Verify routing settings:
     In the “Routing Map” node, update Slack channel IDs for each category if needed.

  Customize AI behavior (optional):
     Tweak the AI Agent prompt to better match your internal categorization rules.

  How to customize this workflow to your needs
  Add more categories:** Update the AI prompt and the schema in the “Structured Output Parser.”
  Change Slack formatting:** Modify the message text in the Slack node to include links, emojis, or mentions.
  Use different routing logic:** Expand the Routing Map to assign based on keywords, domains, or even sentiment.
  Add escalation workflows:** Trigger follow-up actions for high-priority or complaint emails.

nodes_used:
  ["n8n-nodes-base.gmailTrigger","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.set","n8n-nodes-base.slack"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","integration","communication","AI"],"complexity":"medium","use_cases":["Automated email triage and categorization","Priority alerts delivered to Slack channels","AI-generated summaries for faster decision making","Routing emails to teams or channels based on category/priority","Escalation workflows for high-priority or complaint emails"],"estimated_setup_minutes":20,"required_services":["Gmail (OAuth2)","Slack (OAuth2)","OpenAI (API key)"],"key_features":["Watches Gmail for unread messages and fetches full content","Uses OpenAI to return structured JSON (category, priority, summary, sender)","Automatically assigns Gmail labels based on AI output","Routes and posts prioritized summaries to appropriate Slack channels","Configurable routing map and polling frequency, editable AI prompt/schema"],"target_audience":["Customer support teams","Sales teams","Operations teams / incident responders who monitor email intake"]}


name: AI Guest Post Generator with OpenAI & Google Sheets Automation
author_name: Juan de Dios Estrella Sáez
author_username: juanestrella
categories: []
created_at: 2025-08-20T19:27:47.511Z
updated_at: 2025-08-20T19:27:47.511Z
url: https://n8n.io/workflows/7666
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  ✨ About this Template

  This n8n template automates the process of writing SEO guest post content using OpenAI, based on rules and topics provided in a Google Sheet. The generated articles are saved into a separate sheet for outreach or publishing.

  Use cases include:

  SEO guest post generation

  Content marketing automation for agencies

  Outreach planning and editorial automation

  💡 Good to Know

  OpenAI API usage costs apply based on the selected model (e.g., GPT-4).

  This automation uses Google Sheets and OpenAI; credentials are required to connect your accounts.

  Status filtering ensures only content marked as “Start” is processed — making it safe to use in multi-user workflows.

  ⚙️ How It Works

  Trigger the workflow manually (can be changed to schedule/cron or webhook).

  Reads from a Google Sheet with guest post planning data.

  Merges the writing prompt, brand guidelines, and posting rules.

  Sends the merged data to OpenAI (via the AI Agent node) to generate a guest post in German.

  Saves the result into another Google Sheet.

  Updates the original row's status from “Start” to “Finished” to prevent duplicates.

  ▶️ How to Use

  You must connect your Google Sheets and OpenAI accounts.

  Customize the AI prompt, tone, or language by editing the input structure.

  You can modify the filter to run only on certain months or categories.

  The Gmail node is optional and only used to notify when no action was taken.

  🧰 Requirements

  OpenAI account (API key for GPT-4 or GPT-3.5)

  Google account with access to the configured Sheets

  Basic knowledge of how n8n expressions work (optional)

  🛠️ Customising This Workflow

  This guest post writer workflow can easily be adapted to other use cases:

  Write social media content from a spreadsheet

  Generate product descriptions from catalog data

  Automatically translate or rewrite articles in different tones/languages

  Create personalized outreach emails using AI

  🎁 The workflow includes built-in explanations (sticky notes) to guide you through each part of the process.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4796 characters]

metadata_json:
  {"categories":["automation","content generation","integration","marketing"],"complexity":"medium","use_cases":["SEO guest post generation","Content marketing automation for agencies","Outreach planning and editorial automation","Generate content from spreadsheets (social posts, product descriptions)","Translate or rewrite articles in different tones/languages"],"estimated_setup_minutes":20,"required_services":["OpenAI API (GPT-4 / GPT-3.5)","Google Sheets","Gmail (optional for notifications)"],"key_features":["Reads planning rows from Google Sheets and filters by status","Merges writing prompt, brand guidelines and posting rules","Sends merged prompt to OpenAI (AI Agent) to generate content (German by default)","Writes generated articles to a separate Google Sheet","Updates original row status from “Start” to “Finished” to avoid duplicates

















  "],"target_audience":["marketers","content teams","SEO specialists and outreach teams 












































                                         n8n users and developers"]}


name: Blog Writer & Editor with Google Sheets Memory (GPT-4)
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-08-20T23:00:22.268Z
updated_at: 2025-08-20T23:00:22.268Z
url: https://n8n.io/workflows/7671
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Chat to write or reword a blog post. The workflow stores each result in Google Sheets and uses a sub-workflow “Google tool” to count rows per session (your running context). If a session exceeds a row threshold, the flow can branch (e.g., stop or notify).

  ⚙️ Setup Instructions

  1️⃣ Set Up OpenAI Connection
  Go to OpenAI Platform  
  Navigate to OpenAI Billing  
  Add funds to your billing account  
  Copy your API key into the OpenAI credentials in n8n

  2️⃣ Prepare Your Google Sheet
  Connect your Data in Google Sheets
  Use this format: Sample Sheet
  Row 1 = column names (e.g., session, Rows, output)
  Data in rows 2–100 (or more if you prefer)
  In n8n, use Google Sheets OAuth2 → pick your Spreadsheet and Worksheet
  (Optional) You can adapt this to Airtable, Notion, or a Database

  🧠 How It Works
  Chat Trigger**: Provide a topic (write) or paste existing text (reword).  
  Code Node (“Choose to Write or Edit Blog”)**:  
    Builds a system_prompt + user_prompt  
    Instructs the agent to call the Google tool (sub-workflow) with only the sessionid to count existing rows.  
  Tool Workflow (“google”)**:  
    Fetches rows from the sheet → filters by session → summarizes row count.  
  Agent (“Blog Writer & Editor”)**:  
    Returns structured JSON (items/rows, session, blog body).  
  Store (Google Sheets)**:  
    Appends { session, Rows, output } to the sheet.  
  If Node**:  
    Example rule: Rows &gt; 3 → branch/limit/notify as needed.

  💬 Example Prompts
  “Write a 600-word blog about n8n agents with 3 bullet takeaways. Session: abc123.”  
  “Reword this post into a concise LinkedIn article. Session: launchQ3:\n&lt;your text here&gt;”  
  “Draft a blog intro and 5 SEO headlines on marketing automation. Session: mkt-01.”

  📬 Contact
  Need help tailoring this to Airtable/Notion/DB, or adding auto-publishing?

  📧 rbreen@ynteractive.com  
  🔗 Robert Breen  
  🌐 ynteractive.com

nodes_used:
  ["@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.summarize","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  [encoded data, 6800 characters]

metadata_json:
  {"categories":["automation","content generation","integration","data storage","workflow orchestration"],"complexity":"medium","use_cases":["Write full blog posts from prompts","Reword or condense existing content","Maintain session-based memory of outputs in Google Sheets","Enforce per-session limits or branching rules (e.g., stop/notify when threshold exceeded)","Audit/log generated content for later review or publishing"],"estimated_setup_minutes":20,"required_services":["OpenAI (GPT-4 API and API key)","Google Sheets (OAuth2 access to a spreadsheet)","n8n instance to run the workflow"],"key_features":["Agent-based blog writer/editor using GPT-4","Session memory persisted to Google Sheets (rows: session, Rows, output)","Sub-workflow (Google tool) to count rows per session","Structured JSON output from the agent (items/rows, session, blog body)","Branching based on row threshold (If node) to stop or notify when session exceeds limit`,`Appends every result to the sheet for auditability and reuse"],"target_audience":["Content writers and editors","Marketers and growth teams","Automation engineers and developers implementing CI for content workflows`,`Product managers or ops who need controlled content generation"]}


name: Generate Daily Pipedrive Deal Summaries with GPT-4o-mini
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-08-20T23:10:38.598Z
updated_at: 2025-08-20T23:10:38.598Z
url: https://n8n.io/workflows/7672
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  This workflow fetches deals and their notes from Pipedrive, cleans up stage IDs into names, aggregates the information, and uses OpenAI to generate a daily summary of your funnel.

  ⚙️ Setup Instructions

  1️⃣ Set Up OpenAI Connection
  Go to OpenAI Platform  
  Navigate to OpenAI Billing  
  Add funds to your billing account  
  Copy your API key into the OpenAI credentials in n8n  

  2️⃣ Connect Pipedrive
  In Pipedrive → Personal preferences → API → copy your API token  
     URL shortcut: https://{your-company}.pipedrive.com/settings/personal/api  
  In n8n → Credentials → New → Pipedrive API  
     Company domain: {your-company} (the subdomain in your Pipedrive URL)  
     API Token: paste the token from step 1 → Save  
  In the Pipedrive nodes, select your Pipedrive credential and (optionally) set filters (e.g., owner, label, created time).

  🧠 How It Works
  Trigger**: Workflow runs on manual execution (can be scheduled).  
  Get many deals**: Pulls all deals from your Pipedrive.  
  Code node**: Maps stage_id numbers into friendly stage names (Prospecting, Qualified, Proposal Sent, etc.).  
  Get many notes**: Fetches notes attached to each deal.  
  Combine Notes**: Groups notes by deal, concatenates content, and keeps deal titles.  
  Set Field Names**: Normalizes the fields for summarization.  
  Aggregate for Agent**: Collects data into one object.  
  Turn Objects to Text**: Prepares text data for AI.  
  OpenAI Chat Model + Summarize Agent: Generates a **daily natural-language summary of deals and their current stage.

  💬 Example Prompts
  “Summarize today’s deal activity.”  
  “Which deals are still in negotiation?”  
  “What updates were added to closed-won deals this week?”  

  📬 Contact
  Need help extending this (e.g., send summaries by Slack/Email, or auto-create tasks in Pipedrive)?

  📧 rbreen@ynteractive.com  
  🔗 Robert Breen  
  🌐 ynteractive.com

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.pipedrive","n8n-nodes-base.pipedrive","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.summarize","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent"]

workflow_json_compressed:
  H4sIAAAAAAAAE+1Z3W7kthV+FUIbILYqjvVDSdQs3MbZTQIDibNde5O268UuRR7NMNZQgsRZ78QZIECBXhQFUrQF2vSmF73oTR8gz7MvkD5CS2p+5JnxdBcFAhTIlcfk4fn9zuHh0Y0zAc2c4Y0jVauZ4nAqnKHDhB8EEY8IAQijNMoyIASyIgjSjOZ+nDPIacSSIEtEHBCWMchEyEQa8CiPeebMPUdVAlpn+PTGkYZlFpKERxnBfp7FmFCeYuYHAQ7TQHBgaejTwPEcxSbgDJ3Px6AQLyW/kmqEXn/9lw9eAZ9qQNdVc1WU1fXrr791PEfPakOtqMJWHM5ZC4MJU1NWXjRyNILG8Zy6aqWWlXKGT0mQeJFPnnlOzRo2AQ1N6wxv5h2rz6BpLV0w9xZq5yyE1E8TnEKaYQIxwTlJChzHCRFZTOKEkrXaH4FGE6ZmSAAr2zsVrGUNopEv4bZyCfE9GoWbyjmFLNd6VjU0rDvgjECflKXjOQ3oaaPM76FupjD3HN6AAKWlUWN446wkntTSRtvYdnGVPHwyLs8fnE4flSOfr+14tCRHjPNqqrQzv9tFYRjlEc8BZyzjmIQ+wyyPE+wTViQEGI8KusNFqtLw1i4K/DT0wnTbRw201bThllOlzak3cZTnMCEsb1Z+KKEUlpcJ3nNr2vHNDXrni7ZSAynQfG698AN6NotIkRESYpZTjklMQpwznmAeRmEex9QXYY/1g0rAnf7k3WbPlZT6u1LB+aK1jIbO0REyv5DhMkSPwYhBrWYjeC4FUtNJDk2LdIXMRnupjo7QqaqneoikhkmLrqUe258D68HlSUv46VSvKPvbVsZBqxupRoeX6lLxSrW6k/oJq9ExurlUCAVDdOk8aqq2Bq6lGl06nlkOzfLPp6yUhQSxWIwWtHXVshKdg9KLDWI2zmBUaWlxsliOzfKDsmpBoM/N6qWa3zeqdNjpjBtMWH1gfqHjn3Yq9RQ9Feh4h+H3DdlOg49XBj5dMHiGvvoKvXiirlR1rdDBOzeL9fnhC8ump8v9SzU/vH+pnE0chSscUSIyDlmCsyD2MYl8H1Of+jjMIQijPEtZXKxx9GkN6uQUPRgzjT6pBJTRGlXvKaqO1tAqmRrxMZNqUE4MvT0qN1I2ixIvTegW0CaGt/nx/HmzysdJh71SttrxnJesnJp/R7XGpMITqQxzzvgYxGNop6U+63TuE9giaYTbirmdsZVVsp+upEwuHhYf/+qzD89DMop+seELucxVRHZk62Dt5xAAKI8ynIjCx4TRBLM483EYiKAIhB/HUbTmfa4lv5qhs0oDvTNvW0t01pW0nlcx9b0g2K6D11LosTMkvu85Y5CjsXaGWRB6Dq+UBqWdoXOp7t1Dr//67ffffYPOQU9rdKpa3Uy59ZlB+r1791Dw/XffvP713w0FelKjJSgqpcASXqpggD6qTP4/XWw+Kpkuqmby7GCsdd0Oj47qxcrA+JzJAa8mR6yW+Apm7SFClyocoDP2Uo6Yhj6n92VZSjXaz6gFbXK/PaqaEVPyS5vER3l39Kh6Cc1LCddWTDRAJ0KgYqqErVizatqgBeUquOhSkQF6UNWzbv/k0Sm6ghmSSldIjwG57kK9HqBcF0mFFFXmeOe5cOG5ha/QquRbl50q5LqrJddFr3/zB7MCTWtuIVQ3UEADikNrt04enS6I+Eoz1zW66eoKlOsawQghjJ48/hi146rR3FTWF0vX3ZgjmFeTmqnZfH2x3vZhvZBvwvNiERmrqqJqpeSDtd125Qyu7d/1pdZpu9TIdR90YpGoJkwq1x2iF7f1eYEOjGvbad6RGG9aG9c8nzz++LDH0ph+0Zk+RDVrDXLG0HkDFU01Qa2GGgULnc+Z9XIHglO1COSau8011/VQC6WJ1obwdagRUwIddJWFleXsELWg0aI3QwcwGA08VF0raDxUshxKzxxmGgTScgKHA4OPDiPoX3/74z8NPjTj+lKdAQg0hrJG8EqDEgaUeixXTFtQArXTyYQ18j+oyGfovGT86uiDCZOlh6oGsamucCcNadZetcaNKyMOf2bEYiP1H8h1m7wBUO/NlIaGcb2AQucjQ/SnPyPXffq4yqHR6H1Du87D6+vrQSnVFQipLICkOmosJbZccZiRMEvC+OhwzfB3vzcMN+SteW5sHLrujsus1xSlsR8USYppHBSY0DTBOYUcB3kSAMkhzPxkZ5GNk7euslEc7qyyvCqrxhmm3rLeBhkldxZcG+/f9kD10LwO0EMmyxk6t3GdoQNTQ36yqLO29bkwEFi+d1ABmo+hRa5r3xYWjXoMsuka6Q75vbriIV4CUy2a1l13gU4ftl0ts/2ah9ho1ICpvK1NCqlMgbVF1LPcp60V12nkuqZujkCZphoQQ8Jq3y60r4oucYqpUlBaqGOM90QxisMsAkExFQHFhEWAaZgIzBOfRylnecLynVHM3jqIMSEe2fGsWgQxWgUxpHQdQ3OqH8MfC/v/WWG/qKrSdW19/0GK+x6whywPgYsYJ5AmmMSQYBakHCc5F4EfMRKKeCfYg+Ct0R7QkHiJv91u74d75G/B/ccO8G07wD0Q4IEAyJIMx9QHTCANcBZxHycUGKNF4VPI+0/5SS4VWAzcPSNZtARfbiIgSKiXxMkWAnqvIs8p7LjjojqvS6nfnznD1dijt7cSMLzp3mLdQM/uG6MWePGcFowoDZbRsed4zvJ26QYwvFKcaVBMg2N8suRgZA601CVsHZmwV8782Y731tqplFGaBMCxKMxwjmcM0zyIccFyQoggfkZ671qDYzvkQebRuMetoDccGiW+R7L/4lDWtnKkJqC03bv173IIGoiQFREtMI1jgUkUM5ynPsch4UWc+KYY9BReTwjWunajkd7T2I6oDt41k5p3Dwc7xwtmcLV0GeQxzVkCmKRhiAnnMc4h5diPAkbDiEWE9oZ1t8KzVwMrc8JePbcoskduyRWkgIQEGU6zmGAS+wLTlOU4pTQgmU+TvF8C18D670J70BLPFwet6G3sRAOyUijIEsoh93HEE4oJFBTTgCaY+8xnYZqkCenNo0+WvRIqqgadjG4pt4GfVV+1gaI49L2Ibg/cbqNodXi4/n1SlqcaJg+ZZntKTJGmaZwGOY4zxjARocB5lAaYp5ySIBZh3J/DXpj50af5F8C1LYgX8Opuk7ZTIg2pF4X+/54SWZxSJnKKcx8iTJIwwyxKY0wZz2Ia+2FYhD1AGhe8CSoM4RuggLIoi0NhhjUhwSTzI0yTnGDBRCQyKvIiEb0KsqyH6x7iDUZjbIGWWzMxSryQbl/S2kRh6BzbF8IQbZnTH2057azVMPkE2paNjAa/rKaINaY5N4/JYloi43HzWUcP0MNqV9NuLrXuPSEVMlfeqotctvL2UqubalLri85QAYVUsD1uHITzZ7aHWPQHVsdulnzjmBbQGT59emO/C+35DmAJPUcqAa+coT9/9mzubdyHu9jdWdx38tv4TrOL4e1p+n4u6k617rjId7LbNGEXv711aCfXHdNck4ryuQHo1EyduzFs35f7YL51clPgLhV3mbK/AO20ZeeRnWjYZ8FO1m/0wXEvjjc++e2QMp//G2+5oatvHQAA

metadata_json:
  {"categories":["automation","integration","sales","AI summarization","reporting"],"complexity":"medium","use_cases":["Daily pipeline summary for sales teams","Monitoring deal updates and notes","Identifying deals in negotiation or stalled stages","Generating human-readable executive reports","Triggering follow-ups or tasks based on summarized insights"],"estimated_setup_minutes":20,"required_services":["Pipedrive (API access)","OpenAI (GPT-4o-mini/API key)","n8n (workflow runner)"],"key_features":["Fetches deals and associated notes from Pipedrive","Maps numeric stage IDs to human-friendly stage names","Aggregates and concatenates notes by deal","Normalizes fields and prepares text for AI","Uses OpenAI chat model to generate daily natural-language summaries (customizable prompts and scheduling)"],"target_audience":["Sales managers","Revenue/Sales ops","Customer success teams monitoring pipelines and updates"]}


name: Daily Trello Task Tracker with Google Sheets History Log
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-08-20T23:25:10.946Z
updated_at: 2025-08-20T23:25:10.946Z
url: https://n8n.io/workflows/7673
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  This workflow pulls all tasks from your Trello board every day and logs them into a Google Sheet.  
  Use it to track project progress, due dates, and keep a daily snapshot of your board’s status.

  ⚙️ Setup Instructions

  1️⃣ Connect Trello (Developer API)
  Get your API key: Trello App Key  
  On the same page, generate a Token (click Token)  
  In n8n → Credentials → New → Trello API, paste your API Key + Token, then save.  
  Open each Trello node (Get Board, Get Lists, Get Cards) and select your Trello credential.  

  🧠 How It Works
  Schedule Trigger**: Runs daily (can be customized).  
  Get Board → Get Lists → Get Cards**: Pulls every task, its list, due date, and description.  
  Map Fields**: Normalizes the data (board name, list name, task name, description, due date, URL).  
  Today's Date Node**: Adds a timestamp column so each run is logged.  
  Google Sheets (Append): Appends all task rows into a sheet → creating a **daily history log.

  📬 Contact
  Need help customizing this (e.g., filtering by list, or sending reports by email/Slack)?  

  📧 rbreen@ynteractive.com  
  🔗 Robert Breen  
  🌐 ynteractive.com

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.trello","n8n-nodes-base.trello","n8n-nodes-base.trello","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","integration","data processing","reporting","backup"],"complexity":"medium","use_cases":["Daily snapshot/history of Trello board","Track project progress and due dates over time","Audit trail / backup of tasks","Create data source for reports or analytics","Trigger downstream notifications or reports (with customization)"],"estimated_setup_minutes":15,"required_services":["Trello (Developer API key + Token)","Google Sheets (Google account / Sheets API access)","n8n instance"],"key_features":["Scheduled daily trigger to capture board state","Fetch board → lists → cards and normalize important fields","Append rows to Google Sheet to build a daily history log","Adds timestamp column for each run","Simple field mapping (board, list, task, description, due date, URL)"],"target_audience":["project managers","product owners","operations / PMO teams"]}


name: Create Dynamic Crypto Market Monitors with Gemini AI and Telegram Bot
author_name: jellyfish
author_username: jellyfish
categories: []
created_at: 2025-08-21T03:46:49.403Z
updated_at: 2025-08-21T03:46:49.403Z
url: https://n8n.io/workflows/7678
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  Template Description
  This description details the template's purpose, how it works, and its key features. You can copy and use it directly.

  Overview
  This is a powerful n8n "meta-workflow" that acts as a Supervisor. Through a simple Telegram bot, you can dynamically create, manage, and delete countless independent, AI-driven market monitoring agents (Watchdogs).

  This template is a perfect implementation of the "Workflowception" (workflow managing workflows) concept in n8n, showcasing how to achieve ultimate automation by leveraging the the n8n API.

  How It Works ?
  Telegram Bot Interface:
  Execute all operations by sending commands to your own Telegram Bot:

  /add SYMBOL INTERVAL PROMPT: Add a new monitoring task.

  /delete SYMBOL: Delete an existing monitoring task.

  /list: List all currently running monitoring tasks.

  /help: Get help information.
  Use Telegram Bot to control


  The watchdog workfolw created in the below


  Dynamic Workflow Management:
  Upon receiving an /add command, the Supervisor system reads a "Watchdog" template, fills in your provided parameters (like trading pair and time interval), and then automatically creates a brand new, independent workflow via the n8n API and activates it.

  Persistent Storage:
  All monitoring tasks are stored in a PostgreSQL database, ensuring your configurations are safe even if n8n restarts. The ID of each newly created workflow is also written back to the database to facilitate future deletion operations.

  AI-Powered Analysis:
  Each created "Watchdog" workflow runs on schedule. It fetches the latest candlestick chart by calling a self-hosted tradingview-snapshot service. This service, available at https://github.com/0xcathiefish/tradingview-snapshot, works by simulating a login to your account and then using TradingView's official snapshot feature to generate an unrestricted, high-quality chart image. An example of a generated snapshot can be seen here: https://s3.tradingview.com/snapshots/u/uvxylM1Z.png.

  To use this, you need to download the Docker image from the packages in the GitHub repository mentioned above, and run it as a container. The n8n workflow then communicates directly with this container via an HTTP API to request and receive the chart snapshot.

  After obtaining the image, the workflow calls a multimodal AI model (Gemini). It sends both the chart image and your custom text-based conditions (e.g., "breakout above previous high on high volume" or "break below 4-hour MA20") to the AI for analysis, enabling truly intelligent chart interpretation and alert triggering.

  Key Features
  Workflowception: A prime example of one workflow using an API to create, activate, and delete other workflows.

  Full Control via Telegram: Manage your monitoring bots from anywhere, anytime, without needing to log into the n8n interface.

  AI Visual Analysis: Move beyond simple price alerts. Let an AI "read" the charts for you to enable complex, pattern-based, and indicator-based intelligent alerts.

  Persistent & Extensible: Built on PostgreSQL for stability and reliability. You can easily add more custom commands.

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.switch","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.postgres","n8n-nodes-base.code","n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegram","n8n-nodes-base.postgres","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.httpRequest","n8n-nodes-base.postgres","n8n-nodes-base.telegram"]

workflow_json_compressed:
  [encoded data, 10544 characters]

metadata_json:
  {"categories":["automation","integration","monitoring","AI-driven analytics"],"complexity":"complex","use_cases":["Dynamic crypto market monitoring and alerts","AI-powered chart interpretation and pattern detection","Remote management of monitoring agents via Telegram","Automated workflow creation and lifecycle management"],"estimated_setup_minutes":120,"required_services":["n8n (self-hosted)","Telegram Bot API","PostgreSQL","tradingview-snapshot service (self-hosted Docker)","Gemini multimodal AI API"],"key_features":["Creates/activates/deletes independent monitoring workflows via n8n API (Workflowception)","Telegram-based commands to add/list/delete/watchdogs","Persistent task storage in PostgreSQL with workflow IDs","Scheduled watchdog workflows that fetch TradingView chart snapshots","Multimodal AI analysis (image + prompt) to generate intelligent alerts"],"target_audience":["developers/automation engineers","crypto traders and analysts","quant researchers/backtesters experimenting with alerts and pattern detection"]}


name: Automate Lead Gen & Email Outreach with Apify, Apollo.io, GPT-4 & Google Sheets
author_name: Intuz
author_username: intuz
categories: []
created_at: 2025-08-21T05:46:48.004Z
updated_at: 2025-08-21T05:46:48.004Z
url: https://n8n.io/workflows/7684
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-30 08:33:37
description:
  Disclaimer: 
  Community nodes are used, and template can only be used on self-hosted n8n instances.

  This n8n template from Intuz provides a complete solution to automate your entire B2B lead generation pipeline, from discovering recently funded companies to drafting hyper-personalized outreach emails with AI.

  Who's this workflow for?
  Sales Development Representatives (SDRs)
  Business Development Teams
  Growth Hackers
  Startup Founders
  Marketing Agencies

  How it works
  1. Scrape Funded Companies: The workflow begins by using Apify to scrape a target list of recently funded companies directly from a Crunchbase search.

  2. Enrich with Apollo.io: It takes each company and uses the Apollo.io API to find key decision-makers (like VPs, Directors) and enrich their contact information, including finding their email addresses.

  3. Populate Google Sheets: All the gathered lead data—company name, contact name, title, email, LinkedIn URL, etc.—is neatly organized and added to a Google Sheet.

  4. AI-Personalized Email Crafting: The workflow sends the lead's information to OpenAI (GPT-4) with a highly specialized prompt, instructing it to write a concise, impactful, and hyper-personalized "first touch" cold email.

  5. Update Lead List with Email Content: Finally, the unique, AI-generated email is saved back into the Google Sheet alongside the corresponding lead's information, making it ready for you to send.

  Pre-conditions and Requirements
  Before you can successfully execute this workflow, you must have the following accounts, credentials, and assets in place.

  1. n8n Instance:
  You need an active n8n instance (self-hosted).

  2. Apify Account & Crunchbase Access:
  Apify Account: A registered account on Apify.
  Crunchbase Account: An active, logged-in Crunchbase account (a paid subscription is recommended for accessing detailed search filters).

  3. Apollo.io API:
  You need an Apollo.io plan that includes API access. You can generate the API from settings. 

  4. Google Sheet:
  Create a new Google Sheet to store your leads. The workflow is configured for two tabs: one for raw data ("HealthCare" in the template) and one for email generation ("Company sheet").

  5. OpenAI Account:
  An account with OpenAI with API access and billing set up.

  Setup Instructions
  1. Apify Connection:
  Connect your Apify account in the Run an Actor node.
  You'll need an apify scrapper, here's the link
  In the Custom Body field, update the search.url with your target Crunchbase discovery URL and provide a valid cookie for authentication.

  2. Apollo.io Connection:
  Connect your Apollo.io account using HTTP Header Authentication in the three Apollo nodes.
  You will need to provide your API key.

  3. Google Sheets Connection:
  Connect your Google Sheets account.
  Create a spreadsheet and update the Document ID and Sheet Name in the three Google Sheets nodes to match yours. Ensure your sheet columns are set up to receive the data.

  4. OpenAI Connection:
  Connect your OpenAI account in the Message a model node. The prompt is pre-engineered for high-quality output, but you can tailor it to better fit your specific value proposition.

  5. Activate Workflow:
  Click "Execute workflow" to run the automation manually and watch your AI-powered lead list build itself.

  Customization Guide
  This workflow is a powerful template. To adapt it to your specific business needs, you should review and modify the following nodes.

  1. Changing Your Target Companies (The Source)
  Node: Run an Actor
  What to change: The search.url parameter inside the customBody.
  How to do it:
  Go to Crunchbase and perform a search for your ideal companies (e.g., filter by different funding rounds, industry, location, keywords, etc.).
  Copy the URL from your browser's address bar after the search results have loaded.
  Paste this new URL as the value for "search.url" in the node.
  You can also adjust "count": 10 to pull more or fewer companies per run. Be mindful of Apify and Apollo credit usage.

  2. Defining Your Ideal Contact Persona
  Node: Apollo - Get User
  What to change: The person_seniorities and person_titles arrays in the jsonBody.
  How to do it:
  1. Seniority: Modify the person_seniorities list to match who you sell to. Examples: ["c_level", "founder"] or ["manager", "contributor"].
  2. Job Titles: This is crucial. Replace the existing list of titles ("engineering", "technology", etc.) with keywords relevant to your target buyer. For example, if you sell to marketing teams, you might use: ["marketing", "demand generation", "growth", "content", "brand"].

  3. Configuring Your Google Sheet Destination
  Nodes: Append or update row in sheet and Update row in sheet
  What to change: The documentId and sheetName.
  How to do it:
  Open your Google Sheet.
  The documentId is the long string of characters in the URL between /d/ and /edit. Copy and paste it into the "Document ID" field in both nodes.
  The sheetName (or Sheet ID/gid) needs to be set for your specific tabs. Make sure the sheet names/IDs in the nodes match the tabs in your document.
  Column Mapping: If you change the column names in your Google Sheet, you must update the column mapping inside these nodes to ensure the data is written to the correct place.

  4. Tailoring the AI Email Generation
  Node: Message a model (OpenAI)
  What to change: The prompt, the model, and the input variables.
  How to do it:
  The Prompt: This is the heart of your outreach. Read the entire prompt carefully and edit it to reflect your company's value proposition, tone of voice, and specific call-to-action.
  Value Proposition: Change the line "We help them cut that specific infrastructure spend..." to match what your product does. Use a powerful, single data point if you have one.
  Call-to-Action (CTA): Modify the final question ("Curious if infra efficiency is on your roadmap...") to something that fits your sales process.
  Tone: Adjust the initial instructions (e.g., "Your tone is that of a peer...") if you want a different style.
  The Model: The workflow uses gpt-4.1. You can switch to a different model like gpt-4o (potentially better/faster) or gpt-3.5-turbo (much cheaper, but lower quality) depending on your budget and needs.
  Input Variables: The prompt uses {{ $json['Company Name'] }}, {{ $json['Person Designation'] }}, and {{ $json.Industry }}. If you want to add more personalization (e.g., based on a company's funding amount), you would first need to ensure that data is passed to this node, then add the new variable (e.g., {{ $json['Funding Amount'] }}) into the prompt.

  Connect with us
  Website: https://www.intuz.com/services
  Email: getstarted@intuz.com
  LinkedIn: https://www.linkedin.com/company/intuz
  Get Started: https://n8n.partnerlinks.io/intuz

  For Custom Workflow Automation
  Click here- Get Started

nodes_used:
  ["n8n-nodes-base.manualTrigger","@apify/n8n-nodes-apify.apify","@apify/n8n-nodes-apify.apify","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.splitOut","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.noOp","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","sales & marketing automation","data enrichment","lead generation","AI-assisted writing"],"complexity":"complex","use_cases":["B2B lead generation","Discover recently funded companies","Enrich leads and contact data","Draft hyper-personalized outreach emails with AI","Store and manage leads in Google Sheets (CRM-lite workflow)"],"estimated_setup_minutes":45,"required_services":["n8n self-hosted (required for community nodes)","Apify (web scraping)","Apollo.io (lead/contact enrichment)","OpenAI GPT-4 (email generation)","Google Sheets (storage)","HTTP/Webhooks (integrations)"],"key_features":["Scrapes recently funded companies to source leads","Enriches contacts via Apollo.io","Generates personalized outreach emails using GPT-4","Persists leads and outputs to Google Sheets","Conditional routing, merge/split flow control and manual review nodes for workflow orchestration"],"target_audience":["Sales Development Representatives (SDRs)","Business Development Teams","Growth Hackers / Growth Teams / Startup Founders looking to scale outreach campaigns quickly using automation and AI"]}


name: Automate Lead Gen from LinkedIn Jobs with Apify, Apollo.io, & Google Gemini
author_name: Intuz
author_username: intuz
categories: []
created_at: 2025-08-21T09:38:55.687Z
updated_at: 2025-08-21T09:38:55.687Z
url: https://n8n.io/workflows/7697
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  Disclaimer:
  Community nodes are used, and template can only be used on self-hosted n8n instances.

  This n8n template from Intuz provides a complete and automated solution for identifying high-intent leads from LinkedIn job postings and automatically generating personalized outreach emails. 

  It's a full-cycle prospecting machine designed to connect you with companies that have a clear and immediate need.

  Who's this workflow for?
  B2B Sales Teams & SDRs
  Recruitment Agencies & Tech Recruiters
  Startup Founders
  Growth Marketing Teams

  How it works
  1. Scrape Hiring Signals: The workflow starts by using an Apify scraper to find companies actively hiring for specific roles on LinkedIn (e.g., "ML Engineer").

  2. Filter & Qualify Companies: It automatically filters the results based on your criteria (e.g., company size, industry) to create a high-quality list of target accounts.

  3. Find Decision-Makers: For each qualified company, it uses Apollo.io to find key decision-makers (VPs, Directors, etc.) and enrich their profiles with verified email addresses.

  4. Build a Lead List: All the enriched lead data—contact name, title, email, company info—is systematically added to a Google Sheet.

  5. Generate AI-Powered Emails: The workflow then feeds each lead's data to a Google Gemini AI model, which drafts a unique, personalized cold email that references the specific job the company is hiring for.

  6. Complete the Outreach List: Finally, the AI-generated subject line and email body are saved back into the Google Sheet, leaving you with a fully prepared, hyper-targeted outreach campaign.

  Setup Instructions

  1. Apify Configuration:
  Connect your Apify account in the Run the LinkedIn Job Scraper node.
  You'll need an apify scrapper, we have used this scrapper
  In the Custom Body field, paste the URL of your target LinkedIn Jobs search query.

  2. Apollo.io Connection:
  Connect your Apollo.io account using HTTP Header Auth in the Apollo Get Targeted Personnel and Apollo Email Finder nodes by providing your API key.

  3. Google Gemini AI:
  Connect your Google Gemini (or PaLM) API account in the Google Gemini Chat Model node.

  4. Google Sheets Setup:
  Connect your Google Sheets account.
  Create a spreadsheet and update the Document ID and Sheet Name in the three Google Sheets nodes to match your own.

  5. Activate Workflow:
  Click "Execute workflow" to run the entire lead generation and email-writing process on demand.

  Connect with us:
  Website: https://www.intuz.com/services
  Email: getstarted@intuz.com
  LinkedIn: https://www.linkedin.com/company/intuz
  Get Started: https://n8n.partnerlinks.io/intuz

  For Custom Worflow Automation
  Click here- Get Started

nodes_used:
  ["n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.manualTrigger","n8n-nodes-base.removeDuplicates","n8n-nodes-base.merge","n8n-nodes-base.filter","@apify/n8n-nodes-apify.apify","@apify/n8n-nodes-apify.apify","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.limit","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","lead generation","integration","sales enablement"],"complexity":"complex","use_cases":["Identify companies actively hiring for target roles (hiring signals)","Enrich and verify decision-maker contact information","Build and maintain a lead list in Google Sheets","Generate personalized cold outreach emails using AI","Create a full-cycle, high-intent prospecting workflow"],"estimated_setup_minutes":45,"required_services":["n8n (self-hosted) with community nodes enabled","Apify (LinkedIn job scraper)","Apollo.io (personnel & email enrichment API)","Google Gemini / PaLM API","Google Sheets"],"key_features":["Scrapes LinkedIn Jobs for hiring signals using Apify","Automated filtering and qualification of target companies","Finds and verifies decision-makers and emails via Apollo.io","Aggregates enriched leads into Google Sheets","Generates personalized subject lines and email bodies via Google Gemini AI model in context of the specific job posting"],"target_audience":["B2B sales teams & SDRs","Recruitment agencies & tech recruiters","Startup founders and founders doing outbound sales/funding outreach (lean teams)/growth marketers"]}


name: Real-Time Stock Monitor with Smart Alerts for Indian & US Markets
author_name: Oneclick AI Squad
author_username: oneclick-ai
categories: []
created_at: 2025-08-21T10:42:37.096Z
updated_at: 2025-08-21T10:42:37.096Z
url: https://n8n.io/workflows/7701
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Monitor Indian (NSE/BSE) and US stock markets with intelligent price alerts, cooldown periods, and multi-channel notifications (Email + Telegram). Automatically tracks price movements and sends alerts when stocks cross predefined upper/lower limits.

  Perfect for day traders, investors, and portfolio managers who need instant notifications for price breakouts and breakdowns.

  How It Works

  Market Hours Trigger - Runs every 2 minutes during market hours
  Read Stock Watchlist - Fetches your stock list from Google Sheets
  Parse Watchlist Data - Processes stock symbols and alert parameters
  Fetch Live Stock Price - Gets real-time prices from Twelve Data API
  Smart Alert Logic - Intelligent price checking with cooldown periods
  Check Alert Conditions - Validates if alerts should be triggered
  Send Email Alert - Sends detailed email notifications
  Send Telegram Alert - Instant mobile notifications
  Update Alert History - Records alert timestamps in Google Sheets
  Alert Status Check - Monitors workflow success/failure
  Success/Error Notifications - Admin notifications for monitoring

  Key Features:
  Smart Cooldown**: Prevents alert spam
  Multi-Market**: Supports Indian & US stocks
  Dual Alerts**: Email + Telegram notifications
  Auto-Update**: Tracks last alert times
  Error Handling**: Built-in failure notifications

  Setup Requirements:

  1. Google Sheets Setup:
  Create a Google Sheet with these columns (in exact order):
  A**: symbol (e.g., TCS, AAPL, RELIANCE.BSE)
  B**: upper_limit (e.g., 4000)
  C**: lower_limit (e.g., 3600) 
  D**: direction (both/above/below)
  E**: cooldown_minutes (e.g., 15)
  F**: last_alert_price (auto-updated)
  G**: last_alert_time (auto-updated)

  2. API Keys & IDs to Replace:
  YOUR_GOOGLE_SHEET_ID_HERE - Replace with your Google Sheet ID
  YOUR_TWELVE_DATA_API_KEY - Get free API key from twelvedata.com
  YOUR_TELEGRAM_CHAT_ID - Your Telegram chat ID (optional)
  your-email@gmail.com - Your sender email
  alert-recipient@gmail.com - Alert recipient email

  3. Stock Symbol Format:
  US Stocks**: Use simple symbols like AAPL, TSLA, MSFT
  Indian Stocks**: Use .BSE or .NSE suffix like TCS.NSE, RELIANCE.BSE

  4. Credentials Setup in n8n:
  Google Sheets**: Service Account credentials
  Email**: SMTP credentials 
  Telegram**: Bot token (optional)

  Example Google Sheet Data:
  symbol          upper_limit  lower_limit  direction  cooldown_minutes
  TCS.NSE         4000         3600         both       15
  AAPL            180          160          both       10
  RELIANCE.BSE    2800         2600         above      20

  Output Example:
  Alert: TCS crossed the upper limit. Current Price: ₹4100, Upper Limit: ₹4000.

nodes_used:
  ["n8n-nodes-base.cron","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.emailSend","n8n-nodes-base.telegram","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4720 characters]

metadata_json:
  {"categories":["automation","integration","monitoring","finance","notifications"],"complexity":"medium","use_cases":["Real-time stock price alerts for Indian (NSE/BSE) and US markets","Day-trading breakout/breakdown notifications","Portfolio monitoring and risk management","Automated multi-channel alert delivery (Email + Telegram)","Maintaining alert history and cooldown to avoid spam"],"estimated_setup_minutes":45,"required_services":["n8n instance","Google Sheets (Service Account credentials)","Twelve Data API (real-time price feed)","SMTP email provider (e.g., Gmail SMTP)","Telegram Bot API (optional)"],"key_features":["Market-hours scheduled trigger (every 2 minutes)","Fetch watchlist from Google Sheets and auto-update last alert time/price","Smart cooldown logic to prevent repeated alerts","Supports Indian (.NSE/.BSE) and US stock symbols","Dual notifications: Email and Telegram (configurable)"],"target_audience":["Day traders","Investors and portfolio managers","Algorithmic/quant developers implementing simple alert rules‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎"]}


name: Automate TikTok Video Posting from Google Sheets & Drive with Blotato
author_name: Muhammad Farooq Iqbal
author_username: mfarooqone
categories: []
created_at: 2025-08-22T10:13:06.656Z
updated_at: 2025-08-22T10:13:06.656Z
url: https://n8n.io/workflows/7731
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  Automate TikTok video posting from Google Sheets & Drive with Blotato. Perfect for content creators and social media managers.

  ⚠️ IMPORTANT
  Self-hosted n8n only - requires community nodes not available in cloud version.

  Google Sheets Structure
  Required columns: ID, Media URL, Caption, Status
  Videos must be in Google Drive
  Status must be "pending" for processing
  Captions can include hashtags (5 max recommended)

  How it works
  Schedule Trigger → Runs every hour
  Fetch Data → Gets pending videos from Google Sheets
  Process Video → Extracts Drive ID and shares file
  Upload → Transfers to Blotato platform
  Post → Automatically posts to TikTok
  Update Status → Marks as "posted" in spreadsheet

  Requirements
  Self-hosted n8n instance
  Blotato API account
  Google Drive & Sheets OAuth2 credentials
  Community node: @blotato/n8n-nodes-blotato.blotato

  Use cases
  Automated TikTok content posting
  Batch video processing
  Content management workflows
  Scheduled social media distribution

  The workflow processes one video per hour to avoid rate limits and maintains a clear audit trail through Google Sheets integration.

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.googleSheets","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.limit","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4168 characters]

metadata_json:
  {"categories":["automation","integration","social media","content management"],"complexity":"medium","use_cases":["Automated TikTok content posting","Batch video processing from Drive/Sheets","Scheduled social media distribution","Maintaining posting audit trail via Google Sheets"],"estimated_setup_minutes":45,"required_services":["Self-hosted n8n instance (community nodes enabled)","Blotato API account (@blotato/n8n-nodes-blotato.blotato community node)","Google Drive (videos stored)","Google Sheets (tracking/columns)","Google OAuth2 credentials"],"key_features":["Hourly schedule trigger (rate-limit-friendly, one video/hour)","Fetches only rows with Status = pending","Extracts and shares Drive file before upload","Uploads video to Blotato and posts to TikTok","Updates spreadsheet Status to posted (audit trail)"],"target_audience":["Content creators","Social media managers","Marketing teams handling scheduled posts」「Developers / admins managing self-hosted n8n"]}


name: Repurpose One Idea into a Week of Social Content with Notion and GPT-4o
author_name: Shelly-Ann Davy
author_username: SheCodesFlow
categories: []
created_at: 2025-08-22T20:34:19.986Z
updated_at: 2025-08-22T20:34:19.986Z
url: https://n8n.io/workflows/7751
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:34
description:
  📦 n8n Template Submission – “7-Day Content Bloom”  
  by Shelly-Ann Davy, The Workflow Muse

  🌸 What it does  
  Drop one article URL or brain-dump idea into this workflow and watch it blossom into a week of graceful, feminine content for Instagram, X/Twitter, Pinterest, and your Sunday-email love-note.  
  AI writes every caption, tweet, pin title, FAQ, and CTA in my signature warm-neuroscience tone—then tucks everything into a clean Notion page for your final approval.  
  Optional one-click scheduling to Tailwind & Pinterest keeps your feed blooming while you sip tea.

  👩‍🎨 Who it’s for  
  Creators, moms, and gentle-growth entrepreneurs who crave consistent visibility without hustle energy.

  🪄 How it works  
  Trigger – Webhook or Notion row status = “Ready to Repurpose”.  
  AI Muse – gpt-4o crafts platform-specific copy in strict JSON.  
  Notion Oasis – Every caption, tweet, pin, and FAQ lands in a single, beautiful page.  
  Optional Bloom – Auto-schedule IG & Pinterest via Tailwind (toggle on/off).  
  Whisper notification – Slack/Discord ping when the bouquet is ready.

  🛠️ One-time setup (5 min)  
  | Asset | Where to find | Notes |
  |---|---|---|
  | Notion database | Duplicate template | pastel palette included |
  | OpenAI key | n8n → Credentials → OpenAI | no keys hard-coded |
  | Tailwind & Pinterest tokens | Optional; HTTP Header Auth credentials | only if you want autopilot |

  🧪 Quick test  
  Send this to your webhook URL:

  {
    "source_url": "https://yourblog.com/neuroscience-productivity",
    "idea_text": ""
  }

  …or flip any Notion row to Ready to Repurpose and watch the magic.

  📊 Privacy & cost  
  Data stays in your Notion, Tailwind, and Pinterest accounts.  
  OpenAI charges only for the tokens you use (~$0.04 per run on average).

  🎨 Brand voice baked in  
  Elegant, feminine, neuroscience-backed, and always ending with a gentle CTA to your free Sunday-reset Notion template.


  Ready to let your next big idea bloom across the internet—stress-free?  
  Activate the workflow, and let the Muse do the rest. 🌷

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.notionTrigger","n8n-nodes-base.merge","n8n-nodes-base.wait","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.function","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.openAi","n8n-nodes-base.function","n8n-nodes-base.notion","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE72YzW4cuRHHX4XpwyIBphKSzebHXIKNk421sC1BkpOD4UORLEoNy92Tbo60hiBgT3mA7Bv6SYIe2Z4ZqXs+ssje5sCq+k2x6l/Fvi8a/EjFvDinxbJbtD2xtiFWR0JWN7llyO6IPrA2sb4NNd6wRdvnni37urlijW1m7HRBzfcnDJvI3rS5bptiVjRtpL6Yv7sv6ljMCxeE15YiuBA9KC8lYPQVeLSlDcEEgWmwekS5yHX48GnOTm+pu63pjn3HLigvF8WsyJ8Ww4nGNrAKAR57+mO/MnjTZipmxaLt6xXF/B2f8fezYoEdfqRMXV/M74vQNpmaXMyL4uHR3z+o61fnxcPsC69CTxyDgxBlCcqlAE6VHIy32gWdOKryOe9FpgUT7PPPv7DLrr66GiL+ZsjBausqWQEqFKBUWYGtvANuudFVyV0Q1QSyXCF/fzLkObcdXtFvh22kj9r6AEJLBcoMRVEFDcIkbcrKlNqGNfY/yV+37Yc5O6dA9S2xk0j4p7fnryaB7x4ttmml4jNhnxFPUzouBZfOgKuIg3KYAEtpQThnLXdSK2PXlI9d8LUG5uy0YeeE8RO7yJiX0zXRrOy+mD0nVnIvsfxGnCrrlU8CgqsQlHYEPoUSpCIjhA62Irkmfk3dFc3ZX9p8vb90Pw6Ht/GU5bOSH4EXPbkgK4RkqAKVMILXRkKyjqSOSDaajWvHOs/Zj3XO1DHz+edfpJzGu8M6b9NpfRDdRi8Fsp6oBJ1kBIXBg+NagxQhUtDGpK1eojxnf8d8TR07aRbLvKPr6QmaVUcmrjRBGi85OC8NKCU9DMoKPipUmHhyyNdoJz/M2Uvs2UW77AKxt+ev/jzJVqdtNMHlkWxSeVemWAGpoEFxLcHFECGU5FGnKgi/kbaXl5dnc/YD5XD9le9sl/Rc57w4p38tqX+SQyE5n8n9oOobqC2T1LoUwIe+UCQteFFxQCO1Vtwa4hvV96KNNChlVy/Yy8vXr1hu2SX9lCdJ07IJX+bgJmZpD8KUG5JOSqGQUEYlQZXIwSppgbyloDwPFOhJGb7tiZ3j3UoXD6/CVQaPkpfK8eS1VhDRuEG2S7BOOUill6ULaISwz+TlxXU77BePl32MvIjqsA5e83mnjFAah9ltQRnphl1Dgw4pKR4JSy6ep65jL9om1Vfs93+LdWav6Xd/OCKJ5theJjTWR6nBqDCQRg1eaQ5GiOgQjSaNa8jHNWsYfV8Xtc///g/78eL0zSRjO5jUTzDdYW297hZZpaQqbwGTSKCkDIAqGjAqqVBJwirg0245w66nYaU4XebF8thWkYIfmUrtqhADCogqKFCiQnA6BuDWWMdNlFvbz+OAnrMLvKXhyoc1Zbf4NO0IpTx26qVKkZBSAwquQaVQAUruIZnSSkVYmvREvC/CNcXlDa00B+ubu7qJh0u4VJrP5DF9TSK5WGIFAiMHNUwWVKIELUUlI3GhRXoq4Wdtnzf5jldwqdVBnBs1mUohyBAIVXlQZWXAxlKCtmSFo2g84nYmv1Ke1U2mjvp8ZBrL/fviRhrJaUelAc2HziZrwXnFQbhSl9xYRz4+TeOLjjDTmm/49T+m8gDWdSodGRkcd1Bal0Dx4AG19FApVUmhjcRq5G122bVLf0P9ddvm4SX4HTv1PXW36OubOn/6/z8g3s+K22+JnxU95YHjy1/tM+Y6/BUzFvNmeXMzG3w1tJKalevnw3J+X3zEekB5d796vu6dW6vjs6JuIv20Inr/MBtbBsc871zMth3zR8djFmOe965Vz7zP1sY7dohRqNF3wxjV7g1+l+/t5I/5Pmh6j4YYpZoMMbHij3oen4Jjrg+YRbtu7IAhsc98lzJOluKI0XQ17pa20RhTZTwWZP+CvuOORsx+rRRspGn8aqYzNT1Lxwt48nvIjv8w8cofDbBj6Zy+icnlbzTErvYdi3HIHjwaaN9nmV+bstUEeHj4L+RqF2FSFQAA

metadata_json:
  {"categories":["content-creation","social-media","automation","integration","ai-assistant"],"complexity":"medium","use_cases":["Repurpose a single article or idea into 7 days of platform-specific social content","Generate captions, tweets, pin titles, FAQs and CTAs in a consistent brand voice","Aggregate all outputs into a Notion page for review","Optional one-click auto-scheduling to Tailwind & Pinterest","Team notification when content is ready via Slack/Discord"],"estimated_setup_minutes":5,"required_services":["n8n","OpenAI (gpt-4o)","Notion","Tailwind (optional)","Pinterest (optional)","Slack or Discord (optional)","Webhook / HTTP endpoint"],"key_features":["Single webhook or Notion-row trigger to start workflow","gpt-4o crafts platform-specific copy in strict JSON","All captions, tweets, pins, FAQs and CTAs saved to a single Notion page","Optional auto-scheduling to Tailwind & Pinterest (toggleable)","Slack/Discord notification when content is ready for review (Whisper)"],"target_audience":["creators","content creators","social media managers」「solopreneurs」,"]}


name: Extract Specific Website Data with Form Input, Gemini 2.5 flash and Gmail
author_name: Billy Christi
author_username: billy
categories: []
created_at: 2025-08-23T00:22:49.667Z
updated_at: 2025-08-23T00:22:49.667Z
url: https://n8n.io/workflows/7754
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  What this workflow does

  This workflow creates an automated web scraper that accepts form submissions, extracts specific data from any website using AI, and emails the results back to you.

  Step by step:
  Web Scraper Form Submission provides a web form interface where users submit a URL and specify what data to extract
  Get HTML from Source URL fetches the complete HTML content from the provided website
  HTML Extractor processes the raw HTML and extracts the body content for analysis
  Data Extractor LLM Chain uses Google Gemini AI to intelligently analyze the content and extract only the specific data requested by the user
  Structured Output Parser formats the AI response into clean JSON structure with standardized format
  Gmail Send Result delivers the extraction results via email including the source URL, extraction request details, and clean extracted results

  How to set up

  Connect your Google Gemini API to the Google Gemini Chat Model node for AI-powered data extraction
  Connect your Gmail account to the Gmail node for sending result emails
  Update the recipient email in the Gmail node
  Customize the extraction prompt in the Data Extractor LLM Chain node based on your specific requirements

  How to customize this workflow to your needs

  Switch AI models**: Replace Google Gemini with OpenAI, Claude, or other LLM providers in the Chat Model node based on your accuracy requirements and budget preferences
  Change result delivery**: Replace Gmail with Google Sheets for data storage, Outlook for corporate email, Slack for team notifications, or webhook integrations for custom applications
  Customize extraction prompts**: Modify the LLM prompt in the Data Extractor Chain to handle specific data types, extraction formats, or industry-specific terminology for your use case

  Need help customizing?

  Contact me for consulting and support:   
  📧 billychartanto@gmail.com  

nodes_used:
  ["@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.gmail","n8n-nodes-base.formTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.html","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4224 characters]

metadata_json:
  {"categories":["automation","data extraction","web scraping","AI integration"],"complexity":"medium","use_cases":["Ad-hoc website data extraction (product details, contact info, summaries)","Lead generation / contact scraping","Research and competitive intelligence","Automated content or metadata collection and delivery","Email-based delivery of structured extraction results"],"estimated_setup_minutes":20,"required_services":["Google Gemini (Gemini 2.5) API","Gmail account / Google Workspace"],"key_features":["Form-based URL + extraction request input","Fetch full HTML from any URL","HTML body extraction and cleanup","AI-powered data extraction using Gemini (LLM chain)","Structured JSON output parsing for consistent results formats"],"target_audience":["developers implementing automation","data analysts and researchers","marketers and growth teams (lead extraction)"]}


name: Nutrition Tracker & Meal Logger with Telegram, Gemini AI and Google Sheets
author_name: John Alejandro SIlva
author_username: alejandro-silva
categories: []
created_at: 2025-08-23T04:41:29.296Z
updated_at: 2025-08-23T04:41:29.296Z
url: https://n8n.io/workflows/7756
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  🤖🥗 Telegram Nutrition AI Assistant (Alternative to Cal AI App)

  &gt; AI-powered nutrition assistant for Telegram — log meals, set goals, and get personalized daily reports with Google Sheets integration.

  📋 Description

  This n8n template creates a Telegram-based Nutrition AI Assistant 🥑🔥 designed as an open-source alternative to the Cal AI mobile app.
  It allows users to interact with an AI agent via text, voice, or images to track meals, calculate macros, and monitor nutrition goals directly from Telegram.

  The system integrates Google Sheets as the database, handling both user profiles and meal logs, while leveraging Gemini AI for natural conversation, food recognition, and daily progress reports.

  ✨ Key Features

  💬 Multi-input support: Text, voice messages (transcribed), and food images (AI analysis).
  📊 Macro calculation: Automatic estimation of calories, proteins, carbs, and fats.
  📝 User-friendly registration: Simple onboarding without storing personal health data (no weight/height required).
  🎯 Goal tracking: Users can set and update calorie and protein targets.
  📈 Daily reports: Personalized progress messages with visual progress bars.
  🗂 Google Sheets integration:

    Profile table for user targets.
    Meals table for food logs.
  🔄 Advanced n8n nodes: Includes use of Merge, Subworkflow, and Code nodes for data processing and report generation.

  💡 Acknowledgment

  Inspired by the Cal AI concept 💡 — this template demonstrates how to reproduce its main functionality with n8n, Telegram, and AI agents as a flexible, open-source automation workflow.

  🏷 Tags

  telegram
  ai-assistant
  nutrition
  meal-tracking
  google-sheets
  food-logging
  voice-transcription
  image-analysis
  daily-reports
  n8n-template
  merge-node
  subworkflow-node
  code-node
  telegram-trigger
  google-gemini

  💼 Use Case

  Use this template if you want to:

  🥗 Log meals using text, images, or voice messages.
  📊 Track nutrition goals (calories, proteins) with daily progress updates.
  🤖 Provide a chat-based nutrition assistant without building a full app.
  🗂 Store structured nutrition data in Google Sheets for easy access and analysis.

  💬 Example User Interactions

  📸 User sends a photo of a meal → AI analyzes the food and logs calories/macros.
  🎤 User sends a voice message → AI transcribes and logs the meal.
  ⌨️ User types “report” → AI returns a daily nutrition summary with progress bars.
  🥅 User says “update my protein goal” → AI updates profile in Google Sheets.

  🔑 Required Credentials

  Telegram Bot API (Bot Token)
  Google Sheets API credentials
  AI Provider API (Google Gemini or compatible LLM)

  ⚙️ Setup Instructions

  🗂 Create two Google Sheets tables:

     Profile: User_ID, Name, Calories_target, Protein_target
     Meals: User_ID, Date, Meal_description, Calories, Proteins, Carbs, Fats
  🔌 Configure the Telegram Trigger with your bot token.
  🤖 Connect your AI provider credentials (Gemini recommended).
  📑 Connect Google Sheets with your credentials.
  ▶️ Deploy the workflow in n8n.
  🎯 Start interacting with your nutrition assistant via Telegram.

  📌 Extra Notes

  🟩 Green section: Handles Telegram trigger and user check.
  🟥 Red section: Registers new users and sets goals.
  🟦 Blue section: Processes text, voice, and images.
  🟨 Yellow section: Generates nutrition reports.
  🟪 Purple section: Main AI agent controlling tools and logic.

  💡 Need Assistance?

  If you’d like help customizing or extending this workflow, feel free to reach out:  

  📧 Email: johnsilva11031@gmail.com  
  🔗 LinkedIn: John Alejandro Silva Rodríguez

nodes_used:
  ["n8n-nodes-base.telegram","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.googleGemini","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.googleSheetsTool","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegramTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.merge"]

workflow_json_compressed:
  [encoded data, 25136 characters]

metadata_json:
  {"categories":["automation","integration","data processing","AI-assistant","health & fitness"],"complexity":"complex","use_cases":["Log meals via text, images or voice in Telegram","Estimate calories and macronutrients automatically","Track and update user nutrition goals (calories, protein)","Generate personalized daily nutrition reports with progress bars","Store and query structured nutrition data in Google Sheets"],"estimated_setup_minutes":45,"required_services":["n8n instance (self-hosted or cloud)","Telegram Bot API (Bot Token)","Google Sheets API / Google account credentials","AI provider API (Google Gemini or compatible LLM)","Optional: speech-to-text service (if not using Gemini for transcription)"],"key_features":["Multi-input support: text, voice (transcription), and food image analysis","Automated macro and calorie estimation","User onboarding and profile management stored in Google Sheets","Daily personalized progress reports with visual progress bars","Advanced n8n usage: Merge, Subworkflow, Code, and Agent nodes for logic orchestration"],"target_audience":["Developers building chat-based assistants","Health/fitness coaches and enthusiasts","Product builders wanting a lightweight Cal AI alternative in Telegram"]}


name: Automated Client Onboarding System with Notion, Email & CRM Integration
author_name: Shelly-Ann Davy
author_username: SheCodesFlow
categories: []
created_at: 2025-08-24T09:56:33.936Z
updated_at: 2025-08-24T09:56:33.936Z
url: https://n8n.io/workflows/7781
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  Graceful Client Onboarding Concierge — Pro 

  A warm, reliable onboarding system for small businesses and studios. Captures a form submission via webhook, creates a Client record in Notion, sends a concierge-style welcome email (with scheduler + optional contract link), optionally pings the owner on Telegram, mirrors the lead to Airtable/HubSpot, places a temporary Google Calendar hold, and includes a double opt-in confirmation link.

  Made for: coaches, designers, boutique agencies, e-commerce and service providers who want consistent follow-up without manual busywork.

  What it does (flow)

  Trigger:** Form ➜ POST /client-intake (or Manual Trigger for instant demo)
  Normalize & Score:** Map fields, auto-generate optInToken, compute score and tier
  Create in Notion:** Clients page (Name, Email, Package, Notes, Status, Score, Tier, OptInToken, Consent=false)
  Welcome Email:** industry-tuned copy + scheduler link (+ contract link for Growth/Pro/Custom packages)
  Owner Notify (optional):** Telegram ping with tier + score
  CRM Mirrors (optional):** Create Airtable row and/or HubSpot contact
  Calendar Hold (optional):** 30-min “Intro Hold” event (e.g., now + 48h)
  Double Opt-In:** /optin-confirm?token=...&email=... sets Consent=true & Status=Confirmed in Notion
  Error Handling:** On failure, send an email to the owner

  flowchart TD
   A[Form → Webhook /client-intake] --&gt; B[Map Intake + Score Lead]
   B --&gt; C[Notion: Create Client]
   B --&gt; D[Build Welcome Email]
   D --&gt; E[Email: Send Welcome]
   D --&gt; F{Optional actions}
   F --&gt;|Telegram| G[Telegram: Notify Owner]
   F --&gt;|Airtable| H[Airtable: Create Row]
   F --&gt;|HubSpot| I[HubSpot: Create Contact]
   F --&gt;|Calendar Hold| J[Google Calendar: Create Hold]
   K[GET /optin-confirm] --&gt; L[Find Notion by OptInToken] --&gt; M[Update: Consent=true, Status=Confirmed]
   ER[Error Trigger] --&gt; EH[Email Owner]

  Prerequisites

  Notion* database *Clients** with properties:
    Name (title), Email (email), Package (select), Notes (rich text), Status (select), Score (number), Tier (select), OptInToken (text), Consent (checkbox)
    (CSV header provided in the Sticky note on canvas.)
  Email** (SMTP or Gmail OAuth)
  Optional:** Telegram Bot + Chat ID, Airtable (Base ID + Table), HubSpot (Contacts), Google Calendar (Calendar ID)

  Configuration (Set these in Set: User Config)

  NOTION_DB_ID             = your Notion Clients DB ID
  FROM_EMAIL               = sender address for welcome email
  OWNER_EMAIL              = where error notifications go
  SCHEDULER_URL            = booking link (Calendly, Once, etc.)
  BASE_URL                 = your public n8n domain (for opt-in link)
  CONTRACT_BASE_URL        = (optional) proposal/contract URL base

  ENABLE_TELEGRAM          = true|false
  TELEGRAM_CHAT_ID         = (if enabled)

  ENABLE_AIRTABLE          = true|false
  AIRTABLE_BASE_ID         = (if enabled)
  AIRTABLE_TABLE           = (if enabled)

  ENABLE_HUBSPOT           = true|false

  ENABLE_CAL_HOLD          = true|false
  CALENDAR_ID              = "primary" or calendar ID
  HOLD_HOURS_FROM_NOW      = number of hours (default 48)

  INDUSTRY                 = coaching | design_studio | ecommerce | services

  Credentials: Attach in node credentials panels (no secrets in JSON).

  How to use

  Import the workflow JSON.
  Open Set: User Config and fill required values (see above).
  Attach credentials: Notion + Email; optional Telegram/Airtable/HubSpot/Google Calendar.
  Run Manual Trigger to simulate an intake and verify:

     Notion page created
     Welcome email received
     Optional Telegram/CRM/Calendar actions
  Switch your form to the Production Webhook URL shown in the Client Intake Webhook node.

  Sample JSON (for testing the live webhook):

  {"name":"Ava Laurent","email":"ava@example.com","package":"Growth","message":"Excited to begin!"}

  Double opt-in: The welcome email includes a link like
  https://YOUR-N8N-DOMAIN/webhook/optin-confirm?token=...&email=...
  Clicking it sets Consent=true and Status=Confirmed on the Notion record.

  Industry-tuned welcome copy

  Set INDUSTRY to control phrasing automatically:

  coaching – gentle goals/blocks framing
  design_studio – asset handoff + milestone language
  ecommerce – store link + quick-win focus
  services – general service language

  Submission compliance

  ✅ Manual Trigger path for instant demo
  ✅ Markdown sticky notes with clear H2 sections (README, Prereqs + CSV, Setup, Testing, Compliance, Changelog)
  ✅ No hardcoded API keys (credentials only)
  ✅ Timezone-safe ISO times for calendar hold
  ✅ Clear placeholders and copy-paste CSV headers included

  Troubleshooting (quick)

  No email:** attach Email creds; ensure FROM_EMAIL is allowed by your provider.
  No Notion page:** verify NOTION_DB_ID and property names; check Notion permissions.
  Webhook issues:* ensure your form sends *JSON**; adapt mapping for form-encoded payloads.
  Opt-in link fails:** BASE_URL must be your public n8n domain; workflow must be active.
  Calendar hold not created:** set ENABLE_CAL_HOLD=true, attach Google Calendar creds, confirm CALENDAR_ID.

  Tags: onboarding, notion, email, crm, telegram, airtable, hubspot, calendar, double-opt-in, small business, concierge, women-led brands

  Version: v3 (see Changelog sticky on canvas)

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.function","n8n-nodes-base.function","n8n-nodes-base.function","n8n-nodes-base.notion","n8n-nodes-base.function","n8n-nodes-base.emailSend","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.if","n8n-nodes-base.hubspot","n8n-nodes-base.if","n8n-nodes-base.function","n8n-nodes-base.googleCalendar","n8n-nodes-base.webhook","n8n-nodes-base.function","n8n-nodes-base.notion","n8n-nodes-base.function","n8n-nodes-base.notion","n8n-nodes-base.errorTrigger","n8n-nodes-base.emailSend"]

workflow_json_compressed:
  H4sIAAAAAAAAE62XzW7jNhDHX2XAU4vIgR07qatLkbre7BZNbKzdzSHIgZLGMmGJVEmqqREY6KkPUPQJ90kKKrbXa5P68l4lcn4zw+HMn68kRU2J/0o0pllCNY4kRuqRSs54THxyqzUNlxBKjJBrRhMFdKFRAkszIfUlPAhQGErUChiHX2eTh0u4p3IViRcOSrNwxdD8CpM8wggWQoLKg5QpxQS/JBuPcJoi8cmdpCEu8gRGCUOuYcIDQWXEeAwjwUOGMkb4/Pd/MJUCvrtDjpIm8LtCD/7sf088wkWEivhPrzuLM0Nf+/BxfPvL/Zh4RK8z850PeadY3AmowsvCyfWD0Eg8kgnFNBOc+E+DrtfpXXWfPZJRSVPUKJXJVCi4Rq6JT4z3xuYnlKrY09t4J/SpRIl/KLiA0exTGyfO9mCGOs9gtMRwlTCl2/jwDfIwR6XNYRr7qo0PV4OzfRiJNEsY5SHCBcylyIME1VII41gbl/o357u0pDzGRLTiD4at+dtb9oFrukJ4xGApxMrpw8v+/4EDnd5N1zs9lDLqPeU5TWAuWRyjdOLSYtmXVcfQq24j6gy1bzqFNJ1kwUpSjfpr2rAW6+qA9S7nodnsw4yluemo2xw7oYvtjm9HvqdZO2j/puudlnTNcEMhEX5DGjWEXg+aQh/EG3Ik0eT3rZSdVC5OmT8MrT2tXqQ/5yyJ4BGTUKQI45SypGHIPzbOc0ExrZzvyU4mmrVm5dfQXq9xoj8sTN9OMJY0hTGnQYLRT04uWxxFaZJ82qHKgDuYb8YEW6xh8sJL+oTeLrcE2mvWmEykt0xqE2K7SPvNbusOtq/ij+LFyaPbxafU6+oi7h+F+T4PZpnQ7aIcNLs0W9aXqyq4pqH7ri7zQGVCW86zIdgEOqIJ8ohKeC+SqEW4N13vurqK7D2iQM5ZWiJ17K2h1x02xt4JESe4j3efbeOEEx8Xm3Z7LBmv4cRhaU0y3WH8bcLK9AxFUYPbs+Z8SqVCmGSa8ebDtmHKdyPoHeMRBGuYixW6qbYR1D+nvKYsXMGUxk0H/HW9c7VFOkNtDlcZ1XgBM0117q5t18wdNGuSEw5jKYV7AKD569aJFn1eVko7HHz+59+3uV4xf86dtM+ekesci5Mq1Ps+Yv+VpJQZa+ZBK6J6/hVbPMJ4hH8Rv7t5ft54x6LbZrmGarWaPlHW5cZtwvTYrmfZZ73ZVodsV8TmU72qrkAcNHkbo15brmAcpKzi4Cz6u8L2wZayHDlkdp2DK5XKVu+sCsXmXaW0ODHvPRUE+8vXhnC/G6tq76BeyzLrmB7OxJwqVJv1cmnpSotd69vsV4l0F8EedXlVWwZdVVEfNbDzO9I+PQ5BWU6wKUFXhsovjo1T+i5039CKh135xpJ3UvlG98ujfF+VkLcc2GbzPyDrQmHbFgAA

metadata_json:
  {"categories":["automation","integration","onboarding","crm"],"complexity":"complex","use_cases":["Automated client onboarding from web forms","Sending concierge-style welcome emails with scheduler/contract links","Double opt-in confirmation and consent tracking","Creating and syncing client records to Notion (and optional CRM mirrors)","Owner notifications (Telegram) and error alerts','Temporary calendar holds for intro meetings"],"estimated_setup_minutes":45,"required_services":["Notion (Clients database)","Email provider (SMTP or Gmail OAuth)","n8n with public webhook URL","Scheduling service (Calendly, Once or similar)","Telegram Bot (optional)","Airtable (optional)","HubSpot Contacts (optional)","Google Calendar (optional)","(Optional) Contract/proposal hosting URL"],"key_features":["Webhook intake + field mapping and lead scoring","Create Notion client page with OptInToken and Consent checkbox","Send industry-tuned welcome email containing scheduler and optional contract link","Double opt-in confirmation endpoint that updates Notion record","Optional mirrors to Airtable and HubSpot contacts for CRM syncing`,`Optional Telegram owner notification with tier and score`,`Optional temporary Google Calendar hold (configurable hours)`,`Built-in error handling that emails the owner`,`Manual Trigger for testing and demo"],"target_audience":["Coaches","Design studios","Boutique agencies and freelancers (service providers)`,`E‑commerce store owners with service onboarding`,`Operations/CRM managers setting up intake automation"]}


name: Generate AI Newsletter Drafts from Google Sheets to Notion with GPT-5-mini
author_name: Snehasish Konger
author_username: snehasish
categories: []
created_at: 2025-08-25T15:59:55.535Z
updated_at: 2025-08-25T15:59:55.535Z
url: https://n8n.io/workflows/7848
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:34
description:
  How it works:

  This template turns rows in a Google Sheet into polished newsletter drafts in Notion using an AI writing agent. You click Execute workflow in n8n. It fetches all rows marked N8n Status = Pending, generates a draft from Newsletter Title and About the Newsletter, creates a Notion page, writes the full draft, then flips the sheet row to Done before moving to the next one.

  Before you start (use your own credentials):

  Create and select your credentials in n8n:

    Google Sheets (OAuth2 or Service Account) with access to the target spreadsheet.
    Notion (Internal Integration) with access to the target database.
    OpenAI (API Key) for the Chat Model.
  Replace any placeholders in nodes:

    Spreadsheet ID/URL and sheet/tab name (e.g., newsletter).
    Notion Database ID / Parent and any page or block IDs used by HTTP Request nodes.
    OpenAI model name if you prefer a different model.
  Give the Notion integration access to the database (Share → Invite the integration).
  Do not hard-code secrets in nodes. Store them in n8n Credentials.

  Step-by-step:

  Manual Trigger
     Start the run with When clicking ‘Execute workflow’.

  Fetch pending input (Google Sheets → Get row(s) in sheet)
     Read the newsletter tab and pull only rows where N8n Status = Pending.

  Iterate (Split In Batches → Loop Over Items)
     Process one sheet row at a time for stable memory use and pacing.

  Generate the newsletter (AI Agent + OpenAI Chat Model)

     AI Agent loads the “System Role Instructions” that define style, sections, and format.
     Pass Newsletter Title and About the Newsletter to the OpenAI Chat Model to produce the draft.

  Create a Notion page (Notion → Create Page)
     Create a page in your Newsletter Automation database with the page title set from Newsletter Title.

  Prepare long content for Notion (Code)
     Split the AI output into \~1,800-character chunks and wrap as Notion paragraph blocks to avoid payload limits.

  Write content blocks to Notion (HTTP Request → UpdateNotionBlock)
     Send a PATCH request to append all generated blocks so the full draft appears on the page.

  Mark the sheet row as done (Google Sheets → Update row in sheet)
     Update N8n Status = Done for the processed Newsletter Title.

  Continue the loop
     Return to Split In Batches for the next pending row until none remain.

  Tools integration:

  Google Sheets** — input queue and status tracking (Pending → Done)
  OpenAI** — LLM that writes the draft from provided fields
  Notion** — destination database for each draft page
  n8n Code + HTTP Request** — chunking and Notion API block updates

  Want auto-runs? Add a Cron trigger before step 2 and keep the flow unchanged.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.notion","n8n-nodes-base.manualTrigger","n8n-nodes-base.splitInBatches"]

workflow_json_compressed:
  [encoded data, 5924 characters]

metadata_json:
  {"categories":["automation","integration","content generation","data processing"],"complexity":"medium","use_cases":["Automated newsletter draft generation","Editorial workflow automation (queue → publish)","Content repurposing from spreadsheet inputs","Batch processing of content with status tracking","Notion-based content staging and review"],"estimated_setup_minutes":20,"required_services":["n8n (workflow runner)","Google Sheets (OAuth2 or Service Account)","Notion (Internal Integration / Notion API)","OpenAI (API access to GPT model)"],"key_features":["Reads pending rows from Google Sheets and tracks status (Pending → Done)","Uses an AI agent + OpenAI chat model to generate polished newsletter drafts","Creates Notion pages in a target database for each draft","Chunks long AI output into ~1,800 char blocks to avoid Notion payload limits","Writes blocks to Notion via HTTP requests (Notion API) and updates page content incrementally」「Processes items in batches/loop for stable memory and pacing (Split In Batches)"],"target_audience":["Content marketers and newsletter writers","Growth/marketing ops who automate content pipelines","Product managers and founders who publish regular updates in Notion/Sheets workflows」「n8n users and automation engineers"]}


name: Extract and Process Healthcare Claims with VLM Run, Google Drive and Sheets
author_name: Shahrear
author_username: shahrear
categories: []
created_at: 2025-08-25T17:39:34.472Z
updated_at: 2025-08-25T17:39:34.472Z
url: https://n8n.io/workflows/7849
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  Automatically process healthcare claims into structured Google Sheets entries with VLM Run extraction

  What this workflow does

  Monitors Google Drive for new files in a target folder
  Downloads the file inside n8n for processing
  Sends the file to VLM Run for AI transcription or analysis
  Fetches extra details from the healthcare.claims-processing domain as JSON
  Appends normalized fields to a Google Sheet as a new row

  Setup

  Prerequisites: Google account, VLM Run API credentials, Google Sheets access, n8n. Install the verified VLM Run node by searching for VLM Run in the node list, then click Install. Once installed, you can start using it in your workflows.

  Quick Setup:

  Create the Drive folder you want to watch and copy its Folder ID
  Create a Google Sheet with headers like: timestamp, file\_name, file\_id, mime\_type, size\_bytes, uploader\_email, form\_type, carrier\_name, patient\_name, patient\_birth\_date, patient\_sex, patient\_address, insurance\_type, insurance\_id, insured\_name, total\_charge, amount\_due, amount\_paid, hospitalization\_from, hospitalization\_to, referring\_physician\_name, processing\_notes, …other claim fields as needed
  Configure Google Drive OAuth2 for the trigger and download nodes
  Add VLM Run API credentials from https://app.vlm.run/dashboard to the VLM Run node
  Configure Google Sheets OAuth2 and set Spreadsheet ID and target sheet tab
  Test by uploading a sample file to the watched Drive folder and activate

  Perfect for

  Centralized intake of healthcare claim documents with instant AI summaries
  Claims and operations teams collecting structured claim insights
  Customer support attachments that need quick triage to a Sheet
  Compliance and audit logs for claim documents

  Key Benefits

  End to end automation from Drive to Sheets
  Accurate AI output via VLM Run with optional timestamps
  Domain enrichment from healthcare.claims-processing JSON
  Clean, searchable logs in Google Sheets
  No manual steps after activation

  How to customize

  Extend by adding:

  OCR tuning and field validation for claim forms
  Per type routing for PDFs, images, or scanned forms
  Slack notifications on each new Sheet append
  Keyword extraction and auto tagging for claim categories
  Error branch that records failures to a second Sheet

nodes_used:
  ["@vlm-run/n8n-nodes-vlmrun.vlmRun","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4404 characters]

metadata_json:
  {"categories":["automation","integration","data processing","document processing"],"complexity":"medium","use_cases":["Centralized intake and logging of healthcare claim documents","Automated AI extraction and normalization of claim fields","Quick triage of support/attachment documents into a searchable sheet","Compliance and audit trail creation for incoming claims","Operational dashboards fed from structured claim rows"],"estimated_setup_minutes":30,"required_services":["n8n instance","Google Drive (OAuth2)","Google Sheets (OAuth2)","VLM Run API credentials","healthcare.claims-processing JSON enrichment endpoint or API"],"key_features":["Watches a Google Drive folder for new files and downloads them","Sends files to VLM Run for AI transcription/extraction","Enriches/extracts additional claim fields from a healthcare.claims-processing JSON endpoint","Normalizes and appends claim fields as rows to a Google Sheet","Configurable Sheet headers and OAuth2 credentials for Drive/Sheets access and VLM Run node integration support via installed node in n8n (VLM Run) and credential management"],"target_audience":["Claims/operations teams","Healthcare informatics analysts","Customer support teams handling attachments and triage workflows and compliance officers who need an audit log of documents and automation/DevOps engineers implementing integrations"]}


name: CYBERPULSE AI GRC: Vendor Risk Evaluator
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-08-26T01:06:25.458Z
updated_at: 2025-08-26T01:06:25.458Z
url: https://n8n.io/workflows/7860
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  Description

  Automates the intake, classification, and documentation of third-party vendors.
  Evaluates vendor function, data access level, certification status, and applies AI-driven risk tiering (Low, Standard, Critical).
  Ensures standardized onboarding and scalable due diligence.

  Who It’s For

  Compliance and procurement teams onboarding vendors

  GRC consultants managing supply chain risk

  Security leads needing traceable vendor evidence

  Audit teams validating third-party controls

  How It Works

  Trigger via intake form or webhook

  AI engine assigns vendor risk tier based on context (certification, access type, data sensitivity)

  If certifications (ISO 27001, SOC 2, IRAP, PCI DSS) are missing, status is flagged

  Scorecard is formatted automatically with vendor details, risk tier, and timestamp

  Logs results to Google Sheets for audit-ready evidence

  Sends instant alerts for high-risk or uncertified vendors

  Requirements

  Google Sheets (OAuth2) connected for logging

  Gmail/SMTP node for automated alerts (optional)

  Intake form/webhook for vendor submissions

  Mandatory fields in vendor intake:

  Vendor Name

  Function

  Data Access

  Access Type (Read/Write/API)

  Certification (if any)

  Owner (GRC)

  File Templates

  Vendor_Risk_Log.xlsx (auto-created sheet with audit-ready logs)

  Intake form (customizable, connects via webhook)

  Customization Tips

  Modify AI prompt logic to reflect internal risk appetite

  Add more certification checks (e.g., ISO 27701, FedRAMP)

  Adjust alert thresholds (e.g., auto-notify only for Critical tier)

  Extend integration to Slack/Teams or SIEM for escalation

  Link logs to a dashboard for executive reporting

  Compliance

  ISO/IEC 27001: Controls A.15.1.1, A.15.1.2 (supplier relationships and information security)

  SOC 2: Vendor management and risk classification

  NIST 800-53: SR-3, SR-5 (supply chain risk and contractual requirements)

  Essential Eight: Supports control validation via vendor documentation logging

  Provides timestamped, structured logs suitable for external audits

  Setup Instructions

  Deploy the provided intake form or connect your own vendor submission process to the webhook.

  Connect Google Sheets to store vendor logs (Vendor_Risk_Log.xlsx).

  Connect Gmail/SMTP node for notifications (optional).

  Customize AI prompt and certification logic if needed.

  Run intake tests to validate risk tier assignment.

  Confirm vendor logs and alerts are recorded correctly.

  Supports

  ISO 27001 Information Security

  SOC 2 Compliance

  PCI DSS v4.0

  NIST CSF / 800-53

  ACSC Essential Eight
  https://cyberpulsesolutions.com

nodes_used:
  ["n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WU3W7bRhCFX4XYi14IHHX/uFzyqq7rJEoau7GVoI3hi+XurERYIhWSkq0KAvIOfcM+SUFathRbtgz0mmdnvnM4MyuSO5KSt0n06Y05n/z1QQxPbpc3JCRTbAxJVyQvfElS0uv1Lo5OB8PB15Pfer0eWYekMFNs354fBx9LN59gINLgCxaurILzvL4OThZmMjdNWZGQNGZUk/Ryddcvfv9uvNTLXwcfv536+Vkr2FQbVsZeB8NqXjfBTXBcFj53WFgkIbEVmgbdUUNSwimPgGqgYkhFykUqRF/HyVcSkvnMHZatww3J51n0+duf7w1/Jz8s/k7iLcnRvCmD4TivHPxhqmbZeXoZg6cR74tIHsDYytZXISlKhzvReEad4jYCSrkBaTmDLBYKDPcscYZlUSK2kKd4cx/5oGjMdZtTs5y1nwpdQFcbMlNj/wazcVm2BmZlnTd5WZD0EhSXIbBYXYVkIxi0EFHiraPWgrKZBMlEAlkccxDUKJFwjlnUJjUzlZlig1VN0tX6rvMXrOquOH/I2CrGjXQMfOw1SI8MNKMRaJ5wE7tESWZ3ch8E/37/526ChjlWwUnd5NP7Mbrz9kuhi5+3BiemGNmxyYt+OcPiKH9kUlJ6b/JFYtbXD8yGOhkb50C5mIGMhAdNmQSPHEXMpbUet8zHWDXB8RjtNVYd/cntLK+WwU/BsAV+7p/k/jGpfhUo72/DlYrpGDMPKnMUpPMJJFTF4LwWClmmXSa3oG/KamqaDnEzNhe2rNCayj1LWWPzIyZL+KswRV8+YDqjuVQ2g8TFEciYc9AuQbAUZURRKMl2xvr3ctQxvi3L0QSDizF2DPv5Rp2o09Q/gkolQ+BaHwKVffUAyrxIKKcCNDMxSJVgm6cCz1GqJDOSqmhnWCftn+9Qz4+Ds5uindepySfP026+PsaU+tEOesGE4MpCwmIHMqMImfQGnIgFo5pptNnBHeyzB2NoUDoUDCQVCJI7CkY7DpzFGHtuvVVua+yiye31Mjgtm+fHt+40G8mOH93um1BPYie2LBos2otInuxeewqNbfIFktSbSY0hqbFp8mLUPcVbtPO2/lnlsCIpWbC2xuLufRcYuoxxbjKIpTQgdeYhM5pBpLQXWWSiJFHt/S6LAm1bqiv89IKmKzI1eWvkctVd51cepe5RSPLC4S1J6frqah3un+SdDp3oher7YF57bfYCvXQB9jV7eRUftwi3iR3ejL18B8ztQ3zVUXvSLPy/Ba7W6/V/fRcBkEAJAAA=

metadata_json:
  {"categories":["automation","governance-risk-compliance","vendor-management","risk-assessment","integration"],"complexity":"medium","use_cases":["Third-party/vendor onboarding and intake","Automated vendor risk classification and tiering","Audit-ready logging of vendor controls and evidence","Automated alerts for high-risk/uncertified vendors","Standardizing supplier due diligence processes"],"estimated_setup_minutes":45,"required_services":["Google Sheets (OAuth2)","OpenAI or other AI engine (openAi node)","Intake form or webhook provider","Gmail/SMTP (optional for notifications)"],"key_features":["AI-driven vendor risk tiering (Low / Standard / Critical)","Automated certification checks (ISO 27001, SOC 2, PCI DSS, etc.)","Scorecard generation with vendor details and timestamp","Audit-ready logging to Google Sheets (Vendor_Risk_Log.xlsx)","Instant alerts for high-risk or uncertified vendors (email/S MTP/Gmail node integration)"],"target_audience":["Compliance teams","Procurement teams","GRC consultants and practitioners"]}


name: Automate YouTube Video SEO Tagging with GPT and Slack Notifications
author_name: Trung Tran
author_username: trungtran
categories: []
created_at: 2025-08-26T06:38:04.761Z
updated_at: 2025-08-26T06:38:04.761Z
url: https://n8n.io/workflows/7881
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  AI-Powered YouTube Auto-Tagging Workflow (SEO Automation)
  Watch the demo video below:

  &gt; Supercharge your YouTube SEO with this AI-powered workflow that automatically generates and applies smart, SEO friendly tags to your new videos every week. No more manual tagging, just better discoverability, improved reach, and consistent optimization. Plus, get instant Slack notifications so your team stays updated on every video’s SEO boost.
  Who’s it for
  YouTube creators, channel admins, and marketing teams who publish regularly and want consistent, SEO-friendly tags without manual effort.  
  Agencies managing multiple channels who need an auditable, automated tagging process with Slack notifications.

  How it works / What it does
  Weekly Schedule Trigger  
     Runs the workflow once per week.

  Get all videos uploaded last week  
     Queries YouTube for videos uploaded by the channel in the past 7 days.

  Get video detail  
     Retrieves each video’s title, description, and ID.

  YouTube Video Auto Tagging Agent (LLM)  
     Inputs: video.title, video.description, channelName.  
     Uses a SEO-specialist system prompt to generate 15–20 relevant, comma-separated tags.

  Update video with AI-generated tags  
     Writes the tags back to the video via YouTube Data API.

  Inform via Slack message  
     Posts a confirmation message (video title + ID + tags) to a chosen Slack channel for visibility.

  How to set up
  YouTube connection
     Create a Google Cloud project and enable YouTube Data API v3.
     Configure OAuth client (Web app / Desktop as required).
     Authorize with the Google account that manages the channel.
     In your automation platform, add the YouTube credential and grant scopes (see Requirements).

  Slack connection
     Create or use an existing Slack app/bot.
     Install to your workspace and capture the Bot Token.
     Add the Slack credential in your automation platform.

  LLM / Chat Model
     Select your model (e.g., OpenAI GPT).  
     Paste the System Prompt (SEO expert) and the User Prompt template:
       Inputs: {{video_title}}, {{video_description}}, {{channel_name}}.
       Output: comma-separated list of 15–20 tags (no #, no duplicates).

  Node configuration
     Weekly Schedule Trigger: choose day/time (e.g., Mondays 09:00 local).
     Get all videos uploaded last week: date filter = now() - 7 days.
     Get video detail: map each video ID from previous node.
     Agent node: map fields to the prompt variables.
     Update video: map the agent’s tag string to the YouTube tags field.
     Slack message:  
            The video "{{video_title}} - {{video_id}}" has been auto-tagged successfully.
       Tags: {{tags}}
       
  Test run
     Manually run the workflow with one recent video.
     Verify the tags appear in YouTube Studio and the Slack message posts.

  Requirements
  APIs & Scopes
  YouTube Data API v3**
    youtube.readonly (to list videos / details)
    youtube or youtube.force-ssl (to update video metadata incl. tags)
  Slack Bot Token Scopes**
    chat:write (post messages)
    channels:read or groups:read if selecting channels dynamically (optional)

  Platform
  Access to a chat/LLM provider (e.g., OpenAI).
  Outbound HTTPS allowed.

  Rate limits & quotas
  YouTube updates consume quota; tag updates are write operations—avoid re-writing unchanged tags.
  Add basic throttling (e.g., 1–2 updates/sec) if you process many videos.

  How to customize the workflow
  Schedule:** switch to daily, or run on publish events instead of weekly.
  Filtering:** process only videos matching rules (e.g., title contains “tutorial”, or missing tags).
  Prompt tuning:**  
    Add brand keywords to always include (e.g., “WiseStack AI”).  
    Constrain to language (e.g., “Vietnamese tags only”).  
    Enforce max 500 chars total for tags if you want a stricter cap.
  Safety guardrails:**  
    Validate model output: split by comma, trim whitespace, dedupe, drop empty/over-long tags.  
    If the agent fails, fall back to a heuristic generator (title/keywords extraction).
  Change log:** write a row per update to a sheet/DB (videoId, oldTags, newTags, timestamp, runId).
  Human-in-the-loop:** send tags to Slack as buttons (“Apply / Edit / Skip”) before updating YouTube.
  Multi-channel support:** loop through a list of channel credentials and repeat the pipeline.
  Notifications:** add error Slack messages for failed API calls; summarize weekly results.

  Tip: Keep a small allow/deny list (e.g., banned terms, mandatory brand terms) and run a quick sanitizer right after the agent node to maintain consistency across your channel.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.youTube","n8n-nodes-base.youTube","n8n-nodes-base.youTube","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 7016 characters]

metadata_json:
  {"categories":["automation","integration","content management","SEO","marketing"],"complexity":"medium","use_cases":["Automatically generate SEO-friendly tags for new YouTube videos","Maintain consistent channel branding and tagging","Notify teams of tag updates via Slack","Scale tagging across multiple channels or videos","Auditable tagging with changelog for compliance"],"estimated_setup_minutes":60,"required_services":["YouTube Data API v3 (Google Cloud project & OAuth)","Slack (Bot token / app)","LLM provider (e.g., OpenAI GPT)","Automation platform (n8n or equivalent)"],"key_features":["Weekly schedule trigger to find last-week uploads","Retrieve video metadata (title, description, id)","LLM agent generates 15–20 comma-separated SEO tags","Writes tags back to video via YouTube Data API","Slack notifications with video title, ID and tags shown to team members/ channels"],"target_audience":["YouTube creators","Channel administrators","Marketing teams / content ops teams focused on SEO growth and discoverability of videos"]}


name: Index Legal Documents for Hybrid Search with Qdrant, OpenAI & BM25
author_name: Jenny
author_username: mrscoopers
categories: []
created_at: 2025-08-27T11:48:31.351Z
updated_at: 2025-08-27T11:48:31.351Z
url: https://n8n.io/workflows/7945
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Index Legal Dataset to Qdrant for Hybrid Retrieval
  This pipeline is the first part of *"Hybrid Search with Qdrant & n8n, Legal AI"**.  
  The second part, "Hybrid Search with Qdrant & n8n, Legal AI: Retrieval", covers retrieval and simple evaluation.* 

  Overview
  This pipeline transforms a Q&A legal corpus from Hugging Face (isaacus) into vector representations and indexes them to Qdrant, providing the foundation for running Hybrid Search, combining:

  Dense vectors (embeddings) for semantic similarity search;  
  Sparse vectors for keyword-based exact search.


  After running this pipeline, you will have a Qdrant collection with your legal dataset ready for hybrid retrieval on BM25 and dense embeddings: either mxbai-embed-large-v1 or text-embedding-3-small.

  Options for Embedding Inference
  This pipeline equips you with two approaches for generating dense vectors:

  Using Qdrant Cloud Inference, conversion to vectors handled directly in Qdrant;
  Using external provider, e.g. OpenAI for generating embeddings.

  Prerequisites
  A cluster on Qdrant Cloud  
    Paid cluster in the US region if you want to use Qdrant Cloud Inference  
    Free Tier Cluster if using an external provider (here OpenAI)  
  Qdrant Cluster credentials: 
    You'll be guided on how to obtain both the URL and API_KEY from the Qdrant Cloud UI when setting up your cluster;  
  An OpenAI API key (if you’re not using Qdrant’s Cloud Inference);  

  P.S.
  To ask retrieval in Qdrant-related questions, join the Qdrant Discord.  
  Star Qdrant n8n community node repo &lt;3

nodes_used:
  ["n8n-nodes-qdrant.qdrant","n8n-nodes-qdrant.qdrant","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.aggregate","n8n-nodes-qdrant.qdrant","n8n-nodes-base.limit","n8n-nodes-base.merge","n8n-nodes-base.summarize","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-qdrant.qdrant","n8n-nodes-qdrant.qdrant","n8n-nodes-qdrant.qdrant","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.summarize","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.aggregate"]

workflow_json_compressed:
  [encoded data, 8532 characters]

metadata_json:
  {"categories":["automation","integration","data processing","search","AI/ML"],"complexity":"complex","use_cases":["Index legal Q&A datasets for hybrid search","Prepare dense embeddings and sparse (BM25) vectors for retrieval","Build a Qdrant collection ready for semantic + keyword search","Pipeline for converting Hugging Face datasets into searchable vectors","Enable configurable embedding inference (Qdrant inference or external providers)"],"estimated_setup_minutes":45,"required_services":["Qdrant Cloud (cluster)","OpenAI (optional, for external embeddings)","Hugging Face dataset (isaacus)","n8n instance"],"key_features":["Indexes legal corpus to Qdrant for hybrid retrieval (dense + sparse/BM25)","Supports Qdrant Cloud inference or external embedding provider (OpenAI)","Creates vector collection with configurable embedding models (mxbai-embed-large-v1 or text-embedding-3-small)","Handles batching, metadata preservation and preprocessing of documents","Prepares dataset for downstream retrieval and evaluation workflow"],"target_audience":["Developers","Data engineers","ML engineers / ML practitioners working on retrieval-augmented systems (RAG) or legal AI tooling\",\"n8n power users and automation engineers\",\"Legal tech teams / researchers"]}


name: Evaluate Hybrid Search for Legal Question-Answering using Qdrant & BM25/mxbai
author_name: Jenny
author_username: mrscoopers
categories: []
created_at: 2025-08-27T11:50:13.629Z
updated_at: 2025-08-27T11:50:13.629Z
url: https://n8n.io/workflows/7946
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Evaluate Hybrid Search on Legal Dataset
  This is the second part of *"Hybrid Search with Qdrant & n8n, Legal AI."**
  The first part, "Indexing", covers preparing and uploading the dataset to Qdrant.*

  Overview
  This pipeline demonstrates how to perform Hybrid Search on a Qdrant collection using questions and text chunks (containing answers) from the  
  LegalQAEval dataset (isaacus).

  On a small subset of questions, it shows:  
  How to set up hybrid retrieval in Qdrant with:  
    BM25-based keyword retrieval;
    mxbai-embed-large-v1 semantic retrieval;  
    Reciprocal Rank Fusion (RRF), a simple zero-shot fusion of the two searches;
  How to run a basic evaluation:  
    Calculate hits@1 — the percentage of evaluation questions where the top-1 retrieved text chunk contains the correct answer  


  After running this pipeline, you will have a quality estimate of a simple hybrid retrieval setup.  
  From there, you can reuse Qdrant’s Query Points node to build a legal RAG chatbot.  

  Embedding Inference
  By default, this pipeline uses Qdrant Cloud Inference to convert questions to embeddings.  
  You can also use an external embedding provider (e.g. OpenAI).  
    In that case, minimally update the pipeline, similar to the adjustments showed in Part 1: Indexing.  

  Prerequisites
  Completed Part 1 pipeline*, *"Hybrid Search with Qdrant & n8n, Legal AI: Indexing", and the collection created in it;
  All the requirements of Part 1 pipeline;

  Hybrid Search
  The example here is a basic hybrid query. You can extend/enhance it with:
  Reranking strategies;  
  Different fusion techniques;
  Score boosting based on metadata;
  ...  

  More details: Hybrid Queries in Qdrant.  

  P.S.
  To ask retrieval in Qdrant-related questions, join the Qdrant Discord.  
  Star Qdrant n8n community node repo &lt;3

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.httpRequest","n8n-nodes-qdrant.qdrant","n8n-nodes-base.merge","n8n-nodes-base.splitInBatches","n8n-nodes-base.filter","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 5700 characters]

metadata_json:
  {"categories":["automation","integration","data-processing","information-retrieval","legal"],"complexity":"medium","use_cases":["Evaluate hybrid retrieval quality (BM25 + embeddings) on legal QA dataset","Measure hits@1 for retrieval experiments","Compare keyword vs semantic retrieval and fusion strategies","Prototype a legal RAG (retrieval-augmented generation) chatbot using Qdrant Query Points","Swap embedding providers (Qdrant inference or external like OpenAI) to benchmark embeddings"],"estimated_setup_minutes":45,"required_services":["Qdrant (Cloud or self-hosted) with target collection (created in Part 1)","Embedding provider: Qdrant Cloud Inference (mxbai-embed-large-v1) or external provider (e.g., OpenAI)","LegalQAEval (isaacus) dataset or equivalent indexed collection","n8n instance with workflow execution"],"key_features":["Hybrid retrieval combining BM25 keyword search and mxbai semantic embeddings","Reciprocal Rank Fusion (RRF) to merge results zero-shot","Hits@1 evaluation metric calculation on a subset of questions","Configurable embedding inference source (Qdrant or external)","Reusable Query Points node for building downstream RAG chatbots"],"target_audience":["ML engineers / data scientists experimenting with IR","Developers building legal QA or RAG systems","Search & retrieval researchers benchmarking hybrid methods in legal domain (prototyping)"]}


name: Conversational Meta Ads Reporting & Management with GPT-5
author_name: Konrad Roziewski
author_username: kroziewski
categories: []
created_at: 2025-08-27T16:01:05.882Z
updated_at: 2025-08-27T16:01:05.882Z
url: https://n8n.io/workflows/7957
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Currently Work-In-Progress

  This n8n template creates an intelligent AI assistant that responds to chat messages, providing conversational access to your Meta Ads data. Powered by an OpenAI GPT-5 model and equipped with memory to maintain context, this agent can interact with your Meta Ads accounts via the Facebook Graph API.

  Users can ask it to:
  List all connected ad accounts.**
  Retrieve detailed information** for a specific ad account, including active campaigns, ad sets, and individual ads.
  Fetch performance insights** (e.g., spend, impressions, conversions, CPC, CPM, CTR, ROAS) for a given account and time range.
   
  Ideal for marketers, advertisers, or anyone needing quick, conversational access to their Meta Ads performance data and campaign structure without logging into the Ad Manager directly.

  Requires: OpenAI and Facebook Graph API credentials.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.noOp","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.noOp","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolCalculator","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 4352 characters]

metadata_json:
  {"categories":["integration","automation","reporting","conversational-ai","ads-management"],"complexity":"complex","use_cases":["Conversational access to Meta Ads account structure (accounts, campaigns, ad sets, ads)","On-demand performance reporting (spend, impressions, conversions, CPC, CPM, CTR, ROAS) for specified time ranges","Quickly list and inspect connected ad accounts","Context-aware follow-up queries via memory to maintain conversation state","Automated workflows that take programmatic actions or trigger downstream processes based on ad insights"],"estimated_setup_minutes":45,"required_services":["OpenAI (GPT-5) API credentials","Facebook Graph API (Meta Ads) credentials / ad account access","n8n (workflow runtime)"],"key_features":["GPT-5 powered conversational assistant","Conversation memory (context persistence) for multi-turn queries","Direct integration with Facebook Graph API to list accounts and fetch campaign/ad data","Fetch and aggregate performance metrics (spend, impressions, conversions, CPC, CPM, CTR, ROAS) over custom time ranges","Agent nodes to enable interactive management workflows and programmatic actions"],"target_audience":["Marketers","Advertisers","Ad operations teams (Ad Ops)"]}


name: Automated SEO Blog Publishing with WordPress, OpenAI & Perplexity
author_name: LukaszB
author_username: lukaszb
categories: []
created_at: 2025-08-27T23:34:53.567Z
updated_at: 2025-08-27T23:34:53.567Z
url: https://n8n.io/workflows/7965
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:34
description:
  Automated Blog n8n System – Professional Articles in Minutes  

  Most blogs publish words.  
  This system publishes experiences.  

  With one simple row in Google Sheets, your blog comes alive with SEO & RAO-friendly WordPress articles — written, illustrated, and published without lifting a finger.  

  What makes it different? Not just automation. Not just speed. It’s the way images are woven between paragraphs, giving your readers a richer, more engaging journey. Instead of walls of text, every article feels alive — easier to read, easier to share, and impossible to ignore.  

  ✨ What this workflow delivers  
  End-to-end automation**: idea → research → writing → visuals → publishing.  
  SEO & RAO optimized*: content built to rank in Google *and surface in AI systems.  
  Built-in storytelling with visuals**: Perfect Images embedded directly inside the article body, making every post more compelling.  
  Seamless WordPress publishing**: titles, excerpts, slugs, body, and featured image in one click.  
  Effortless setup**: designed so anyone can run it, even without technical skills.  

  🔧 Requirements  
  Google Sheets (title, short_description, created)  
  WordPress site with REST API + credentials  
  OpenAI API key (text + image generation)  
  Perplexity API key (research)  
  Cloudinary account with unsigned upload preset  
  (Optional) Pexels API key for stock header images  

  ✅ Perfect for  
  Bloggers who want their content to stand out visually.  
  Agencies managing client blogs and SEO projects.  
  Businesses that need engaging, living content on autopilot.  
  Anyone ready to turn a silent blog into a beautiful, automated publishing machine.  

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.googleGemini","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.limit","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.perplexityTool","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheets","n8n-nodes-base.wordpress","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","content creation","integration","SEO","publishing"],"complexity":"complex","use_cases":["Automated end-to-end blog publishing","Scaling SEO content production","AI-assisted research and writing","Automated image generation and inline embedding","Agency client blog management and white‑label publishing"],"estimated_setup_minutes":60,"required_services":["Google Sheets","WordPress (REST API + credentials)","OpenAI (text + image)","Perplexity API","Cloudinary (unsigned upload preset)","(Optional) Pexels API","(Optional) Google Gemini"],"key_features":["Single-row trigger in Google Sheets to create full posts","Research via Perplexity to inform writing","AI-generated long-form SEO & RAO-optimized copy","AI image generation and Cloudinary hosting","Images embedded between paragraphs for better storytelling and engagement"],"target_audience":["Bloggers and content creators","Marketing teams and content strategists","SEO specialists and growth marketers」「Agencies managing multiple client blogs」「Developers/automation engineers who implement integrations"]}


name: Automated Patient Response System with GPT-3.5 and Google Sheets for Dental Clinics
author_name: Sana Fatima
author_username: iamsanafatimachattha
categories: []
created_at: 2025-08-28T04:57:02.618Z
updated_at: 2025-08-28T04:57:02.618Z
url: https://n8n.io/workflows/7971
scraped_at: 2025-09-29 22:37:32
metadata_generated_at: 2025-09-30 08:33:37
description:
  From Leads to Smiles – Automated Patient Engagement______Turn every lead into a booked appointment with AI
  💡 Why this workflow?
  Dental clinics lose 50%+ of leads due to slow response.

  This template ensures instant engagement with AI-powered personalization.

  Works for  dentists, beauty clinics, physiotherapists, or any appointment-based business.
  Description:

  When a new patient submits a form (e.g., teeth whitening, Invisalign, implants), the workflow:
  Captures and stores the lead in Google Sheets.
  2.Uses an AI Agent to generate a friendly, personalized welcome message.
  Instantly sends tailored notifications to both the patient and the dentist.

  No more generic thank-you emails → engage leads before they go cold! 🚀

  Category:

  Marketing & Sales

  Customer Engagement

  Healthcare Automation

  📖 Step-by-Step Guide (for beginners)
  Trigger (Google Sheets):

  Every time a new patient submits a Google Form, the lead is automatically captured in Google Sheets.

  AI Agent (OpenAI Chat Model):

  Generates a personalized welcome message 

  Patient Notification (Email):

  Sends a warm, engaging welcome message with appointment details instantly.

  Dentist Notification (Email):

  Alerts the dentist with lead details so they can follow up quickly.

  Execution:

  Just hit Execute Workflow → watch as your clinic never loses another lead.

  👉 Perfect for beginners in AI + n8n automation. You can duplicate this template, connect your Google Sheet + Gmail + OpenAI API key, and start converting leads today.

  Tags: lead generation dentist crm google sheets ai agent chatgpt email automation

nodes_used:
  ["n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4100 characters]

metadata_json:
  {"categories":["automation","customer engagement","healthcare","appointments"],"complexity":"medium","use_cases":["Automated lead capture and nurturing for dental/appointment-based businesses","AI-personalized follow-up messages to increase booking rates","Storing and syncing leads in Google Sheets for team access","Automated appointment reminders and rescheduling prompts","Converting form submissions into booked appointments"],"estimated_setup_minutes":30,"required_services":["OpenAI (GPT-3.5) or compatible LLM","Google Sheets","Form provider (e.g., Typeform, Google Forms, JotForm)","Communication provider (SMS/email) — e.g., Twilio, SendGrid, SMTP/Gmail","Calendar/booking integration (optional) — e.g., Google Calendar, Calendly"],"key_features":["AI-generated personalized responses to new leads","Automatic capture and storage of leads in Google Sheets","Follow-up sequencing and reminders","Memory/buffer to maintain conversation context across messages","Configurable nodes for multi-channel outreach (SMS/email)"],"target_audience":["Dental clinics and practice managers","Other appointment-based businesses (beauty clinics, physiotherapists)","Front-desk staff and office administrators handling bookings and follow-ups"]}


name: Chat with Google Drive Documents using GPT, Pinecone, and RAG
author_name: Marko
author_username: perspectalog
categories: []
created_at: 2025-08-28T08:46:43.250Z
updated_at: 2025-08-28T08:46:43.250Z
url: https://n8n.io/workflows/7979
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  📌 Short Overview

  Automatically sync files from Google Drive into a searchable AI knowledge base with Pinecone, and answer user queries using GPT-4o with conversational memory.

  ⸻

  🛠️ Workflow Usage Steps

  1.	Watch Google Drive for file changes
  Trigger the workflow when a new file is uploaded or an existing file is updated in a specific Google Drive folder.
  2.	Download and process the file
  Retrieve the file, split it into smaller text chunks with a Recursive Character Text Splitter, and generate vector embeddings using OpenAI.
  3.	Store embeddings in Pinecone
  Save the embeddings in a Pinecone vector database to keep your knowledge base continuously updated and searchable.
  4.	Search context for chat queries
  When a user asks a question, query Pinecone for relevant context, combine results with conversational memory, and process them with GPT-4o.
  	5.	Respond with AI-powered answers
  Provide a concise response (100–200 words) that blends knowledge from your documents with the conversation history.

  ⸻

  ✅ Use Cases
  •	Keep a live, AI-ready knowledge base from your Google Drive files.
  	•	Enable team members to query company documents instantly.
  	•	Build a personal assistant that stays up to date with your latest uploads.

  ⚙️ Setup Steps
  Google Drive
  	•	Create a Google Cloud project.
  	•	Enable the Google Drive API.
  	•	Generate OAuth credentials and connect them in n8n.
  OpenAI
  	•	Sign up at OpenAI.
  	•	Copy your API key from the dashboard.
  	•	Add it to n8n under Credentials → OpenAI API.
  Pinecone
  	•	Create an account at Pinecone.
  	•	Create a new index (e.g., docs-embeddings).
  	•	Copy your API key and environment, then add them to n8n under Credentials → Pinecone API.
  Workflow Configuration
  	•	Import this workflow into your n8n instance.
  	•	Select the Google Drive folder you want to monitor.
  	•	Set the Pinecone index name in the workflow.
  	•	Adjust chunk size / overlap in the text splitter if needed.
  Test the Workflow
  	•	Upload a new document to your Google Drive folder.
  	•	Run the workflow to confirm embeddings are created and stored in Pinecone.
  	•	Ask a sample query and verify the AI returns a context-aware answer.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolVectorStore","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.vectorStorePinecone","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.googleDrive"]

workflow_json_compressed:
  [encoded data, 4148 characters]

metadata_json:
  {"categories":["automation","integration","knowledge management","data processing","AI/ML"],"complexity":"complex","use_cases":["Keep a live, AI-ready knowledge base from Google Drive files","Enable team members to query company documents instantly","Build a personal assistant that stays up to date with latest uploads","Semantic search over documents with retrieval-augmented generation (RAG)","Context-aware conversational Q&A using document context and memory"],"estimated_setup_minutes":45,"required_services":["Google Drive (Google Cloud project & Drive API)","OpenAI (API for embeddings and GPT-4o)","Pinecone (vector database / index)","n8n instance with credentials configured"],"key_features":["Automatic file watch and sync from a Google Drive folder","Text splitting (recursive character splitter) and chunking","OpenAI embeddings generation","Store and query vectors in Pinecone","Search and retrieve relevant context for queries (RAG) with conversational memory buffer (window)」「AI responses via GPT-4o constrained to concise answers (100–200 words)"],"target_audience":["Developers/engineers implementing RAG workflows","Knowledge managers and team leads wanting searchable docs","Data scientists and ML engineers prototyping retrieval systems\",\"Support and product teams seeking fast document Q&A"]}


name: Receipt Scanning & Analysis Workflow
author_name: Aemal Sayer
author_username: aemal
categories: []
created_at: 2025-08-28T10:47:11.676Z
updated_at: 2025-08-28T10:47:11.676Z
url: https://n8n.io/workflows/7990
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  How it works:
  Automatically detects when a new receipt is uploaded to Google Drive.
  Extracts text from the receipt using OCR.
  Uses an AI Agent to analyze the extracted data and structure it (e.g., vendor, date, total, tax).
  Saves the organized receipt data into a Google Sheet for easy tracking.

  Set up steps:
  Setup takes around 15–20 minutes.
  You'll need a Google Drive folder for receipts and a Google Sheet to store results.
  Configure your Google Drive Trigger, OCR extraction, AI Agent, and Google Sheets connection.

  Detailed instructions and explanations are included in this n8n Starter Session tutorial series.

nodes_used:
  ["n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.mistralAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE71Ya2/buBL9KwS7wG4BKdbLehgIet1k66bbJmntvjYJCkoc2dxKpCpScb2B//sFJcWWYyV9XdwvgUPNi2cOhzO8wTkogkc3mHGpCE/ghOIR9m1qJxCHsW/R4dCOnZj6SezaYRB4YWA5lpXatme5aZyCB7bjxUkEVpBaYexYXuhjAyvIi4woOCqByimoqjgSeZGBAopHqqxgbWAuKEg8urjBTHt1Ei8mNLJN13Us04ss3ySpR83AioaB65II4hgbmJMc8AhPhJhngI5Ldg1oVrL5HErtd1XorzzkZm3ejImEg3ktXMtuRQshmWKC49GFZVhXBi5ISXJQUEqNCFwDV3iEU5bpXRAduYFFoVW0wFpbyLIZy6GWZwryejO5oDoEuIZy9YrxSgFeX60NrBrPZxyPsCwgYSlLnomM1sGk9Y+ZeE9UstDmPn0qswYp49ZixqTCBr4mWaX/tR0yFRNhWVEpy8XqxSfivTsPvfzTafn+SI7dM2zghCQLoG9AVpl6qw3ihVKFHA0GVIPRAnOQiLxZGDRxyMGPGj9tsnLCrwVLQOL12sBJCRS4YiSrAeok4WxcqYUzLlgNXJ18deS78YvV22Pr3Jum5T2JJkkiKq5q8zrV76CUdQrttdFa8iAIAzdJTS9ONY2SxAwj3zZjP3QcSuNg6Hpb689ns3P0Br5UUGPbTx+N2VamwxvHCnuYU9VAH94ivVwuW5xJwWQH62t3oMklBzc36Ld/pOAHjKL1+gnJ1GEOlJEdvuESZCG4hPt+PxNlTm4Zi9caIlKphc5AQpqAcaFTkjIO9GiTnJnec3Ma7yyO+nP2g6k9O5t8ASbgvR0mx8W42ILfsgVNas39pHoHziatYRoNrTCITaA2mF7geGbsO77pgAdDP4rDgHaqw59fVUkShRR8vT+tOZOqJNmY7SbVs/2epHYO/v7+W0tHmahod+t/vRmf/P3ic27n7msxmUTbAF81GqhW+R5apyQKbdu3TduKLNPzYsuMiZuaSeSlENqJG5GO+fEJGs91/drs/T885IMtABnh82RBGD8grVwHAd/xehCosRzhw4+iQqQERDiCrwWUCjGOCCfZ6l/G54i1JeDgkl/y51ACYlLLtutILYhCK1EhuRBVRltNGKHNKSjIHOSFdXWQk/IzFUuO1uu90luKvFAtSxtKYwMviDyrVFGpc1JKKDc3zQ6mTpdVkU18SMAkNHVMzyWWGQJJzcCm4dAnMU1Da4vqWQF8fIKO9A5eCQrZd8Cb5Vq81rzDs6ETGo4V7uGc15a/6wqYF8r0DmwzZ7w+lg+SVNQxdOn5krpDdpq+HD5fTt132fjOTtktL1HQw8wOip7nxDGxHX1fR6bnRZYZBTQwXWqnfmTHSZo4W9tTVVaJqkqgqEkWarP1bTBFJ7lbM7uwhq7TC6um1jRZQE7+/Ep0K4JH+OaSX6pL3FLztMpjKC/xCF3ik9N3tuNeYqOReFaKvPnwQiw4kqoEUMhxDWQ7nueip1BmjBtoAmVO+KrWQwihSzwTjd40Z2pxq+i6BnJcx3EeUGyDOiYKGguONbDCgWM5w44UrboSwx4JuRClOgaZlKxmR7s/dedYklhUCi0hRhSuIRNFDlyhREglL/ElX+N9ArgbAhA7Ce2AWiZNksT0fN83o8AJzWEaeLYV0GFiQ6c4FQVwikqx1JVDLgDur9HNzTLVMnI3z1HQV6YTkVV5c1+2h+QGz4QuW5vy0pDoYCaasqJT2/ddrzcSxxUgDXKfVIt/I3h7n90n3Elpo/CS8c9ICfSMZRuFP37va21/f3ygG8yD2twS4ncMlrX2juOGwQ+4bgQapakmBuowo0/vLnu06trAsj5I2979TgCbbEpVMj7HBqZMFhlZ3ZazEr5UTB/dUUoyCZvvu23k1hyFlFSZetV0x61OQvhTeCuBzkT7oSn3bUx1Yn81ktbIz/ifiV/2Xpv4Gd87TPxfZaM19jPxbI7Qr8bSMfQzcexz/lcD6rP4M5HtlIJfDeqOsR+J58rAOSkKxuevmpajaa6eQiaWWH9TyYLx+dFtnb24MjBRetxXM3Ek+DWUdVsmt46axWcMMipnYtpsqfm6vtPWiQLK21mF1NcENnB9QzQ7+66miNFD6+HZVySyO/rKogRCazdyQAe2p1Yrh6jwb5WK11+8fycfi4V3PAlEfh1V44h8mDwf/sVfx+dzOQDK1KM+lxt+AChb10wqkkpfqvqJ5bvm+x8I4/+63SeVLA7rEVbSzw+/A6BU36LdC+3+l4Hmkt+fH5/D6p/rhXvMX55H8Rv76d7TQKO4aVbdvkEy2Bw0J/CJkwx9c0hiMD2beGYYkNj0UhIEbhIFQxJ0m1WWfF6hU9GtXXd6FFnLtCKdDsW0fcPsa0WXjKoFHrlDpz4dqnloevQI8ZCjqSKlghJNQerg0axSomQk0+PURf08hNQCNsvy6o/uQ8NKVKqKmzzrgqA59UT/OTx/+f5jFXwgbyfuh7MXy7OzCfsQRtPXn5Z+cL106ZfgsXZR2x2hizHkJENTsoJy64HoRanXtIPH+z2hLh+J4BySzbPFZhTVow1hGpiLm/q14VutYC1tYMYpfMUja32lX9F2Jvtek3ujb6+dnYefPjv9Twi9tvbnwtENJuyTHlwqMod27cEg98TvOul98OwLvP9Jqzfwe0exJn6xM0t/K/wd6V1P6/V/AVMK+pRqFgAA

metadata_json:
  {"categories":["automation","document processing","integration","data processing","AI-assisted extraction"],"complexity":"medium","use_cases":["Automated expense tracking","Bookkeeping and accounting","Tax preparation and record keeping","Receipt archiving and search","Data extraction for analytics"],"estimated_setup_minutes":20,"required_services":["Google Drive","Google Sheets","OCR service (or OCR via HTTP webhook)","AI provider (Mistral AI or OpenAI)","n8n instance"],"key_features":["Auto-detect new receipts in Google Drive","OCR-based text extraction from receipts","AI Agent to parse and structure fields (vendor, date, total, tax)","Structured output parsing for reliable field extraction","Automatic saving of organized data to Google Sheets"],"target_audience":["Small business owners","Accountants and bookkeepers","Finance teams and controllers」「Developers and automation engineers"]}


name: Complete WooCommerce to Odoo Integration: Sync Orders, Products & Customers
author_name: Evozard
author_username: evozardconsulting
categories: []
created_at: 2025-08-28T11:09:55.601Z
updated_at: 2025-08-28T11:09:55.601Z
url: https://n8n.io/workflows/7993
scraped_at: 2025-09-29 22:37:33
metadata_generated_at: 2025-09-30 08:33:37
description:
  📖 Description (WooCommerce Version)

  This workflow functions like the integration of WooCommerce products with Odoo products, WooCommerce customers with Odoo customers, and WooCommerce orders with Odoo sales orders containing multiple products.

  🔔 Trigger (WooCommerce – Order Created)

  The workflow starts when a new order is created in WooCommerce.

  🔄 Loop Through Each Line Item in the Order
  For each product in the WooCommerce order:
  Check if Product Exists in Odoo (via Internal Reference/Default Code):
  If the product exists, proceed.

  If the product does not exist, create it in Odoo with:
  Product Name
  Description
  Price
  Internal Reference (Default Code)

  👤 Check if Customer Contact Exists in Odoo (via Email)

  If the contact exists, proceed.

  If the contact does not exist, create a new contact in Odoo with:
  Full Name
  Email Address
  Phone Number

  Shipping or Billing Address (as available)

  📝 Create a Sale Order in Odoo

  Create a new Sale Order in Odoo using:
  The matched or newly created Customer Contact
  All the matched or newly created Products from the WooCommerce order (with correct quantities and pricing)
  Each WooCommerce product in the order is matched to the corresponding Odoo product using the Internal Reference field.
  👉 This ensures a seamless sync between WooCommerce and Odoo, keeping your orders, products, and customers aligned automatically.

  Setup referecence:
  https://docs.n8n.io/integrations/builtin/credentials/woocommerce/
  https://docs.n8n.io/integrations/builtin/credentials/odoo/

nodes_used:
  ["n8n-nodes-base.wooCommerceTrigger","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.odoo","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.odoo","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.odoo","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.odoo","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.odoo","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.odoo","n8n-nodes-base.odoo","n8n-nodes-base.odoo","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["integration","e-commerce","automation","ERP","data sync"],"complexity":"complex","use_cases":["Sync WooCommerce orders to Odoo sales orders","Keep product catalogs in sync between WooCommerce and Odoo","Synchronize customer records from WooCommerce to Odoo","Automate order fulfillment and inventory updates","Reduce manual data entry for order and customer management"],"estimated_setup_minutes":90,"required_services":["WooCommerce REST API (store with API keys)","Odoo API (or XML-RPC) with appropriate credentials"],"key_features":["Trigger on WooCommerce order created","Iterate through order line items and map to Odoo products","Check for existing Odoo products/customers by internal reference and create or update accordingly","Create Odoo sales orders with multiple products and quantities","Batch processing and flow control for multi-item orders (splitInBatches, loops)  (scalability)  and branching for error/conditional handling (switch, if)  robustness)  )  Note: includes code nodes for custom mapping/transformations"],"target_audience":["Developers and integration engineers","E-commerce operations teams","IT/automation specialists managing ERP syncs  and order workflows)  )  )  )"]}


name: Generate AI Sales Pitches from Website URLs with GPT-4o and Google Sheets
author_name: Zach @BrightWayAI
author_username: ajenta
categories: []
created_at: 2025-08-28T16:59:53.716Z
updated_at: 2025-08-28T16:59:53.716Z
url: https://n8n.io/workflows/8000
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  Overview

  This n8n workflow converts a simple list of website URLs in Google Sheets into a concise, consultative Context + AI pitch for each organization. It scrapes real page content (markdown preferred), feeds it to OpenAI with tight prompts to avoid fluff, and writes the result back to the same sheet row. You can run it on demand or schedule it, and it’s resume-safe—rows with existing messages are skipped. The net effect: faster, higher-quality prospect research and consistent outbound messaging without leaving your sheet.

  How it works

  Reads rows from Google Sheets with headers Website and Personalized Message.
  Skips rows where Personalized Message already has content.
  Scrapes each URL to get clean page content (prefer markdown from a scraper like Firecrawl).
  Calls OpenAI with strict System/User prompts to produce Context + Pitch grounded in the site.
  Writes the generated message back to the same row (upsert by Website).
  (Optional) Adds a short delay between rows to respect rate limits.

  Setup:

  Sheet: Create headers Website, Personalized Message (row 1).
  Credentials: Add Google Sheets OAuth2 and OpenAI in n8n.
  Read node (Sheets): Select your doc/tab → Get All.
  Scrape step: Use Firecrawl → Scrape (markdown), or fallback to HTTP Request → HTML extract.
  OpenAI node: Model like gpt-4o-mini; paste your System/User prompts; enable Simplify Output if available.
  Write node (Sheets): Append or Update → Column to match on = Website; map
  Website → original URL
  Personalized Message → OpenAI output ({{$json.content}}
  (Optional) Add a Wait node (500–2000 ms) for throttling and stability.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.wait","n8n-nodes-base.noOp","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","@mendable/n8n-nodes-firecrawl.firecrawl","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WW227bRhCGX4XYqxbguHviHnSVJk2KAEnT1klTNPDF7O6sREQiBZK2kxp694JyYikylcjpHUHM/vPN7Bz2htWJzZh+0rx59c/TD1d/v/zj9a9PH7OSrWhANrthddMP2ER6PtqJylOUJJLxPJNxFXc6SZfIRbTKaWe0DLkySlcWhQ9exxw5z1IhTx49K9lAq/USB3rSUerPabhcP2lX6yUNlNhs6C5pU7IGV8Rm7C2Fvh6oOL9crbD7OB7Gec9m7y5K1rSJxs+b2wCM9YJiTCC5yaBNChAkcshJSkopBsTA7oRfYnOJy+J1V8/n1I26H9fj/8Y1sBWGgD2drbZmO6t129dD3TZs9g68lyU4flGyNXa4ooG6ns1uNrdaf1HXbw3FpvxEmEgaKYUBZZQErTOC476CSgTpPEcZct4Rni9wTUV7Oawvh+KHp6keimc1LVP/41HanoYvGaU9CVGd6TtIoSruUXrwRgvQMVhAwTkoKVOIWTjKcQf5FuuhkP1RomusD5AqIUsQ5qJk1xQWbft+W1WVCi46ZaGKFkEHFQCzUmC5yzZhTKgtOznRQgcRnK/AoFKgs5PgpJRQKVuFgDmQ87sYfmkbOhpA075aH9y75rwU0p1+7xwDKlMhROsItNUGgnYGVHJSaptVSLTD+Z26vm1wWf9LxUvqe5zv0T1qXPPTDnGJzTwusG7O2jU1P9eHFWpOKtAzd4eaXfSVURn0WJhaJQOYPQclKFkfJFV2D/XNOuFARb8gGorrelgU6x18KlaH9Ae5nbftfEnn4+n+S3LLdSms+Ra5PrN35FVKQjjhIEiKoJOwEBRmsFEZzbPgQacd+TMa4qK4/jRd3vz5oshdu7qN5Dt4wTp9Sqr3gVF74YxPILQ2oHnIELy3kIK1WDnvKqV3wC/adl20V9SNsMf7rV8v6+F58xiHuKBDyG3rfRtS7gYWJ6psThB5ZUHHPHalzOBFMjkEnqPdQzyP3TixPicVm1TMaSjqoS9i2wzU7GX20YqahGFJe8Wc645ih9fLs7uvgwCkcw+buMEhjYsKeFYetHMG0HEEjckLh1V0qtoLYKjj+4/Fb+1wvGb7rc0nk302Nzab5vfg2OfYZ4wdB1VRymhdBRhNBE3RAqJQ4JIhU2mrQ8ZJUPFwUil1CVrc667TSCsfHHeJQxI8g47egJeiApPQWxlT4D5OksoHkxrNS+X0wzgvSoZxqK+IzTIueypZT8NQN/PtUfpA8XKUf9Ul6tiMXYlR4+r2/HYVWawqIqdBOAygcVxFwgXQPmqknLXUI2dsm4biKLUV/rwIZzdshfVI/+5m+0L5jjG5FShZ3ST6wGZ8c3GxKQ8HwJSfhzTgPR/lTufLhThJc/B8mqI5bcROqk+twMmAT3giTTr4ysEpP/deOZOiXw14SvbYTJ9G/vblTvn46mti0tGJ1fo/A9ps/gOBmSZgeAwAAA==

metadata_json:
  {"categories":["automation","integration","data processing","AI content generation","sales enablement"],"complexity":"medium","use_cases":["Generate personalized sales pitches from website content","Prospect research and enrichment","Scale outbound messaging and outreach","Maintain consistent consultative messaging across teams","Automated CRM/Sheets enrichment"],"estimated_setup_minutes":20,"required_services":["Google Sheets (OAuth2)","OpenAI (GPT-4o / gpt-4o-mini)","Firecrawl (or other web scraper / HTTP Request HTML extractor)","n8n instance"],"key_features":["Reads Website and Personalized Message columns from Google Sheets","Skips rows that already have a message (resume-safe)","Scrapes page content (prefers markdown) and cleans content","Calls OpenAI with strict system/user prompts to generate Context + Pitch","Writes/upserts generated pitch back to the same sheet row by Website column mapping (Personalized Message)"],"target_audience":["Sales teams / SDRs","Marketing and growth teams","Founders and agencies doing outreach campaigns','Revenue operations / data ops"]}


name: Google Maps to Airtable Lead Scraper with GPT Contact Extraction from Impressum
author_name: Sulieman Said
author_username: sulieman-said
categories: []
created_at: 2025-08-28T19:30:14.552Z
updated_at: 2025-08-28T19:30:14.552Z
url: https://n8n.io/workflows/8003
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  How it Works  
  This workflow automates the process of discovering companies in different cities, extracting their contact data, and storing it in Airtable.  

  City Loop (Airtable → Google Maps API)  
     Reads a list of cities from Airtable.  
     Uses each city combined with a search term (e.g., SEO Agency, Berlin) to query Google Maps.  
     Marks processed cities as “checked” to allow safe restarts if interrupted.  

  Business Discovery & Deduplication  
     Searches for businesses via Google Maps Text Search.  
     Checks Airtable to avoid scraping the same company multiple times.  
     Fetches detailed info for each business via Google Maps Place Details API.  

  Impressum Extraction (Website → HTML Parsing)  
     Builds an Impressum page URL for each business.  
     Requests the HTML and cleans out ads, headers, footers, etc.  
     Extracts relevant contact info using an AI extractor (OpenAI node).  

  Contact Information Extraction  
     Pulls out:  
       Decision Maker (Name + Position in one string, if available).  
       Email address (must be valid, containing @).  
       Phone number (international format if possible).  
     Filters out incomplete results (e.g., empty email).  

  Database Storage  
     Writes company data back into Airtable:  
       Company name  
       Address  
       Website  
       Email  
       Phone number  
       Decision Maker (Name + Position)  
       Search term & city used  

  Setup Steps  

  1. Prerequisites  
  Google Maps API Key with access to:  
    Places API → Text Search + Place Details  
  Airtable base with at least two tables:  
    Cities (with columns: ID, City, Country, Status)  
    Companies (for scraped results)  
  OpenAI API key (for decision maker + contact extraction).  

  2. Authentication  
  Configure your Airtable API credentials in n8n.  
  Set up HTTP Query Auth with your Google Maps API key.  
  Add your OpenAI API key in the OpenAI Chat node.  

  3. Configuration  
  In the Airtable “Cities” table, list all cities you want to scrape.  
  Define your search term in the “Execute Workflow” node (e.g., SEO Agency).  
  Adjust the batch sizes and wait intervals if you want faster/slower scraping (Google API has strict rate limits).  

  4. Execution  
  Start manually or from another workflow.  
  The workflow will scrape all companies in each city step by step.  
  It can be safely stopped and resumed — cities already marked as processed will be skipped.  

  5. Results  
  Enriched company dataset stored in Airtable, ready for CRM import, lead generation, or further automation.  

  Tips & Notes  
  Always respect GDPR and local laws when handling scraped data.  
  The workflow is modular → you can swap Airtable with Google Sheets, Notion, or a database of your choice.  
  Add custom filters to limit results (e.g., only companies with websites).  
  Use sticky notes inside the workflow to understand each step (mandatory for template publishing).  
  Keep an eye on Google Places API costs** — queries are billed after the free quota. If you are still within the first 2 months of the Google Cloud Developer free trial, you can benefit from free credits.  


  Questions or custom requests?  
  📩 suliemansaid.business@gmail.com

nodes_used:
  ["n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.html","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.manualTrigger","n8n-nodes-base.executeWorkflow","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.splitInBatches","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.summarize","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable"]

workflow_json_compressed:
  [encoded data, 7088 characters]

metadata_json:
  {"categories":["automation","integration","data-enrichment","lead-generation","web-scraping"],"complexity":"complex","use_cases":["Local lead discovery and prospecting","CRM enrichment and import","Sales outreach list building","Market research for agencies","Automated data collection for local businesses"],"estimated_setup_minutes":45,"required_services":["Google Maps Places API (Text Search & Place Details)","Airtable (base with Cities and Companies tables)","OpenAI (Chat/Completion API for contact extraction)"],"key_features":["Reads cities from Airtable and marks processed ones for safe restarts","Per-city Google Maps Text Search + Place Details enrichment","Deduplication against Airtable to avoid re-scraping","Builds and fetches Impressum/website HTML and cleans noise","AI-based contact extraction (decision maker, email, phone) via OpenAI node with validation filters (valid email/phone)"],"target_audience":["Growth marketers and SDRs","Lead generation agencies","Small business owners doing outreach automation`,`Developers/automation engineers building data pipelines"]}


