by Gleb D
This n8n workflow template automates the process of collecting and analyzing Twitter (X) posts for any public profile, then generates a clean, AI-powered summary including key metrics, interests, and activity trends. ๐ What It Does Accepts a user's full name and date range through a public form. Automatically finds the personโs X (formerly Twitter) profile using a Google search. Uses Bright Data to retrieve full post data from the X.com profile. Extracts key post metrics like views, likes, reposts, hashtags, and mentions. Uses Google Gemini (PaLM) to generate a personalized summary: tone, themes, popularity, and sentiments. Stores both raw data and the AI summary into a connected Google Sheet for further review or team collaboration. ๐ ๏ธ Step-by-Step Setup Deploy the public form to collect full name and date range. Build a Google search query using the name to find their X profile. Scrape the search results via Bright Data (Web Unlocker zone). Parse the page content using the HTML node. Use Gemini AI to extract the correct X profile URL. Pull full post data via Bright Data dataset snapshot API. Transform post data into clean structured fields: date_posted, description, hashtags, likes, views, quoted_post.date_posted, quoted_post.description, replies, reposts, quotes, and tagged_users.profile_name. Analyze all posts using Google Gemini for interest detection and persona generation. Save results to a Google Sheet: structured post data + AI-written summary. Show success or fallback messages depending on profile detection or scraping status. ๐ง How It Works: Workflow Overview Trigger: When user submits form Search & Match: Google search โ HTML parse โ Gemini filters matching X profile Data Gathering: Bright Data โ Poll for snapshot completion โ Fetch post data Transformation: Extract and restructure key fields via Code node AI Summary: Use Gemini to analyze tone, interests, and trends Export: Save results to Google Sheet Fallback: Display custom error message if no X profile found ๐จ Final Output A record in your Google Sheet with: Clean post-level data Profile-level engagement summary An AI-written overview including tone, common topics, and post popularity ๐ Credentials Used Bright Data account** (for search & post scraping) Google Gemini (PaLM)** or Gemini Flash via - OpenAI/Google Vertex API Google Sheets (OAuth2) account** (for result storage) โ ๏ธCommunity Node Dependency This workflow uses a custom community node: n8n-nodes-brightdata Install it via UI (Settings โ Community Nodes โ Install).
by Gleb D
This n8n workflow automates the collection, enrichment, and analysis of e-commerce product listings using Bright Data and AI, then delivers an HTML email report with the most competitive offers. ๐ What It Does Pulls product titles from a Google Sheet. For each product, searches a Bright Data marketplace dataset (Google Shopping) for available listings. Extracts relevant fields: price, title, seller name, and listing URL. Sends this data to Google Gemini for AI-powered Markdown report generation. Converts Markdown to HTML and styles the output for better email rendering. Sends an email report for each product with the top 20 most affordable offers. ๐ ๏ธ Step-by-Step Setup Load product list from Google Sheets. For each product title, run a Bright Data filter request (case-sensitive match). Poll the snapshot status until it is ready. Retrieve snapshot content and clean the results with a Code node. Pass the results to Gemini (PaLM/Gemini Flash) for analysis and report generation in Markdown. Convert Markdown into styled HTML using Markdown + Code nodes. Send formatted email to a predefined recipient. Return to the loop and repeat for the next product. ๐ง How It Works Loop Control: SplitInBatches handles product-by-product processing. Snapshot Handling: Snapshot status is polled every 30s until success/failure. AI Formatting: Gemini summarizes listings and formats content. Error Handling: Failed snapshots produce a warning message and resume the loop. ๐จ Final Output Each email contains: The product name A clean HTML of up to 20 sellers with lowest prices Links to listings AI-generated pricing summary ๐ Credentials Used Bright Data account Google Gemini (PaLM/Gemini Flash) Google Sheets (OAuth2) SMTP Email (emailSend node) โ ๏ธ Important Notes Item title search is case-sensitive. Typos or casing mismatches may result in no results. Requires n8n-nodes-brightdata community node to be installed.
by Jimleuk
This n8n template extends the idea of follow-up reminders by having an AI agent suggest and book the next call or message to re-engage prospects which have been ignored. What makes this template particularly interesting and actually usable is that it uses the Human-in-the-loop approach to wait for a user's approval before actually making the booking or otherwise not if the user declined. A twist on a traditional idea where we can reduce the number of actionable tasks a human has to make by delegating them to AI. How it works A scheduled trigger checks your google calendar for sales meetings which happened a few days ago. For each event, gmail search is used to figure out if a follow-up message has been sent or received from the other party since the meeting. If none, it might mean the user needs a reminder to follow-up. For leads applicable for follow-up, we first get an AI Agent to find available meeting slots in the calendar. These slots and reminder are sent to the user via send-and-approval mode of the gmail node. The user replies in natural language either picking a slot, suggesting an entirely new slot or declines the request. When accepted, another AI Agent books the meeting in the calendar with the proposed dates and lead. When declined, no action is taken. How to use Update all calendar nodes (+subnodes) to point to the right calendar. If this is a shared-purpose calendar, you may need to either filter or create a new calendar. Update the gmail nodes to point to the right accounts. Requirements Google OAuth for Email and Calendar OpenAI for LLM Customising the template Not using Google? Swap out for Microsoft Outlook/Calendar or something else. Try swapping out or adding in additional send-for-approval methods such as telegram or whatsapp.
by Khairul Muhtadin
The Project starter bot takes the hassle out of launching projects by automatically creating a well-structured folder system in Dropbox and sending timely notifications through Slack and Gmail. By combining n8n's intelligent automation and seamless integration with Dropbox, Slack, and Gmail, this workflow streamlines project setup, saving you time and keeping everyone in the loop effortlessly. ๐ก Why Use Project Starter Bot? Save Time: Cut down on the tedious manual folder creation by automating nested project directories instantly. Avoid Mistakes: Eliminate human error when organizing project files and ensure every necessary sub-folder exists. Boost Team Collaboration: Notify your team immediately via Slack and Gmail once the project folders are ready, so no one's left out of the loop. Gain an Edge: Impress clients and colleagues with your rapid and professional project kickoff process โ no coffee breaks needed! โก Perfect For Project Managers:** Keep your projects organized from day one without lifting a finger Creative Teams:** Focus on creativity while the bot handles folder setup and notifications Freelancers & Agencies:** Accelerate project launches and maintain consistency across clients ๐ง How It Works โฑ Trigger: When you send a chat message requesting a new project folder ๐ Process: The bot creates the main project folder and five standardized sub-folders in Dropbox ๐ค Smart Logic: It verifies success and asks if you want to send notifications before proceeding ๐ Output: Sends a Slack message in the #projects channel and an email via Gmail confirming the setup ๐ Storage: All folders are neatly organized inside Dropbox ensuring your files are easy to find ๐ Quick Setup Import JSON file to your n8n instance Add credentials: Dropbox OAuth2 Slack API token Gmail OAuth2 Customize: Adjust folder names or project path if needed Update: Change Slack channel URL or Gmail recipient details Test: Run with a sample project name to see folders and notifications in action ๐งฉ Requirements Active n8n instance Dropbox OAuth2 credentials Slack API token with chat permissions Gmail OAuth2 credentials ๐ ๏ธ Level Up Ideas Integrate with project management tools like Jira or Trello for automated task creation Add personalized email templates with dynamic project details Use AI-powered chatbots to handle more complex project setup conversations ๐ง Nodes Used When chat message received AI Agent Dropbox create folder Send a message in Slack Send a message in Gmail Simple Memory (for context) MCP triggers and clients ๐ Details Made by: khaisa Studio Tags: Project Management, Automation, Dropbox, Slack, Gmail Category: Workflow Automation Need custom work? Contact Me
by Mario
Purpose This workflow enables you to listen to your recent favorites in very hight quality offline without sacrificing all of your storage. How it works This workflow automatically creates a playlist in Spotify named "Downloads" which periodically gets updated so it always contains only a defined amount of the latest liked songs. This enables only the Downloads playlist to set for automatic downloading and thus free up space on the device. Setup The workflow is ready to go. Just select your Spotify credentials and activate the workflow. In Spotify just enable automatic downloads on the automatically created Downloads folder after the first workflow run. Current limitations This setup currently supports a maximum of 50 songs in the Downloads Playlist. This is due to the paylod limits defined by Spotify encountered in the Get liked songs node. Implementing batching would solve the issue.
by NovaNode
Who is this for? This template is designed for internal support teams, product specialists, and knowledge managers in technology companies who want to automate ingestion of product documentation and enable AI-driven, retrieval-augmented question answering via WhatsApp. What problem is this workflow solving? Support agents often spend too much time manually searching through lengthy documentation, leading to inconsistent or delayed answers. This solution automates importing, chunking, and indexing product manuals, then uses retrieval-augmented generation (RAG) to answer user queries accurately and quickly with AI via WhatsApp messaging. What these workflows do Workflow 1: Document Ingestion & Indexing Manually triggered to import product documentation from Google Docs. Automatically splits large documents into chunks for efficient searching. Generates vector embeddings for each chunk using OpenAI embeddings. Inserts the embedded chunks and metadata into a MongoDB Atlas vector store, enabling fast semantic search. Workflow 2: AI-Powered Query & Response via WhatsApp Listens for incoming WhatsApp user messages, supporting various types: Text messages: Plain text queries from users. Audio messages: Voice notes transcribed into text for processing. Image messages: Photos or screenshots analyzed to provide contextual answers. Document messages: PDFs, spreadsheets, or other files parsed for relevant content. Converts incoming queries to vector embeddings and performs similarity search on the MongoDB vector store. Uses OpenAIโs GPT-4o-mini model with retrieval-augmented generation to produce concise, context-aware answers. Maintains conversation context across multiple turns using a memory buffer node. Routes different message types to appropriate processing nodes to maximize answer quality. Setup Setting up vector embeddings Authenticate Google Docs and connect your Google Docs URL containing the product documentation you want to index. Authenticate MongoDB Atlas and connect the collection where you want to store the vector embeddings. Create a search index on this collection to support vector similarity queries. Ensure the index name matches the one configured in n8n (data_index). See the example MongoDB search index template below for reference. Setting up chat Authenticate the WhatsApp node with your Meta account credentials to enable message receiving and sending. Connect the MongoDB collection containing embedded product documentation to the MongoDB Vector Search node used for similarity queries. Set up the system prompt in the Knowledge Base Agent node to reflect your companyโs tone, answering style, and any business rules, ensuring it references the connected MongoDB collection for context retrieval. Make sure Both MongoDB nodes (in ingestion and chat workflows) are connected to the same collection with: An embedding field storing vector data, Relevant metadata fields (e.g., document ID, source), and The same vector index name configured (e.g., data_index). Search Index Example: { "mappings": { "dynamic": false, "fields": { "_id": { "type": "string" }, "text": { "type": "string" }, "embedding": { "type": "knnVector", "dimensions": 1536, "similarity": "cosine" }, "source": { "type": "string" }, "doc_id": { "type": "string" } } } }
by Romain Jouhannet
Linear Project/Issue Status and End Date to Productboard feature Sync Sync project and issue data between Linear and Productboard to keep teams aligned. This workflow updates Productboard features with the status and end date from Linear projects or due date from Linear issues. It ensures consistent data and sends a Slack notification whenever changes are made. Features Listens for updates in Linear projects/issues. Maps Linear statuses to Productboard feature statuses. Updates Productboard feature details including timeframe. Sends a Slack notification summarizing the updates. Setup Linear Credentials: Add your Linear API credentials in n8n. Productboard Credentials: Configure the Productboard API credentials in n8n. Linear Projects or Issues: Select the Linear project(s) or Issue(s) you want to monitor for updates. Productboard Custom Field: Create a custom field in Productboard named "Linear". This field should store the URL of the Linear project or issue you want to sync. Retrieve the UUID of the custom field in Productboard and set it up in the "Get Productboard Feature ID" node. Slack Notification: Update the Slack node with the desired Slack channel ID. Activate the Workflow: Enable the workflow to automatically sync data when triggered by updates in Linear.
by Rizqi Pratama Ramadhani
Automated Financial Tracker: Telegram Invoices to Notion with AI Summaries & Reports Tired of manually logging every expense? Streamline your financial tracking with this powerful n8n workflow! Snap a photo of your invoice in Telegram, and let AI (powered by Google Gemini) automatically extract the details, record them in your Notion database, and even send you a quick summary. Plus, get scheduled weekly reports with charts to visualize your spending. Automate your finances, save time, and gain better insights with this easy-to-use template! Transform your expense tracking from a chore into an automated breeze. Try it out! Overview: This workflow revolutionizes how you track your finances by automating the entire process from invoice capture to reporting. Simply send a photo of an invoice or receipt to a designated Telegram chat, and this workflow will: Extract Data with AI: Utilize Google Gemini's capabilities to perform OCR on the image, understand the content, and extract key details like item name, quantity, price, total, date, and even attempt to categorize the expense. Store in Notion: Automatically log each extracted transaction into a structured Notion database. Instant Feedback: Send a summary of the processed transaction back to your Telegram chat. Scheduled Reporting: Generate and send a visual summary of your expenses (e.g., weekly spending by category) as a chart to your preferred Telegram chat or group. This workflow is perfect for individuals, freelancers, or small teams looking to effortlessly manage their expenses without manual data entry. Key Features & Benefits: Effortless Expense Logging:** Just send a picture โ no more typing! AI-Powered Data Extraction:** Leverages Google Gemini for intelligent invoice processing. Centralized Data in Notion:** Keep all your financial records neatly organized in a Notion database. Automated Categorization:** AI helps in categorizing your expenses (e.g., Food & Beverage, Transportation). Instant Summaries:** Get immediate confirmation and a summary of what was recorded. Visual Reporting:** Receive scheduled charts (e.g., bar charts of spending by category) directly in Telegram. Customizable:** Easily adapt the workflow to your specific needs, categories, and reporting preferences. Time-Saving:** Drastically reduces the time spent on manual financial administration. How It Works (Workflow Breakdown): The workflow is divided into two main parts: Part 1: Real-time Invoice Processing & Logging (## Auto Notes Transaction with Telegram and Notion database) Telegram Trigger (Telegram Trigger | When recive photo): Activates when a new photo is sent to the configured Telegram chat. Get Photo Info (Get Info Photo from telegram chat): Retrieves the details of the received photo. Get Image Info (Get Image Info): Prepares the image data. AI Data Extraction (Google Gemini Chat Model & Basic LLM Chain): The image data is sent to the Google Gemini Chat Model. A specific prompt instructs the AI to extract details (date, ID, name, quantity, price, total, category, tax) in a JSON array format and provide a summary message. The categories include Food & Beverage, Transportation, Utilities, Shopping, Healthcare, Entertainment, Housing, and Education. Parse AI Output (Parse To your object | Table): Structures the AI's JSON output for easier handling. Split Transactions (Split Out | data transaction): If an invoice contains multiple items, this node splits them into individual records. Record to Notion (Record To Notion Database): Each transaction item is added as a new page/entry in your specified Notion database, mapping fields like Name, Quantity, Price, Total, Category, Date, and Tax. Send Telegram Summary (Sendback to chat and give summarize text): The summary message generated by the AI is sent back to the original Telegram chat. Part 2: Scheduled Financial Reporting (## Schedule report to send on chanel or private message) Schedule Trigger (Schedule Trigger | for send chart report): Runs at a predefined interval (e.g., every week) to generate reports. Get Recent Data from Notion (Get Recent Data from Notions): Fetches transaction data from the Notion database for a specific period (e.g., the past week). Summarize Data (Summarize Transaction Data): Aggregates the data, for example, by summing up the 'total' amount for each 'category'. Prepare Chart Data (Convert Data to JSON chart payload): Transforms the summarized data into a JSON format suitable for generating a chart (e.g., labels for categories, data for spending amounts). Generate Chart (Generate Chart): Uses the QuickChart node to create a visual chart (e.g., a bar chart) from the prepared data. Send Chart to Telegram (Send Chart Image to Group or Private Chat): Sends the generated chart image to a specified Telegram chat ID or group. Nodes Used (Key Nodes): Telegram Trigger & Telegram Node:** For receiving images and sending messages/images. Google Gemini Chat Model (Langchain):** For AI-powered OCR and data extraction from invoices. Basic LLM Chain (Langchain):** To interact with the language model using specific prompts. Output Parser Structured (Langchain):** To structure the output from the language model. Notion Node:** For reading from and writing to your Notion databases. Schedule Trigger:** To automate the reporting process. Summarize Node:** To aggregate data for reports. Code Node:** Used here to format data for the chart. QuickChart Node:** For generating charts. SplitOut Node:** To process multiple items from a single invoice. Setup Instructions: Credentials: Telegram: Create a Telegram bot and get its API token. You'll also need the Chat ID where you'll send invoices and where reports should be sent. Google Gemini (PaLM) API: You'll need an API key for Google Gemini. Notion: Create a Notion integration and get the API key. Create a Notion database with properties corresponding to the data you want to save (e.g., Name (Title), Quantity (Number), Price (Number), Total (Number), Category (Select), Date (Text or Date), Tax (Number)). Share this database with your Notion integration. Configure Telegram Trigger: Add your Telegram Bot API token. When you first activate the workflow or test the trigger, send /start to your bot in the chat you want to use for sending invoices. n8n will then capture the Chat ID. Configure Google Gemini Node (Google Gemini Chat Model): Select or add your Google Gemini API credentials. Review the prompt in the Basic LLM Chain node and adjust if necessary (e.g., date format, categories). Configure Notion Nodes: Record To Notion Database: Select or add your Notion API credentials. Select your target Notion Database ID. Map the properties from the workflow (e.g., ={{ $json.name }}) to your Notion database columns. Get Recent Data from Notions: Select or add your Notion API credentials. Select your target Notion Database ID. Adjust the filter if needed (default is "past_week"). Configure Telegram Node for Reports (Send Chart Image to Group or Private Chat): Select or add your Telegram Bot API token. Enter the Chat ID for the group or private chat where you want to receive the reports. Configure Schedule Trigger (Schedule Trigger | for send chart report): Set your desired schedule (e.g., every Monday at 9 AM). Test: Send an image of an invoice to your Telegram bot and check if the data appears in Notion and if you receive a summary message. Wait for the scheduled report or manually trigger it to test the reporting functionality. Sticky Note Text for Your n8n Template: (These are suggestions. You would place these directly into the sticky notes within your n8n workflow editor.) Existing High-Level Sticky Notes: ## Auto Notes Transaction with Telegram and Notion database ## Schedule report to send on chanel or private message Specific Sticky Notes to Add: On Telegram Trigger | When recive photo:** ๐ธ INVOICE INPUT ๐ธ Bot listens here for photos of your receipts/invoices. Ensure your Telegram Bot API token is set in credentials. Near Google Gemini Chat Model & Basic LLM Chain:** ๐ค AI MAGIC HAPPENS HERE ๐ง Image is sent to Google Gemini for data extraction. Check 'Basic LLM Chain' to customize the AI prompt (e.g., categories, output format). Requires Google Gemini API credentials. On Parse To your object | Table:** โจ STRUCTURING AI DATA โจ Converts the AI's text output into a usable JSON object. Check the schema if you modify the AI prompt significantly. On Record To Notion Database:** ๐ SAVING TO NOTION ๐ Extracted transaction data is saved here. Configure with your Notion API key & Database ID. Map fields correctly to your database columns! On Sendback to chat and give summarize text:** ๐ฌ TRANSACTION SUMMARY ๐ฌ Sends a confirmation message back to the user in Telegram with a summary of the recorded expense. On Schedule Trigger | for send chart report:** ๐๏ธ REPORTING SCHEDULE ๐๏ธ Set how often you want to receive your spending report (e.g., weekly, monthly). On Get Recent Data from Notions:** ๐ FETCHING DATA FOR REPORT ๐ Retrieves transactions from Notion for the report period. Default: "Past Week". Adjust filter as needed. Requires Notion API credentials & Database ID. On Summarize Transaction Data:** โ SUMMARIZING SPENDING โ Aggregates your expenses, usually by category, to prepare for the chart. On Convert Data to JSON chart payload (Code Node):** ๐จ PREPARING CHART DATA ๐จ This Code node formats the summarized data into the JSON structure needed by QuickChart. On Generate Chart (QuickChart Node):** ๐ GENERATING VISUAL REPORT ๐ Creates the actual chart image based on your spending data. You can customize chart type (bar, pie, etc.) here. On Send Chart Image to Group or Private Chat:** ๐ค SENDING REPORT TO TELEGRAM ๐ค Delivers the generated chart to your chosen Telegram chat/group. Set the correct Chat ID and Bot API token. General Sticky Note (Place where relevant):** ๐ CREDENTIALS NEEDED ๐ Remember to set up API keys/tokens for: Telegram Google Gemini Notion General Sticky Note (Place where relevant):** ๐ก CUSTOMIZE ME! ๐ก Adjust AI prompts for better accuracy. Change Notion database structure. Modify report frequency and content. `
by n8n Team
This workflow creates/updates ClickUp tasks when Notion database pages are created/updated. All fields in the Notion database are mapped to a ClickUp property. Notion database will require setup before the workflow can be used. See the list of fields available in the setup below. Prerequisites Notion account and Notion credentials. ClickUp account and ClickUp credentials. How it works When a new database page is created in Notion, the workflow creates a new task in ClickUp with all required fields. The new ClickUp task's ID is saved in the Notion database page's "ClickUp ID" field. Then, when the database page is updated in Notion, the workflow updates the specific ClickUp task identified by the "ClickUp ID" field in Notion. Setup This workflow requires that you set up a Notion database. To do so, follow the steps below: In Notion, create a new database. Add the following columns to the database: Task name (renamed from "Name") Status (with type "Select" with the following options: "to do", "in progress", "review", "revision", "complete") Deadline (with type "Date") ClickUp ID (with type "Text") Add any other fields you require. Share the database to n8n. By default, the workflow will fill all the fields provided above, except for any other additional fields you add.
by Jimleuk
This n8n template is one of a 3-part series exploring use-cases for clustering vector embeddings: Survey Insights Customer Insights Community Insights This template demonstrates the Survey Insights scenario where survey participant responses can be quickly grouped by similarity and an AI agent can generate insights on those groupings. With this workflow, researchers can save days and even weeks of work breaking down cohorts of participants and identify frequently mentioned positives and negatives. Sample Output: https://docs.google.com/spreadsheets/d/e/2PACX-1vT6m8XH8JWJTUAfwojc68NAUGC7q0lO7iV738J7aO5fuVjiVzdTRRPkMmT1C4N8TwejaiT0XrmF1Q48/pubhtml# How it works All survey questions and responses are imported from a Google Sheet. Responses are then inserted into a Qdrant collection carefully tagged with the question and survey metadata. For each question, all relevant response are put through a clustering algorithm using the Python Code node. The Qdrant points are returned in clustered groups. Each group is looped to fetch the payloads of the points and feed them to the AI agent to summarise and generate insights for. The resulting insights and raw responses are then saved to the Google Spreadsheet for further analysis by the researcher. Requirements Survey data and format as shown in the attached google sheet. Qdrant Vectorstore for storing embeddings. OpenAI account for embeddings and LLM. Customising the Template Adjust clustering parameters which make sense for your data. Add more clusters for open-ended questions and less clusters when responses are multiple choice.
by Brian Money
Overview This template is designed for Amazon sellers and advertisers who want to automate their campaign performance analysis and bidding strategy. It solves the common challenge of manually reviewing Sponsored Products reports and guessing how to adjust keywords, placements, and budgets. By combining Amazon Advertising reports with OpenAI's GPT-4o, this workflow delivers real-time, personalized optimization instructions โ automatically. Features ๐ฅ Automatically downloads Sponsored Products reports from Google Drive ๐ง Uses AI to analyze campaign, keyword, placement, targeting, and budget performance ๐ Supports both .csv and .xlsx report formats ๐ Handles multiple ASINs and scales easily across ad accounts ๐ง Sends structured optimization recommendations to your inbox via Gmail ๐ Built-in logic to normalize filenames and correctly map reports ๐งน Includes error handling and formatting cleanup for AI-ready input Requirements To use this workflow, youโll need: An Amazon Ads account with access to Sponsored Products reports A Google Drive folder where Amazon Ads reports are delivered (manually or via Gmail automation) A Gmail account (for sending summaries) An OpenAI API key with access to GPT-4o Optional: a developer account for the Amazon Ads API to fully automate report generation in the future Setup Instructions ๐ Connect your Amazon Ads reports folder in the Google Drive node ๐ Add your credentials to the OpenAI and Gmail nodes ๐ Schedule five reports in the Amazon Ads Console: Search Term Report โ Detailed Targeting Report โ Detailed Campaign Report โ Summary Placement Report โ Summary Budget Report โ Summary Use โLast 30 Daysโ, โDailyโ, and .xlsx or .csv format ๐ (Optional) Automate report ingestion using Gmail + Drive workflows ๐งช Test with one account, then replicate across additional ad accounts as needed โฑ๏ธ Setup time: 15โ30 minutes ๐ All field-specific guidance is included in workflow notes`
by Dvir Sharon
๐ Extract Google My Business Leads by Service & Location with Bright Data to Google Sheets This template requires a self-hosted n8n instance to run. A comprehensive n8n automation that extracts Google My Business listings by service type and geographic location using Bright Data's Google Maps dataset, with intelligent city expansion and automatic duplicate removal. ๐ฅ Who is this for? Lead generation professionals Sales teams Marketing agencies Business development representatives Entrepreneurs conducting outreach or market research โ What problem is this solving? Manual lead generation from Google Maps is time-consuming and inefficient. This workflow automates the process of finding businesses by service type and location, expanding searches across cities, removing duplicates, and organizing results in a structured format. โ๏ธ What this workflow does Input Processing Accepts service type, state, and country via web form Uses Claude AI to generate city lists Auto-categorizes services Creates search queries per city Data Collection Uses Bright Data's Google Maps dataset Processes in batches with rate limits Monitors scraping with retry logic Formats and handles API responses Quality Control Removes duplicates by name and phone Maintains clean data in Google Sheets Ensures structured, usable datasets ๐ Output Data Points | Field | Description | Example | | :-------------- | :-------------------------- | :---------------------------- | | Business Name | Company or business name | TechFix Computer Repair | | Category | Business category type | Electronics | | Country | Country location | US | | City | Specific city searched | Austin | | Phone Number | Contact phone number | +1 (555) 123-4567 | | Website URL | Business website | https://techfix.com | | Google Maps URL | Direct Maps link | https://maps.google.com/... | | Address | Full business address | 123 Main St, Austin, TX | | Operating Hours | Business hours | Mon-Fri 9AM-6PM | | Google Rating | Star rating | 4.5 | | Total Reviews | Number of reviews | 127 | | Reviews URL | Link to reviews | https://maps.google.com/reviews... | ๐ Setup Instructions Prerequisites n8n instance (self-hosted or cloud) Google account with Sheets access Bright Data account with Google Maps dataset access Anthropic API key for Claude AI Step-by-Step Import the workflow JSON into n8n Configure Bright Data credentials and dataset access Set up Google Sheets and OAuth2 credentials Configure Claude AI with your API key Replace all placeholder credential IDs and tokens. For improved security, use credentials instead of hardcoding the API token placeholder in the HTTP Request node. Test with sample data (e.g., "Coffee Shop" in California, US) Activate the workflow and use the form for submissions ๐ How to Customize Modify Geographic Scope Add countries to the form dropdown Customize Claude prompts for city generation Adjust search logic for international markets Enhance Data Collection Add more fields from Bright Data Include revenue, employee count, social profiles Improve Duplicate Detection Use fuzzy matching for similar names Include address-based checks Customize Output Format Transform data for CRM compatibility Export to CSV, database, or multiple destinations Implement Advanced Features Integrate email finder services Include lead scoring logic Discover social media profiles Batch Processing Optimization Adjust batch sizes per Bright Data limits Use parallel processing and retry logic Integration Options Connect to CRMs like HubSpot or Salesforce Trigger email automation Integrate with marketing platforms