# templates

name: 🗞️ AI-Powered Sustainability Newsletter for Marketing with Gmail, GPT-4o
author_name: Samir Saci
author_username: samirsaci
categories: []
created_at: 2025-04-24T05:06:47.509Z
updated_at: 2025-04-24T05:06:47.509Z
url: https://n8n.io/workflows/3684
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Tags: Sustainability, Web Scraping, OpenAI, Google Sheets, Newsletter, Marketing

  Context

  Hey! I’m Samir, a Supply Chain Engineer and Data Scientist from Paris, and the founder of LogiGreen Consulting.

  We use AI, automation, and data to support sustainable business practices for small, medium and large companies.

  I use this workflow to bring awareness about sustainability and promote my business by delivering automated daily news digests.



  &gt; Promote your business with a fully automated newsletter powered by AI!

  This n8n workflow scrapes articles from the official EU news website and sends a daily curated digest, highlighting only the most relevant sustainability news.

  📬 For business inquiries, feel free to connect with me on LinkedIn

  Who is this template for?

  This workflow is useful for:
  Business owners** who want to promote their service or products with a fully automated newsletter
  Sustainability professionals** staying informed on EU climate news  
  Consultants and analysts** working on CSRD, Green Deal, or ESG initiatives  
  Corporate communications teams** tracking relevant EU activity  
  Media curators** building newsletters  

  What does it do?

  This n8n workflow:
  ⏰ Triggers automatically every morning  
  🌍 Scrapes articles from the EU Commission News Portal  
  🧠 Uses OpenAI GPT-4o to classify each article for sustainability relevance  
  📄 Stores the results in a Google Sheet for tracking  
  🧾 Generates a beautiful HTML digest email, including titles, summaries, and images  
  📬 Sends the digest via Gmail to your mailing list  

  How it works



  Trigger at 08:30 every morning
  Scrape and extract article blocks from the EU news site  
  Use OpenAI to decide if articles are sustainability-related  
  Store relevant entries in Google Sheets  
  Generate HTML email with a professional layout and logo  
  Send the digest via Gmail to a configured recipient list

  What do I need to get started?

  You’ll need:
  A Google Sheet connected to your n8n instance  
  An OpenAI account with GPT-4 or GPT-4o access  
  A Gmail OAuth credential setup  

  Follow the Guide!

  Follow the sticky notes inside the workflow or check out my step-by-step tutorial on how to configure and deploy it.


  🎥 Watch My Tutorial

  Notes

  You can customize the system prompt to adjust how AI classifies “sustainability”  
  Works well for tracking updates relevant to climate action, green transition, and circular economy

  This workflow was built using n8n version 1.85.4  
  Submitted: April 24, 2025

nodes_used:
  ["n8n-nodes-base.if","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.code","n8n-nodes-base.html","n8n-nodes-base.html","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.outputParserStructured","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, 6372 characters]

metadata_json:
  {"categories":["automation","integration","data processing","marketing"],"complexity":"medium","use_cases":["Automated daily sustainability newsletter","Curating and summarizing EU climate/sustainability news","Lead generation and business promotion via email digests","Tracking regulatory updates (CSRD, Green Deal)","Maintaining a searchable record of relevant articles in Google Sheets"],"estimated_setup_minutes":45,"required_services":["n8n instance","OpenAI (GPT-4/GPT-4o)","Google Sheets (Google account)","Gmail (OAuth credential)","EU Commission News Portal (public website for scraping)"],"key_features":["Scheduled daily trigger","Web scraping of EU news site","AI classification of article relevance (GPT-4o)","Store results and history in Google Sheets","Generate professional HTML email digest with images and summaries"],"target_audience":["Business owners and marketers","Sustainability professionals","Consultants and analysts (CSRD/ESG) ] , Corporate communications teams, Media curators"]}


name: Backlink Monitoring Automation with Google Sheets + DataForSEO
author_name: Mykolas Bartkus
author_username: mykolas-saaslinkbuilder
categories: []
created_at: 2025-04-24T05:34:57.912Z
updated_at: 2025-04-24T05:34:57.912Z
url: https://n8n.io/workflows/3685
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  What This Workflow Does

  This n8n workflow reads backlinks from a Google Sheet, sends each one to the DataForSEO On-Page API, and checks:

  Whether the backlink is still live on the target page
  Whether it's dofollow or nofollow
  Whether it's missing (i.e., lost)

  The result is then written back to the same Google Sheet under a Status column.

  Your result will look like this:

  Step-by-Step Setup Instructions

  Add your DataForSEO and Google Sheets credentials in n8n
  Make sure your Google Sheet has these columns: Backlink URL, Landing page, and Status
  Click the Test Workflow button to check a batch of backlinks

  Workflow Breakdown
  Trigger: Manual test start
  Read Data: Pulls backlink URLs and target pages from Google Sheets
  Format URLs: Extracts domain from URL
  Send POST Request to DataForSEO: Triggers a crawl on the backlink URL
  Wait 20 seconds: Allows crawl to finish
  Fetch Link Results: Retrieves backlink data from DataForSEO
  Validate Backlink: Checks if the backlink is live, and whether it’s dofollow
  Update Google Sheets: Logs the status as Live, Lost, or Lost (Nofollow)

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4348 characters]

metadata_json:
  {"categories":["automation","integration","data processing","SEO monitoring"],"complexity":"medium","use_cases":["Backlink monitoring","Lost-link detection","SEO link audits","Automated reporting to Google Sheets","Batch backlink validation"],"estimated_setup_minutes":15,"required_services":["DataForSEO (On-Page API)","Google Sheets (Google account)","n8n"],"key_features":["Reads backlink list from Google Sheets","Triggers DataForSEO On-Page API for each backlink","Wait/delay to allow crawl completion","Fetches and parses DataForSEO results","Determines link status: Live, Lost, or Lost (Nofollow) and dofollow/nofollow detection when present"],"target_audience":["SEO specialists","Digital marketers","Website owners and SEOs at agencies\",\"Automation engineers/devs setting up SEO workflows"]}


name: AI-Powered Gmail Email Organization with Auto-Archiving and Priority Labels
author_name: Junichiro Tobe
author_username: junichiro
categories: []
created_at: 2025-04-24T06:03:12.578Z
updated_at: 2025-04-24T06:03:12.578Z
url: https://n8n.io/workflows/3686
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Who is this for?  
  This workflow is perfect for busy professionals, students, or anyone who struggles to keep their Gmail inbox organized and clutter-free.

  What problem is this workflow solving?  
  It helps you avoid email overload by automating the process of organizing your Gmail inbox. Unnecessary emails are archived, while important emails are categorized into "MustRead" or "NotNeed" for better prioritization.

  What this workflow does  
  Connects to your Gmail inbox.  
  Automatically archives emails that are unnecessary or irrelevant.  
  Sorts remaining emails into two categories:  
    MustRead: Emails that require immediate attention.  
    NotNeed: Less critical emails for review later.  

  Setup  
  Connect your Gmail account to the workflow.  
  Define the criteria for "MustRead" and "NotNeed" emails by updating the filter rules in the nodes.  
  Activate the workflow to start organizing your inbox.

  How to customize this workflow to your needs  
  Adjust the filters for archiving emails based on your specific preferences.  
  Modify the sorting rules for "MustRead" and "NotNeed" categories to match your workflow.  
  Add additional actions, such as sending notifications for "MustRead" emails.

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatOpenRouter","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.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.aggregate","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmail","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.agent"]

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

metadata_json:
  {"categories":["automation","email management","integration","AI-assisted"],"complexity":"medium","use_cases":["Automatic inbox triage and decluttering","Prioritizing time-sensitive emails","Reducing email overload for busy professionals and students","Creating custom email workflows and notifications"],"estimated_setup_minutes":15,"required_services":["Gmail (Google account / Gmail API)","Language model API (e.g., OpenAI, other LLM provider)","n8n instance","Telegram (optional, for notifications)"],"key_features":["AI classification of incoming emails into MustRead and NotNeed","Automatic archiving of unnecessary emails","Customizable filter rules for classification and archiving","Optional notifications (e.g., Telegram) for priority emails","Manual override and routing via dedicated nodes"],"target_audience":["Busy professionals","Students","Small business owners / admins handling high email volume"]}


name: Generate Images with OpenAI new GPT-Image-1 Model via User-Friendly Form
author_name: Friedemann Schuetz
author_username: freddy-schuetz
categories: []
created_at: 2025-04-24T12:18:27.259Z
updated_at: 2025-04-24T12:18:27.259Z
url: https://n8n.io/workflows/3688
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Welcome to my Simple OpenAI Image Generator Workflow!

  This workflow creates an image with the new OpenAI image model "GPT-Image-1" based on a form input.

  This workflow has the following sequence:

  Form trigger (image prompt and image size input)
  Generate the Image via OpenAI API.
  Return the image to the input form for download.

  The following accesses are required for the workflow:
  OpenAI API access: Documentation

  Instructions
  Link your OpenAI Platform account in the “OpenAI Image Generation” node ("Credential Type")

  You can contact me via LinkedIn, if you have any questions: https://www.linkedin.com/in/friedemann-schuetz

nodes_used:
  ["n8n-nodes-base.convertToFile","n8n-nodes-base.formTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.form","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE4VWbW/bNhD+Kxw7oC1g2hJFvQL7kHZrG6BbgjZYNiTGQJEni4tEqhJlxw383wdKtuO4TvbFkHXHu3uOzz2nB6wkzvDZt+u/mvctsKK7/O3u7BOe4Bosx9kDVrqzXAs4d36xLLjPojhKuBdEksY8iqVPwyL1gEdBnBd54Pm5ZIWkofS8JApZ4vkRo75kLJd4M8Ga14Az/FXVTQXoogF9do7Oa74A9BE0tNyaFk+w5YsOZzfzCdZGgnt8GGsNaSQoywUJchESloiAcPCBhLknvCCk0osLvE/z3ugltBZZgz6oClzgdeMMOtFkiExy3sFUjH5XZuvVmE5ZZTTObhjzJt58ghve8hostJ3ri2mc2T1uJtg0ru7BHVvzTmnervEEd6ZvBVy2zmzXOMOSW37jzad5xP75tzPa9cPV8ye03XDan/qbyRYo9QophO+TEBJOWJwkJA94QCAMozSN8jAt4kegl62pG4u4lmhX2nNYC9PWV61aLKB9inTEuYK8NOZuuPA8ZqnkQUGSICoIS9OI8ASA5IJGRRLFcZhQ/GJrhmTKVq6OZy/bOX1QUMnh/JJX/fbGC/fyM8+h2kN06SouoDSVhNYxSZsVEWYJLUhUm15brjRaqqpyaZRGtgR0VjWuIS1861ULckiGM9v24Po9pLkamyVb00iz0q6sw+xj1Z36DjvLxR7nYckjepxh36Ps3v1gl+LodRhER6/DINp6zzenC51vjulCp3RPF8gp9XK/INRLfcJSykka+AXxCwoBY3lAefRIl1NX4UI+x5nS2uYLfOuhs085Q+mp6ehb1zJ3qMtmM96oqWlAczUVpp4t/ZlyebvZYp+4GyWnNA7K5cXXKzx5yqMOtHxn5Hrsxfj/E3A5JBxf8d6WoK0Su1FsWpBQKA3yvXvSVvFquOUJzo1cXz4p+RDAzcOuT7WRUOHJeME4w4vGkqF44g/3t3VrdtTc+f3y8IB+diM+3Q7mZnPor49c/SP7lmY/RLt5/UjD1/PhkGOLu6gjiJkTJX2mzhrlVEbsrdsR3dmyLX3u/Xx9VnLPJpX9fA7XR1RRiAvhZgv/QEJ2QMIkiv0kpTFhqQeEyTQmae4J4vt+AlQIKfIDEn4B27faabMTgBf16inpouhHqYpZyAvGE8LzQBBGo5hwnkjCkzRNhAgDBuELUvVEqL5A11cWHym7MG5lbcekha4xWl4rW+IMtwOSvfA/eh5FPDT9Dl3HF874CVpAqhuESrTALUg0kCz7cUHsW829KC2ioCB+kAJhfhgTzhgnjCWUsoIK308fW/3VKnG3Rn8Y+/wO7AafrctBt0nknZrxlZIOe+h5E1yCWpQWZxH1HERtQVuc4VfoGiphanB3XK/Ri0sfXZv2rqjM6qdbfauvStWh1fbNtisd4npsDFopWw790rDaxRstw8SiW/zx8oqcj5N6i5EDKJHRiA9cQ0o3vZ26RK9eoae5Sj7eRGGqyqyUXqDOCZ8WkDl/f4o+uAh23KDozZi2edy/aj+iY5q3t5pOdzhhiD1CXyq+q/3s8nx6q4Mp2s1ECds41ox/XKSx9sK0yG2oynD5COGwYC4EdJ3rVwtot0qGcy7UDml2q8lB/u2pDN38akRfg7YD8edvdjIujeimOtFTZWZKW1hspXuW96qySs8ORGY26v3sravvb9MjwTVyxODConqE/lnpO5DneoJUgdamRyVfAuJ6jYY940JnaJd8tVpNq+GA0sMWUXpWtAok1Fxr0omyB/v9xLzMJ5gLq5aAs4JX3bA6rFV6MZAY7kH0LtVFO35NLJ2u4+V4fhAWSYM4koVHUkEjwmIakBTSmHhxISiNIOZhMAy21iD2cnL84Zk94JorN05uuRj5kv4NjhOstIR7nHmbudP4Ex94p2L+72I/Gfy5U6cyPPtJfSLyZvMfnlu6FWIMAAA=

metadata_json:
  {"categories":["image generation","automation","integration","no-code"],"complexity":"simple","use_cases":["Generate images from user-submitted prompts","Quick prototyping of visuals","Allowing users to request/download custom images via a form","Creating social media or marketing visuals on demand"],"estimated_setup_minutes":10,"required_services":["OpenAI API (GPT-Image-1)"],"key_features":["Form-based prompt and size input","Uses GPT-Image-1 to generate images","Converts generated image to a downloadable file","Returns image to the submitting form for download","Minimal, 5-node workflow (form, webhook, convertToFile, HTTP, stickyNote)"],"target_audience":["no-code builders","developers prototyping image workflows","marketers and content creators needing on-demand visuals"]}


name: Analyze & Tag User Feedback in Notion with GPT-4 Sentiment Analysis
author_name: Agent Studio
author_username: agentstudio
categories: []
created_at: 2025-04-24T12:31:36.032Z
updated_at: 2025-04-24T12:31:36.032Z
url: https://n8n.io/workflows/3689
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Overview
  This n8n workflow processes user feedback automatically, tags it with sentiment, and links it to relevant insights in Notion.
  It uses GPT-4 to analyze each feedback entry, determine whether it corresponds to an existing insight or a new one, and update the Notion databases accordingly.
  It helps teams centralize and structure qualitative user feedback at scale.

  Who It’s For
  Product teams looking to organize and prioritize user feedback.
  Founders or solo builders seeking actionable insights from qualitative data.
  Anyone managing a Notion workspace where feedback is collected and needs to be tagged or linked to features and improvements.

  Prerequisites
  A Notion account with:
    A Feedback database (must include fields for feedback content and status).
    An Insights database with multi-select fields for Solution, User Persona, and a relation to Feedback.
    The Notion template (linked below) helps you get started quickly — just remove the mock data.
  A configured Notion API integration in n8n.  
    👉 Don’t forget to connect the n8n integration to the correct Notion page.
  An OpenAI API key

  Notion Template
  This workflow is designed to work seamlessly with a pre-configured Notion template that includes the required feedback and insights structure.  
  👉 User Feedback Analysis – Notion Template

  How It Works
  The workflow is triggered when a feedback item is updated in Notion (e.g. new feedback is submitted).
  Sentiment analysis (Positive, Neutral, or Negative) is run using OpenAI and stored in a select field in Notion.
  The AI agent analyzes the feedback to:
    Identify whether it matches an existing insight.
    Or create a new insight in Notion with a concise name, solution, and user persona.
  The feedback is then linked to the appropriate insight and marked as "Processed."

  How to Use It
  Connect your Notion databases in all Notion nodes (including those used by the AI agent) for both Feedback and Insights — follow the node names provided.
  Ensure your OpenAI and Notion credentials are correctly set.
  Set up your product context:
     Define a “Product Overview” and list your “Core Features”.
     This helps the AI agent categorize insights more accurately.
     (The Basecamp product is used as an example in the template.)
  (Optional) Modify the prompt to better fit your specific product context.
  Once feedback is added or updated in Notion, the workflow triggers automatically.

  Notes
  Only feedback with the status Received is processed.
  New insights are only created if no relevant match is found.
  Feedback is linked to insights via Notion’s relation property.
  A fallback parser is included to fix potential formatting issues in the AI output.
  You can swap the default n8n memory for a more robust backend like Supabase.

  🙏 Please share your feedback with us. It helps us tremendously!

nodes_used:
  ["n8n-nodes-base.notion","n8n-nodes-base.notion","n8n-nodes-base.notionTool","n8n-nodes-base.notionTool","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.sentimentAnalysis","@n8n/n8n-nodes-langchain.outputParserAutofixing","n8n-nodes-base.notionTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.notion","n8n-nodes-base.notionTrigger","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10796 characters]

metadata_json:
  {"categories":["automation","integration","data processing","AI-assisted content analysis"],"complexity":"complex","use_cases":["Automated sentiment tagging of user feedback","Linking feedback to existing product insights","Creating new insights from qualitative feedback","Centralizing and structuring feedback in Notion","Prioritizing product improvements based on qualitative data"],"estimated_setup_minutes":30,"required_services":["Notion (Feedback & Insights databases)","OpenAI (GPT-4 API)","n8n"],"key_features":["GPT-4 sentiment analysis (Positive/Neutral/Negative)","AI agent that matches feedback to existing insights or creates new ones","Automatic linking of feedback to Notion insights via relation property","Filters to process only feedback with status 'Received'","Fallback/output parser to fix AI formatting issues and ensure structured output"],"target_audience":["Product teams","Founders and solo builders","UX researchers and customer success teams who manage feedback in Notion"]}


name: Upload File to SharePoint Using Microsoft Graph API
author_name: Greg Evseev
author_username: greg
categories: []
created_at: 2025-04-24T13:45:28.274Z
updated_at: 2025-04-24T13:45:28.274Z
url: https://n8n.io/workflows/3690
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n workflow template allows you to upload a photo to a SharePoint folder using the Microsoft Graph API. The workflow includes steps for authentication, retrieving a photo for testing purposes, setting the destination folder and file name, and uploading the photo.

  Who is this for?

  This workflow is ideal for users who need to automate the process of uploading images to SharePoint. It is particularly useful for developers, IT administrators, and anyone managing digital assets within a SharePoint environment.

  What problem is this workflow solving? / Use Case

  This workflow addresses the need to automate the uploading of photos to a specific SharePoint folder. By using the Microsoft Graph API, it ensures secure and efficient file management, reducing manual effort and potential errors.

  What this workflow does

  Trigger the Workflow: The workflow starts when the user clicks the 'Test workflow' button.
  Set Configuration: Sensitive data such as TENANT_ID, CLIENT_ID, and CLIENT_SECRET are set.
  Authentication: Obtains an access token from Microsoft Graph API using the provided credentials.
  Get Photo: Retrieves a sample photo from a URL for testing purposes.
  Set Destination: Sets the target folder and file name for the photo upload.
  Upload Photo: Uploads the photo to the specified SharePoint folder using the Microsoft Graph API.

  Setup

  Prerequisites

  Create an Application User: Follow this guide to create an application user.
  Set Permissions: Ensure the following permissions are set:
     Sites.ReadWrite.All: For SharePoint site access.
     Files.ReadWrite.All: For file upload operations.

  Authentication

  For successful authentication, provide the following:
  TENANT_ID
  CLIENT_ID
  CLIENT_SECRET

  Note: For demonstration purposes, these values are stored in a 'Set' node. In a production environment, ensure the safety of such data using credentials, secure vaults, or other safe methods.

  Set Destination

  The destination is defined by two parameters:
  TARGET_FOLDER: The folder path in SharePoint where the photo will be uploaded.
  FILE_NAME: The name of the file to be uploaded.

  Example:
  Desired file location: https://contoso.sharepoint.com/uploads/pictures from n8n/example.jpg
  Set the following:
    TARGET_FOLDER = /uploads/pictures from n8n
    FILE_NAME = example.jpg

  How to Customize This Workflow to Your Needs

  Update Sensitive Data: Replace the placeholder values for TENANT_ID, CLIENT_ID, and CLIENT_SECRET with your actual credentials.
  Change Destination: Modify the TARGET_FOLDER and FILE_NAME parameters to match your desired upload location and file name.
  Test with Different Photos: Update the URL in the 'Get Photo' node to test with different images.

  Sticky Notes

  Workflow Overview

  This sticky note explains the overall purpose and dependencies of the workflow.

  Authentication Details

  This sticky note provides details on the authentication process and the importance of securing sensitive data.

  Set Destination Details

  This sticky note explains how to set the destination folder and file name for the photo upload.

  By following these guidelines, you can easily customize and use this workflow to automate photo uploads to SharePoint using the Microsoft Graph API.

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

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

metadata_json:
  {"categories":["integration","automation","file management","cloud storage"],"complexity":"medium","use_cases":["Automate uploading images to SharePoint folders","Manage digital assets in SharePoint","Batch or programmatic file uploads using Microsoft Graph","Testing and validating SharePoint upload workflows"],"estimated_setup_minutes":20,"required_services":["Microsoft Graph API (SharePoint / OneDrive endpoints)","SharePoint Online site","Azure AD App Registration (CLIENT_ID, CLIENT_SECRET, TENANT_ID)","n8n instance (HTTP node capability)"],"key_features":["Acquire Microsoft Graph access token using client credentials","Fetch a test photo from a URL","Configure destination folder and file name for upload","Upload file to a SharePoint folder via Graph API","Test-triggered workflow for easy verification"],"target_audience":["Developers","IT administrators","Content managers / digital asset managers"]}


name: Generate AI News LinkedIn Posts with GPT-4o-mini, NewsAPI, and Qdrant
author_name: Lucien
author_username: lucien
categories: []
created_at: 2025-04-24T13:49:23.022Z
updated_at: 2025-04-24T13:49:23.022Z
url: https://n8n.io/workflows/3691
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Overview
  Automated LinkedIn content generator that:

  Fetches trending AI news using NewsAPI
  Enhances content with Qdrant vector store context
  Generates professional LinkedIn posts using GPT-4o-mini
  Tracks email interactions in Google Sheets
  🛠️ Prerequisites
  API Keys : NewsAPI, OpenAI (GPT-4o-mini), Qdrant
  Accounts : Gmail Oauth, Google Sheets, LinkedIn developer API
  Environment Variables :
  OPENAI_API_KEY
  NEWSAPI_KEY
  QDRANT_URL/QDRANT_API_KEY
  📁 Google Sheets Setup
  Create a spreadsheet with these columns:

  ISO date
  Email address
  Unique ID
  "Approve" or "Reject"

  ⚙️ Setup Instructions
  Pre-populate Qdrant :
  Create collection "posts" with LinkedIn post examples
  Add 10+ example posts for style reference
  Node Configuration :
  Update Gmail credentials (OAuth2)
  Set fromEmail/toEmail in email nodes
  Configure Google Sheets document IDs
  Test Workflow :
  Run Schedule Trigger manually first
  Verify email notifications work
  Check Qdrant vector store connectivity

  🎨 Customization Options
  Tone Adjustment : Modify system message in "AI Agent"
  Post Style : Update prompt in "Generate LinkedIn Post"
  Filter Criteria : Edit NewsAPI URL parameters
  Scheduling : Change interval in Schedule Trigger

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.gmailTrigger","n8n-nodes-base.gmail","n8n-nodes-base.set","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.if","n8n-nodes-base.gmail","n8n-nodes-base.set","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.vectorStoreQdrant","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.merge"]

workflow_json_compressed:
  [encoded data, 8168 characters]

metadata_json:
  {"categories":["automation","content generation","integration","social media","AI"],"complexity":"complex","use_cases":["Automated LinkedIn post generation from trending AI news","Context-enriched social posts using a vector store","Tracking email interactions related to generated posts in Google Sheets","Batch or scheduled curation and publication of AI news highlights"],"estimated_setup_minutes":60,"required_services":["NewsAPI","OpenAI (GPT-4o-mini)","Qdrant vector DB","Gmail (OAuth2)","Google Sheets API / account","LinkedIn Developer API"],"key_features":["Fetch trending AI news via NewsAPI","Enrich prompts with examples/context from Qdrant vector store","Generate professional LinkedIn posts using GPT-4o-mini","Schedule automation with a trigger node","Track/record email interactions in Google Sheets (approve/reject workflow)"],"target_audience":["social media managers","content marketers","community managers for AI products/services\",\"developers/automation engineers integrating AI into workflows"]}


name: Discord AI ChatBot : Context-Aware, Replies to Mentions AND also DMs
author_name: Theo Marcadet
author_username: theomarcadet
categories: []
created_at: 2025-04-24T15:14:39.663Z
updated_at: 2025-04-24T15:14:39.663Z
url: https://n8n.io/workflows/3692
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Click here to access this Workflow for free.

  Get your own custom ChatGPT inside your Discord Server

  Description
  This n8n workflow enables a fully autonomous AI assistant within your Discord server. It listens for both public mentions and direct messages (DMs), and replies in real-time using a language model (OpenAI's GPT-4o by default). The assistant can dynamically fetch previous messages for better context, providing smart, coherent, and personalized responses.

  🔧 Key Features

  Dual Trigger**: Reacts to both public bot mentions and private DMs.
  Context-Aware AI**: Dynamically fetches the last 30 messages from either public or private conversations.
  Smart Routing**: Replies either in the original public channel or via DM, depending on where the message came from.
  Custom Prompting**: Easily modify the system prompt to define the AI’s tone, behavior, and personality.
  Fully Autonomous**: No manual intervention required — the bot always replies instantly.

  ✅ Requirements

  An operational n8n instance.
  A Discord bot with at least these permissions:
    Send Messages  
    Read Message History  
    Manage Messages
  OpenAI API key** (or compatible LLM credentials).
  The community package: n8n-nodes-discord-trigger.

  🧰 Setup Instructions

  1. Discord Bot Setup
  Create and invite your Discord bot to your server with required permissions.
  &gt; You will find in the next step a complete tutorial to craft your own bot with the right code and permissions for this workflow to work
  Set your Discord bot token in n8n's credential manager.

  2. Install the Community Node (please read ⚠️ Disclaimer first)
  Go to Settings &gt; Community Nodes &gt; Install
  Paste: n8n-nodes-discord-trigger and install.

  3. Configure the Workflow
  Add your Discord bot credentials.
  Update the LLM credentials with your OpenAI key or alternative.
  Customize the AI agent system prompt if needed.

  🤖 How It Works

  When a public mention is detected, the bot replies directly in the channel, referencing the original message.
  When a DM is received, it responds privately.
  The AI uses tools to read the latest 30 public or private messages to build accurate context before replying.

  🛠 Customization Options

  Change LLM**: Swap out OpenAI with any LLM that has an API.
  Edit Prompt Behavior**: Modify the system prompt to control tone and personality.
  Adjust Trigger Filters**: Choose which roles, channels, or patterns activate the flow.

  If you just need a tutorial on setting up your Discord bot, be my guest ➡️ Here

  And if you need any help, or have any question, feel free to come discuss about it on Telegram 

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.webhook","n8n-nodes-discord-trigger.discordTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.discordTool","@n8n/n8n-nodes-langchain.toolHttpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE7WXW2/bSBKF/wrBZ1a2712tp8kkO5gs4JlFJph5CIxFdXe1REQitSLtJDD83weUfJMsx3Ky+0YKxeJ3ug+Pqq/qNtezeuH/+PDLhfjtX2/+HC6XMdVNveKR6tlV3XbDSF3id1NdKUEnH5SJTmOJLpFHaTNyFjEwhpgkmYhOo9POhBgFZyt1yikVGYyrr5u6oxXXs/r1u+ptO6R+k6uf+7F6z8O673I19tUZd2Pbd0NFXa7eng3V53ZcVG/6buQvY/X6M22442Gom3qk+VDPPp43dddnni6vdnqiC1wSaSgiSjARMyBKBSHG5ERWKSRfP0R5PedunDp+XU+//NRh948OO9j2hSV187SgtntFN3XrfmgnyHr20SrRWCHOm3pNG1rxyJuhnl1d75r9yZthWydf4XVzg5eUcVK4AEIhgyFXIDgvIHnLaIoWWbl7vN/X3L1+V71Z0Fid9ZmXJ3AuV1P59sl2H1ehaNCdgKvucNHnQlEGCJQSGKQC0aMDmZSQwhVkpe9x/2hX6yVXZ7zqN19PQF1tC3++KIU3f7Vd7j/vA5sJGE8A1nfA3hjhYyDIgRiMNgyBmUH66DAa9EnxPfAZrddtN68yjVSVflONCz40xD14pIFfDXxgAoknmUC/MneQpMiz4QACTQITcwEULMCWIAJZXVjle8h/tuOCd2ixH6th0V8sc7Xh9fJr1XZVXlX9ZrpYX8Rlm6q0oK576JQDAW3Z5w/iJH71wBUZTVZFKAg6IhhjA6DKDLEUHQyzN9be87+/JX179iRU3uXBwcoqIxq9Nexnjou+/7RNokDZcnASnPAZjOcMZJwEVTBQEMpanj6hb6u501IKxsBegLZZgjGZgSIJYKdMNA5jsOWIlhMX+2ldzvx/dUmKOTgZIObJY0EnoCAK+Bylizol/9Bjb8+q95y4veT8pJYb1n0tgKJRj7bIMxunPQOSCmAEGgjJGChJSM/RhxzxdClGlMwlJGDrEAx7CxQ0AyuRUnBCon5gt3/vdubmr+SYmptNgXHTzue8ud2kD7vbx/q8ej6C7mBZZmmzjBBCymCizIBCODCeio7aWmkeJubYpk9fq9/6keXTkbMtmmoO4tGIRppHbHWa/i+7sZ7V9dOcUUeLITgwplgwzjEQU4FA0mnW3rHGo5z6xZxgRAPyccScBmpRsyXMkP0EGpMDzDoBRuOTzsH5EI6ChpeDPpHlp4HqopXI0YOUYmv6ABhTAJ2U48KYsnFHQdX3gX7vzvsYtQkegWyOYLLKENBqKJhjZIsmIR3ltC/mVEI0/vHEcSKn90kGRNBZIhhrCqCWAnR2xmdRiit7yUy5WtIw3kbzioeB5jw8l80f+n65T41GNEEcZhrmZKzyCFJYBmNEBvKSQWB2KMg6cvEF8SzQBucRQmAEQwmBSFggzjkqGxNKd1Tcpr2kkY+oe3LKGvt++es4rt/zfy94OJxehLoV+8yM9eCLzCZGXSJEGRlMSRnIFg0lsk/JEGksRw30Yv94Jxr/3QknQpGKCkgyBYyNBEF4DVljTpaDpiyPYpoXc0qpRKNeGhznTU1pbC+5nhVaDtzUA49j2823j/IXThdT/983mTf1rL6UU4/L3fNbS0Zpk03T4JXYgSmkAFFoEMXnKXBi9JPC1Hcdp+3Bamr8YdF2n6YLav8zeaOeffx4tT1GHT0Q3VY1ddtl/lLPxPX5+XVzXzm7qlfUdnttfnRm3TY8fOPDIeXYS0+Z5o823j+37FZmdXPz3Nqsbg87+y0PppD/Ke7jU+EOefrkL2jON789R75ffviSp/P0h53zDeHH1ulx46Or8o2M/GHi77TzMTVHT0OPBDVHHnjBt3J9/Tcdzhfg3hEAAA==

metadata_json:
  {"categories":["integration","automation","chatbot/AI","messaging"],"complexity":"medium","use_cases":["In-server AI assistant that responds to mentions","Private AI chat via Discord DMs","Context-aware customer/community support","Automated moderation assistance and FAQs","Personalized community engagement"],"estimated_setup_minutes":30,"required_services":["n8n instance","Discord bot (Discord API) with proper permissions","OpenAI API key or compatible LLM credentials","Community node: n8n-nodes-discord-trigger"],"key_features":["Dual triggers for public mentions and direct messages","Context-aware replies using the last 30 messages","Smart routing: replies in-channel or via DM depending on origin","Customizable system prompt to control tone/personality","Fully autonomous real-time replies without manual intervention"],"target_audience":["Developers / DevOps configuring n8n workflows","Community managers and moderators","Support teams building automated responders on Discord\",\"Product owners or community builders looking to add conversational AI"]}


name: Multi-Agent AI Clinic Management with WhatsApp, Telegram, and Google Calendar
author_name: Luciano Gutierrez
author_username: koresoluciones
categories: []
created_at: 2025-04-24T15:30:54.772Z
updated_at: 2025-04-24T15:30:54.772Z
url: https://n8n.io/workflows/3694
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Healthcare Clinic Assistant with WhatsApp and Telegram Integration
  Version: 1.1.0  
  n8n Version: 1.88.0+  
  License: MIT  

  📋 Description
  A comprehensive and modular automation workflow designed for healthcare clinics.  
  It manages patient communication, appointment scheduling, confirmations, rescheduling, internal tasks, and media processing by integrating WhatsApp, Telegram, Google Calendar, and Google Tasks, combined with AI-powered agents for maximum efficiency.

  This system guarantees proactive communication with patients, streamlined internal clinic management, and consistent data synchronization across platforms.

  🌟 Key Features
  🤖 AI-Powered Specialized Agents:  
    Distinct agents handle WhatsApp patient support, appointment confirmations, and internal rescheduling tasks.

  📱 Omnichannel Communication:  
    Handles patient interactions via WhatsApp and staff commands via Telegram.

  📅 Google Calendar Appointment Management:  
    Full synchronization for creating, updating, canceling, and confirming appointments.

  📋 Task Management with Google Tasks:  
    Manages shopping lists and administrative tasks efficiently through staff Telegram requests.

  🔔 Automated Appointment Reminders:  
    Daily-triggered system proactively sends WhatsApp confirmations to patients for next-day appointments.

  🖼️ Intelligent Media Processing:  
    Transcribes audios, extracts text from images, and processes documents using OpenAI and OpenRouter AI models.

  🛡️ Escalation to Human Support:  
    Automatically detects sensitive or urgent cases and escalates them to a human agent when needed.

  🏥 Use Cases
  Patient Communication:**  
    Respond to inquiries, schedule, reschedule, and confirm appointments seamlessly via WhatsApp.

  Internal Clinic Operations:**  
    Allow staff to modify appointments or add shopping list reminders directly from Telegram.

  Appointment Confirmation System:**  
    Automatically contacts patients one day prior to appointments for confirmation or rescheduling.

  Task and Reminder Management:**  
    Keeps clinic operations organized through automatic task management with Google Tasks.

  🛠️ Technical Implementation

  WhatsApp Patient Interaction Flow
  Webhook Reception:** Incoming WhatsApp messages captured via Evolution API webhook.
  Message Classification:** Intelligent routing of messages based on content type (text, image, audio, document).
  Media Content Processing:**  
    Audios: Download, convert, and transcribe via OpenAI Whisper.  
    Images: Analyze and extract text/descriptions with OpenAI Vision model.
  Patient Request Handling:** Specialized WhatsApp assistant responds appropriately using AI prompts.
  Outbound Message Formatting:** Ensures messages comply with WhatsApp format standards.
  Message Delivery:** Sends responses back via Evolution API.

  Telegram Staff Management Flow
  Telegram Webhook Reception:** Captures messages from authorized staff accounts.
  Internal Assistant Processing:**  
    Appointment Rescheduling: Identifies and updates appointments through MCP Google Calendar.  
    Task Creation: Adds new entries to the clinic's shopping list using Google Tasks.
  Notifications and Confirmations:** Sends confirmations back to staff through Telegram.

  Appointment Reminder System
  Daily Trigger Activation:** Fires every weekday at 08:00 AM.
  Calendar Scraping:** Lists next day's appointments from Google Calendar.
  Patient Contact:** Sends WhatsApp confirmation messages for each appointment.
  Response Management:** Redirects confirmation or rescheduling replies to appropriate agents.

  ⚙️ Setup Instructions

  Import the Workflow  
     n8n → Workflows → Import from File → Upload this JSON file.

  Configure Credentials  
     Evolution API (WhatsApp Communication)  
     Telegram Bot API (Staff Communication)  
     Google Calendar OAuth2 (Appointment Management)  
     Google Tasks OAuth2 (Task Management)  
     OpenAI and OpenRouter APIs (AI Agents)  
     PostgreSQL Database (Chat Memory)

  Set Sensitive Variables
     Replace placeholder values:
       {sua instância aqui} → Evolution API instance name
       {número_whatsapp} → WhatsApp numbers
       {url_do_servidor} → Server URLs
       {a sua apikey aqui} → API keys
       {seu_calendario} → Google Calendar ID

  Customize AI Prompts
     Adjust system prompts to fit your clinic’s tone, service style, and patient communication guidelines.
     Set clinic operating hours, escalation rules, and cancellation procedures in AI prompts.

  Activate and Test
     Simulate patient messages via WhatsApp.
     Test Telegram commands from staff members.
     Validate daily appointment reminders using the scheduled trigger.

  🏷️ Tags
  Healthcare Clinic Management WhatsApp Integration Telegram Bot Appointment Scheduling Google Calendar Google Tasks AI Agents n8n Automation  

  📚 Technical Notes
  PostgreSQL is used for persistent chat memory across sessions.
  Multiple AI Models Used:
    OpenAI GPT-4.1-nano
    OpenAI GPT-4.1-mini
    Google Gemini 2.0 and 2.5
  Full media content processing supported (audio, image, text).
  Compliant escalation workflows ensure patient safety and proper handoff to human staff when necessary.
  All sensitive patient data are securely stored inside calendar event descriptions for easy retrieval by agents.

  📜 License
  This workflow is provided under the MIT License.  
  Feel free to adapt and customize it for your clinic’s specific needs.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleTasksTool","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.memoryPostgresChat","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.telegramTool","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.memoryPostgresChat","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-evolution-api.evolutionApi","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-evolution-api.evolutionApi","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-evolution-api.evolutionApi"]

workflow_json_compressed:
  [encoded data, 12968 characters]

metadata_json:
  {"categories":["automation","integration","healthcare","communication","scheduling"],"complexity":"complex","use_cases":["Patient messaging and triage via WhatsApp","Appointment scheduling, confirmation and rescheduling with Google Calendar","Staff commands and internal ops via Telegram","Automated next‑day appointment reminders","Media processing: audio transcription and image/text extraction for clinical records"],"estimated_setup_minutes":90,"required_services":["Evolution API (WhatsApp)","Telegram Bot API","Google Calendar (OAuth2)","Google Tasks (OAuth2)","OpenAI APIs (e.g., GPT, Whisper)","OpenRouter AI","PostgreSQL (chat memory)","n8n instance"],"key_features":["Multi‑agent AI assistants for specialized tasks","Omnichannel patient and staff communication (WhatsApp + Telegram)","Full Google Calendar appointment sync (create/update/cancel/confirm)","Google Tasks integration for shopping lists and admin items","Scheduled daily reminder trigger for next‑day appointments"],"target_audience":["Healthcare clinics and administrators","Clinic operations managers","Developers/implementers building clinical automations in n8n and integrations teams"]}


name: 🔔 Meta Ads Low Balance Alert – Auto Notification via WhatsApp or Email
author_name: Amanda Benks
author_username: amanda
categories: []
created_at: 2025-04-24T16:03:23.125Z
updated_at: 2025-04-24T16:03:23.125Z
url: https://n8n.io/workflows/3695
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Hello my loves! I’m Amanda...
  I created this workflow with care for marketing professionals and agencies who manage multiple Meta Ads (Facebook) accounts and want to track ad account balances automatically — no more logging in every day or risking campaigns stopping unexpectedly.

  With this setup, n8n will check the balance of each account using the Meta API, compare it to a defined threshold, and if the balance is too low, it will automatically send a friendly alert via WhatsApp or email. It also logs everything neatly into a Google Sheet — so you always know where things stand.

  ✨ What this workflow does

  🧾 Pulls balance data from Meta Ads accounts using the Facebook Graph API  
  📉 Compares current balance with the minimum threshold set in a Google Sheet  
  🚨 Sends low-balance alerts via WhatsApp (Evolution API) or Gmail  
  🧠 Customizes alerts depending on payment type: Boleto or Credit Card  
  📊 Updates the Google Sheet with new balance, check date, and status  
  📆 Can run automatically every day or manually whenever you want

  🔧 What you’ll need

  A Google Sheet with your client accounts and minimum balance thresholds  
     → Use this template: Google Sheet Example  
  Access Token for Meta Ads API  
  Evolution API (if you want to send alerts via WhatsApp)  
  Gmail account connected to n8n (for email notifications)  
  “Base Value” column filled out in the sheet for each account

  ✅ Works with:
  n8n Cloud**  
  n8n Self-hosted**

  🔐 Secure credentials managed directly in n8n — no exposed tokens.

  Want to adapt this workflow to your business?
  ❤️ Buy Workflows: https://iloveflows.gumroad.com  
  ☁️ Try n8n Cloud with my partner link: https://n8n.partnerlinks.io/amanda

  Translation to Portuguese:
  Olá meus amores! Eu sou a Amanda 🌟
  Esse fluxo foi feito com muito cuidado para profissionais que gerenciam contas de anúncios no Meta Ads (Facebook) e precisam acompanhar de perto o saldo disponível, evitando pausas indesejadas nas campanhas.

  Com ele, você automatiza todo o controle de saldo: o sistema busca os dados da conta via API do Facebook, calcula o valor restante, compara com o limite definido, envia alertas personalizados por WhatsApp ou e-mail e ainda atualiza tudo em uma planilha do Google Sheets — todos os dias, de forma segura e sem esforço.  

  ✨ O que esse fluxo faz

  🔄 Busca automaticamente o saldo das contas via API do Meta Ads  
  🧮 Verifica se o saldo está abaixo do valor base definido para cada conta  
  🟨 Se estiver abaixo, envia alerta com mensagem personalizada para o cliente  
  💌 Alerta pode ser enviado por WhatsApp (via Evolution API) ou Email (Gmail)  
  📊 Atualiza a planilha do Google Sheets com o novo saldo e data da última checagem  
  💳 Verifica se o método de pagamento da conta é boleto, PIX ou cartão e envia mensagens diferentes para cada caso  
  📆 Funciona com agendamento automático diário ou execução manual  

  🛠️ O que você precisa

  Uma planilha no Google Sheets com os dados das contas (use este modelo)  
  Conta de anúncios no Meta configurada com token de acesso válido  
  API do Evolution (caso queira enviar alertas por WhatsApp)  
  Gmail conectado no n8n (para envio de emails)  
  Base Value (valor mínimo desejado) preenchido na planilha para cada conta

  ✅ Compatível com:
  n8n Cloud**  
  n8n Auto-hospedado**

  🔐 Segurança garantida com o uso de credenciais do próprio n8n.

  Quer adaptar esse fluxo pro seu sistema?
  ❤️ Buy Workflows: https://iloveflows.gumroad.com  
  ☁️ Use n8n Cloud com meu link parceiro: https://n8n.partnerlinks.io/amanda

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.wait","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.manualTrigger","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.if","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets"]

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

metadata_json:
  {"categories":["automation","integration","monitoring","notifications"],"complexity":"medium","use_cases":["Automated monitoring of Meta Ads (Facebook) account balances","Alerting clients or account managers when ad balances fall below threshold","Centralized logging of balance checks in Google Sheets","Custom notifications based on payment method (Boleto, PIX, Credit Card)","Daily scheduled checks or manual runs to prevent campaign pauses"],"estimated_setup_minutes":30,"required_services":["Meta Ads API (Facebook Graph API) - access token required","Google Sheets (Google account with Sheets access)","Gmail (or SMTP account connected to n8n) for email notifications","Evolution API (optional - for WhatsApp notifications)","n8n instance (Cloud or self-hosted) with credentials configured"],"key_features":["Fetches ad account balances from Meta Ads via API","Compares current balance to per-account threshold stored in Google Sheet","Sends low-balance alerts via WhatsApp (Evolution API) or Email (Gmail)","Customizes alert message depending on payment type (Boleto/PIX/Credit Card)","Updates Google Sheet with latest balance, check date, and status row-by-row"],"target_audience":["Marketing professionals","Digital agencies / account managers","Media buyers handling multiple Meta Ads accounts"]}


name: Generate and Edit Images with OpenAI's GPT-Image-1 Model
author_name: Edoardo Guzzi
author_username: mredodos
categories: []
created_at: 2025-04-24T16:48:26.102Z
updated_at: 2025-04-24T16:48:26.102Z
url: https://n8n.io/workflows/3696
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  This template integrates OpenAI's image generation and editing endpoints via the GPT-Image-1 model to visually create and manipulate images based on prompts. It features base64 conversion, binary handling, and prompt chaining.

  Perfect for marketing, design, product visuals and creative workflows.

  🛠️ Requirements
  OpenAI account with access to gpt-image-1(probably you need organizations verifications for access to that model)

  OpenAI API credentials configured in n8n

  A self-hosted or cloud n8n instance

  Basic familiarity with the n8n UI (no programming required)

  🔧 Step-by-step Instructions

  Step 1: Manual Trigger
  Starts the workflow on click. Ideal for testing the generation and edit logic.

  Step 2: Generate Image
  The Create image call node sends a prompt to OpenAI and returns a base64 image.

  Example prompt:

  A cyberpunk city at night with flying cars and neon lights

  Step 3: Convert to Binary
  The base64 image is converted into a usable binary PNG file with the Convert json binary to File node.

  Step 4: Edit the Image
  The binary file is passed to OpenAI’s /images/edits endpoint. A new prompt applies changes to the image.

  Example:

  Add a glowing robot in the foreground with a neon sword

  ✅ Supports model: gpt-image-1
  ⚠️ Requires binary file (not base64)

  Step 5: Final Conversion
  Converts the final edited image from base64 to file so it can be downloaded or used in other nodes.

  🎯 Real-World Use Cases
  🎨 Artists & Creators: concept art and illustration variations

  🛍️ E-commerce: auto-generate product mockups

  📰 Marketing: create eye-catching blog or social visuals

  💡 Bonus Ideas
  Add a Telegram or Slack node to generate or edit images via chat

  Use a Webhook to feed prompts from a form or frontend

  Add a mask to restrict edits to specific areas (e.g., background only)

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","n8n-nodes-base.convertToFile","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","integration","image processing","creative assets"],"complexity":"medium","use_cases":["Concept art and illustration generation","E‑commerce product mockups and variants","Marketing and blog visual creation","Automated image editing workflows via webhooks or chat","Selective (masked) edits and prompt chaining for iterative design"],"estimated_setup_minutes":20,"required_services":["OpenAI (gpt-image-1) with API access","n8n instance (self-hosted or cloud)"],"key_features":["Generate images from text prompts using gpt-image-1","Edit existing images via OpenAI /images/edits endpoint","Base64 ↔ binary conversion and file handling","Prompt chaining to iterate on results","Support for masks to restrict edits (optional)"],"target_audience":["Designers and artists","Marketers and content creators","Product teams needing visuals/prototypes」「No-code/low-code builders using n8n"]}


name: Automate Digital Delivery After PayPal Purchase Using n8n
author_name: Amjid Ali
author_username: amjid
categories: []
created_at: 2025-04-24T17:23:43.839Z
updated_at: 2025-04-24T17:23:43.839Z
url: https://n8n.io/workflows/3697
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Automate Digital Delivery After PayPal Purchase Using n8n  
  A Complete Step-by-Step Guide to Seamless Template Delivery  
  Built by Amjid Ali – SyncBricks  
  Deliver personalized files instantly after PayPal transactions using n8n – without writing a single backend line.

  🚀 What This n8n Workflow Does  
  This automation template helps you automatically deliver a digital product (such as an n8n template or JSON file) to customers who pay via PayPal — within seconds.

  You can:
  Automatically extract customer info  
  Identify what was purchased  
  Send a clean, branded email with the product file  
  Promote your other courses, books, and tools  

  📦 Use Case  
  Example Product: AI-Powered Social Media Content Generator & Publisher   
  When a customer buys this product through PayPal, this automation:  

  Listens for a successful payment event  
  Fetches order details via API  
  Sends an HTML email with the template attached  
  Promotes your other offerings with embedded links  

  🔧 Prerequisites  
  You’ll need:  
  An n8n instance (self-hosted or n8n Cloud)  
  A PayPal developer account  
  PayPal OAuth2 credentials configured in n8n  
  Your product hosted as a downloadable .json file (Oracle, Dropbox, GitHub, etc.)  
  SMTP email credentials in n8n  

  🧠 Step-by-Step Setup  

  1. Webhook Trigger  
  Node: Webhook  
  Listens for a POST request from PayPal’s webhook for PAYMENT.CAPTURE.COMPLETED events.  
  📌 Add the webhook to your PayPal Developer App &gt; Webhooks.

  2. Wait  
  Node: Wait  
  Adds a brief delay to ensure the payment is completely processed before continuing.

  3. Filter Event Type  
  Node: Switch  
  Processes only when the event is PAYMENT.CAPTURE.COMPLETED.

  4. Fetch Order Details  
  Node: HTTP Request  
  Retrieves the order information from PayPal's Orders API.  
  URL format:  
  https://api.paypal.com/v2/checkout/orders/{{ order_id }}

  5. Extract Email & Product Info  
  Node: Set  
  Extracts first name, last name, email address, and the purchased item name.

  6. Identify Product Purchased  
  Node: Switch  
  Checks if the product is “AI-Powered Social Media Content Generator & Publisher”.

  7. Download Workflow File  
  Node: HTTP Request  
  Fetches the hosted workflow JSON from object storage (Oracle in this case).

  8. Convert to Downloadable File  
  Node: Code  
  Converts the JSON content into a binary file and attaches it.

  9. Send Custom Email  
  Node: Send Email  
  Sends a rich HTML email to the buyer with:  
  Their name  
  The file attachment  
  Product name  
  Helpful resource links:  
    📘 Mastering n8n Course on Udemy  
    📖 Step-by-Step Guide (n8n Book)  
    🎓 n8n Video Tutorials (Free Course)  
    ☁️ Sign up for n8n Cloud – Use code AMJID10  
    🎥 YouTube Video Walkthrough

  📚 Additional Learning Resources  

  🚀 My Full Automation Suite  
  Explore more and master n8n with these resources:  
  🎓 Mastering n8n (Full Udemy Course)  
  📕 Get Your Step-by-Step Guide (n8n Book)  
  🎥 Get Step-by-Step Tutorials (Video Course)  
  ☁️ Sign up for n8n Cloud  
  💡 Templates, Tools, and More  
  📺 YouTube Channel – SyncBricks

  🙋 Need Help or Customization?  
  Reach out!  
  Email: amjid@amjidali.com  
  LinkedIn: linkedin.com/in/amjidali  
  Website: syncbricks.com

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.emailSend","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, 5204 characters]

metadata_json:
  {"categories":["automation","e-commerce","email/notifications","digital delivery","integration"],"complexity":"medium","use_cases":["Automatically deliver digital products after payment","Send branded purchase confirmation emails with attachments","Extract customer and order data from PayPal events","Cross-sell or promote additional offerings after purchase"],"estimated_setup_minutes":45,"required_services":["n8n instance (self-hosted or n8n Cloud)","PayPal developer account (webhooks + OAuth2 / Orders API)","File hosting/object storage for product (.json) (e.g., Oracle Cloud, Dropbox, GitHub)","SMTP/email provider credentials"],"key_features":["Webhook listener for PayPal PAYMENT.CAPTURE.COMPLETED events","Fetch order details via PayPal Orders API","Extract and map customer info (name, email) and purchased item","Convert hosted JSON workflow into a downloadable binary attachment","Send branded HTML email with file attachment and promotional links (SMTP integration)"],"target_audience":["digital product sellers","no-code makers and consultants","course creators and instructors selling downloads or templates, and marketers"]}


name: Daily Personalized Air & Pollen Health Alerts with Ambee API and AI via Email
author_name: Ange Russell
author_username: angerussell
categories: []
created_at: 2025-04-24T17:38:27.935Z
updated_at: 2025-04-24T17:38:27.935Z
url: https://n8n.io/workflows/3699
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow fetches real-time air quality and pollen data using Ambee’s APIs and sends a friendly, personalized daily summary by email. It uses a scheduler to automate data collection, AI-generated health tips, and clear, actionable messages—perfect for sensitive users (e.g. kids with asthma, allergy sufferers).
   
  Use Case: 
  Ideal for individuals with respiratory conditions, allergies, or those who want to stay informed about environmental conditions affecting their health.​

  Set up steps
  Estimated time: 10–15 minutes
   You'll need:
  Ambee API key (free registration)
  OpenAI API key
  Email credentials (Gmail)
  User Profile

  💡 Keep in mind:

  You’ll need to input your location coordinates (we’ve pre-filled Braunschweig as an example).

  The AI Agent node uses a ready-made prompt that’s tailored for email—but feel free to adapt it to other messaging platforms.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.gmailTool","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4820 characters]

metadata_json:
  {"categories":["health monitoring","automation","integration","notifications","AI"],"complexity":"medium","use_cases":["Daily air quality and pollen alerts for allergy sufferers","Personalized health tips for people with asthma or respiratory conditions","Caregiver or parent notifications for sensitive individuals (children, elderly)","Location-based environmental monitoring for wellness apps or local clinics","Automated daily email summaries with actionable recommendations"],"estimated_setup_minutes":15,"required_services":["Ambee API (air quality & pollen)","OpenAI API (AI-generated personalized tips)","Email service (e.g., Gmail SMTP or Gmail OAuth credentials)","n8n (automation platform)"],"key_features":["Scheduled daily data fetch from Ambee for air quality and pollen","AI-generated, friendly and personalized health advice","Email delivery of concise, actionable summaries","Location-based alerts (latitude/longitude input)","Customizable prompt/message templates for other channels"],"target_audience":["Individuals with asthma or chronic respiratory conditions","Allergy sufferers","Caregivers and parents of sensitive individuals (kids, elderly)"]}


name: Automated Generation of AI Advertising Photos for Product Marketing
author_name: Julian Ivanov
author_username: julian-ivanov
categories: []
created_at: 2025-04-24T21:36:54.279Z
updated_at: 2025-04-24T21:36:54.279Z
url: https://n8n.io/workflows/3700
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  How it works

  This workflow automates the transformation of standard product images into professional product photography featuring human models
  It uses AI to analyze product images, create tailored photography prompts, and generate high-quality enhanced versions

  Set up steps

  You'll need an OpenAI API key and access to gpt-image-1 (verify your organization)
  Set up a Google Sheets spreadsheet with columns: Image-URL, Prompt, Output
  Create a Google Drive folder to store the generated images

  Requirements:

  OpenAI API access (for image generation and analysis)
  Google Sheets and Google Drive accounts
  Basic product images (URLs) as input
  The spreadsheet must contain a column named "Image-URL" with links to the product images

  This workflow automatically:

  Reads product image URLs from your Google Sheet
  Downloads the images for processing
  Analyzes each image to understand what product it contains
  Creates specialized photography prompts ensuring each product is shown with a human model
  Generates professional product photography using OpenAI's image generation capabilities
  Uploads results to Google Drive and updates your spreadsheet with links

  Extra:
  You can also use the included simple image generation workflow to directly create images via prompt without product image input. This option lets you quickly generate images through the OpenAI API using just text prompts

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.merge","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest"]

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

metadata_json:
  {"categories":["automation","image-generation","marketing","e-commerce","ai"],"complexity":"medium","use_cases":["Generate professional product photos with human models for ads and listings","Create lifestyle/ad visuals for e-commerce and social media","Rapidly produce A/B test creative variants","Augment basic product shots into polished marketing assets"],"estimated_setup_minutes":20,"required_services":["OpenAI API (gpt-image-1)","Google Sheets API / Google Sheets account","Google Drive API / Google Drive account"],"key_features":["Reads product image URLs from Google Sheets","Analyzes images and generates tailored photography prompts","Ensures outputs depict products with human models","Generates high-quality images via OpenAI image generation","Uploads generated images to Google Drive and writes links back to the sheet','Optional simple prompt-only image generation path for quick creations"],"target_audience":["marketers","e-commerce managers","product photographers and retouchers looking to scale visuals quickly','social media/content teams','creative agencies"]}


name: Scrape Books from URL with Dumpling AI, Clean HTML, Save to Sheets, Email as CSV
author_name: Yang
author_username: yang
categories: []
created_at: 2025-04-24T23:10:27.733Z
updated_at: 2025-04-24T23:10:27.733Z
url: https://n8n.io/workflows/3701
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  👥 Who is this for?

  This workflow is ideal for virtual assistants, researchers, developers, automation specialists, and data analysts who need to regularly extract and organize structured product information (like books) from a website. It’s especially useful for those working with catalog-based websites who want to automate extraction and delivery of clean, sorted data.

  🧩 What problem is this solving?

  Manually copying product listings like book titles and prices from a website into a spreadsheet is slow and repetitive. This automation solves that problem by scraping content using Dumpling AI, extracting the right data using CSS selectors, and formatting it into a clean CSV file that is sent to your email—all triggered automatically when a new URL is added to Google Sheets.

  ⚙️ What this workflow does

  This template automates an entire content scraping and delivery process:

  Watches a Google Sheet for new URLs
  Scrapes the HTML content of the given webpage using Dumpling AI
  Uses CSS selectors in the HTML node to extract each book from the page
  Splits the HTML array into individual items
  Extracts the book title and price from each HTML block
  Sorts the books in descending order based on price
  Converts the sorted data to a CSV file
  Sends the CSV via email using Gmail

  🛠️ Setup

  Google Sheets
     Create a sheet titled something like URLs
     Add your product listing URLs (e.g., http://books.toscrape.com)
     Connect the Google Sheets trigger node to your sheet
     Ensure you have proper credentials connected

  Dumpling AI
     Create an account at Dumpling AI)   - Generate your API key
     
     Set the HTTP Method to POST and pass the URL dynamically from the Google Sheet
     Use Header Auth to include your API key in the request header
     Make sure "cleaned": "True" is included in the body for optimized HTML output

  HTML Node
     The first HTML node extracts the main book container blocks using:  
       .row &gt; li
     The second HTML node parses out the individual fields:  
       title: h3 &gt; a (via the title attribute)  
       price: .price_color

  Sort Node
     Sorts books by price in descending order  
     Note: price is extracted as a string, ensure it's parsable if you plan to use numeric filtering later

  Convert to CSV
     The JSON data is passed into a Convert node and transformed into a CSV file

  Gmail
     Sends the CSV as an attachment to a designated email

  🔄 How to customize this workflow

  Extract more data**: Add more CSS selectors in the second HTML node to pull fields like author, availability, or product links
  Switch destinations**: Replace Gmail with Slack, Google Drive, Dropbox, or another platform
  Adjust sorting**: Sort alphabetically or based on another extracted value
  Use a different source**: As long as the site structure is consistent, this can scrape any listing-like page
  Trigger differently**: Use a webhook, form submission, or schedule trigger instead of Google Sheets

  ⚠️ Dependencies and Notes

  This workflow uses Dumpling AI to perform the web scraping. This requires an API key and uses credits per request.
  The HTML node depends on valid CSS selectors. If the site layout changes, the selectors may need to be updated.
  Ensure you’re not scraping content from websites that prohibit automated scraping.

nodes_used:
  ["n8n-nodes-base.convertToFile","n8n-nodes-base.html","n8n-nodes-base.sort","n8n-nodes-base.html","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut"]

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

metadata_json:
  {"categories":["automation","web scraping","data processing","integration"],"complexity":"medium","use_cases":["Automatically scrape product/catalog listings from a URL","Aggregate and clean scraped HTML into structured records","Sort and export scraped data to CSV","Deliver CSV results via email","Trigger scraping from new URLs added to Google Sheets"],"estimated_setup_minutes":20,"required_services":["Google Sheets","Dumpling AI (HTTP API)","Gmail"],"key_features":["Google Sheets trigger for new URLs","Fetch cleaned HTML via Dumpling AI","Extract list items and fields using CSS selectors","Split HTML array into individual records","Sort records (price descending) and convert to CSV file format','Send CSV as email attachment via Gmail"],"target_audience":["virtual assistants","researchers","developers/automation engineers`,`data analysts"]}


name: Extract & Summarize Indeed Company Info with Bright Data and Google Gemini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-04-24T23:22:33.673Z
updated_at: 2025-04-24T23:22:33.673Z
url: https://n8n.io/workflows/3702
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who this is for?
  Extract & Summarize Indeed Company Info is an automated workflow that extracts the Indeed company profile information using Bright Data Web Unlocker, transform it using Google Gemini’s LLM, and forward the transformed response with the summary to a specified webhook for downstream use.

  This workflow is tailored for:

  Recruiters and HR teams looking to assess companies quickly during talent sourcing.

  Job seekers researching potential employers and needing summarized company insights.

  Market researchers and analysts monitoring competitor or industry players.

  What problem is this workflow solving?
  Searching and evaluating company profiles on Indeed manually can be time-consuming and inefficient, especially when dealing with large volumes of companies. Manually browsing, copying, and summarizing company descriptions, reviews, and ratings from Indeed hinders productivity and limits real-time insights.

  This workflow solves this by:

  Automating the extraction of company details from Indeed using Bright Data Web Unlocker.

  Summarizing the raw data using Google Gemini's language model for a quick, human-readable overview.

  Sending the transformed response with the summary to a chosen endpoint, like Slack, Notion, Airtable, or a custom webhook.

  What this workflow does

  This automated pipeline does the following:

  Scrape Indeed company profile pages (e.g., ratings, description, reviews) using Bright Data’s Web Unlocker.

  Transform the scraped content into structured JSON using n8n’s built-in tools.

  Summarize and extract meaningful insights using Google Gemini's large language model.

  Forward the summarized data to a specified webhook or app for real-time access, storage, or analysis.

  Forward the formatted response to a specified webhook or app for real-time access, storage, or analysis.

  Setup
  Sign up at Bright Data.
  Navigate to Proxies & Scraping and create a new Web Unlocker zone by selecting Web Unlocker API under Scraping Solutions.
  In n8n, configure the Header Auth account under Credentials (Generic Auth Type: Header Authentication).
  In n8n, configure the Google Gemini(PaLM) Api account with the Google Gemini API key (or access through Vertex AI or proxy).
  Update the search query, Bright Data zone by navigating to the Set Indeed Search Query node.
  Update the Webhook Notifier with the Webhook endpoint of your choice.

  How to customize this workflow to your needs

  This workflow is built to be flexible - whether you're a company or a market researcher, entrepreneur, or data analyst. Here’s how you can adapt it to fit your specific use case:

  Changing the data source**: 
  Replace the Indeed search input with other job or business listing platforms if needed (e.g., Glassdoor, Crunchbase)

  Refining the LLM prompt**: 
  Tailor the Gemini prompt to transform or summarize the Indeed company information in a specific format.

  Routing the output to different destinations**: 
  Send summaries or transformed response to Google Sheets, Airtable, or CRMs like HubSpot or Salesforce etc.

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainSummarization","n8n-nodes-base.markdown","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.toolHttpRequest","n8n-nodes-base.httpRequest"]

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

metadata_json:
  {"categories":["automation","web scraping","data processing","ai/ml","integration"],"complexity":"medium","use_cases":["Recruiter/HR company assessment during sourcing","Job seeker employer research","Market research and competitor monitoring","Automated ingestion of company profiles into CRMs or analytics","Summarizing large volumes of company profile content for reporting"],"estimated_setup_minutes":30,"required_services":["Bright Data Web Unlocker (Web Unlocker zone)","Google Gemini (PaLM) API or Vertex AI access","n8n instance","Webhook destination (Slack, Notion, Airtable, custom endpoint)"],"key_features":["Scrapes Indeed company profile pages (ratings, descriptions, reviews) via Bright Data","Transforms raw HTML/text into structured JSON with n8n nodes","Summarizes and extracts insights using Google Gemini LLM","Sends formatted summary and JSON to configurable webhook or app","Configurable search query and Gemini prompts for custom outputs"],"target_audience":["Recruiters and HR teams","Job seekers","Market researchers and analysts」「Data engineers and automation builders"]}


name: Indeed Data Scraper & Summarization with Airtable, Bright Data & Google Gemini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-04-25T00:21:41.601Z
updated_at: 2025-04-25T00:21:41.601Z
url: https://n8n.io/workflows/3703
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who this is for?
  Indeed Data Scraper & Summarization with Airtable, Bright Data and Google Gemini is an automated workflow that extracts company profile information from Indeed using Bright Data Web Unlocker, transforms the data using Google Gemini's LLM, and forward the transformed response with the summary to a specified webhook for downstream use.

  This workflow is tailored for:

  Recruiters and HR teams who want quick summaries of companies listed on Indeed.

  Market researchers and analysts needing structured insights into businesses.

  Founders, investors, and consultants scouting potential competitors, partners, or clients.

  No-code enthusiasts looking to automate data extraction and enrichment pipelines without manual scraping or parsing.

  What problem is this workflow solving?
  Manually gathering structured information about companies on Indeed is time-consuming and inconsistent. Pages vary in structure, and extracting clean, digestible summaries can require technical scraping expertise.

  This workflow automates:

  Extracting company data from Indeed reliably using Bright Data Web Unlocker.

  Cleaning and summarizing the extracted content using Google Gemini LLM.

  Storing structured insights directly into Airtable for easy access and further workflows.

  Eliminates manual research, saves hours, and produces AI-enhanced, easily searchable records.

  What this workflow does

  Triggers on-demand.

  Pulls company page URLs from Airtable.

  Scrapes content from each Indeed company profile using Bright Data Web Unlocker.

  Sends the raw HTML to Google Gemini for extraction and summarization.

  Sends the summarized data to other platforms via a Webhook notification mechanism.

  Setup
  Sign up at Bright Data.
  Navigate to Proxies & Scraping and create a new Web Unlocker zone by selecting Web Unlocker API under Scraping Solutions.
  In n8n, configure the Header Auth account under Credentials for Bright Data.

  The Value field should be set with the
  Bearer XXXXXXXXXXXXXX. The XXXXXXXXXXXXXX should be replaced by the Web Unlocker Token.
  In n8n, configure the Google Gemini(PaLM) Api account with the Google Gemini API key (or access through Vertex AI or proxy).
  In n8n, configure the Airtable Personal Access Token account under Credentials.
  Update the Webhook Notifier with the Webhook endpoint of your choice.

  How to customize this workflow to your needs
  This workflow is built to be flexible - whether you're a company or a market researcher, entrepreneur, or data analyst. Here's how you can adapt it to fit your specific use case:

  Extend the scraper**: Modify Bright Data targets to pull job listings, salaries, or employee reviews via the Airtable data source.

  Customize the summary prompt**: Ask Gemini to extract different attributes hiring trends, practices etc.

  Routing the output to different destinations**:
  Send summaries or transformed response to Google Sheets, Airtable, or CRMs like HubSpot or Salesforce etc.

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.toolHttpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.markdown","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.airtable","n8n-nodes-base.if","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.chainSummarization","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatGoogleGemini"]

workflow_json_compressed:
  [encoded data, 4348 characters]

metadata_json:
  {"categories":["automation","integration","data processing","web scraping","AI enrichment"],"complexity":"complex","use_cases":["Generate concise company summaries from Indeed listings","Build and maintain structured company databases","Competitive and market research","Enrich CRM or Airtable records with AI-extracted insights","Automate candidate/company scouting workflows"],"estimated_setup_minutes":45,"required_services":["Bright Data (Web Unlocker)","Google Gemini (PaLM / Vertex AI or proxy)","Airtable (API / Personal Access Token)","Webhook receiver or downstream endpoint","n8n"],"key_features":["Pulls company URLs from Airtable","Scrapes Indeed company pages via Bright Data Web Unlocker","Cleans and extracts data using Google Gemini LLM","Summarizes and structures content into searchable records","Sends results to Airtable or any webhook destination for downstream use (batch/on-demand)"],"target_audience":["Recruiters and HR teams","Market researchers and analysts","Founders, investors, consultants doing competitive analysis」「No-code / automation builders"]}


name: 🔐 Generate PIX Payment QR Codes for Any Brazilian Bank Key
author_name: Bruno Dias
author_username: brunodias
categories: []
created_at: 2025-04-25T02:29:45.738Z
updated_at: 2025-04-25T02:29:45.738Z
url: https://n8n.io/workflows/3704
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  🔐 PIX QR Code Generator for Any Bank and Key – Powered by n8n

  Easily generate PIX QR Codes with this ready-to-use n8n workflow, supporting any valid PIX key (CPF, CNPJ, phone, email, or random key) and following the official BACEN standard — the Central Bank of Brazil's regulation.

  Whether you want to automate payments in chatbots, CRM systems, e-commerce checkouts, or custom apps, this solution provides fast, secure, and fully compliant QR Code generation.

  💡 What is PIX?

  PIX is a real-time payment system developed by the Central Bank of Brazil (BACEN).  
  It allows instant transfers between banks, available 24/7, without fees for individuals.  
  Businesses widely use PIX for quick, easy, and reliable payments — making QR Codes an essential tool for sales, subscriptions, and customer service.

  ⚙️ What this Workflow Does

  Creates a fully compliant PIX payment code with automatic checksum (CRC)  
  Generates a dynamic QR Code that customers can scan with any banking app  
  Returns:
    The full PIX EMV payment code (ready for integration)  
    A public URL linking to the QR Code image  
    Clean payment metadata for frontend or messaging bots

  All generated dynamically from the user's input: key, amount, receiver name, city, and payment description.

  🧠 How it Works

  The user provides basic payment information: key, amount, name, city, and description.  
  The workflow assembles a PIX payload following BACEN's EMV QR standards.  
  It automatically generates and attaches the CRC (checksum) for validation.  
  A QR Code is created based on the complete PIX code.  
  The output returns both the PIX code and a QR Code image URL, ready to use anywhere.

  Each component works seamlessly to deliver a ready-to-scan QR Code for instant payments.

  🛠️ How to Set Up

  Deploy the workflow on your n8n Cloud or self-hosted instance.  
  Configure the input variables manually or through an API/Webhook:
     pixKey: Your PIX key (CPF, CNPJ, email, phone, or random)  
     receiverName: Name of the individual or company receiving the payment  
     city: City name associated with the receiver  
     amount: Payment value (in BRL, ex: 79.90)  
     description: Short description for the transaction (optional)  
  Trigger the workflow:
     Manually (for testing)  
     Via webhook/API (ideal for integrations with chatbots, e-commerce, CRM)  
  Customize the flow (optional):
     Set default values if user inputs are missing  
     Adjust QR Code size or styling (inside the QR Code generator node)  
     Connect to database/storage if you want to save issued PIX transactions

  🎯 Who is This For?

  E-commerce stores needing instant payment links  
  Chatbots or WhatsApp bots offering product sales or bookings  
  CRM systems wanting to automate billing processes  
  Subscription platforms requiring fast payment confirmation  
  Any business wanting to accept payments faster and smarter

  ✅ Requirements

  Active n8n Cloud or self-hosted instance  
  A valid PIX key (CPF, CNPJ, email, phone, or random key)  
  Basic payment information: amount, city, receiver name, description  
  No external paid APIs needed — fully open and server-side

  🛒 Ready to Automate Your Payments?

  ❤️ Buy ready-to-use workflows at: https://iloveflows.com  
  ☁️ Try n8n Cloud with my partner link: https://n8n.partnerlinks.io/amanda

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WVXU/cRhSG/8pqrn3QfJz58mUjJaKqWkKiiApxcWbmDHVhvcQ2CLra/17tgmBJnRTInWWdeebxO+Nz1qIrohVf7d+BzcWXX/P5n5V+y6IRS55ItGvR9eNEfebDbZ0jq6t0ZIKLLlcKxZBNXtaAIapKSeqMOpDNuiCGkrmamFRVnkpVOolNI3pasmjF0eHJ4uPx4t2q8OID9zzQtBoWdTUsruhuyf00Lrp+8ctA/3SXohETnY+iPT1rRL8qvH1c36uH4GKOIQLa6AAzIaREDqrlFFGiDdWJx10/Hm83PDo82SLvrrav+tDDjgmJRj74a5qujvnrNY+TaMTVauymbtWL9hSlbLQ8a8QVDbTkiYdRtOvNPecLD+OuDA/0pnlQS8bkyjVB5RwBKSFQqBGiDsmnWoNn9aR21N2+7/iyfOK+fNdu5G+s3EukzAE+SulUQmGKUJxxgNUHCCEU0LpSdsYiqr28jg5PdlLjy40svlbJh6BTdQUspgRYowZKbMGZlNEXiRr1k9K7yy5fLD7fn8+805L6a7r8PHTn5zw8twOlZQP/76ce7YiM8d5aYB0qoE0Vki8RajFYpKmF1N4pfpq6fHG3+H018fcj29U8lOy7+SAbQPyPnMirfuJ+Eq0QPxCNVcakGFChBdRRQ1CcIdSivWc0WMusqHq9qXKyAfVW00LKJzQaanYK0JkMKWkLUttsqw/JS5411a821T/jKTUzl0iQpTeAKjFQ8RG0s1x0tk5KP+tp3uD5U4FaLwNzAGtIAtpSIMrAUBI55hqSNHuBPrRbXvyoD+ZV+VbxRT+23v9xdMlYgSInQOkrBK8SKOQUdY2FjZtND1+dnglvSe+sEZSn7oZFW+ly5EaMPE1df75byrecr7f8P4bCg2jFjdoybu7X78ZhoIrGM4PJJgI6xxCsJkiUcrLBy0xSNFuJnvMWtQM/zaB2LZbUbT/gdL2ba/Mdd1fTiK4vfCtauTk72zT7bXAWMztNZknPrsMca2ZozoKe7TkHmr94M6zN5l9qxjDWmQgAAA==

metadata_json:
  {"categories":["payments","integration","automation","finance"],"complexity":"medium","use_cases":["Generate PIX payment QR codes for e‑commerce checkouts","Create payment links for chatbots and WhatsApp bots","Automate billing/invoicing inside CRMs","Provide on‑demand payment codes for subscriptions and bookings","Embed compliant PIX payloads into custom apps or APIs"],"estimated_setup_minutes":15,"required_services":["n8n Cloud or self‑hosted n8n instance","A valid PIX key (CPF, CNPJ, phone, email, or random key)","Banking apps or any PIX‑capable app for customers to scan (client side)","Optional: storage/database or image hosting if you want to persist QR images or transaction records"],"key_features":["Builds BACEN‑compliant EMV PIX payloads","Automatic CRC (checksum) calculation and attachment","Generates dynamic QR code image and returns a public URL","Accepts any PIX key type (CPF, CNPJ, phone, email, random)","Returns clean payment metadata (amount, name, city, description) for frontends or bots"],"target_audience":["Developers building payment integrations","E‑commerce merchants","Chatbot/WhatsApp bot builders and operators of conversational commerce flows"]}


name: Generate Custom AI Images with OpenAI GPT-Image-1 Model
author_name: Max aka Mosheh
author_username: aiwithapex
categories: []
created_at: 2025-04-25T07:23:43.257Z
updated_at: 2025-04-25T07:23:43.257Z
url: https://n8n.io/workflows/3705
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  How it works  
  Trigger the workflow manually via the n8n UI.  
  Define key parameters like the image prompt, number of images, size, quality, and model.  
  Send a POST request to OpenAI’s image generation API using those inputs.  
  Split the API response to handle multiple images.  
  Convert the base64 image data into downloadable binary files.

  Set up steps  
  Initial setup takes around 5–10 minutes. You’ll need an OpenAI API key, a configured HTTP Request node with credentials, and to customize the prompt/parameter fields in the “Set Variables” node. No advanced config or external services needed.

  Important Note
  You have to make sure to complete OpenAI's new verification requirements to use their new image API:
  https://help.openai.com/en/articles/10910291-api-organization-verification

  It only takes a few minutes and does not cost any money.

nodes_used:
  ["n8n-nodes-base.convertToFile","n8n-nodes-base.httpRequest","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","image generation","AI"],"complexity":"simple","use_cases":["Generate custom AI images from prompts","Create marketing/social assets or prototypes","Batch image generation/export","Produce avatars or visual variations for products"],"estimated_setup_minutes":10,"required_services":["OpenAI API (GPT-Image-1) with API key and organization verification","n8n platform (HTTP Request node configured)"],"key_features":["Manual trigger via n8n UI","Set prompt, number of images, size, quality, and model parameters","Send POST request to OpenAI image API","Split API response to handle multiple images","Convert base64 image data to downloadable binary files"],"target_audience":["Developers","Designers","Marketers/content creators"]}


name: Analyze Client Transcripts & Route Feedback with GPT-4o Mini, HubSpot, and Gmail
author_name: PollupAI
author_username: zeerobug
categories: []
created_at: 2025-04-25T08:08:35.088Z
updated_at: 2025-04-25T08:08:35.088Z
url: https://n8n.io/workflows/3706
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?  
  This workflow is designed for Customer Satisfaction Managers (CSM), sales professionals, and operations managers who need to automate the analysis of client transcripts, save summarized notes to HubSpot, and route relevant feedback to the appropriate departments via email.  

  What problem is this workflow solving? / Use Case  
  Manually processing client conversations, extracting key insights, and distributing them to the right teams is time-consuming and error-prone. This workflow automates:  
  Transcript analysis** using AI (OpenAI) to identify relevant content.  
  HubSpot integration** to log meeting notes against client records.  
  Email routing** to ensure feedback reaches the correct departments (e.g., support, sales, product, admin).  

  What this workflow does  
  Input Transcript: Accepts a client conversation transcript (e.g., from emails, calls, or chats).  
  HubSpot Sync:  
     Searches for the client’s HubSpot ID using their email.  
     Uploads a summarized version of the conversation as meeting notes.  
  AI-Powered Routing:  
     Uses an OpenAI model to analyze the transcript and categorize content by department.  
     Triggers emails (via Gmail) to route feedback to the relevant teams.  
  Form Completion: Ends the workflow with optional user confirmation.  

  Setup  
  Prerequisites:  
     n8n instance (cloud or self-hosted).  
     HubSpot API credentials (for contact lookup and notes upload).  
     OpenAI API key (for transcript analysis).  
     Gmail account (for sending emails).  
  Configuration:  
     Replace placeholder nodes (e.g., HubSpot, OpenAI, Gmail) with your authenticated accounts.  
     Define email templates and recipient addresses for routing.  
     Adjust the OpenAI prompt to match your categorization criteria (e.g., "support," "billing").  

  How to customize this workflow to your needs  
  Transcript Sources**: Extend the workflow to pull transcripts from other sources (e.g., Zoom, Slack).  
  Departments**: Modify the routing logic to include additional teams or conditions.  
  Notifications**: Add Slack/MS Teams alerts for urgent feedback.  
  Error Handling**: Introduce retries or fallback actions for failed HubSpot/Gmail steps. 

nodes_used:
  ["n8n-nodes-base.hubspot","n8n-nodes-base.hubspot","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.chainSummarization","n8n-nodes-base.formTrigger","n8n-nodes-base.form","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.gmailTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","data processing","AI/ML","CRM"],"complexity":"medium","use_cases":["Automated analysis and summarization of client transcripts","Logging meeting notes to HubSpot contact records","Routing feedback to appropriate departments via email","Generating actionable insights and follow-ups from conversations","Reducing manual effort and human error in feedback distribution"],"estimated_setup_minutes":30,"required_services":["n8n (cloud or self-hosted)","HubSpot API (contact lookup and notes)","OpenAI API (GPT-4o Mini or equivalent model)","Gmail (for sending routed emails)"],"key_features":["AI-powered transcript analysis and categorization","HubSpot contact search and meeting note creation","Automated email routing to department-specific addresses","Configurable prompts and routing logic","Optional form-based user confirmation step at end of workflow"],"target_audience":["Customer Success Managers (CSMs)","Sales professionals","Operations managers/process owners implementing automation workflows in n8n"]}


name: Automatic WhatsApp Response with Groq LLM and Conversation Memory
author_name: Ghufran Ridhawi
author_username: ghufran-ridhawi
categories: []
created_at: 2025-04-25T08:14:45.450Z
updated_at: 2025-04-25T08:14:45.450Z
url: https://n8n.io/workflows/3707
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?
  This workflow is intended for individual users or teams who want to automate their small business on WhatsApp practically by automatically replying about your business products or services using the groq model. Based on small businesses, there is a task to answer many customers or clients on WhatsApp, in reality answering one by one is very time-consuming and tiring, moreover we have to compose sentences first or click on templates and send them. This is also a form of dedication to the community at n8n and n8n company, as well as dedication to small businesses so that reality is no longer tiring and able to answer the problems of existing reality.

  How it works?
  Easy explanation: 

  1) Whatsapp Trigger is used to receive whatsapp messages from other numbers, this is also a place to input data and send it to the next node or to the AI ​​Agent 
  2) If node is used to direct the workflow flow under certain conditions. This will be like checking whether a condition is met or not, directing the action to the next node, until it meets the criteria. 


  3) Then it is directed to the AI ​​Agent to be able to use the groq model and storage using simple memory, why? Because it minimizes the costs used later but still works as expected. 


  4) The Groq chat model will think and carry out its tasks and store data in simple memory, and carry out its tasks to answer/send messages to whatsapp customers/clients on the AI ​​Agent node bond. 


  5) And enjoy this workflow working for you.

  Set up instructions
  Complete what is in the nodes as stated in the notes column. 
  1) You need a "Credential Account" On the first node, namely as a WhatsApp trigger, you can register it by following the guide from n8n
  2) You need an AI Agent to carry out the objectives of these tasks. You can change it to define below in “Source for Prompt (User Message)&gt;Fix and “Prompt (User Message)” to text body&gt;Expression.
  3) You need a Groq model to be able to think and carry out tasks, you have to set this up by creating a “Credential Account” and just follow the steps on n8n and select the model.
  4) After that, for practical and simple storage, add memory to the Nodes AI agent, namely “Simple Memory”, select Define below in “Session ID” and in “Key” is used to store incoming chat receipts.
  5) After that, add nodes to produce action output on WhatsApp, namely Message Actions&gt;Send message. After adding this set up nodes according to the existing notes, and I have set it up.
  6) Save and run, test the workflow and activate the workflow. And this Workflow is ready to use.

  Requirements

  As a reminder:
  1) Must set up in nodes, such as what your business description is, also according to your small business conditional, so that the AI ​​Agent is in accordance with your business knowledge base
  2) Must have (if not, make sure you have registered) on each "Credential Account" by following the guide on how to do it n8n the guidelines are very complete
  3) Do not forget to save, and make sure the workflow is active.

  **How to customize this workflow to your needs
  **
  You can directly set up your business knowledge base on the nodes, so that the accuracy is also high when carrying out tasks and answering them.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGroq","@n8n/n8n-nodes-langchain.memoryBufferWindow","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.whatsApp","n8n-nodes-base.whatsAppTrigger","n8n-nodes-base.if"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WWS2/bRhDHv4qwZ427j+E+eKqTQ5tDGqAu6kNgFLO7szIbkVRFKg8I+u4FFSVyZDmx4xtJ/Pnf3zywM1vRZFELVu/o9z/bf8PHjF24JjEXLY8k6q1oumGkLvGrSeeCLdIqWTEbV4xJ5NgpxakoZZizJ6JobMnovVMpS9KVR6101NahYzEXI7erJY38cs15uOJxs3rZt6slj5xFPa43vJuLjloWtbi+pXG4XK1ml8PQTBTj7PLV7HLB3Ti7amm5nL3YDE3HwzD50mIQ9dubuej6zNPj9hBbtsUWH8FKGQCTZvCBMugglVUYUpJOfD3zywGT46fV9OXXzne/dL6DvS8sqVukW2q6CzroVv3QjE3fifqt8nIOXt7MxYrW1PLI60HU291ns795Pex16sLv5ge8IrUxVTKQZGBAlB4IZQCXSpBVNrrS6oj327r/b/bylsbZ6z7z8hGUy3aST/+doFo5V/rHqF9BQ4nWZOshBWsBNVmggB6y8zEmm12u7oBeNVNRZ6+57defHoHZ7oUvNqXw+rrpcv/hW1zzSNwLc8wsu+BMKWCKK1NmLUQsDqR1pBBRoqvuAI9Nevdp9kc/8hH3SBpp4IthrzlI7sCBk3IO2t7DE6nvxqlLaiEezqzJNhnnHJCxBVBpAyQLA5dMURcTtPRnQdXTSac8/jyp9tmmVCVQHjVgjgY8qQKKcrDJOnLBnSXVTyf1zwFFhchOK9AmV4C6OPCGNBiZknJoQrTlLKh5Mqh6Vu2z1UlJjsChcoBOZqCkPFgMTsqUg/bnM4o/BarkT3JW0seUMYAsTgKqJCFkWwF6QtIYs2M6y1k9mdPoZ3DGlK0sugIdFQIachDQFeAUbZDSolbpLKd9Mmeln1P4wJHddOVrqwgQOYGPugLPxVTZYyo6H0HfbMbVZnwQ8cNhUn4LaPHLNPrA8bbv3+1nODqdUSYDWGkDWBRDtGTBRC19yppTmW6bR04FIsRArMBj8IA+KYheScgqyGTZo8Q7U+FVt9qMs6tNbJthchp+GNFf62ax4PXJ3aCny8GeRkZJO4UcwAQVAYOvwOeUoSjtvKyqZI18fGTKl2x80pAIEbCwhBBSgipqrXTOqPe32td5t+hW/fBwiZpyEoP9EsJ3efSF3t3MBaWxec+iLrQceC4GHsemW+y7jT9y2kymb9aZ16IW79XUdu8/O+wTI4lUZIpQjM2AyRGQCg7Y2woLRa31RJf6ruM07utSb4+rUL0VLTUT9Nvtfrs605B7wVw0XeaPopa7m5vd/JiUcw73N60HPO4uEvVWUPNPe3j5rttRd2p5ukR9Np12kQ0t+PDtR97fyk+PuN/o51Jwv2nOpGC3+x+JHFslpQsAAA==

metadata_json:
  {"categories":["automation","integration","customer support","AI/chatbots"],"complexity":"medium","use_cases":["Automated WhatsApp customer replies","Small business customer support and FAQs","Maintaining short-term conversation memory/context","Routing messages via conditional logic"],"estimated_setup_minutes":30,"required_services":["n8n instance (cloud or self-hosted)","WhatsApp Business API or WhatsApp credential supported by n8n","Groq LLM account/credential (Groq chat model)"],"key_features":["WhatsApp trigger to receive incoming messages","AI Agent using Groq chat model to generate replies","Simple Memory (conversation buffer) to keep context","Conditional routing (If node) to handle different flows","Send message action to reply on WhatsApp (automated)"],"target_audience":["Small business owners and operators","Customer support teams handling WhatsApp chats","n8n users and workflow builders integrating LLMs into messaging channels"]}


name: Create Google Drive Folders by Path
author_name: Xavier
author_username: xavier
categories: []
created_at: 2025-04-25T11:23:18.322Z
updated_at: 2025-04-25T11:23:18.322Z
url: https://n8n.io/workflows/3709
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This workflow creates nested Google Drive folders from a path string (like Projects/Clients/Reports). It automatically handles the necessary folder lookups and creation steps required by Google Drive, then outputs the final folder's ID for immediate use.

  How it works
  This workflow streamlines the creation of nested folders in Google Drive:

  Input: Provide a root_folder_id and a path (e.g., Projects/Clients/Reports) as input.
  Path Parsing: The workflow splits the path into individual folder names (based on the / separator)
  Iterative Check & Create: Loops through each part of your path:
      Searches within the current parent folder (starting with the root_folder_id) for a subfolder matching the name.
      If found: Retrieves the existing folder's ID to use as the parent for the next iteration.
      If not found: Creates a new folder with that name inside the current parent folder and uses the new folder's ID as the parent for the next iteration.
  Output: Returns the Google Drive Folder ID of the very last folder in the specified path (e.g., the ID for Reports in the example above). This ID can then be directly used in subsequent n8n nodes to upload files, create documents, or perform other actions within that specific folder.

  Set up steps
  Setting up this workflow requires configuring the connection to Google Drive and knowing where to start creating folders:

  Connect Google Drive Account: Ensure you have a Google Drive credential configured in your n8n instance. Then link your credentials in the workflow: there are 2 Google Drive nodes that will need to be updated.
  Identify Starting Folder ID: Determine the Google Drive Folder ID where your nested structure should begin. You can either use the root of your Google Drive or a specific folder:
  	To use the root of Google Drive, simply set root_folder_id to root (also called "My Drive" in the UI)
  	To use a specific folder, open the folder in a webbrowser and look at the URL. The folder ID will be in the last part of the URL: https://drive.google.com/drive/folders/THIS_IS_THE_FOLDER_ID.
  Prepare Inputs for Execution: When running the workflow (or triggering it), you will need to provide:
      google_drive_folder_id -&gt; this is the root folder ID you identified in step 2.
      desired_path -&gt; This is the path you want to create (e.g., Projects/Clients/Reports).

  Here's an example of how you can call this workflow in your other workflows:

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.code","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.googleDrive","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.if","n8n-nodes-base.set","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","integration","file management"],"complexity":"simple","use_cases":["Create nested folder structures in Google Drive from a path string","Prepare a target folder before automated file uploads or document creation","Automate standard project/client folder scaffolding","Ensure idempotent folder creation for integration workflows"],"estimated_setup_minutes":10,"required_services":["Google Drive API (connected Google account / Google Workspace)"],"key_features":["Parses a path string into folder segments","Searches each parent for existing subfolders and reuses them","Creates missing folders as needed","Returns the final folder ID for immediate use in downstream nodes","Can start at root ('root') or a specific Drive folder ID"],"target_audience":["Developers","Automation engineers","IT administrators/ops teams','Project managers and marketing teams"]}


name: Generate Images with GPT-image-1 and Store in Google Drive with Cost Tracking
author_name: darrell_tw
author_username: darrelltw
categories: []
created_at: 2025-04-25T13:21:47.199Z
updated_at: 2025-04-25T13:21:47.199Z
url: https://n8n.io/workflows/3710
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  How it works

  Receive a chat input as an image prompt.
  Call OpenAI's gpt-image-1 API to generate an image.
  Split the returned images and process them one by one.
  Upload each generated image to Google Drive.
  Save image links and thumbnails to a Google Sheets document.
  Record token usage and estimated cost into a separate sheet.

  Set up steps

  Connect your OpenAI API credentials for image generation.
  Connect your Google Drive and Google Sheets accounts.
  Set the destination folder in Google Drive.
  Set the target Google Sheet and specify the correct sheet tabs.
  The setup usually takes around 5-10 minutes.
  Detailed field mappings are already pre-configured inside the workflow.
  Additional tips and instructions are included as sticky notes inside the workflow.

  Google Sheet copy url
  Copy Sheet Link

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.splitOut","n8n-nodes-base.convertToFile","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4324 characters]

metadata_json:
  {"categories":["automation","integration","image generation","data storage","cost tracking"],"complexity":"medium","use_cases":["Automated image generation from prompts","Store generated images in Drive and catalog in Sheets","Create image libraries/thumbnails for content workflows","Track API token usage and estimate cost per generation","Batch processing multiple generated images"],"estimated_setup_minutes":10,"required_services":["OpenAI API (gpt-image-1)","Google Drive","Google Sheets"],"key_features":["Generate images via gpt-image-1","Split and process multiple returned images","Upload each image to Google Drive","Save image links and thumbnails to Google Sheets","Record token usage and estimated cost in a separate sheet tab(s)"],"target_audience":["developers","marketers","content creators/social teams\",\"product managers\",\"growth teams"]}


name: Compare Different LLM Responses Side-by-Side with Google Sheets
author_name: Dataki
author_username: dataki
categories: []
created_at: 2025-04-25T13:32:18.442Z
updated_at: 2025-04-25T13:32:18.442Z
url: https://n8n.io/workflows/3711
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  This workflow allows you to easily evaluate and compare the outputs of two language models (LLMs) before choosing one for production.

  In the chat interface, both model outputs are shown side by side. Their responses are also logged into a Google Sheet, where they can be evaluated manually or automatically using a more advanced model.

  Use Case
  You're developing an AI agent, and since LLMs are non-deterministic, you want to determine which one performs best for your specific use case. This template is designed to help you compare them effectively.

  How It Works
  The user sends a message to the chat interface.
  The input is duplicated and sent to two different LLMs.
  Each model processes the same prompt independently, using its own memory context.
  Their answers, along with the user input and previous context, are logged to Google Sheets.
  You can review, compare, and evaluate the model outputs manually (or automate it later).
  In the chat, both responses are also shown one after the other for direct comparison.

  How To Use It
  Copy this Google Sheets template (File &gt; Make a Copy).
  Set up your System Prompt and Tools in the AI Agent node to suit your use case.
  Start chatting! Each message will trigger both models and log their responses to the spreadsheet.


  Note: This version is set up for two models. If you want to compare more, you’ll need to extend the workflow logic and update the sheet.

  About Models
  You can use OpenRouter or Vertex AI to test models across providers.  
  If you're using a node for a specific provider, like OpenAI, you can compare different models from that provider (e.g., gpt-4.1 vs gpt-4.1-mini).

  Evaluation in Google Sheets
  This is ideal for teams, allowing non-technical stakeholders (not just data scientists) to evaluate responses based on real-world needs.

  Advanced users can automate this evaluation using a more capable model (like o3 from OpenAI), but note that this will increase token usage and cost.

  Token Considerations
  Since each input is processed by two different models, the workflow will consume more tokens overall.  
  Keep an eye on usage, especially if working with longer prompts or running multiple evaluations, as this can impact cost.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.memoryManager","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.summarize","n8n-nodes-base.stickyNote","n8n-nodes-base.aggregate","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 5960 characters]

metadata_json:
  {"categories":["automation","integration","model evaluation","AI workflows"],"complexity":"medium","use_cases":["Compare outputs of two LLMs for model selection","A/B testing prompts and model variants","Logging model responses for manual or automated evaluation","Enabling team-based review of LLM outputs","Benchmarking models across providers"],"estimated_setup_minutes":20,"required_services":["Google Sheets","LLM providers (OpenRouter, OpenAI, Vertex AI, or other)","n8n (workflow runtime)"],"key_features":["Duplicates user input and sends to two independent LLMs","Displays both model responses side-by-side in chat","Logs inputs, context, and model outputs to Google Sheets","Per-model memory contexts preserved for fair comparison","Easily extensible to add more models with workflow changes<br>Supports automated evaluation of responses using a stronger model (optional)"],"target_audience":["Developers building AI agents","ML engineers and data scientists","Product managers evaluating model choices for features or production deployments\",\"Non-technical stakeholders who participate in qualitative evaluation"]}


name: Automate Weekly SEO Reports from Google Search Console to Email
author_name: Rodrigue Gbadou
author_username: gbadou
categories: []
created_at: 2025-04-25T14:39:02.729Z
updated_at: 2025-04-25T14:39:02.729Z
url: https://n8n.io/workflows/3712
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  What this workflow does
  This n8n workflow connects to Google Search Console to fetch SEO performance data (clicks, impressions, CTR, and average position) for the last 7 days.  
  It formats the results into a clean weekly summary and automatically sends it to your email inbox every Monday morning.

  Ideal for:
  Website owners
  Bloggers
  SEO consultants
  who want to track site performance over time without manual reporting.

  Setup steps

  Replace YOUR_SITE_URL in the HTTP Request node with your verified domain from Google Search Console.
  Connect your Google OAuth2 credentials to the HTTP Request node.
  Set up your SMTP credentials in the "Send Email" node.
  Adjust the recipient email address and subject line if necessary.
  (Optional) Customize the Function node to include more queries or format the report as a PDF.

  Estimated setup time: ~10 minutes

  Sticky notes are included in the workflow canvas to guide you step-by-step.

  Technologies used
  Google Search Console API
  SMTP Email Node
  n8n Function Node
  n8n HTTP Request Node
  n8n Sticky Notes

nodes_used:
  ["n8n-nodes-base.cron","n8n-nodes-base.httpRequest","n8n-nodes-base.function","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail"]

workflow_json_compressed:
  H4sIAAAAAAAAE5VW23LbNhD9FQwmD/aUkEnwzk46TZw046kvra0kk7E9MS5LibYIKCBoRaPwD/rWD+gv9hM6oOS75CZ8IQXsYs85WO3uAlcSF/iSD+vkKOf7rw/q5PjjHHu4BstwscCVaixTAvacXcrTUsZlSlmYZtLP4ryMZCDKTMpQUJr4eSTLKE1TKBMmWJBTJkIKWRCXQAPKsIct1NMJs7BrQDYnYNvprq6nE7AgcWFNC52HFasBF/hgjmbaXJUTPUOhc2WjBhen5x5WWoL7XCzh04hDkOcBCSXEJMoFJXnAAiKSMCl5SgOWpfj22I8AV5M5GppqNAKDtg60kmyO0lcH2y7IfOqMVKZIH4Vw1sBAGK2wh6e6qWylFS5OM98LMv/cw1NmWA0WTIOLRbc84AOYpjcLOm+FMQplmiaRJCWXEYmCiBMOUUS4EJkv/CSTnN5hfAcWnbw9Qm+YZag0ukbvTnY3ohtbOz2GLy009iHI0F+LErdmggvs3JpiZ6cBZsRYaNXoCQxGWo8mwKZVMxC63pkBr1njHHeuw52mstDsfDp6f/z5ZG/49vP74/2V+yvFJnNbiWbnSwvGZZCeOhQrVVhrx6BsJdgSGh6BAlMJlwZunU2Gjpp3s/6qtePhkqyD+Zo1yzX8WGF6q3BOs5iWMiRpkoQkCkIgPGA5yURKMwksZzS8r7ACwyz0Mh/DVBu7Ud+yVaKH/UDceIO4N9a7WrqzzhR69DilLTJ61qCXqLJQN6f++eCy0WrQL377hk7Pf97o12PdrxQ4d+cwqNl0a8vomYcqJeHrNnr5C1o89XePAdsahS5eLHpT9BMKugF6sTB6NriCuUPSIYJ2J5W4aorVhuh/dR7aq6cGGif87V51t9R5aHd4fOtkzcDq36qvILfoduehP1bS3RjcSHnf6mIN7W57zeKKx+kGmk7MYpMGS3+nYoEuhnqKAh+d9EmM/mzBVNCgrX3WWJSiN2zebBdnZ+rsTL1Y3JN+cKkrtXWG3Rbe7i7WR+rWsHl8s08y+q5m0EzmZRBTEsTMJxFLEsJYDISxhOc8EkHJ7mX0v//8/RfqKyraU401rVj+/zZldWMrcTU/1BYe5jVJfC95mtZCT7TBReLhWSXtGBc08z08hmo0trgIqe9hoZUFZfukf4ZWBnkcBzIiNGWcRIGfEO4LSXhGZcKSNACRPqL1ri9KN7e0uyxV7l1Wox8mSKPnCNKNpJ6hJChjXFIgPqOcRDzihNEwJ7z0c5oyGUAkH1F6W7Nqgg61hOWl/TCNJPK9aCON+B6N5HtpBDxLfeZnRMahIBGLA5KzKCCRTAMWizyOyvyOxgkoiVbddFlBEZ8veW0kM1rt3uOR0ps6OgM+1vqqHzVEHsVxkkWE55Gr5iwmnMqUMAms5HkW+5nL/YfcG1ByqHGBjZamGrUwGHEmdftrH9b1s8d9qWn5JQj7P2w6D4vbRtVH6g88ch2J9lOSg5zIo8M9Gn4YHr5JM/Pp93vNpr9rJoRulcXdkx42CLpzDzNhq2vARckmDXi4AWsrNerDwVcQrYN9ZCQYXODrwIG6Xp6wnM1omGZBnBE/4ZxEfikJC32f8CxnaZikicxcCgqtFIgbBda2wWKBa1a5qzld9KPW99517+XhvrPgwu/OzztvwyizLsazLXnt2c+NcusjPDtWrYnRdf8BzF7k3SMLAAA=

metadata_json:
  {"categories":["automation","integration","reporting","SEO"],"complexity":"simple","use_cases":["Automatically generate weekly SEO performance summaries","Monitor site clicks, impressions, CTR, and average position over time","Emailing scheduled reports to stakeholders","Reduce manual reporting effort"],"estimated_setup_minutes":10,"required_services":["Google Search Console API (verified site)","Google OAuth2 credentials","SMTP email provider / SMTP credentials"],"key_features":["Fetches clicks, impressions, CTR, and average position for the last 7 days","Formats a clean weekly summary","Scheduled delivery every Monday via email (cron)","Customizable Function node for additional queries or PDF formatting","Includes sticky-note guidance in the workflow canvas"],"target_audience":["Website owners","Bloggers","SEO consultants"]}


name: Automated Instagram Comment Replies using Gemini AI with Context-Aware Responses
author_name: Luciano Gutierrez
author_username: koresoluciones
categories: []
created_at: 2025-04-25T18:37:26.955Z
updated_at: 2025-04-25T18:37:26.955Z
url: https://n8n.io/workflows/3713
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  Instagram Auto-Comment Responder with AI Agent Integration

  Version: 1.1.0 ‧ n8n Version: 1.88.0+ ‧ License: MIT

  A fully automated workflow for managing and responding to Instagram comments using AI agents. Designed to improve engagement and save time, this system listens for new Instagram comments, verifies and filters them, fetches relevant post data, processes valid messages with a natural language AI, and posts context-aware replies directly on the original post.

  Key Features

  💬 AI-Driven Engagement: Intelligent responses to comments via a GPT-powered agent.
  ✅ Webhook Verification: Handles Instagram webhook handshake to ensure secure integration.
  📦 Data Extraction: Maps incoming payload fields (user ID, username, message text, media ID) for processing.
  🚫 Self-Comment Filtering: Automatically skips comments made by the account owner to prevent loops.
  📡 Post Data Retrieval: Fetches the media’s id and caption from the Graph API (v22.0) before generating a reply.
  🧠 Natural Language Processing: Uses a custom system prompt to maintain brand tone and context.
  🔁 Automated Replies: Posts the AI-generated message back to the comment thread using Instagram’s API.
  🧩 Modular Architecture: Clear separation of steps via sticky notes and dedicated HTTP Request and Agent nodes.

  Use Cases

  Social Media Automation**: Keep followers engaged 24/7 with instant, relevant replies.
  Community Building**: Maintain a consistent voice and tone across all interactions.
  Brand Reputation Management**: Ensure no valid comment goes unanswered.
  AI Customer Support**: Triage simple questions and direct followers to resources or support.

  Technical Implementation

  Webhook Verification  
     Node: Webhook + Respond to Webhook  
     Echoes hub.challenge to confirm subscription and secure incoming events.

  Data Extraction  
     Node: Set  
     Maps payload fields into structured variables: conta.id, usuario.id, usuario.name, usuario.message.id, usuario.message.text, usuario.media.id, endpoint.

  User Validation  
     Node: Filter  
     Skips processing if conta.id equals usuario.id (self-comments).

  Post Data Retrieval  
     Node: HTTP Request (Get post data)  
     GET https://graph.instagram.com/v22.0/{{ $json.usuario.media.id }}?fields=id,caption&access_token={{ credentials }}  
     Captures the media’s caption for richer context in replies.

  AI Response Generation  
     Nodes: AI Agent + OpenRouter Chat Model  
     Uses a detailed system prompt with:
       Profile persona (expert in AI & automations, friendly tone).  
       Input data (username, comment text, post caption).  
       Filtering logic (spam, praise, questions, vague comments).  
     Returns either the reply text or [IGNORE] for irrelevant content.

  Posting the Reply  
     Node: HTTP Request (Post comment)  
     POST {{ $json.endpoint }}/{{ $json.usuario.message.id }}/replies with message={{ $json.output }}  
     Sends the AI answer back under the original comment.

  Instructions for Setup

  Import Workflow  
     In n8n &gt; Workflows &gt; Import from File, upload the provided .json template.

  Configure Credentials  
     Instagram Graph API (Header Auth or FacebookGraphApi) with instagram_basic, instagram_manage_comments scopes.  
     OpenRouter/OpenAI API key for AI agent.

  Customize System Prompt  
     Edit the AI Agent’s prompt to adjust brand tone, language (Brazilian Portuguese), length, or emoji usage.

  Test & Activate  
     Publish a test comment on an Instagram post.  
     Verify each node’s execution, ensuring the webhook, filter, data extraction, HTTP requests, and AI Agent respond as expected.

  Extend & Monitor  
     Add sentiment analysis or lead capture nodes as needed.  
     Monitor execution logs for errors or rate-limit events.

  Tags

  Social Media • Instagram Automation • Webhook Verification • AI Agent • HTTP Request • Auto Reply • Community Management

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.respondToWebhook","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.filter","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 5516 characters]

metadata_json:
  {"categories":["automation","social media","integration","AI"],"complexity":"medium","use_cases":["Automated social media engagement","Community building and moderation","Brand reputation management","AI-assisted customer support (triage)","Spam / self-comment filtering"],"estimated_setup_minutes":30,"required_services":["Instagram Graph API (facebook/instagram access token, instagram_basic, instagram_manage_comments scopes)","OpenRouter or OpenAI API (for GPT-powered agent)","n8n instance with public webhook endpoint"],"key_features":["AI-driven, context-aware comment replies using a GPT agent","Webhook verification (Instagram handshake) for secure event ingestion","Payload mapping and structured data extraction (user, message, media id)","Self-comment filtering to avoid reply loops","Fetch post caption via Graph API to provide richer reply context (v22.0 example endpoint shown)"],"target_audience":["Social media managers","Community managers","Marketers (growth/engagement teams)"]}


name: YouTube Video to WordPress Blog Automation with Gemini AI & Affiliate Integration
author_name: Amjid Ali
author_username: amjid
categories: []
created_at: 2025-04-26T03:05:51.189Z
updated_at: 2025-04-26T03:05:51.189Z
url: https://n8n.io/workflows/3714
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  🚀 YouTube to WordPress AI-Powered Automation
  Transform your YouTube content into professional blog posts automatically!  
  This n8n template seamlessly converts your YouTube videos into fully-formatted, SEO-optimized WordPress blog posts using AI-powered content generation—all without lifting a finger.

  🎯 What This Automation Does
  📺 Monitors your YouTube channel for new video uploads
  🔍 Extracts key video information (title, description, URL, thumbnail)
  🤖 Leverages AI to generate comprehensive blog content based on video material
  ✏️ Creates SEO-optimized titles, excerpts, and tags
  🖼️ Formats posts beautifully with embedded videos and proper HTML structure
  📝 Publishes directly to WordPress via secure API connection
  ⏱️ Runs on your schedule — daily, weekly, or after each new upload

  🧑‍🏫 Step-by-Step Video Tutorial
  🎥 Watch the implementation tutorial:  
    
  📌 See the complete workflow setup and content transformation in action.

  🌐 Useful Links
  🔗 Get started with n8n Cloud:  
    👉 https://n8n.io/cloud/
  📘 YouTube Data API documentation:  
    👉 https://developers.google.com/youtube/v3
  📚 WordPress REST API handbook:  
    👉 https://developer.wordpress.org/rest-api/
  🧠 OpenAI API documentation:  
    👉 https://platform.openai.com/docs/api-reference

  🛠 Prerequisites
  ✅ n8n installation (self-hosted or cloud)
  ✅ YouTube Data API key
  ✅ AI provider API key (OpenAI, Google Gemini, etc.)
  ✅ WordPress website with REST API enabled
  ✅ WordPress application password for secure authentication

  📋 Step-by-Step Implementation

  1️⃣ YouTube Video Detection
  Youtube RSS Feedlink to fetch new video automatically
  Implement filtering to process only videos not yet published to WordPress

  2️⃣ Content Preparation
  Extract essential video metadata (ID, title, description, thumbnail URL)
  Structure the information for AI processing and WordPress publication
  Format video thumbnails for use as featured images in blog posts

  3️⃣ AI Content Generation
  Configure your preferred AI provider (OpenAI, Gemini, etc.)
  Create detailed prompts that instruct the AI to:
    Maintain your brand voice and writing style
    Structure content with proper headings and subheadings
    Creates Internal Links from existing blogposts
    Creators Extenal links using affilaite links and other link database.
    Engaging SEO frendly.
    Automatically monetizes by embedding social PartnerStack Links
    Include key points from the video
    Generate SEO-friendly paragraphs and conclusions

  4️⃣ Content Enhancement
  Format the AI-generated content with proper HTML structure
  Add responsive embedded YouTube player
  Include attribution links back to original video
  Create custom intro and conclusion sections

  5️⃣ WordPress Publishing
  Securely connect to WordPress via REST API
  Set post parameters (title, content, excerpt, categories, tags)
  Configure post status (publish immediately or save as draft)
  Add featured image using video thumbnail

  6️⃣ Notification & Logging
  Receive email or Slack notifications when new posts are published
  Log workflow executions for troubleshooting
  Track successful publications for reporting

  💰 Automatic Affiliate Marketing Integration

  Transform your blog posts into passive income generators by automatically embedding relevant affiliate links based on your video content:

  PartnerStack Integration
  Dynamically fetch relevant affiliate links** from your PartnerStack account
  Intelligently match products** to video content using AI-powered relevance scoring
  Automatically insert formatted affiliate links** with proper disclosure notices
  Track performance metrics** for each generated post's affiliate conversions

  Example setup: Connect PartnerStack API → Filter relevant products → Insert links in strategic post positions

  Custom Affiliate Database via Airtable
  Create a centralized product-keyword Airtable database:
    Product name and description
    Affiliate link with your unique ID
    Category and keyword triggers
    Commission rates and expiration dates
  Auto-scan blog content** to identify keyword matches
  Insert highest-converting links** based on historical performance
  Rotate affiliate links** to test different products and placements

  Advanced Monetization Features
  Amazon Associates product matching** based on video content
  Time-sensitive promo codes** inserted for limited-time offers
  Geo-targeted affiliate links** based on visitor location
  A/B testing system** to optimize link placement and conversion
  Automated disclosure statements** to maintain FTC compliance

  Implementation Steps
  Connect to your PartnerStack account via API
  Create an Airtable base with your affiliate product database
  Configure the AI to identify product-mention opportunities
  Add a post-processing node to insert relevant affiliate links
  Implement tracking parameters to measure performance

  This integration not only saves time manually adding affiliate links, but also increases conversion rates through intelligent product matching and optimal placement within your automatically generated blog content.

  &gt; 💡 Pro Tip: Create separate tracking IDs for your automated YouTube-to-WordPress posts to measure this specific channel's performance in your affiliate dashboards.

  💡 Advanced Customizations

  Content Templates
  Create specialized formatting based on video categories:
  Tutorial videos**: Step-by-step instructions with timestamps
  Review videos**: Pros/cons sections with ratings
  Interview videos**: Question-answer format with speaker attribution

  Category & Tag Management
  Automatically organize your WordPress content:
  Assign categories based on video topics or playlists
  Generate tags from video keywords and descriptions
  Create custom taxonomies for video series

  Multi-Platform Distribution
  Extend your content reach by adding:
  Social media announcement posts
  Email newsletter inclusion
  Content syndication to Medium or LinkedIn

  ⚠️ Troubleshooting

  | Issue | Solution |
  |-------|----------|
  | AI generation timeout | Increase timeout settings or use chunked processing |
  | WordPress API errors | Verify application password and user permissions |
  | Missing video embedding | Check oEmbed settings in WordPress |
  | Duplicate posts | Implement content fingerprinting for detection |
  | Poor content quality | Refine AI prompts with better instructions |

  🙌 Why Use This Template

  Content creators typically spend 2-4 hours converting each video into a quality blog post. This automation:

  ⏱️ Saves 10+ hours weekly for active YouTube creators
  🔍 Boosts SEO performance with multi-platform content
  🌐 Expands audience reach to text-preferring visitors
  💰 Increases monetization opportunities across platforms
  🧠 Frees creative energy for producing better videos

  Don't choose between video and written content—have both automatically!

  🚀 Get Started Now
  Import the template → Connect your accounts → Watch your blog grow alongside your channel.

  👉 AMJID ALI'S PROFILE  
  👉 website  
  👉 Explore more on youtube

  Knowledge Base: youtube-api, wordpress-automation, content-repurposing, ai-blog-generation, n8n-workflow, creator-tools, video-to-text, multi-platform-publishing

nodes_used:
  ["n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.set","n8n-nodes-base.rssFeedReadTrigger","@n8n/n8n-nodes-langchain.toolHttpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.youTube","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.xml","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","n8n-nodes-base.airtableTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","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","integration","content repurposing","monetization"],"complexity":"complex","use_cases":["Automatically convert YouTube videos into SEO-optimized WordPress posts","AI-driven content generation and formatting","Automated affiliate link insertion and monetization","Scheduled or real-time publishing from new uploads","Multi-platform distribution and notifications"],"estimated_setup_minutes":90,"required_services":["n8n (self-hosted or n8n Cloud)","YouTube Data API (or RSS feed)","AI provider API (OpenAI, Google Gemini, etc.)","WordPress REST API with application password","PartnerStack API (optional for affiliate integration)","Airtable (optional for custom affiliate database)","Email or Slack (for notifications)"],"key_features":["Monitor YouTube channel for new uploads","Extract video metadata (title, description, thumbnail, URL)","AI-powered content generation with brand-voice prompts","SEO-optimized titles, excerpts, tags and internal/external links","Responsive embedded YouTube player and featured image handling','Automated WordPress publishing (draft or publish)"],"target_audience":["YouTube creators and vloggers","Content marketers and bloggers","Affiliate marketers and publishers who monetize content by linking products and offers, Analysts/automation engineers implementing content pipelines"]}


name: Convert Gumroad Sales to Beehiiv Subscribers with Sheets & Telegram Alerts
author_name: Aitor | 1Node
author_username: aitoralonso
categories: []
created_at: 2025-04-26T12:49:04.255Z
updated_at: 2025-04-26T12:49:04.255Z
url: https://n8n.io/workflows/3715
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  Turn Gumroad buyers into newsletter subscribers on Beehiiv, log to Google Sheets and get notified on Telegram

  Requirements

  Gumroad account**  
  Gumroad application* + *API key**  
  Product listed** on Gumroad  
  Beehiiv account**  
  Publication created** on Beehiiv  
  Beehiiv API key**  
  Google Sheets access** (with API credentials)
  Telegram Bot** created + Bot Token  
  Telegram Channel** created and Bot added as admin

  Set Up

  1. Trigger on a New Gumroad Sale
  Create a new application in Gumroad (Settings &gt; Advanced).
  Copy your API key (access token).
  Paste it into the Gumroad Sale Trigger node.

  2. Connect to Beehiiv Newsletter
  Create a publication inside Beehiiv.
  Generate and copy your Beehiiv API key.
  Use it to list publications and post a new subscription.

  3. Load Into CRM (Google Sheets)
  Set up your Google Sheets API credentials
  Append the subscriber's data into your CRM

  4. Send a Telegram Message
  Create a Telegram Bot and get your Bot Token.
  Add the Bot to your Telegram Channel and make it an admin.
  In the Telegram Send Message node:
    Use your Bot Token.
    Set your Channel Username or Chat ID.
    Customize the message content (e.g., "New Sale from {{customerEmail}} 🎉").

  Further Optimizations

  Add more data to Beehiiv**:  
    Include optional fields like first name, last name, custom tags, etc., when posting the subscription.

  Customize your Telegram message**:  
    Personalize the message with product name, sale amount, or customer name.

  Enhance CRM data**:  
    Add additional sale details into Google Sheets, like product ID, purchase timestamp, or affiliate code if available.

  Error Handling**:  
    Add an error workflow to retry failed Beehiiv or Google Sheets updates automatically or log the error messages in your team chat in Slack or Microsoft Teams.

  ✅ That's it!  
  Every time a new sale happens, the customer is added to your Beehiiv newsletter, saved in your CRM, and you receive an instant notification on Telegram!

  Get in touch with us
  Feel free to contact us at 1 Node.
  Get instant access to a library of free resources we created.

nodes_used:
  ["n8n-nodes-base.gumroadTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.set"]

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

metadata_json:
  {"categories":["automation","integration","marketing","CRM","notifications"],"complexity":"medium","use_cases":["Automatically add Gumroad buyers to a Beehiiv newsletter","Log new sales/subscribers into Google Sheets CRM","Send real-time Telegram alerts for new purchases","Sync buyer data across sales and marketing systems","Simple buyer onboarding and list growth automation"],"estimated_setup_minutes":30,"required_services":["Gumroad account (application + API key)","Beehiiv account (publication + API key)","Google Sheets with API credentials","Telegram Bot (token) and Channel (bot added as admin)","n8n (or compatible workflow runner)"],"key_features":["Trigger on new Gumroad sale","Create/post subscriber to Beehiiv publication via API","Append sale/subscriber data into Google Sheets","Send customizable Telegram message/alert","Support for optional subscriber fields (first/last name, tags, etc.)"],"target_audience":["content creators","independent makers","marketers/growth teams at small businesses"]}


name: Convert 3-View Drawings to 360° Videos with GPT-4o-Image and Kling API
author_name: PiAPI
author_username: piapi
categories: []
created_at: 2025-04-26T13:46:26.070Z
updated_at: 2025-04-26T13:46:26.070Z
url: https://n8n.io/workflows/3716
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  What this workflow does?
  This workflow converts orthographic three-view drawings into 360° rotation videos through PiAPI's GPT-4o-Image and Kling APIs (unofficial). The workflow could be set with our 3D Figurine Orthographic Views workflow for generation. 

  Who is the workflow for?
  Designers**: Generate inspiration into 3D designs and make them spin to gain concrete details in a efficient way.
  Online shoppers**: Show protential products from all angles in videos and preview overall texture of models.
  Content Creators** (including toy bloggers): Make fun videos of collectible models.

  Step-by-step Instructions
  1.Fill in basic params with your X-API-Key of your PiAPI account and 3-View image url. 
  2.Click test workflow.
  3.Get the final video in the last node.

  Use Case
  Input Image


  Output Video

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.set"]

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

metadata_json:
  {"categories":["automation","AI/ML","media processing","design"],"complexity":"medium","use_cases":["Convert orthographic 3-view drawings into 360° rotational product preview videos","Create spinning visual previews for e-commerce product listings","Rapidly prototype and visualize 3D concepts from 2D design sketches","Generate engaging video content for toy/collectible blogs or social media"],"estimated_setup_minutes":15,"required_services":["PiAPI (GPT-4o-Image)","Kling API (video/animation)","n8n instance","Publicly accessible 3-view image URL (or host)"],"key_features":["Transforms orthographic three-view drawings into 360° rotation videos","Uses GPT-4o-Image for image understanding/augmentation","Uses Kling API to generate/compile rotational video frames","Configurable via X-API-Key and image URL","Includes test/manual trigger and webhook support for automation"],"target_audience":["Designers and product developers","E-commerce managers and online retailers","Content creators and toy bloggers/social media creators  (visual/video producers)  developers integrating AI-driven media workflows"]}


name: Search LinkedIn companies and add them to Airtable CRM
author_name: Matthieu
author_username: yaznow
categories: []
created_at: 2025-04-26T13:58:44.656Z
updated_at: 2025-04-26T13:58:44.656Z
url: https://n8n.io/workflows/3717
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Search LinkedIn companies and add them to Airtable CRM

  Who is this for?
  This template is ideal for sales teams, business development professionals, and marketers looking to build a robust prospect database without manual LinkedIn research. Perfect for agencies, consultants, and B2B companies targeting specific business profiles.

  What problem does this workflow solve?
  Manually researching companies on LinkedIn and adding them to your CRM is time-consuming and error-prone. This automation eliminates the tedious process of finding, qualifying, and importing prospects into your database.

  What this workflow does
  This workflow automatically searches for companies on LinkedIn based on your criteria (keywords, size, location), retrieves detailed information about each company, filters them based on quality indicators (follower count and website availability), and adds new companies to your Airtable CRM while preventing duplicates.

  Setup
  Create a Ghost Genius API account and get your API key
  Configure HTTP Request nodes with Header Auth credentials (Name: "Authorization", Value: "Bearer your_api_key")
  Create an Airtable base named "CRM" with columns: name, website, LinkedIn, id, etc.
  Set up your Airtable credentials following n8n documentation
  Add your company search selection criteria to the “Set Variables” node.

  How to customize this workflow
  Modify search parameters in the "Set Variables" node to target different industries, locations, or company sizes
  Adjust the follower count threshold in the "Filter Valid Companies" node based on your qualification criteria
  Customize the Airtable fields mapping in the "Add Company to CRM" node to match your database structure
  Add notification nodes (Slack, Email) to alert you when new companies are added

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.if","n8n-nodes-base.airtable","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.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7280 characters]

metadata_json:
  {"categories":["automation","integration","sales/lead-generation","data-enrichment","CRM-management"],"complexity":"medium","use_cases":["Automated prospect discovery from LinkedIn","Building and enriching CRM company records","Targeted lead generation by industry/size/location","Filtering and qualifying companies by follower count and website presence","Preventing duplicate entries in Airtable"],"estimated_setup_minutes":20,"required_services":["Ghost Genius API (LinkedIn company search)","Airtable account/base","n8n instance"],"key_features":["Search LinkedIn companies by keywords, size, location via API","Filter companies by follower count and website availability","Map and add new companies to Airtable CRM","Duplicate detection/prevention before insert","Configurable search parameters in a Set Variables node','Optional notification hooks (Slack, Email)"],"target_audience":["Sales teams","Business development professionals","Marketers and demand-gen teams','Agencies and consultants','B2B companies that manage prospect databases"]}


name: Check Which AI Models Are Used in Your Workflows
author_name: darrell_tw
author_username: darrelltw
categories: []
created_at: 2025-04-26T14:19:38.487Z
updated_at: 2025-04-26T14:19:38.487Z
url: https://n8n.io/workflows/3718
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  How it works

  Fetch all workflows from your n8n instance.
  Filter workflows that contain nodes with a modelId setting.
  Extract the node names, model IDs, model names, workflow names, and workflow URLs.
  Save the extracted information into a connected Google Sheet.

  Set up steps

  Connect your n8n API credentials.
  Connect your Google Sheets account.
  Replace "Your n8n domain" with your actual domain URL.
  Use this Google Sheet template to create a new sheet for results.
  Setup typically takes 5 minutes.
  Be cautious: if you have over 100 workflows, performance may be impacted.

  Notes

  Sticky notes inside the workflow provide extra guidance.
  This workflow clears old sheet data before writing new results.
  Make sure your n8n instance allows API access.

  Result Example


  Update:
  It didn't detect the AI model in tool originally. Now it's fixed!

  Update 20250429:
  Support 1.91.0 with open node directly!
  Optimize the url with node id.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.n8n","n8n-nodes-base.filter","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","monitoring","administration"],"complexity":"medium","use_cases":["Inventory AI models used across n8n workflows","Audit and compliance of AI usage","Documenting and reporting model usage","Detect and update workflows that use specific models","Operational monitoring for n8n deployments"],"estimated_setup_minutes":5,"required_services":["n8n API (instance with API access)","Google Sheets (Google account)","Access to the n8n domain URL"],"key_features":["Fetches all workflows from n8n","Filters nodes that have a modelId setting","Extracts node names, model IDs, model names, workflow names and workflow URLs","Writes results to a connected Google Sheet (clears old data first)","Uses batching to handle many workflows and warns on >100 workflows performance impact"],"target_audience":["n8n developers","Automation engineers","DevOps/platform admins managing n8n instances','Security and compliance teams"]}


name: Extract & Classify Invoices & Receipts with Gmail, OpenAI and Google Drive
author_name: Tom
author_username: devpeer-tom
categories: []
created_at: 2025-04-26T15:03:19.387Z
updated_at: 2025-04-26T15:03:19.387Z
url: https://n8n.io/workflows/3719
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  Who is it for?
  Anyone who wants to automatically aggregate their invoices or receipts. Main beneficiaries: small business owners and freelancers.

  How it works
  Creates a folder in Google Drive for uploading invoices and receipts. Responds (Webhook response) with URL to the created folder.
  Gets all emails with attachments from a Gmail mailbox.
  (Optional) Filters emails, e.g. exclude emails sent to specific address.
  Filters only PDF attachments.
  Classifies all PDF attachment contents with an AI model (is it a receipt or an invoice?).
  Uploads receipts and invoices to the created Google Drive folder and optionally sends an email with the attachments to, e.g., your accountant.

  Pre-conditions/Requirements
  Gmail and Google Drive accounts
  A Google Cloud OAuth 2.0 Client ID or a service account with Google Drive and Gmail APIs enabled
  OpenAI API account and API key

  Set up steps
  Provide credentials for the nodes: Gmail, Google Drive, OpenAI.
  Configure parameters in the "Configure" node. Most importantly:
      "sendInvoicesTo" for the email address where invoices/receipts should be sent.
  It uses a Webhook node trigger. It expects a body with a schema such as:
  {
    "name": "getInvoicesAndReceiptsFromEmails",
    "description": "Finds and uploads to Google Drive all receipts and invoices from emails within a specified date range.",
    "parameters": {
      "type": "object",
      "properties": {
        "startDate": {
          "type": "string",
          "format": "date-time",
          "description": "The start date of the range to search for emails. Must be in ISO 8601 format."
        },
        "endDate": {
          "type": "string",
          "format": "date-time",
          "description": "The end date of the range to search for emails. Must be in ISO 8601 format."
        },
        "sendEmail": {
          "type": "boolean",
          "description": "Indicates whether to send an email with all receipts and invoices after processing. Must be true or false."
        }
      },
      "required": [
        "startDate",
        "endDate"
      ]
    }
  }
  Example body:
  {
    "startDate": "2025-03-01T00:00:00Z",
    "endDate": "2025-04-01T00:00:00Z",
    "sendEmail": true
  }
  How to use with AI chat

  You can trigger the workflow with an AI chat that supports tool use, such as BrowseWiz. For setup instructions, read the blog post.

nodes_used:
  ["@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.noOp","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.readPDF","n8n-nodes-base.if","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6136 characters]

metadata_json:
  {"categories":["automation","integration","document processing","accounting"],"complexity":"medium","use_cases":["Automatically aggregate invoices and receipts from email","Classify documents as receipt vs invoice using AI","Archive invoices/receipts to Google Drive","Send compiled attachments to an accountant or bookkeeping email","Expense tracking and bookkeeping automation"],"estimated_setup_minutes":30,"required_services":["Gmail (Google Workspace or Gmail API)","Google Drive (Google Drive API)","Google Cloud OAuth 2.0 Client ID or Service Account with Drive & Gmail APIs enabled","OpenAI API (API key)","n8n or other webhook-capable host to receive the workflow trigger"],"key_features":["Creates Google Drive folder and returns URL via webhook response","Scans Gmail for emails with attachments within a date range","Optional email filters (exclude addresses)","Filters only PDF attachments","Uses OpenAI to classify PDFs as receipt or invoice (AI-powered document classification)"],"target_audience":["Small business owners","Freelancers","Accountants and bookkeepers who accept emailed documents for processing or archival"]}


name: Automated SEO Performance Collection from Google Search Console to NocoDB
author_name: Martech Mafia
author_username: martechmafia
categories: []
created_at: 2025-04-26T17:15:33.687Z
updated_at: 2025-04-26T17:15:33.687Z
url: https://n8n.io/workflows/3721
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  Problem

  Monitoring SEO performance from Google Search Console (GSC) manually is repetitive and prone to human error. For marketers or analysts managing multiple domains, checking reports manually and copying data into spreadsheets or databases is time-consuming. There is a strong need for an automated solution that collects, stores, and updates SEO metrics regularly for easier analysis and dashboarding.

  Solution

  This workflow automatically pulls performance metrics from Google Search Console — including queries, pages, CTR, impressions, positions, and devices — and stores them in a structured format inside a NocoDB table. It’s ideal for SEO specialists, marketing teams, or data analysts who need to automate SEO reporting and centralize data for analytics or dashboards (like Superset or Metabase).

  Setup Instructions

  Authorize your Google Search Console account  
     Connect via OAuth2 (requires GSC API access).

  Create a NocoDB table  
     Define fields to match GSC response:
     query (text)
     page (URL)
     device (text)
     clicks (number)
     impressions (number)
     ctr (percentage)
     position (number)

  Add credentials in n8n  
     Use credential nodes for both:
     Google OAuth2
     NocoDB API Token

  Customize schedule trigger  
     Set the frequency (e.g., weekly) and adjust the domain/date range as needed.

  Generalize domains  
     Replace specific domains like martechmafia.net with your-domain.com before submission.

  NocoDB Table Structure

  The NocoDB table must match the fields coming from GSC's Search Analytics API. Here's a sample schema:
  {
    "query": "string",
    "page": "string",
    "device": "string",
    "clicks": "number",
    "impressions": "number",
    "ctr": "number",
    "position": "number"
  }

nodes_used:
  ["n8n-nodes-base.nocoDb","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.code"]

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

metadata_json:
  {"categories":["automation","integration","data processing","analytics"],"complexity":"medium","use_cases":["Automated SEO reporting","Centralize Google Search Console metrics","Populate dashboards (Superset/Metabase)","Multi-domain SEO monitoring","Scheduled data collection for analysis"],"estimated_setup_minutes":30,"required_services":["Google Search Console (GSC) API / Google OAuth2","NocoDB (with API token)","n8n instance (workflow runner)"],"key_features":["Scheduled extraction of queries/pages/CTR/impressions/position/device from GSC","Writes structured records to a NocoDB table","OAuth2 integration for GSC and API token auth for NocoDB","Customizable domain and date range","Predefined NocoDB schema for seamless analytics ingestion"],"target_audience":["SEO specialists","Marketing teams","Data analysts / BI engineers"]}


name: Create or Find Stripe Customers and Automatically Generate Invoices
author_name: Audun
author_username: xqus
categories: []
created_at: 2025-04-26T19:19:08.972Z
updated_at: 2025-04-26T19:19:08.972Z
url: https://n8n.io/workflows/3723
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Save hours of manual billing work with this Stripe automation workflow!  
  Designed for entrepreneurs, SaaS founders, and online business owners, this template checks if a customer already exists in Stripe based on their email. If no customer is found, it automatically creates a new one, generates a draft invoice, adds a product line item using a Stripe Price ID, and finalizes the invoice — making it ready for payment.  
  This workflow helps ensure clean customer data and efficient billing without manual input.

  How it works

  Search Stripe for an existing customer based on the provided email address.
  If no customer is found, create a new one in Stripe automatically.
  Generate a draft invoice associated with the customer.
  Add a line item to the invoice using a Stripe Price ID.
  Finalize the invoice to make it ready to send or collect payment.

  Set up steps

  Stripe account setup:  
     Ensure you have a valid Stripe account.  
     Create a restricted Stripe API key with permissions to read and write Customers, Invoices, and Invoice Items.  

  Connect Stripe to n8n:  
     Set up an HTTP Basic Auth credential in n8n using your Stripe secret API key.  
     No username is needed; the API key goes into the password field.

  Customize dynamic data:  
     Replace the sample email (test@example.com) with your real dynamic customer email input.  
     Replace the example Price ID (price_fromStripeDashboard) with your actual product Price ID from the Stripe dashboard.

  Test your workflow:  
     Manually trigger the workflow inside n8n to ensure customers and invoices are being created correctly.
     Check your Stripe dashboard to confirm that new customers and invoices appear as expected.

  Deploy to production:  
     Integrate this workflow with a real trigger (e.g., webhook, form submission) to automate the process live.

  Troubleshooting

  Invalid API Key**:  
    Double-check that your Stripe API key is active and has the necessary permissions. Test it by making a simple API call manually if needed.

  Invoice Creation Fails**:  
    Make sure you are using a valid Price ID from Stripe. The price must be active and available for the correct product.

  Customer Not Found Error**:  
    If the search fails due to formatting issues, ensure emails are valid and the query syntax matches Stripe's customer search format.

  Authentication Errors**:  
    If authentication fails, ensure you have selected HTTP Basic Auth in the HTTP Request nodes and left the username field empty.

  Stripe prerequisites

  You must have at least one active Price object created in your Stripe dashboard.  
  Your Stripe account must be live or have access to test mode if you're working in development.  
  Ensure your account has API access enabled for Customers, Invoices, and Products.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WVz47TMBDGXyXyObNy/Ce2c0EICcSFAyA4rPYwtseLtdukNF7+VZV4DHg9ngS1sGzZJtDCOZMvv3wz882aLagg69Ys92PBPtDTyDqmWyucTZF4G2X0lqMgQmMSaZ+UTjwY762zkVBwb1rnlCKHwYQ2aLScbWrWD5FG1p2vWd5KtkmjjyaBbtCAsjaBSzEAj8F4553ySrOa9bgg1rEnVKoXZZWXVD26GcuwoBWrWfm43D7sbQ87dfA40tmbUpbP6e0NjYXVbDmMueShZ905qJbXDecXNVviChdUaDWybr35ofSKVuOuUJ2JTf0TUxLnnLcKkjQclBAOULUByDuJXqqQkO4wb9kq+pDHMj6YZczpHpo4Dk3soVnBG6WdAWm1A2VaAei8hIZTQy46pIh7aCvCQlX4Z/d4LU6zjienvW0lUJMMKCMFOHIRJMkgIiGZ1h/w5f7dkAOdjifsyb1FH2IwbQPBRAGKMIENPkJQiSwPQRmMd4CPc4/X+dN/IBp+OqLjwRnZgE2EoLg0gG1QwJUPWmBUhOEO8fUb6qtwncNV7i+rb5+/vKSxVO+H1VW6Ht5/+/x1lnmB/Q1ev1zly8vdbOyPpj1uNJtf0BqlMjZxQB4lKCcTOCU4NKINPkTSUu/5+oLKraVVxIKzjCPd3+f2ODJ5pn6xkVeOomvAR+lBGS3AOilACqO0CS2SEXtsJYerj9Wzocy3e9zV/CzZp2uU5TWoAzwWhr5QX1jH2LyJTkgvglZA5O02uTR4niKkIJSTLjVNSr+beLvaVY7He8jrk+wTmqNBqUFw40DpFMA3TkCMFnkjvPfO3FE9jLHKhRZVGf59a/TxW3NRb73tKWxf3Vl9L1W6NVtg3qqer3cH6W+Qu+qa5T7SB9bxzcXFpj6I0inVuTibFLzfvf8WPLhDU4qzM3MgWR9gHJ6R2R/7bbenOP542ydlp1o2pTwf2ZOyUyCTrZi98pOyf0/lue5Mx+LERzab78TCgHm5CQAA

metadata_json:
  {"categories":["automation","billing","integration","payments","finance"],"complexity":"medium","use_cases":["Automate customer creation in Stripe","Generate and finalize invoices automatically","Ensure deduplicated customer records by email","SaaS or subscription billing workflows","Turn form/webhook submissions into invoices"],"estimated_setup_minutes":15,"required_services":["Stripe (Customers, Invoices, Invoice Items, Products/Prices)","n8n"],"key_features":["Search for existing Stripe customer by email","Create new Stripe customer if none found","Create draft invoice linked to customer","Add invoice line item using a Stripe Price ID","Finalize invoice to make it payable/readied for sending"],"target_audience":["Entrepreneurs","SaaS founders","Online business owners/e-commerce operators\",\"finance or billing teams\",\"developers and automation engineers"]}


name: Smart Job Search: Resume Scoring & Tailoring with OpenAI, Apify, and Airtable
author_name: Ashish Kumar Swain
author_username: phoenix
categories: []
created_at: 2025-04-26T20:41:27.698Z
updated_at: 2025-04-26T20:41:27.698Z
url: https://n8n.io/workflows/3724
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?

  This workflow is designed for job seekers who want to automate their job application research and resume optimization. It's ideal for professionals who want to match their CVs to new job postings daily, improving the chance of landing interviews without manual work.

  Use case

  Problem**: Manually searching for jobs, matching resumes, and updating application records is time-consuming and inefficient.

  Use Case**: Automatically fetches new job listings based on user preferences, scores them against the user's existing CV, generates a revamped CV tailored for each job, and stores everything neatly into an Airtable database for easy tracking.

  What this workflow does? 

  Fetches user job preferences from Google Sheets daily.
  Searches for jobs matching those preferences using Apify’s scraping.
  Filters job posts that are fresh (posted within 24-48 hours).
  Scores each job against the user’s current CV using an OpenAI agent.
  Generates a revamped CV tailored to each job.
  Stores the job listing, compatibility score, match reason, and revamped CV into Airtable for future use.

  API Credentials Required


  Google Sheets API Credentials — for reading user-defined job preferences.
  Apify API Key — to scrape job postings (e.g., Indeed Scraper Actor).
  OpenAI API Key — for AI scoring and CV enhancement.
  Airtable API Key — for job listing and tracking.

  Setup 

  Google Sheets**: Store your job preferences (like titles, locations, etc.).



  Apify API**: Set up a scraper for LinkedIn, Indeed, or other job boards.
  OpenAI API**: Provide access to a GPT model (ideally GPT-4 Turbo) to handle CV scoring and revamping.
  Airtable**: Create two tables:

  	One for archived jobs (old jobs &gt;48 hours).

  	One for current processed jobs with AI scores and revamped CVs.
  		Columns for Airtable: 
  		 job_title,company,location,date_posted,job_type,description,link,compatibilityScore,matcReason,revampedCV,newCompatibilityScore,newMatchReason. 



  n8n**: Deploy the full workflow with nodes for triggers, loops, API calls, parsing, and storage.

  How to customize it for your needs

  Edit Job Preferences**: Add or update the fields in Google Sheets (Columns: job_title, job_location) to search.

  Fine-tune AI Prompts**: Adjust the scoring criteria (e.g., favor remote roles, leadership experience, certifications).

  Customize CV Style**: Configure the AI to generate shorter, more detailed, or industry-specific resumes.


  Change Storage Destination**: Replace Airtable with Notion, Google Sheets, a CRM system, or even send yourself Slack updates.

  Expand Job Sources**: Easily swap the job scraper to pull listings from your favorite niche job boards.

  Why Use This Template?

  Saves 10+ hours/week on manual job search.
  Instantly tailor CVs to each application.
  Centralizes all data across Google Sheets and Airtable.
  Flexible — customize AI prompts, scoring logic, or expand to multiple users!

  Need Assistance?

  For setup guidance, customization, or business inquiries,
  Email: phoenixaiagentsolutions@gmail.com

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.cron","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.airtable","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","integration","AI","data-processing","web-scraping"],"complexity":"complex","use_cases":["Automatic job discovery based on user preferences","Scoring job listings against a resume/CV","Generating tailored/rescored CVs per job posting","Centralized tracking of applications and scores in Airtable","Batch processing and daily job monitoring"],"estimated_setup_minutes":90,"required_services":["Google Sheets API","Apify (job board scrapers)","OpenAI API (GPT model)","Airtable API","n8n (workflow automation)"],"key_features":["Daily trigger to fetch preferences from Google Sheets","Scrapes job boards via Apify and filters recent listings","AI agent scores job/CV compatibility and explains match reasons","Generates a revamped, job-tailored CV per listing","Stores job details, scores, reasons, and revamped CVs in Airtable tables (archived/current)​ for tracking and updates"],"target_audience":["Job seekers wanting automated application workflows","Career coaches and resume writers automating personalization at scale","Small recruiters/HR teams seeking candidate-job matching workflows with AI assistance"]}


name: WordPress Content Automation Machine with HUMAN-IN-THE-LOOP & DEEP RESEARCH
author_name: Daniel Ng
author_username: danielng
categories: []
created_at: 2025-04-26T20:41:50.017Z
updated_at: 2025-04-26T20:41:50.017Z
url: https://n8n.io/workflows/3725
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-30 08:33:37
description:
  HUMAN-IN-THE-LOOP Content Automation Pro with Deep Research & Airtable for Power Users \- Collaborative AI for WordPress Blog Automation

  The BEST n8n Content Automation workflow in the market is getting even better, now enabling you to have full control over the entire process. It’s time to unlock the power of true collaborative creation with GenAI\!

  Want to leverage AI automation but don't want to give up full control over the whole content creation process? Get the best of both worlds \- get “Human-in-the-Loop” with this supreme n8n workflow template\!

  This template blends the power of AI with the crucial oversight of human expertise and intervention, all managed through a central, streamlined Airtable interface. Say goodbye to generic content and hello to high-quality, deeply researched articles published directly to your WordPress site with full control. 

  Check out my Youtube channel for a full walkthrough.

  What problem is this workflow solving? / Use cases

  Fully automated content generation tools often lack the nuance, accuracy, and strategic control necessary for truly impactful content. This workflow solves that critical gap by integrating powerful AI capabilities into a structured, human-supervised content creation process managed via a simple interface. It automates the most repetitive and time-consuming tasks – like research gathering, chapter ideations, domain copywriting – while strategically embedding essential human review points at critical junctures.

  Instead of simply providing a topic and receiving a finished article of uncertain quality, you actively guide the process step-by-step within an interface. You review, refine, and approve AI suggestions for chapters and content before finalizing and publishing. This approach makes it perfect for creating high-quality, deeply researched, and brand-aligned blog posts for WordPress more efficiently, without ever sacrificing essential editorial control.

  Who is this for?

  This workflow template is meticulously designed for individuals and teams deeply involved in content creation who seek a powerful blend of AI-driven efficiency and essential human-controlled quality assurance:

  Content Creators & Bloggers:** Who want to leverage AI for drafting and research but maintain full editorial control.  
  Marketing Teams:** Looking to scale content production efficiently while ensuring brand voice and quality consistency.  
  SEO Specialists:** Needing to produce well-researched, structured, and SEO-optimized content regularly.  
  Agencies:** Managing content creation for multiple clients with a structured, repeatable process.  
  Anyone who prefers a "human-in-the-loop" approach** over fully automated "black box" content generators.

  How this workflow works

  This template automates significant portions of the WordPress content creation process, utilizing Airtable as the central hub for management and user interaction, while leveraging AI for research and copywriting. The system is composed of four interconnected n8n flows, each handling a distinct stage of the content lifecycle. In addition, there is a sub-workflow dedicated to the research tool (Perplexity).

  Content Creation Process in Airtable

  The entire journey from idea to published post is managed within your Airtable base, offering transparency and control. Progress through each tab sequentially to complete the content creation process and produce a high-quality article that fulfills your requirements.

  Configure Settings (“Settings” Table): Define global parameters (website details, target audience, writing style, category IDs, about us, CTA etc.) in the “Settings” table. These serve as default inputs for the AI.  
  Create Topics (“Create Topics“ Table): Add a record to the “Create Topics” table for each new blog post idea. Mark the topic as ready by setting its 'Status' field to “To Do” and ticking the 'Execute Flow' checkbox to initiate the first flow.  
  Generate Chapters (“Generate Chapters“ Table): The first flow calls to the sub-workflow to do online research and generates potential chapter outlines based on your topic and settings, saving them to the “Generate Chapters” table.  
  Select Chapters to Write (“Select Chapters“ Table): Review the suggested chapters in the “Select Chapters“ Table. Select the chapters you want to proceed with by setting their 'Status' to “To Do” and ticking the 'Execute Flow' checkbox.   
  Generate Content for selected Chapters (“Generate Content“ Table): The second flow calls to the sub-workflow to research each selected chapter and generates draft content, saving it to the “Generate Content” table, where you have the opportunity to review and modify if necessary.  
  Select Chapter Content (“Select Content“ Table): Review and edit the AI-generated text directly in Airtable. Approve the content for each chapter. Once all necessary content is approved, trigger the third flow for the final assembly by setting the status to “To Do” and ticking the 'Execute Flow' checkbox.  
  Finalize Post (“Finalize Post“ Table): The third flow aggregates the approved content, generates the title, SEO metadata, tags, chapter images and featured image, placing all compiled information in the “Finalize Post” table for your final review. When the final article is ready to be published on your website, mark the status as "To Do" and check the "Ready to Publish" box to activate the fourth and final flow.  
  Publish & Backup Post (“Backup Post“ Table): the fourth flow publishes the post to the website and creates a backup record in the “Backup Post” table, archiving key details including the live URL of the published article.


  n8n Workflow Functions (JSON Files)

  The automation is handled by four separate n8n flows, each triggered by specific changes in Airtable:

  Flow 1 (Topic Initiation & Chapter Generation):  
     Trigger: Monitors the “Create Topics” table; activates when a record's 'Status' is "To Do" AND 'Execute Flow' checkbox is ticked.  
     Action: Fetches settings from Settings. Performs initial research (e.g., via Perplexity). Uses AI to generate chapter outlines. Saves suggestions as new records in the “Generate Chapters” table.  
  Flow 2 (Content Generation & Internal Linking):  
     Trigger: Monitors the “Select Chapters” table; activates when a record's 'Status' is "To Do" AND 'Execute Flow'  checkbox is ticked.  
     Action: Fetches chapter details and settings. Gathers internal links (e.g., by parsing sitemap). Performs online/ deep research per chapter. Uses AI to write draft content, incorporating research and links. Saves drafts into corresponding records in the “Generate Content” table.  
  Flow 3 (Post Assembly & Image Generation):  
     Trigger: Monitors the “Select Content” table; activates when all content for a topic is approved and final assembly is triggered when a record's 'Status' is "To Do" AND 'Execute Flow' checkbox is ticked.  
     Action: Fetches all content from the “Generate Content” table. Aggregates text. Uses AI for title, SEO metadata, tags, and image prompts. Generates chapter images and a featured cover image (e.g., via AI image model DALL-E). Converts content to HTML. Saves compiled data and image info into the “Finalize Post” table.  
  Flow 4 (WordPress Publishing & Backup):  
     Trigger: Monitors the “Finalize Post” table; activates when a record is marked Status' is "To Do" AND ‘Post to Website’ checkbox is ticked.  
     Action: Fetches finalized data. Uploads images to WordPress. Creates WordPress post (status set to “published” by default) with content, metadata, tags, and image. Creates a record in the “Backup Post” table, with a link to the post on the website.

  This modular approach ensures each stage is handled distinctly, orchestrated via updates on Airtable interface.

  Unique Features

  Human-in-the-Loop Design:** Guarantees quality and relevance through mandatory user review and approval stages within Airtable for chapters, content, and the final post.  
  Collaborative AI Partnership:** Leverages AI as a powerful assistant for research, structuring, and drafting, significantly boosting productivity while relying on human expertise for refinement and final judgment.  
  Airtable as Interface & Control Center:** Utilizes Airtable as an intuitive interface and central database to manage the entire content lifecycle, offering clear progress tracking and facilitating team collaboration.  
  Deep Research Integration:** Incorporates external research tools (like Perplexity) to ensure content is based on fresh, up-to-date information, crucial for accuracy and authority.  
  Modular n8n Structure:** Simplifies complexity by dividing the process into four manageable, interconnected flows plus one sub-flows, making the system easier to understand, troubleshoot, and customize.  
  Rate-limit Aware:** Includes built-in Wait nodes and logic designed to mitigate API rate limit issues from AI and research tools, enhancing workflow reliability during intensive use.  
  Multiple-Image Generation:** Generates and adds images for each chapter, as well as a featured image for the article.  
  Direct WordPress Integration:** Streamlines publication by automatically sending finalized, formatted content, metadata, tags, and the featured image directly to your WordPress site.  
  Internal Linking:** Embeds internal website links strategically within each chapter and throughout the article, boosting SEO and enhancing user navigation.  
  Integrated Backup:** Provides data security by automatically archiving key post details in Airtable and optionally saving text and image files to Google Drive.

  Future Features

  “Deeper Research”:** Plans for multi-level research capabilities to enable the creation of even more comprehensive reports or e-book length content.  
  Content Sample:** Provide content samples for the AI to learn from and mimic in terms of writing style and guidelines.  
  Category-Specific Styling:** Aiming to allow users to define styles per category for the AI to learn and imitate, ensuring greater brand consistency.  
  Advanced Link Insertion:** Developing more sophisticated strategies for inserting relevant internal and external links, including automatic source citation and dynamic internal link density adjustments.

  Requirements

  Airtable Account: create a Airtable account for free.  
  WordPress Website: Requires an Application Password with permissions to create posts and upload media. Must have the REST API enabled.  
  OpenAI API Key: Or a key from another compatible AI provider for text and image generation (DALL-E is the default for images).  
  Perplexity API Key: Or an API key for your chosen online research tool.  
  Google Drive: for the optional backup feature to Google Drive.

  Setup Step-by-Step

  Import n8n Workflows: Download the .json workflow files and import them into your n8n instance. There is one main/ “month” workflow and one sub/ “child” workflow. Name the workflows to your needs.  
  Get Airtable Base: Duplicate the companion Airtable Base template.   
  Configure Credentials: Add new credentials in n8n for Airtable, WordPress (use Application Password), OpenAI API, PerplexityAI API, and Google (for Drive backup).  
  Connect Workflow Nodes: Open each workflow in n8n and assign the correct credential to every node that requires authentication (Airtable, WordPress, AI, HTTP Request, Google nodes).  
  Link the main workflow to the sub-workflow: Access the Research Tool nodes and establish a connection between the main workflow to sub-workflow.  
  Configure Airtable Nodes: Update all Airtable nodes across all workflows. Verify that all 'Table' and 'Field' names in the nodes exactly match your duplicated base.  
  Populate Airtable Settings: Fill in your specific details in the Settings table of your Airtable base (Website URL, Audience, Style, Category IDs, CTA, etc.).  
  Test Connections: Run manual executions on key nodes within each flow to ensure connections and basic configurations are correct before activating.  
  Activate Workflow: Toggle the "Active" switch ON for the main/ “mother” workflow in your n8n list. No need to activate the sub/ “child” workflow.  
  Start Creating: Go to the Create Topics table in Airtable, add a new topic, go through the process and get amazed by AI magic\!

  Airtable Database Explanation

  Airtable is the central hub, acting as the database, user interface, and trigger mechanism for this workflow.



  Structure:** The base uses linked tables to manage the process:  
    Settings: Global configurations.  
    Create Topics: Initiates new content pieces.  
    Generate Chapters: Stores AI-generated chapter outlines for review.  
    Select Chapters: Facilitates user selection of chapters to write.  
    Generate Content: Stores AI-generated draft content for selected chapters.  
    Select Content: Manages user approval of drafted content before final assembly.  
    Finalize Post: Holds the compiled post (text, metadata, image info) for final review and publish trigger.  
    Backup Post: Archives data (including live URL) of successfully published posts.  
  Workflow Interaction:**  
    User updates trigger fields in Airtable (e.g., sets Status='To Do' & Execute Flow=true).  
    n8n Airtable Trigger nodes detect these specific changes.  
    The corresponding n8n flow runs, fetching data from Airtable.  
    AI and other tools process data and generate outputs.  
    Results are written back to the appropriate Airtable tables/fields.  
    User reviews results in Airtable and triggers the next stage via status AND checkbox updates.  
  Setup:* Using the *exact** duplicated Airtable base template is mandatory, as n8n workflows expect specific table and field names.

  Tips for Pros

  AI Prompts:** Modify prompts in the AI nodes to refine tone, style, format, or incorporate specific instructions.  
  AI Models:** the workflow is optimized for OpenAI's GPT-4o model due to its consistent performance. While you can replace the AI models in the nodes with alternatives (if you have the credentials for them), keep in mind that the workflow may not function.   
  AI Research Model:** PerplexityAI is the tool of choice for research. The "sonar" model is the default for research in this workflow due to its speed and cost-effectiveness. However, you are welcome to explore Perplexity's other models, such as the "sonar-deep-research" model, which is specifically designed for in-depth research.  
  AI Image Model:** The default AI model for image generation is OpenAI’s Dall-E. However, the outputs of this model are not impressive. While OpenAI's 4o multimodal is expected to be available via API soon, better/ superior image quality can be achieved in the meantime by using alternative AI image models (such as FLUX.1).  
  Airtable Base:** Add or modify fields/tables to match your specific tracking needs, but remember to update corresponding n8n nodes accordingly.  
  3rd-party Integrations:** Replace research tools, image generators, or modify the final step to publish to a different CMS or add post-publication steps like social sharing.  
  Error Handling:** For production reliability, incorporate an “Error Handling” workflow in n8n for this automation to catch failures and send notifications

  Important Considerations

  API Rate Limits:* AI and research tools have usage limits. High volume processing might cause errors. The included *Wait** nodes help, but may need adjustment based on your API plans.    
  Testing Costs:** API calls to AI models aren't free. To ensure the workflow runs correctly, start testing with OpenAI's GPT-4o. Once you've confirmed functionality, explore using other AI models which may be cheaper to keep costs down. Be aware that the workflow may not be as reliable with models other than GPT-4o. Keep an eye on your API provider's billing dashboard to monitor usage and costs.
  Sequential Processing:* The workflow processes one topic fully at a time to ensure stability and manage API limits. For fully automated, parallel processing from a list, consider the alternative template: [“\[n8n\] Content Automation Pro – with DEEP RESEARCH – WordPress Blog Automation”*](https://n8n.io/workflows/3041-wordpress-auto-blogging-pro-with-deep-research-content-automation-machine/). 

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.limit","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitOut","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.airtableTrigger","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.wait","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.airtable","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.airtable","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.splitOut","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.limit","n8n-nodes-base.airtable","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.airtableTrigger","n8n-nodes-base.limit","n8n-nodes-base.httpRequest","n8n-nodes-base.xml","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.airtable","n8n-nodes-base.splitInBatches","n8n-nodes-base.limit","n8n-nodes-base.code","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.wait","n8n-nodes-base.merge","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.airtableTrigger","n8n-nodes-base.airtable","n8n-nodes-base.googleDrive","n8n-nodes-base.editImage","n8n-nodes-base.wait","n8n-nodes-base.airtable","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.editImage","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.markdown","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.limit","n8n-nodes-base.airtable","n8n-nodes-base.limit","n8n-nodes-base.splitInBatches","n8n-nodes-base.airtable","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wordpress","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.limit","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.airtable","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.set","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.stickyNote","n8n-nodes-base.airtableTrigger"]

workflow_json_compressed:
  [encoded data, 11232 characters]

metadata_json:
  {"categories":["automation","content_management","AI_integration","collaboration","publishing"],"complexity":"complex","use_cases":["Automated blog article creation with human review","Collaborative editorial workflows (editor + AI + researcher)","Deep research aggregation and synthesis for content","Storing and managing content drafts in Airtable","Publishing finalized posts to WordPress"],"estimated_setup_minutes":180,"required_services":["WordPress (REST API) for publishing","Airtable for content storage/workflow management","AI/ML provider(s) (e.g., OpenAI, Anthropic, or other GenAI APIs)","Web search/research API(s) (e.g., SerpAPI, Bing, Google custom search) for deep research","n8n host or instance (webhooks/HTTP endpoints accessible)"],"key_features":["Human-in-the-loop approval and editing steps","Multi-stage AI content generation with structured output parsing","Deep research aggregation and citation handling","Airtable integration for collaborative draft management","Automated publishing to WordPress after approval/QA checks"],"target_audience":["Content teams and editors","Digital marketers and growth teams","Agencies producing high-volume blog content with quality control requirements"]}


name: The Ultimate Instagram Automation for High-Quality Images & Text with GPT-Image
author_name: Tianyi
author_username: muzi
categories: []
created_at: 2025-04-26T21:00:10.432Z
updated_at: 2025-04-26T21:00:10.432Z
url: https://n8n.io/workflows/3741
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n workflow revolutionizes Instagram content creation by automating everything from idea input to publishing high-quality, AI-generated posts with realistic images or infographics. Whether you're an entrepreneur, a content creator, or a marketer, this workflow lets you consistently deliver professional-grade posts without manual effort.

  It leverages power of OpenAI Image Generator to generate engaging captions, create stunning visuals, and publish directly to Instagram — fully automated!

  It allows you to generate and post highly relevant images with statistics, graphs, and charts, hyper-realistic images, or any custom image style you want.

  What is included?

  ✅ 1 n8n Workflow (.json) file

  ✅ 4 Video Guidance Tutorials:

  Setup Tutorial**: How to set up this workflow from scratch.
  Instagram Connection Tutorial**: How to connect n8n to Instagram (and all other Facebook products).
  Google Cloud Storage Connection Tutorial**: How to upload and host images on Google Cloud.
  Google Product Integration Tutorial**: How to connect n8n with all Google products.

  Who is this for?

  This template is ideal for:

  Content creators who want to automate Instagram posting with AI assistance.
  Entrepreneurs and brands aiming to build a consistent social media presence.
  Social media managers seeking to save time while maintaining high-quality output.
  Anyone looking to auto-generate professional posts without needing graphic design skills.

  What problem is this workflow solving?

  Building a consistent, high-quality Instagram feed is time-consuming.

  This workflow solves key challenges by:

  Automating research, writing, image generation, hosting, and publishing.
  Saving hours of manual content creation work each week.
  Allowing easy scalability of your Instagram marketing efforts.
  Giving the option to create data-driven infographics or hyper-realistic images.
  Ensuring posts stay engaging, informative, and visually appealing — without creative burnout.

  What this workflow does

  This workflow automates the following steps:

  Idea Input**: Accepts a post idea through a form or scheduled posting based on a default niche.
  Research & Caption Generation**: Uses Web Search and GPT to research the topic and generate an engaging Instagram caption with trending hashtags.
  Image Generation**:
      Option 1: Generate an infographic with statistics, graphs, and charts.
      Option 2: Create a hyperrealistic, AI-generated photo based on real-world elements (fully customizable to any image style).
  Publishing: Posts the image and caption automatically to **Instagram via the Facebook Graph API.

  Setup

  Trigger Options:
      By Schedule: Configure regular post publishing.
      By Form: Submit a post idea anytime manually.
  Choose Image Style:
      Enable graphs/statistics for data-driven visuals.
      Choose hyperrealistic images for lifestyle, travel, fashion, and more.
  Customize Language and Niche:
      Set your default language (English by default) and niche topic.
  API Keys:
      Insert your OpenAI API Key and Tavily API Key inside the workflow for activation.
  Connect Your Accounts:
      OpenAI for text and image generation.
      Google Cloud Storage for image hosting (please refer to the video guidance).
      Facebook Graph API for publishing to Instagram (please refer to the video guidance)..

  How to Customize This Workflow

  Post Style**: Adjust the AI prompt settings to tweak the tone and style of your Instagram captions.
  Image Look**: Customize the image generation prompt to change image style, themes, and resolutions.
  Frequency**: Modify schedule triggers to post as frequently (or infrequently) as you like.

  Category

  Marketing | Social Media Automation | Content Creation

nodes_used:
  ["n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.wait","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","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.scheduleTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.wait","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.stickyNote","n8n-nodes-base.googleCloudStorage","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.convertToFile","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.googleCloudStorage","n8n-nodes-base.set","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":["Marketing","Social Media Automation","Content Creation","AI/ML","Integration"],"complexity":"complex","use_cases":["Automate Instagram post creation and publishing","Generate AI-driven captions and trending hashtags","Create data-driven infographics (charts, stats) for social posts","Produce hyper‑realistic or stylized images for social content","Scale consistent posting schedules for brands and creators"],"estimated_setup_minutes":60,"required_services":["OpenAI (text + image generation)","Tavily API (as referenced)","Google Cloud Storage (image hosting)","Facebook Graph API / Instagram (publishing)","Web Search API (or built-in web research source)","n8n instance"],"key_features":["End‑to‑end automation from idea -> research -> caption -> image -> publish","GPT-powered caption and hashtag generation","OpenAI image generation with options for infographics or hyper‑realistic images","Image hosting to Google Cloud and automatic publishing to Instagram via Graph API","Multiple trigger options: scheduled or form-based submissions for ad hoc posts','Customizable prompts for tone, language, niche and image style"],"target_audience":["Content creators","Social media managers","Marketers and growth teams','Entrepreneurs and small brands"]}


name: Real-time Crypto News & Sentiment Analysis via Telegram with GPT-4o
author_name: Don Jayamaha Jr
author_username: don-the-gem-dealer
categories: []
created_at: 2025-04-27T02:48:10.901Z
updated_at: 2025-04-27T02:48:10.901Z
url: https://n8n.io/workflows/3751
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Stay on top of the latest crypto news and market sentiment instantly, all inside Telegram!  
  This workflow aggregates articles from the top crypto news sources, filters for your topic of interest, and summarizes key news and market sentiment using GPT-4o AI. Ideal for crypto traders, investors, analysts, and market watchers needing fast, intelligent news briefings.

  &gt; 💬 Just type a coin name (e.g., "Bitcoin", "Solana", "DeFi") into your Telegram AI Agent—and get a smart news digest.

  How It Works

  Telegram Bot Trigger  
     User sends a keyword (e.g., "Ethereum") of questions to the Telegram AI Agent.

  Keyword Extraction (AI-Powered)  
     An AI agent identifies the main topic for better targeting.

  News Aggregation  
     Pulls articles from 9 major crypto news RSS feeds:  
     
       Cointelegraph  
       Bitcoin Magazine  
       CoinDesk  
       Bitcoinist  
       NewsBTC  
       CryptoPotato  
       99Bitcoins  
       CryptoBriefing  
       Crypto.news  

  Filtering  
     Finds and merges articles relevant to the user's keyword.

  AI Summarization  
     GPT-4o generates a 3-part summary:
       News Summary  
       Market Sentiment Analysis  
       List of Article Links

  Telegram Response  
     Sends a structured, easy-to-read digest back to the user.

  🔍 What You Can Do with This Workflow

  🔹 Summarize breaking news for any crypto project or keyword  
  🔹 Monitor real-time market sentiment on Bitcoin, DeFi, NFTs, and more  
  🔹 Stay ahead of FUD, bullish trends, and major news events  
  🔹 Quickly brief yourself or your team via Telegram  
  🔹 Use it as a foundation for more advanced crypto alert bots

  ✅ Example User Inputs

  ✅ "Bitcoin" → Latest Bitcoin news and sentiment summary  
  ✅ "Solana" → Updates on Solana projects, price movements, and community trends  
  ✅ "NFT" → Aggregated news about NFT markets and launches  
  ✅ "Layer 2" → Insights on Optimism, Arbitrum, and other L2s  

  🛠️ Setup Instructions

  Create a Telegram Bot  
     Use @BotFather and obtain the Bot Token.

  Configure Telegram Credentials in n8n  
     Add your bot token under Telegram API Credentials.

  Configure OpenAI API  
     Add your OpenAI credentials for GPT-4o access.

  Update Telegram Send Node  
     In the Telegram Send node, replace the placeholder chatId with your real Telegram user or group chat ID.

  Deploy and Test  
     Start chatting with your bot: e.g., "Ethereum" or "DeFi".

  📌 Workflow Highlights

  9 major crypto news sources combined**
  Smart keyword matching** with AI query parsing
  Summarized insights** in human-readable format
  Reference links** included for deeper reading
  Instant delivery** via Telegram

  🚀 Get ahead of the crypto market—automate your news and sentiment monitoring with AI inside Telegram!

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.telegram","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.stickyNote"]

workflow_json_compressed:
  [encoded data, 5328 characters]

metadata_json:
  {"categories":["automation","integration","data processing","monitoring"],"complexity":"complex","use_cases":["Real-time crypto news aggregation","Automated sentiment analysis and summaries","Telegram-based news alerts and briefings","Monitoring specific coins, sectors (NFTs, DeFi, L2)","Team briefings and rapid market research"],"estimated_setup_minutes":30,"required_services":["Telegram Bot API (Bot token)","OpenAI API (GPT-4o)","Public RSS news sources (Cointelegraph, CoinDesk, Bitcoin Magazine, etc.)","n8n instance or hosted workflow runtime","Internet access to fetch RSS feeds"],"key_features":["Aggregates articles from 9 major crypto RSS feeds","AI-powered keyword extraction for targeted queries","GPT-4o summarization producing news summary, sentiment analysis, and article links","Filters and merges relevant articles by keyword","Delivers structured digests via Telegram messages"],"target_audience":["Crypto traders and investors","Market analysts and researchers","Community managers and moderators (Telegram) 
  developers building chatbots and alerting workflows"]}


name: AI-Personalized Multi-Product Email Outreach with SMTP Rotation (GPT-4o/o3-mini)
author_name: Badr
author_username: b4dr
categories: []
created_at: 2025-04-27T13:18:00.381Z
updated_at: 2025-04-27T13:18:00.381Z
url: https://n8n.io/workflows/3758
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Multi Product AI Email Automation with SMTP Rotation & No-Code Workflow(OpenAI GPT-4o or o3-mini)

  🚀 Why This Workflow Matters
  True Multi-Offer Campaigns**  
    Promote any mix of products, services or solutions in one run; no separate workflows needed.
  SMTP Load Balancing**  
    A Switch node rotates sends across five Gmail/SMTP accounts to spread volume, avoid rate limits and boost deliverability.
  Model Flexibility**  
    Supports GPT-4o, GPT-3 or OpenAI o3-mini for query generation and email personalization.
  Personalized Outreach**  
    The AI reads each prospect’s website, then crafts concise (&lt;200 words) HTML emails tailored to their needs, embedding the right offer and link.
  SEO & Conversion Focus**  
    Every message uses SEO-smart phrasing, clear hooks and a direct call to action to your specific page.

  🛠️ How It Works
  Define All Offers  
     In the pinData node, list each product/service with its name, description and URL.  
  Smart Query Generation  
     The AI builds 100 targeted Google Maps searches per offer to uncover ideal leads.  
  Data Extraction  
     Scrape website content, dedupe URLs and emails, then compile verified email lists.  
  Dynamic Email Creation  
     For each lead, the workflow picks an offer, analyzes their site and generates a personalized HTML email with the correct link.  
  SMTP Rotation & Throttling  
     A Switch node randomly assigns one of five Gmail/SMTP accounts, then applies a random delay to mimic human sending patterns and manage quotas.

  💡 Key Benefits
  Scale Effortlessly**: Run thousands of personalized emails daily without manual effort.  
  Protect Sender Reputation**: Distribute sends across multiple accounts and built-in delays.  
  Drive Targeted Traffic**: SEO-optimized outreach that resonates with prospects and points them to the right solution.

  📈 Ideal Use Cases
  Launching multiple products or service lines  
  Seasonal or promotional campaigns  
  Account-Based Marketing with varied solutions  
  Agencies running outreach for diverse clients

  ⚙️ Quick Start
  Import the JSON into n8n.  
  Connect your GPT-4o or o3-mini credentials and five Gmail/SMTP accounts.  
  Populate pinData with all your offers.  
  Run the workflow—let automation build your pipeline.

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.removeDuplicates","n8n-nodes-base.removeDuplicates","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","n8n-nodes-base.httpRequest","n8n-nodes-base.filter","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.noOp","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.function","n8n-nodes-base.switch","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.splitInBatches"]

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

metadata_json:
  {"categories":["email automation","marketing","lead generation","AI personalization","integration"],"complexity":"complex","use_cases":["Multi-offer email campaigns","Account-based marketing (ABM) for varied solutions","Agency outreach for multiple clients/products","Seasonal or promotional product pushes","Large-scale, personalized lead generation"],"estimated_setup_minutes":45,"required_services":["OpenAI API (GPT-4o or o3-mini)","Five Gmail/SMTP accounts (or equivalent SMTP providers)","Google Maps / local search access (or ability to perform Google Maps queries)","Target websites to scrape (HTTP access)","n8n instance (self-hosted or cloud)","Optional: email verification service (for list validation)"],"key_features":["True multi-offer campaign support from a single workflow","SMTP rotation/load balancing across five accounts to avoid rate limits","AI-driven personalized HTML emails (<200 words) using website analysis","Automated generation of targeted Google Maps searches per offer","Scraping, deduplication and compilation of verified email lists"],"target_audience":["Growth marketers","Digital agencies","Sales/outbound teams doing ABM or cold outreach"]}


name: Automate AI Phone Booking & CRM Updates with GPT-4, VAPI.ai, and GHL
author_name: Sam Yassine
author_username: samyassine
categories: []
created_at: 2025-04-27T14:26:55.657Z
updated_at: 2025-04-27T14:26:55.657Z
url: https://n8n.io/workflows/3759
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Automate AI-driven appointment booking with phone call confirmations, real-time lead validation, CRM updates, and email notifications—powered by n8n, OpenAI, VAPI.ai, and GoHighLevel.

  Tools & Services Used
  GoHighLevel (CRM & appointment management)
  VAPI.ai (AI phone calls)
  OpenAI (GPT-4 for lead validation and post-call analysis)

  Email Service (transactional email notifications)

  n8n (Self-hosted required for Community Nodes)

  Workflow Overview
  This automation performs the following steps:

  Trigger: A new lead arrives via the GHL Webhook.

  Validation: OpenAI (GPT-4) checks lead quality and relevance.

  AI Phone Call: VAPI.ai initiates an automated call to confirm appointment details.

  Post-Call Analysis: OpenAI interprets the call result (booking_made=YES/NO).

  Conditional Actions:

  If YES: Updates GoHighLevel CRM and sends confirmation emails to the client and owner.

  If NO: Alerts the owner via email about the failed booking.

  Prerequisites
  Active accounts and API keys for:

  GoHighLevel (webhook setup)
  VAPI.ai (phone call API)
  OpenAI (GPT-4 access)
  Email service (e.g., SMTP, SendGrid, or Gmail)

  How to Use This Template
  Step 1: Import the Template

  Import the JSON into your self-hosted n8n instance (requires Community Nodes like @n8n/n8n-nodes-langchain).

  Step 2: Configure Credentials

  GHL Webhook: Replace YOUR_WEBHOOK_ID with your GoHighLevel webhook ID.

  OpenAI Nodes: Add your OpenAI API key (replace placeholder BxLbA94QZt0ifZsC).

  VAPI Call Node: Ensure the VAPI.ai endpoint (https://api.vapi.ai/call/phone) has valid API credentials.

  Email Nodes: Configure SMTP or API credentials for your email service.

  Step 3: Enable Disabled Nodes

  Activate the Post-call Analysis node if needed (disabled by default).

  Finding Your GHL Webhook ID
  In GoHighLevel, navigate to Automations → Webhooks.

  Create a new webhook and copy its unique ID into the GHL Webhook node.

  Initial Test Run
  Simulate a Lead: Manually trigger the GHL webhook with test lead data.

  Debugging:

  Verify OpenAI validates the lead.

  Check if VAPI.ai initiates a call (use a test phone number).

  Confirm CRM updates and emails are sent conditionally.

  Production Prep:

  Enable error-handling loops for failed calls.

  Adjust GPT-4 prompts for stricter validation.

  Use Cases
  Medical Clinics: Reduce no-shows with automated appointment confirmations.

  Salons/Spas: Streamline booking updates and client reminders.

  Consultants: Sync client meetings to CRM in real time.

  Disclaimer
  Requires self-hosted n8n (Community Nodes are unsupported on n8n Cloud).

  Test phone call and email nodes extensively before scaling.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.emailSend","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.emailSend","n8n-nodes-base.if","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","integration","telephony","CRM","ai-driven"],"complexity":"complex","use_cases":["Automated appointment booking and confirmations","AI-powered lead qualification","Real-time CRM updates after calls","Automated post-call notifications to clients and owners"],"estimated_setup_minutes":60,"required_services":["GoHighLevel (GHL) - webhook and CRM","VAPI.ai (telephony API)","OpenAI GPT-4 (lead validation & post-call analysis)","Email service (SMTP, SendGrid, Gmail, etc.)","n8n self-hosted with Community Nodes support"],"key_features":["GHL webhook trigger for new leads","GPT-4 lead validation prior to calling","VAPI.ai automated phone calls to confirm appointments","Post-call GPT-4 analysis (booking_made = YES/NO)","Conditional CRM updates and transactional emails based on call outcome"],"target_audience":["Small businesses with appointment workflows (clinics, salons, consultants)","Marketing and operations teams managing leads and bookings","Developers/automation engineers deploying self-hosted n8n integrations"]}


name: Email Assistant: Convert Natural Language to SQL Queries with Phi4-mini and PostgreSQL
author_name: Alfonso Corretti
author_username: acorretti
categories: []
created_at: 2025-04-27T14:46:07.274Z
updated_at: 2025-04-27T14:46:07.274Z
url: https://n8n.io/workflows/3761
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?

  🧑🏻🫱🏻‍🫲🏻🤖 Humans and Robots alike.

  This workflow can be used as a Chat Trigger, as well as a Workflow Trigger.

  It will take a natural language request, and then generate a SQL query. The resulting query parameter will contain the query, and a sqloutput parameter will contain the results of executing such query.

  What's the use case?

  This template is most useful paired with other workflows that extract e-mail information and store it in a structured Postgres table, and use LLMs to understand inquiries about information contained in an e-mail inbox and formulate questions that needs answering.

  Plus, the prompt can be easily adapted to formulate SQL queries over any kind of structured database.

  Privacy and Economics

  As LLM provider I'm using Ollama locally, as I consider my e-mail extremely sensitive information. As model, phi4-mini does an excellent job balancing quality and efficiency.

  Setup

  Upon running for the first time, this workflow will automatically trigger a sub-section to read all tables and extract their schema into a local file.

  Then, either by chatting with the workflow in n8n's interface or by using it as a sub-workflow, you will get a query and a sqloutput response.

  Customizations

  If you want to work with just one particular table yet keep edits at bay, append a condition to the List all tables in a database step, like so:

  WHERE table_schema='public' AND table_name='my_emails_table_name'

  To repurpose this workflow to work with any other data corpus in a structured database, inspect the AI Agent user and system prompts and edit them accordingly.

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.convertToFile","n8n-nodes-base.readWriteFile","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.readWriteFile","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.postgres","n8n-nodes-base.postgres","@n8n/n8n-nodes-langchain.lmChatOllama","n8n-nodes-base.postgres","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6888 characters]

metadata_json:
  {"categories":["automation","integration","data processing","AI/ML","database"],"complexity":"medium","use_cases":["Convert natural language requests into SQL queries","Query email data stored in PostgreSQL","Interactive chat-triggered database querying","Embed as sub-workflow for other automations","Rapid prototyping of SQL-driven reports from unstructured input"],"estimated_setup_minutes":30,"required_services":["PostgreSQL","Ollama (local phi4-mini model)","n8n instance","Local filesystem for schema cache (read/write)"],"key_features":["Natural language to SQL translation via LLM","Executes generated SQL and returns query results (sqloutput)","Automatically reads and caches database schema on first run","Can run as Chat Trigger or Workflow Trigger","Prompt templates easily customizable to target specific tables or datasets','Privacy-focused by supporting local LLM usage"],"target_audience":["Developers","Data analysts","Automation engineers\",\"IT/ops administrators\",\"Privacy-conscious users"]}


name: Gmail to Vector Embeddings with PGVector and Ollama
author_name: Alfonso Corretti
author_username: acorretti
categories: []
created_at: 2025-04-27T15:23:36.325Z
updated_at: 2025-04-27T15:23:36.325Z
url: https://n8n.io/workflows/3762
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Gmail to Vector Embeddings with PGVector and Ollama

  Who is this for?

  Everyone! Did you dream of asking an AI "what hotel did I stay in for holidays last summer?" or "what were my marks last semester like?".

  Dream no more, as vector similarity searches and this workflow are the foundations to make it possible (as long as the information appears in your e-mails 😅).

  100% local

  This workflow is designed to use locally-hosted open source. Ollama as LLM provider, nomic-embed-text as the embeddings model, and pgvector as the vector database engine, on top of Postgres.

  But.. how?!

  Firstly, specify the date you created your Gmail account on, then manually run the workflow in order to bulk read all your e-mail in monthly batches. Your database is now populated!

  Now it's the task for other workflows to query the vector database.

  Activate the workflow so that new e-mail is continuously added by the Gmail Trigger upon receiving it.

  Structured AND Vectorized

  This workflow stores your e-mail activity in two ways:
  In a structured table
  In a vector embeddings table

  And the information in both of them can be correlated by Gmail's messages id, which is stored in the vectors table as metadata property emails_metadata.id.

  That way consumers can benefit from both worlds! ✨ Vector similarity searches enable semantic searches, while structured queries can retrieve more factual data like the message id, its date or who it came from.

  Other useful templates

  My template Chat with Your Email History using Telegram, Mistral and Pgvector for RAG is a ready-made solution to consume this workflow.

  You may also pair this workflow with my other template to Email Assistant: Convert Natural Language to SQL Queries with Phi4-mini and PostgreSQL and you'll enable RAG workflows that use both structured and vectorized databases.

  Customizations

  I suppose the e-mail provider could be changed, but then you'd have to identify an alternative id field. Message-ID would be a more standard option.

  There are a few opinionated choices as to what metadata to store, but those shouldn't need adjustments.

nodes_used:
  ["@n8n/n8n-nodes-langchain.embeddingsOllama","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.gmailTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitOut","n8n-nodes-base.if","n8n-nodes-base.manualTrigger","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.postgres","@n8n/n8n-nodes-langchain.vectorStorePGVector","n8n-nodes-base.postgres","n8n-nodes-base.code","n8n-nodes-base.gmail"]

workflow_json_compressed:
  [encoded data, 5148 characters]

metadata_json:
  {"categories":["integration","data processing","search","vector-databases","automation"],"complexity":"medium","use_cases":["Semantic search over personal email","Build RAG/chatbot over email history","Email archival and retrieval by meaning (not just keywords)","Populate vectorized knowledge base from Gmail","Combine structured queries with vector similarity for hybrid search"],"estimated_setup_minutes":90,"required_services":["Gmail (API/IMAP access)","Postgres with pgvector extension","Ollama (local LLM runtime)","nomic-embed-text embeddings model (local)","n8n instance"],"key_features":["100% local open-source stack","Bulk import of Gmail in monthly batches","Continuous ingestion via Gmail Trigger for new messages","Stores both structured email table and separate vector embeddings table","Embeddings rows include email metadata (message id) to correlate structured and vector data\",\"Uses text splitting, batching and Ollama-powered embeddings for large messages"],"target_audience":["Privacy-conscious users","Developers","Data engineers/ETL builders working with email data stores for ML/RAG workflows\",\"Knowledge workers and researchers who want semantic access to their email history"]}


name: Chat with Your Email History using Telegram, Mistral and Pgvector for RAG
author_name: Alfonso Corretti
author_username: acorretti
categories: []
created_at: 2025-04-27T15:45:32.302Z
updated_at: 2025-04-27T15:45:32.302Z
url: https://n8n.io/workflows/3763
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?

  Everyone! Did you dream of asking an AI "what hotel did I stay in for holidays last summer?" or "what were my marks last semester like?".

  Dream no more, as vector similarity searches and this workflow are the foundations to make it possible (as long as the information appears in your e-mails 😅).

  100% Local and Open Source!

  This workflow is designed to use locally-hosted open source. Ollama as LLM provider, nomic-embed-text as the embeddings model, and pgvector as the vector database engine, on top of Postgres.

  Structured AND Vectorized

  This workflow combines structured and semantic search on your e-mail.

  No need for enterprise setups!
  Leverage the convenience of n8n and open source to get a bleeding edge solution.

  Setup

  You will need a PGVector database with embeddings for all your email. Use my other template Gmail to Vector Embeddings with PGVector and Ollama to set it up in a breeze!
  Make a copy of my Email Assistant: Convert Natural Language to SQL Queries with Phi4-mini and PostgreSQL, you will need it for structured searches.
  Install this template and modify the Call the SQL composer Workflow step, to point at your copy of the SQL workflow.
  Adjust the rest of necessary steps: Telegram Trigger, AI Chat model, AI Embeddings...

  Activate the workflow and chat around!

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.vectorStorePGVector","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.embeddingsOllama","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 6544 characters]

metadata_json:
  {"categories":["automation","integration","data processing","retrieval-augmented-generation","ai-chat"],"complexity":"complex","use_cases":["Chatting with your email history (personal QA)","Semantic search across emails using vector similarity","Combining structured SQL queries with semantic RAG","Privacy-preserving local LLM email assistant","Quick retrieval of past email details (e.g., reservations, grades)"],"estimated_setup_minutes":60,"required_services":["n8n (workflow engine)","Postgres with pgvector extension","Ollama (local LLM provider)","nomic-embed-text (embeddings model)","Telegram (bot for chat interface)","Gmail or other email source (to create embeddings)","Copy of the SQL composer workflow (Email Assistant)"],"key_features":["Vector similarity search over email embeddings (pgvector)","Combines structured SQL search and semantic retrieval (RAG)","Fully local / open-source stack (Ollama + nomic embeddings + pgvector)","Telegram-based conversational interface","Modular n8n workflow that reuses an SQL composer workflow"],"target_audience":["Privacy-conscious users wanting local AI","Developers and power-users comfortable with n8n and Postgres","Researchers and students wanting searchable email history"]}


name: Resume Screening & Behavioral Interviews with Gemini, Elevenlabs, & Notion ATS
author_name: Brian Coyle
author_username: brianpcoyle
categories: []
created_at: 2025-04-28T01:15:22.832Z
updated_at: 2025-04-28T01:15:22.832Z
url: https://n8n.io/workflows/3765
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  Description
  Candidate Engagement | Resume Screening | AI Voice Interviews | Applicant Insights

  This intelligent n8n workflow automates the process of extracting and scoring resumes received through a company career page, populating a Notion database with AI insights where the recruiter or hiring manager can automatically invite the applicant to an instant interview with an Elevenlabs AI voice agent.  After the agent conducts the behavior-based interview, the workflow scores the overall interview against customizable evaluation criteria and updates the Notion database with AI insights about the applicant.

  AI Powered Resume Screening & Voice AI that interviews like a Recruiter!

  AI Insights in Notion dashboard

  Who is this for?

  HR teams, recruiters, and talent acquisition professionals

  This workflow is ideal for HR teams, recruiters, and talent acquisition professionals looking for a foundational, extensible framework to automate early stage recruiting. Whether you're exploring AI for the first time or scaling automation across your hiring process, this template provides a base for screening, interviewing, and tracking candidates—powered entirely by n8n, Elevenlabs, Notion, and LLM integrations.  Be sure to consult State and Country regulations with respect to AI Compliance, AI Bias Audits, AI Risk Assessment, and disclosure requirements.

  What problem is this workflow solving?

  Manually screening resumes and conducting initial interviews slows down hiring. This template automates:

  Resume assessment against job description.

  Scheduling first and second round interviews.

  First-round AI-led behavioral interviews with AI scoring assessment.

  Centralized tracking of AI assessments in Notion.

  What this does

  This customizable tool, configured to manage 3 requisitions in parallel, automates the application process, resume screen, and first round behavioral interviews. 

  Pre-screen Applicants with AI

  Immediately screens and scores applicant’s resume  against the job description.  The AI Agent generates a score and an AI assessment, adding both to the applicant's profile in Notion.  Notion automatically notifies hiring manager when a resume receives a score of 8 or higher.

  Voice AI that Interviews like a Recruiter

  AI Voice agent adapts probing questions based on applicant’s response and intelligently dives deeper into skill and experience to assess answers against a scoring rubric for each question.  

  AI Applicant Insights in Notion

  Get detailed post-interview AI analysis, including interview recordings and question-by-question scoring breakdowns to help identify who you should advance to the next stage in the process.  

  AI insight provided in Notion ATS dashboard with drag and drop to advance top candidates to the next interview stage.

  How it works
  Link to Notion Template
  Notion Career Page:

  Notion Career Page published to web, can be integrated with your preferred job board posting system.

  Notion Job Posting:

  Gateway for applicants to apply to active requisitions with ‘Click to Apply’ button.

  Application Form:

  N8N webform embedded into Notion job posting captures applicant information and routes for AI processing.

  AI Agent evaluates resume against job description

  AI Agent evaluates resume against the job description, stored in Notion, and scores the applicant on a scale of 1 to 10, providing rationale for score.

  Creates ATS record in Notion with assessment and score

  Workflow creates the applicant record in the Notion ATS where Recruiters and Hiring Managers see applicants in a filtered view, sorted by AI generated resume score.  Users can automatically advance applicants to the next step in process (AI Conversation interview) with drag and drop functionality. 

  Invites applicant to an Instant AI Interview

  Dragging the applicant to AI Interview step in the Notion ATS dashboard triggers Notion automation that sends the applicant an email with a link to the Elevenlabs Conversation AI Agent.  The AI Conversation Agent is provided with instructions on how to conduct the behavior-based interview, including probing questions, for the specific role.

  AI Conversation Agent Behavior Based Interview

  The email link resolves to an ElevenLabs AI Conversation agent that has been instructed to interview applicants using pre-defined interview questions, scoring rubric, job description, and company profile.  The Elevenlabs agent assesses the applicant on a scale of 1 to 5 for each interview question and provides an overall assessment of the interview based on established evaluation criteria.


  Click to hear AI Voice Agent in action


  Example:
  Role: IT Support Analyst
  Mark:  Elevenlabs AI Agent instructed to interview applicants for specific role
  Gemini: Google AI coached to answer questions as an IT Support Analyst being interviewed

  Updates Notion record with Interview Assessment and Score

  All results—including the conversation transcript, interview scores, and rationale for assessment are automatically added back to the applicant’s profile in Notion where the Hiring Manager can validate the AI assessment by skimming through the embedded audio file.

  AI Interview Overall Score: 1 to 5 based on response to all questions and probes.


  AI Agent confirms that it was able to evaluate the interview using the assigned rubric.

  AI Interview Criteria Score: Success/Failure based on response to individual interview questions.

  Invites applicant to second interview with Hiring Manager

  Dragging the applicant to the ‘Hiring Manager Interview’ step in the Notion ATS dashboard triggers a Notion automation that sends an email with a link to the Hiring Manager’s calendar scheduling solution. 

  Configuration and Set Up
  Accounts & API Keys
  You wil need accounts and credentials for:

  n8n (hosted or self-hosted) 
  Elevenlabs (for AI Conversation Agent) 
  Gemini (for LLM model access)
  Google Drive (to back up applicant data)
  Calendly (to automate interview scheduling)
  Gmail (to automate interview scheduling)

  Data / Documents to implement

  Job Descriptions for each role
  Interview questions for each role
  Evaluation criteria for each interview question

  Notion Set Up

  Customize your Notion Career Page
  Link to Free Notion Template that enables workflow:

  Update Notion job description database
  -update job description(s) for each role
  -add interview questions to the job description database page in Notion
  -add evaluation criteria to the job description database page in Notion
  -edit each ‘Click to Apply’ button in the job description template so it resolves to the corresponding N8N 'Application Form' webform production URL (detail provided below)

  Notion Applicant Tracker

  In the Applicant Tracker database, update position titles, tab headings, in the custom database view (Notion) so it reflects the title of the position you are posting.  Edit the filter for each tab so it matches the position title.

  Notion Email Automation

  Update Notion automation templates used to invite applicants to the AI Interview and Hiring Manager interview. Note: Trigger email automation by dragging applicant profile to the next Applicant Comm Status in the Applicant Tracker.

  AI Interview invite template: revise position title to reflect the title of the role you are posting; include the link to your Conversation AI Agent for that role in the email body. Note: each unique role will use an Elevenlabs AI conversation agent designed for that role.

  Hiring Manager Interview invite template: revise position title to reflect the title of the role you are posting; include the link to your Calendly page or similar solution provider to automate interview scheduling.

  N8N Configuration

  Workflow 1

  Application Forms (3 Nodes - one for each job)

  Update the N8N form title and description to match the job description you configured in Notion.  
  Confirm Job Code in Applicant Form node matches Job Code in Notion for that position.
  Edit the Form Response to customize the message you want displayed after applicant clicks submit. 

  Upload CV - Google Drive

  Authenticate your Google Drive account and select the folder that will be used to store resumes

  Get Job Description - Notion

  Authenticate your Notion account and select your Career Page from the list of databases that contain your job descriptions. 

  Applicant Data Backup - Google Sheet 

  Create a Google Sheet where you will track applicant data for AI Compliance reporting requirements.  Open the node in n8n and use the field names in the node as Google Sheet column headings.

  Workflow 2

  Elevenlabs Web Hook (Node 1)

  Edit the Web Hook POST node and copy your production URL that is displayed in the Node. This URL is entered into the Elevenlabs AI Conversation Agent post-call webhook described below.

  AI Agent

  Authenticate your LLM model (Gemini in this example) and add your Notion database as a tool to pull the evaluation_criteria hosted in Notion for the specific role.

  Extract Audio

  Create an Elevenlabs API key for your conversation agent and enter that key as a json header for the Extract Audio node

  Upload Audio to Drive - Google Drive

  Authenticate your Google Drive account and select the folder that will be used to store the audio file.

  Elevenlabs Configuration

  Create an Elevenlabs account

  Create Conversation AI Agent

  Add First Message and Systems Prompt:

  Design your ‘First Message’ and ‘Systems Prompt’ that guides the AI agent conducting the interview.
  Tool Tip: provide instruction that limits the number of probes per interview question.

  Knowledge Base: 
  Upload your role specific interview questions and job description, using the same text that is stored in your Notion Career page for the role.  You can also add a document about your company and instruct the Elevenlabs agent to answer questions about culture, strategy, and company growth. 

  Analysis: Evaluation Criteria:
  Add your evaluation criteria, less than 2000 characters, for each interview question / competency.

  Analysis: Data Collection:
  Add the following elements, using the exact character string represented below.

  phone_number_AI_screen
  "capture applicant's phone number provided at the start of the conversation and share this as a string, integers only."

  full_name
  "capture applicant's full name provided at the start of the conversation."

  Advanced: Max Duration
  Set the max duration for interview in seconds.  The AI Agent will timeout at the max duration.   

  Conversation AI Widget:
  Customize your AI Conversation Agent landing page, including the position tile and company name.

  AI Conversation Agent URL:
  Copy the AI Conversation Agent URL and add it to your Notion email template triggered by the AI Interview email automation. Use a custom AI Agent URL for each distinct job description.

  Enable your Elevenlabs Post-Call Webhook for your Conversation Agent: 

  Log into your Elevenlabs account and go to Conversational AI Settings and click on Post-Call Web Hook.  This is where you enter the production URL from the N8N Web Hook node (Workflow 2).  This sends the AI Voice Agent output to your n8n workflow which feeds back to your Notion dashboard.

nodes_used:
  ["n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.chainSummarization","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.agent","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.notion","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.notion","n8n-nodes-base.notion","n8n-nodes-base.wait","n8n-nodes-base.formTrigger","n8n-nodes-base.formTrigger","n8n-nodes-base.formTrigger","n8n-nodes-base.notion","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.notion","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.notionTool","n8n-nodes-base.notion","n8n-nodes-base.notion","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","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, 14048 characters]

metadata_json:
  {"categories":["automation","recruitment/HR","integrations","AI/ML","voice-interaction"],"complexity":"complex","use_cases":["Automated resume screening and scoring","AI-led behavioral voice interviews","Populating and updating Notion ATS with AI insights","Automated interview invite & scheduling","Compliance-ready applicant data backup"],"estimated_setup_minutes":240,"required_services":["n8n (hosted or self-hosted)","Elevenlabs (Conversation AI & webhooks)","Gemini (Google LLM)","Notion (career page & ATS database)","Google Drive (audio/CV storage)","Google Sheets (backup/compliance logging)","Gmail (email invites)","Calendly (or equivalent scheduling)"],"key_features":["AI resume evaluation against job description with 1–10 scoring and rationale","Notion ATS record creation & automated notifications","Elevenlabs voice conversation agent for behavior-based interviews","Per-question scoring (1–5) and rubric-based assessment","Audio recording extraction and storage in Google Drive with transcript/analysis returned to Notion​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​ (embedded)​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​
  ​​"],"target_audience":["HR teams","Recruiters","Talent acquisition professionals (TA)`,`Automation engineers/implementers"]}


