by Yaron Been
🔍 Competitor Review Scraper & Ad Copy Generator (Trustpilot + Bright Data + GPT-4o-mini) 📌 Who It's For Marketers, business owners, and agencies looking to: Analyze competitor pain points Generate high-impact Facebook ad copy Automate manual data processing 🧩 How It Works This n8n-based workflow combines Bright Data, Google Sheets, and OpenAI to scrape, process, and transform Trustpilot reviews into ready-to-use ad copy. 🔹 Step-by-Step Breakdown Trigger (Manual Form Submission) Input required: Competitor’s Trustpilot URL Review timeframe (30d, 3m, 6m, 12m) Fetch Reviews Calls Bright Data’s Dataset API with URL & timeframe Polls until snapshot is ready Retrieve & Store Extracts all reviews Saves them into a structured Google Sheet Filter & Aggregate Filters to only 1–2 star reviews Summarizes common negative feedback Generate Ad Copy Sends the summary to OpenAI GPT-4o-mini Produces 3 variations of ad copy targeting pain points Distribute Insights Sends ad copy + summary via email to the marketing team ✅ Requirements -LLM Account -Google Sheets - Copy this sheet: https://docs.google.com/spreadsheets/d/1Zi758ds2_aWzvbDYqwuGiQNaurLgs-leS9wjLWWlbUU/edit?gid=0#gid=0 -Bright Data account ⚙️ Setup Instructions **Step 1: Google Sheets ** Copy this Google Sheets template Do not change column headers **Step 2: n8n Credential Setup ** Google Sheets: OAuth2 Bright Data: Authorization Header OpenAI: API Key for GPT-4o-mini **Step 3: Import Workflow ** Import the .json file into n8n Configure your sheet + dataset ID Adjust GPT prompts as needed **Step 4: Run the Workflow ** Trigger via form Receive ad copy + review insights via email 🧠 Tips & Best Practices Bright Data snapshots may take time — polling is handled Focusing on 1–2 star reviews yields the most actionable pain points You can customize GPT-4o-mini prompts for tone or vertical 💬 Support & Feedback Need help or customization? 📧 Email: Yaron@nofluff.online 📺 YouTube: @YaronBeen 🔗 LinkedIn: linkedin.com/in/yaronbeen 📚 Bright Data Docs: docs.brightdata.com/introduction
by Lucien
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
by Jimleuk
This n8n template uses existing emails from customers as context to customise and "finetune" outreach emails to them using AI. By now, it should be common knowledge that we can leverage AI to generate unique emails but in a way, they can remain generic as the AI lacks the customer context to be truly personalised. One way to solve this is by pulling in a source of customer data - and what better way then by using existing email correspondence. How it works Customers to target are pulled from Hubspot and each customer is then run in a loop. We're using a loop as the retrieved emails for each customer become separate items and a loop helps with item reference. We connect to our Gmail account to pull all emails recieved from the customer. The contents of the email will be suitable to build a short persona of the customer. We use the Information Extractor to get our AI model to pull out the key attributes of this persona such as decision making style and communication preferences. With this persona, we can now pass this to our AI model to generate a personalised outreach email specifically for our customer. Finally, a draft email is created for human review before sending. If you would rather send the email straight away, this is also possible. How to use Define the topic of the outreach email in the "variables" node. This directs the AI on what outreach email to generate. Ensure the emails are pulled from the right account. If emails may contain sensitive data, adjust the filters and text parsing to ensure these are not leaked to the AI (which might then leak into the generated email). Requirements Hubspot for Contacts List OpenAI for LLM Gmail for Existing Emails and Sending Emails Customising this workflow Not using Hubspot? Any CRM would work just as well or even a simple text csv! If you have customer past deals or engagements in your CRM, consider using this as additional context for the AI to use.
by Davide
This workflow optimizes the management of inquiries received through a contact form (Contact Form 7 - CF7 Plugin) on a WordPress site, automating the process of classification, response drafting, and data storage. This workflow is particularly useful for businesses that receive multiple daily inquiries and want to improve their efficiency in managing customer communications. Benefits: ✅ Automation & Speed – Reduces the time needed to handle inquiries manually. ✅ Better Email Management – Ensures every message receives a timely and accurate response. ✅ Customization – The generated draft can be edited before sending, maintaining a personal touch. ✅ Inquiry History – Storing data in Google Sheets allows for easy tracking of customer interactions. ✅ Easy Integration – Works seamlessly with Contact Form 7 without complex configurations. How It Works Form Submission Handling: The workflow starts with a WordPress form submission captured via a webhook. The form data (first name, last name, email, phone, and message) is extracted and structured using the "Set Fields" node. Message Classification: The submitted message is classified into predefined categories (e.g., "Product Info," "Order Info," or "Other") using the "Message Classifier" node, powered by Google Gemini. Automated Email Drafting: Based on the classification, the workflow generates a professional email draft using one of three "Email Writer" nodes (for Product, Order, or Other requests). Each node uses Google Gemini to craft a personalized response with a structured format (subject and body). Email Draft Creation: The drafted email is sent as a Gmail draft to the appropriate department, including the original form data for context. Data Logging: All submissions, along with their classifications and email drafts, are logged in a Google Sheets spreadsheet for record-keeping and further action. Set Up Steps Install WordPress Plugin: Install the "CF7 to Webhook" plugin on WordPress and configure it to send form submissions to the n8n webhook URL. Configure Webhook in n8n: Set up the "From Wordpress" webhook node in n8n to receive POST requests from the WordPress form. Google Gemini Integration: Ensure the Google Gemini nodes are properly authenticated with the correct API credentials. Gmail and Google Sheets Setup: Authenticate the Gmail and Google Sheets nodes with the appropriate OAuth2 credentials and specify the target spreadsheet and sheet name. Customize Classification Categories: Adjust the categories in the "Message Classifier" node to match your business needs. Test the Workflow: Trigger a test form submission to verify the workflow processes data correctly, classifies the message, generates an email draft, and logs the data. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Alexander Bentlund
What this workflow does This workflow is used as a bridge between your private Google Calendar to your Work Outlook Calendar. The same mentality can be used with other calendar types. Description Send a copy of a Google Calendar event to your Outlook work account as a reminder to yourself or co-workers that you are booked for private matters like "Dentist appointment", "Taking kids to Disney Land" etc. How it works Create event -- You create a Google Calendar event. -- A trigger in n8n reacts and collects the event info. -- An Outlook event is created with the same information in your Outlook Calendar. Cancel -- You cancel an event in Google Calendar -- A trigger in n8n reacts and collects the canceled event info. -- Using the Outlook node to getAll events searches for the event in your Outlook Calendar. -- If the event is found it is then deleted. -- An email with the details of the cancelation is then sent to your Outook e-mail address. The n8n Merge node is used to combine results from two different nodes that are necessary to create the cancelled event e-mail notification. Important notice Make sure you use a dedicated Google Calendar for private events that will be displayed in your work Outlook calendar in order to avoid displaying unwanted calendar events that you do not wish to share with your co-workers. Requirements Active workflow* Google Calendar OAuth2 API Microsoft Outlook OAuth2 API .*The Google Calendar trigger is activated only if this workflow is active. You can however TEST the workflow in the editor by clicking “Test step”. You will then receive a response from Google Calendar that you can use in order to view what data Google Sends.
by Oskar
With this workflow you can extract data from resume documents uploaded via a Telegram bot. Workflow transform readable content of PDF resume into structured data, using AI nodes and returns PDF with formatted, plain HTML. You can modify this workflow to perform other actions with structured data (e.g. insert it into database or create other, well-formatted documents). Functionality of this workflow was presented during the n8n community call on March 7, 2024 - recording of presentation available here. ⚠️ Workflow made for demo purposes. If you want to use it in real life, please make sure necessary measures for personal data protection are set. How it works? User uploads readable PDF resume document into Telegram bot. After authentication based on chat ID parameter, workflow extracts text from the PDF and transfers it into AI chain with connected sub-nodes: OpenAI Chat Model and Structured Output (JSON) Parser. Then, each extracted section (employment history, projects etc.) is formatted into desired HTML structure. Finally, the document is converted into new, structured PDF using Gotenberg. 💡 This workflow requires installed Gotenberg. If you are not familiar with this software, please have a look on my YouTube tutorial. You can also replace call to Gotenberg with other PDF generation service (such as PDFMonkey or ApiTemplate). Set up steps Create Telegram bot and add its credentials in n8n. Set your chat ID parameter in Auth node. Adjust JSON schema in Structured Output Parser according to your needs. Optionally: replace HTTP call to Gotenberg with PDF generation service of your choice. If you like this workflow, please subscribe to my YouTube channel and/or my newsletter.
by Dhruv Dalsaniya
This workflow connects Telegram to Midjourney through GoAPI, enabling automated image generation and upscaling directly from chat. How it Works Telegram Command Trigger**: The workflow activates upon receiving a message in Telegram. Image Generation**: Your prompt is sent to GoAPI, which then generates an image using Midjourney. Upscale Selection**: You receive the generated image and select an option for upscaling. Image Upscaling**: The selected image is upscaled via GoAPI. Notifications and Logs**: Progress updates are sent to Telegram, and all images are logged in Discord. Set Up Steps Create a Telegram Bot and update credentials in Telegram nodes. Create a GoAPI account, obtain an API key, and update the three HTTP nodes: "Get Generation Task," "Upscale," and "Get Upscale Task". (Optional) Configure the Discord node for logging if desired. Setup takes approximately 10-15 minutes. Detailed descriptions are available in sticky notes within the workflow.
by Mario
This is an add-on for the template Check if workflows contain build-in nodes that are not of the latest version Purpose This workflow highlights outdated nodes within all workflows of a single n8n instance and places an updated preconfigured node right next to it, so it can be swapped easily. How it works The parent workflow checks the entire n8n instance for outdated nodes within all workflows and passes a list of those alongside some metadata to this workflow This workflow then processes that data and updates the affected workflows Outdated nodes are renamed by prepending an emoji (default: ⚠️) - this is also used for future checks to prevent from double-processing The latest version of each outdated node is added to the workflow canvas (not wired up) behind the old one, slightly shifted in position An Email is sent with a list of modified workflows In the settings it is possible to define: which symbol/emoji should be prepended to outdated notes whether to include only major node updates or all of them whether to add the new nodes to the canvas or not Setup Clone this template to your n8n instance Update the Settings node by setting at least the base URL of your n8n instance Set a recipient in the Gmail node Clone the parent template to your n8n instance and configure it as described in it’s description Add an “Execute Workflow” node to the end of the parent workflow and configure it, so it calls this workflow How to use Execute the parent workflow and check your Email Inbox. All linked workflows should contain one or more updated nodes with an emoji prepended to their names. Disclaimer Beware, that major updates can cause migrations of nodes to fail, since their structure can differ. So always compare the old nodes with the newly created, if all parameters still meet the requirements. Be careful when executing this workflow on a production environment, since it directly modifies your workflows. It is advisable to run this on your testing environment and migrate successfully tested workflows to your production environment using git or manually.
by Solido AI
How it works: The organizer continuously monitors your Gmail inbox. It analyzes sender and subject to categorize emails (Work, Purchases, Newsletter) and automatically applies labels. Based on the category, it performs specific actions, such as marking important emails or archiving newsletters. Set up steps: The initial setup requires Gmail access permission and defining the categorization rules and desired actions for each email type. This process can be configured in approximately 5 to 10 minutes, depending on the complexity of the rules you wish to establish.
by Fabian ZNTL
What it does This workflow automatically processes incoming emails with intelligent AI classification, creating draft responses and sending Slack notifications based on email content. How it works Monitors emails with the 'AI-Agent' label AI classification into categories: Inquiry, Support, Newsletter, Action Item Adds appropriate labels to emails automatically Creates draft replies for Support and Inquiry emails Sends Slack notifications for Action Items and Newsletter summaries Setup Requirements Gmail OAuth2 credentials configured OpenAI API credentials (or other AI provider) Slack OAuth2 credentials (if notifications desired) Gmail labels created (see setup instructions below) How to customize Modify classification categories in the AI Agent Adjust label mappings in the Parse Classification node Customize draft response templates Configure different Slack channels for different email types
by Zacharia Kimotho
This workflow makes it easier to prepare for meetings and calls by researching your lead right before the call and creates a high-level meeting prep that is sent to your email. This removes the extra steps needed by teams to learn their leads, research, and prepare for the upcoming calls. How does it work This workflow starts when We Capture the webhook from cal.com for new bookings. Ensure you have a field on the form to collect LinkedIn posts. This can be optional or mandatory depending on your preferences. When a new event is booked, we will add the leads to an Airtable CRM for appointments and new bookings. This table will contain all the items and items needed to enrich and maintain your CRM. If the lead has linkedin then we do research on LinkedIn for their content and posts and perform a lead enrichment to get as much info as we can about the leads and create a new meeting prep. What you need Bright data API Cal.com account/calendar. Other calendars can be used too for this eg calendly, Google Calendar, etc with a few tweaks CRM - This can be anything not just airtable Setting it up Create/update your calendar to allow collecting users LinkedIn profiles/bios Add a new webhook to and subscribe to the desired events like below Map the fields from the webhook to match your CRM. If you have no CRM make a copy of this Airtable CRM and map the fields to your account. We will be using the Base and table ID to make the mapping easier Setup your Bright Data API and select the data source as linkedin for the scraping You can edit more data on the bio as needed Update this info to the CRM under the table lead enrichment and map accordingly You can update the prompt on the AI models or work with them as is. Update the Gmail node to send the meeting preps to you and finally update the CRM with the generated Meeting prep This automated process can save your team a couple of minutes each day otherwise spent on other client fulfillment items. If you would like to learn more about n8n templates like this, feel free to reach out via Linkedin Happy productivity!!
by Automate With Marc
📬 What This Workflow Does This workflow automatically scrapes recent high-value congressional stock trades from Quiver Quantitative, summarizes the key transactions, and delivers a neatly formatted report to your inbox — every single day. It combines Firecrawl's powerful content extraction, OpenAI's GPT formatting, and n8n's automation engine to turn raw HTML data into a digestible, human-readable email. Watch Full Tutorial on how to build this workflow here: https://www.youtube.com/watch?v=HChQSYsWbGo&t=947s&pp=0gcJCb4JAYcqIYzv 🔧 How It Works 🕒 Schedule Trigger Fires daily at a set hour (e.g., 6 PM) to begin the data pipeline. 🔥 Firecrawl Extract API (POST) Targets the Quiver Quantitative “Congress Trading” page and sends a structured prompt asking for all trades over $50K in the past month. ⏳ Wait Node Allows time for Firecrawl to finish processing before retrieving results. 📥 Firecrawl Get Result API (GET) Retrieves the extracted and structured data. 🧠 OpenAI Chat Model (GPT-4o) Formats the raw trading data into a readable summary that includes: Date of Transaction Stock/Asset traded Amount Congress member’s name and political party 📧 Gmail Node Sends the summary to your inbox with the subject “Congress Trade Updates - QQ”. 🧠 Why This is Useful Congressional trading activity often reveals valuable signals — especially when high-value trades are made. This workflow: Saves time manually tracking Quiver Quant updates Converts complex tables into a daily, readable email Keeps investors, researchers, and newsrooms in the loop — hands-free 🛠 Requirements Firecrawl API Key (with extract access) OpenAI API Key Gmail OAuth2 credentials n8n (self-hosted or cloud) 💬 Sample Output: Congress Trade Summary – May 21 Nancy Pelosi (D) sold TSLA for $85,000 on April 28 John Raynor (R) purchased AAPL worth $120,000 on May 2 ... and more 🪜 Setup Steps Add your Firecrawl, OpenAI, and Gmail credentials in n8n. Adjust the schedule node to your desired time. Customize the OpenAI system prompt if you want a different summary style. Deploy the workflow — and enjoy your daily edge.