by Amit Mehta
How it Works This workflow reads sheet details from a source Google Spreadsheet, creates a new spreadsheet, replicates the sheet structure, enriches the content by reading data, and writes it into the corresponding sheets in the new spreadsheet. The process is looped for every sheet, providing an automated way to duplicate and transform structured data. π― Use Case Automate duplication and data enrichment for multi-sheet Google Spreadsheets Replicate templates across new documents with consistent formatting Data team workflows requiring repetitive structured Google Sheets setup Setup Instructions 1. Required Google Sheets You must have a source spreadsheet with multiple sheets. The destination spreadsheet will be created automatically. 2. API Credentials Google Sheets OAuth2** β connect to both read and write spreadsheets. HTTP Request Auth** β if external API headers are needed. 3. Configure Fields in Write Sheet Ensure you define appropriate columns and mapping for the destination sheet. π Workflow Logic Manual Trigger: Starts the flow on user demand. Create New Spreadsheet: Generates a blank spreadsheet. HTTP Request: Retrieves all sheet names from the source spreadsheet. JavaScript Code: Extracts titles and metadata from the HTTP response. Loop Over Sheets: Iterates through each sheet retrieved. Delete Default Sheet: Removes the placeholder 'Sheet1'. Create Sheets: Replicates each original sheet in the new document. Read Spreadsheet1: Pulls data from the matching original sheet. Write Sheet: Appends the data to the newly created sheets. π§© Node Descriptions | Node Name | Description | |-----------|-------------| | Manual Trigger | Starts the workflow manually by user test. | | Create New Spreadsheet | Creates a new Google Spreadsheet for output. | | HTTP Request | Fetches metadata from the source spreadsheet including sheet names. | | Code | Processes sheet metadata into a list for iteration. | | Loop Over Items | Loops over each sheet to replicate and populate. | | Google Sheets2 | Deletes the default 'Sheet1' from the new spreadsheet. | | Create Sheets | Creates a new sheet matching each source sheet. | | Read Spreadsheet1 | Reads data from the source sheet. | | Write sheet | Writes the data into the corresponding new sheet. | π οΈ Customization Tips Adjust the Google Sheet title to be dynamic or user-input driven Add filtering logic before writing data Append custom audit columns like 'Timestamp' or 'Processed By' Enable logging or Slack alerts after each sheet is created π Required Files | File Name | Purpose | |-----------|---------| | My_workflow_4.json | Main workflow JSON file for sheet duplication and enrichment | π§ͺ Testing Tips Test with a spreadsheet containing 2β3 simple sheets Validate whether all sheets are duplicated Check if columns and data structure remain intact Watch for authentication issues in Google Sheets nodes π· Suggested Tags & Categories #GoogleSheets #Automation #DataEnrichment #Workflow #Spreadsheet
by John Alejandro SIlva
π€π¨ Telegram AI Assistant with Multi-File Media Group Handling, Smart File Processing & PostgreSQL Integration > AI-powered Telegram bot for text, voice, video, documents & media β with database-driven grouping and Telegram-safe formatting. π Description This n8n template creates a next-generation Telegram AI assistant π§ π¬ capable of handling text messages, media files, and documents with advanced processing, PostgreSQL integration, and AI-powered responses. It is designed to solve Telegramβs media group challenge π¦ β when multiple files are sent together, they are stored, processed, and combined into one coherent AI-generated reply. β¨ Key Features π Multi-file media group management with PostgreSQL: media_group media_queue chat_histories π Document parsing for CSV, HTML, ICS, JSON, ODS, PDF (with AI fallback), RTF, TXT, XML, and spreadsheets. π€ Voice & video transcription for AI analysis. πΌοΈ Image, audio, and video description for richer AI context. π‘οΈ Telegram-safe MarkdownV2 formatting with auto-splitting for messages over 4096 chars. β οΈ Error fallback for unsupported file types. π‘ Acknowledgment A huge thank you to Ezema Gingsley Chibuzo π for the inspiration of the first version of this workflow: Create a Multi-Modal Telegram Support Bot with GPT-4 and Supabase RAG Your pioneering work laid the foundation for this improved, database-powered multi-modal assistant π π· Tags telegram ai-assistant postgresql multi-file media-group file-processing voice-transcription document-parser pdf-extraction markdown-formatting n8n-template πΌ Use Case Use this template if you need an AI-powered Telegram bot that can: π¦ Handle multiple files sent in a single message (albums, multiple PDFs, etc.). π§Ύ Extract & analyze content from many file formats. ποΈ Transcribe voice and video messages. ποΈ Maintain chat memory for contextual AI answers. π‘οΈ Avoid Telegram formatting errors and length limit issues. This workflow automates the full chain: Receive β Process β AI Analysis β Telegram-safe Reply. π¬ Example User Interactions π Multiple PDFs with a caption** β AI extracts and summarizes all PDFs in one combined reply. π€ Voice message** β AI transcribes and replies with a contextual answer. π CSV or spreadsheet file** β AI parses and summarizes the data. πΌοΈ Multiple images** β AI describes each image and replies in a single message. π Required Credentials Telegram Bot API** (Bot Token) PostgreSQL** (Connection credentials) AI Provider API** (OpenAI, Google Gemini, or compatible LLM) βοΈ Setup Instructions ποΈ Create the PostgreSQL tables (Gray section SQL): media_group media_queue chat_histories π Configure the Telegram Trigger with your bot token. π€ Connect your AI provider credentials. ποΈ Set up PostgreSQL credentials in the database nodes. βΆοΈ Deploy the workflow in n8n. π― Start sending messages and files to your bot. π Extra Notes β Green section ensures only one trigger per media group. π Yellow section guarantees captions and files are stored in the correct sequence. β¨ Purple section formats AI output to be Telegram-safe and split if needed. π§ AI prompt is not fixed, allowing full customization. π‘ Need Assistance? If youβd like help customizing or extending this workflow, feel free to reach out: π§ Email: johnsilva11031@gmail.com π LinkedIn: John Alejandro Silva RodrΓguez
by Robert Breen
This n8n workflow finds experts on any topic, scrapes their websites, and pulls out contact emails automatically. Core services used: SerpAPI (google search) Β· Apify (website crawler) Β· OpenAI (GPT-4o email extraction). π οΈ Step-by-Step Setup & Execution 1οΈβ£ Run Workflow (Manual Trigger) | Node | Type | Purpose | |------|------|---------| | Run Workflow | Manual Trigger | Start the workflow on demand while you test. | 2οΈβ£ Set Your Topic | Node | Type | How to configure | |------|------|------------------| | Set Topic | Set | Add a string field Topic β e.g. "n8n". This keyword drives every subsequent step. | 3οΈβ£ Search Google (Results 1-10) | Node | Type | API Credential | |------|------|----------------| | Search Google (top 10) | SerpAPI | Create SerpAPI credential1. Sign up β copy API key β n8n β Credentials β New β SerpAPI β paste.2. Select the credential in this node. | | Key Params | | | | q | | ={{ $json.Topic }} Expert | | location | | Region code (ex 585069efee19ad271e9c9b36) | | additionalFields.start | | "10" (Google position 1-10)| 4οΈβ£ Search Google (Results 11-20) | Node | Type | Notes | |------|------|-------| | Search Google (11-20) | SerpAPI (same credential) | Remove start or set to 20+ to fetch next page. | 5οΈβ£ Extract URL Lists | Node | Type | Script Purpose | |------|------|----------------| | Extract Url & Extract Url 2 | Code | Loop data.organic_results β output { title, link, displayed_link } for each result. | 6οΈβ£ Combine Both Result Sets | Node | Type | Details | |------|------|---------| | Append Results | Merge (combineAll) | Merges arrays from steps 3 & 4 into a single list for processing. | 7οΈβ£ Loop Over Every URL | Node | Type | Configuration | |------|------|---------------| | Loop Over Items1 | Split In Batches | Default batch = 1 (process one page at a time).onError = continueRegularOutput keeps loop alive on failures. | 8οΈβ£ Scrape Webpage Content (Apify) | Node | Type | API Credential | |------|------|----------------| | Scrape URL with apify | HTTP Request | Create Apify credential1. Sign up at https://console.apify.com2. Account β API tokens β copy.3. n8n β Credentials β New β HTTP Query Auth β set query param token=YOUR_TOKEN. | | Request Details | | | | Method | POST | | URL | https://api.apify.com/v2/acts/6sigmag~fast-website-content-crawler/run-sync-get-dataset-items | | JSON Body | 9οΈβ£ Extract Email with OpenAI | Node | Type | API Credential | |------|------|----------------| | Extract Email from webpage | LangChain Agent | Create OpenAI credential1. Generate key at https://platform.openai.com/account/api-keys2. n8n β Credentials β New β OpenAI API β paste key. | | Prompt (system) | | Output Parser | Structured Output Parser2 expects β { "email": "address OR null" } | π Loop Continues & Final Data The extracted result returns to Loop Over Items1 until every URL is processed. Typical final item JSON**: { "title": "How to Build n8n Workflows", "link": "https://example.com", "email": "info@example.com" } π‘ Optional Enhancements Idea How Save Leads Add a Google Sheets or Airtable node after the loop. Validate Emails Chain a ZeroBounce / Hunter.io verification API before saving. Parallel Crawling Increase SplitInBatches size (watch Apify rate limits). πββοΈ Need More Help? Robert Breen β Automation Consultant & n8n Expert π§ robert.j.breen@gmail.com π https://www.linkedin.com/in/robert-breen-29429625/ π https://ynteractive.com
by Emmanuel Bernard
This workflow illustrates how to use Perplexity AI in your n8n workflow. Perplexity is a free AI-powered answer engine that provides accurate, trusted, and real-time answers to any question. Credentials Setup 1/ Go to the perplexity dashboard, purchase some credits and create an API Key https://www.perplexity.ai/settings/api 2/ In the perplexity Request node, use Generic Credentials, Header Auth. For the name, use the value "Authorization" And for the value "Bearer pplx-e4...59ea" (Your Perplexity Api Key) AI Model Sonar Pro is the current top model used by perplexity. If you want to use a different one, check this page: https://docs.perplexity.ai/guides/model-cards
by explorium
Explorium Prospects Search Chatbot Template Download the following json file and import it to a new n8n workflow: mcp\_to\_prospects\_to\_csv.json Overview This n8n workflow creates a chatbot that understands natural language requests for finding business prospects and automatically: Interprets your query using AI (Claude Sonnet 3.7) Converts it to proper Explorium API filters Validates the API request structure Fetches prospect data from Explorium Exports results as a downloadable CSV file Perfect for sales teams, recruiters, and business development professionals who need to quickly find and export targeted prospect lists without learning complex API syntax. Key Features Natural Language Interface**: Simply describe who you're looking for in plain English Smart Query Translation**: AI converts your request to valid API parameters Built-in Validation**: Ensures API calls meet Explorium's requirements Error Recovery**: Automatically retries with corrections if validation fails Pagination Support**: Handles large result sets automatically CSV Export**: Clean, formatted output ready for CRM import Conversation Memory**: Maintains context for follow-up queries Example Queries The chatbot understands queries like: "Find marketing directors at SaaS companies in New York with 50-200 employees" "Get me CTOs from fintech startups in California" "Show me sales managers at healthcare companies with revenue over $10M" "Find engineers at Microsoft with 3-5 years experience" "Get customer service leads from e-commerce companies in Europe" Prerequisites Before setting up this workflow, ensure you have: n8n instance with chat interface enabled Anthropic API key for Claude Explorium API credentials (Bearer token) - Get explorium api key Basic understanding of n8n chat workflows Supported Filters The chatbot can search using these criteria: Company Filters Size**: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+ employees Revenue**: Ranges from $0-500K up to $10T+ Age**: 0-3, 3-6, 6-10, 10-20, 20+ years Location**: Countries, regions, cities Industry**: Google categories, NAICS codes, LinkedIn categories Name**: Specific company names Prospect Filters Job Level**: CXO, VP, Director, Manager, Senior, Entry, etc. Department**: Sales, Marketing, Engineering, Finance, HR, etc. Experience**: Total months and current role duration Location**: Country and region codes Contact Info**: Filter by email/phone availability Installation & Setup Step 1: Import the Workflow Copy the workflow JSON from the template In n8n: Workflows β Add Workflow β Import from File Paste the JSON and click Import Step 2: Configure Anthropic Credentials Click on the Anthropic Chat Model1 node Under Credentials, click Create New Add your Anthropic API key Name: "Anthropic API" Save credentials Step 3: Configure Explorium Credentials You'll need to set up Explorium credentials in two places: For MCP Client: Click on the MCP Client node Under Credentials, create new Header Auth Add your authentication header (usually Authorization: Bearer YOUR_TOKEN) Save credentials For API Calls: Click on the Prospects API Call node Use the same Header Auth credentials created above Verify the API endpoint is correct Step 4: Activate the Workflow Save the workflow Click the Active toggle to enable it The chat interface will now be available Step 5: Access the Chat Interface Click on the When chat message received node Copy the webhook URL Access this URL in your browser to start chatting How It Works Workflow Architecture Chat Trigger: Receives natural language queries from users Memory Buffer: Maintains conversation context AI Agent: Interprets queries and generates API parameters Validation: Checks API structure against Explorium requirements API Call: Fetches prospect data with pagination Data Processing: Formats results for CSV export File Conversion: Creates downloadable CSV file Processing Flow User Query β AI Interpretation β Validation β API Call β CSV Export β β βββββ Error Correction Loop ββββββββ Validation Rules The workflow validates: Filter keys are allowed by Explorium API Values match expected formats (e.g., valid country codes) Range filters have proper gte/lte values No duplicate values in arrays Required structure is maintained Usage Guide Basic Conversation Flow Start with your query: "Find me VPs of Sales at software companies in the US" Bot processes and responds: Generates API filters Validates the structure Fetches data Returns CSV download link Refine if needed: "Can you also include directors and filter for companies with 100+ employees?" Query Tips Be specific**: Include job titles, departments, company details Use standard terms**: "CTO" instead of "Chief Technology Officer" Specify locations**: Use country names or standard codes Include size/revenue**: Helps narrow results effectively Advanced Queries Combine multiple criteria: "Find engineering managers and senior engineers at B2B SaaS companies in New York and California with 50-500 employees and revenue over $5M who have been in their role for at least 1 year" Output Format The CSV file includes: Prospect ID Name (first, last, full) Location (country, region, city) LinkedIn profile Experience summary Skills and interests Company details Job information Business ID Troubleshooting Common Issues "Validation failed" errors Check that your query uses supported filter values Ensure location names are spelled correctly Verify company sizes/revenues match allowed ranges No results returned Broaden your search criteria Check if the company exists in Explorium's database Verify filter combinations aren't too restrictive Chat not responding Ensure workflow is activated Check all credentials are properly configured Verify webhook URL is accessible Large result sets timing out Try adding more specific filters Limit results by location or company size Use the size parameter (max 10,000) Error Messages The bot provides clear feedback: Invalid filters**: Shows which filters aren't supported Value errors**: Lists correct options for each field API failures**: Explains connection or authentication issues Performance Optimization Best Practices Start broad, then narrow: Begin with basic criteria and add filters Use business IDs: When targeting specific companies Limit by contact info: Add has_email: true for actionable leads Batch by location: Process regions separately for large searches API Limits Maximum 10,000 results per search Pagination handles up to 100 records per page Rate limits apply based on your Explorium subscription Customization Options Modify AI Behavior Edit the AI Agent system message to: Change response format Add custom filters Adjust interpretation logic Include additional instructions Extend Functionality Add nodes to: Send results via email Import directly to CRM Schedule recurring searches Create custom reports Integration Ideas Connect to Slack for team queries Add to CRM workflows Create lead scoring systems Build automated outreach campaigns Security Considerations API credentials are stored securely in n8n Chat sessions are isolated No prospect data is stored permanently CSV files are generated on-demand Support Resources For issues with: n8n platform**: Check n8n documentation Explorium API**: Contact Explorium support Anthropic/Claude**: Refer to Anthropic docs Workflow logic**: Review node configurations
by Humble Turtle
Architecture Agent Overview The Architect Agent listens to Slack messages and generates full data architecture blueprints in response. Powered by Claude 3.5 (Anthropic) for reasoning and design, and Tavily for real-time web search, this agent creates production-ready data pipeline scaffolds on-demand β transforming natural language prompts into structured data engineering solutions. Capabilities Understands and interprets user requests from Slack Designs end-to-end data pipelines architectures using industry best practices. Outputs include High-level architecture diagrams Required Connections To operate correctly, the following integrations must be in place: Slack API Token with permission to read messages and post responses Tavily API Key for external search functionality Claude 3.5 API Access via Anthropic Detailed configuration instructions are provided in the workflow Setup time <15 minutes Example input: "Create a data pipeline orchestrated by Airflow, running on a Docker image. It should connect to a MySQL database, load in the data into a PostgreSQL DB (incremental load) and then transform the data into business-oriented tables also in the PostgreSQL database. Create an example setup with raw sales data." Customising this workflow Try saving outputs to Google Drive to store all your architecture blueprints
by Incrementors
Yelp Business Scraper by URL via Bright Data API with Google Sheets Storage Overview This n8n workflow automates the process of scraping comprehensive business information from Yelp using individual business URLs. It integrates with Bright Data for professional web scraping and Google Sheets for centralized data storage, providing detailed business intelligence for market research, competitor analysis, and lead generation. Workflow Components 1. π₯ Form Trigger Type**: Form Trigger Purpose**: Initiates the workflow with user-submitted Yelp business URL Input Fields**: URL (Yelp business page URL) Function**: Captures target business URL to start the scraping process 2. π Trigger Bright Data Scrape Type**: HTTP Request (POST) Purpose**: Sends scraping request to Bright Data API for Yelp business data Endpoint**: https://api.brightdata.com/datasets/v3/trigger Parameters**: Dataset ID: gd_lgugwl0519h1p14rwk Include errors: true Limit multiple results: 5 Limit per input: 20 Function**: Initiates comprehensive business data extraction from Yelp 3. π‘ Monitor Snapshot Status Type**: HTTP Request (GET) Purpose**: Monitors the progress of the Yelp scraping job Endpoint**: https://api.brightdata.com/datasets/v3/progress/{snapshot_id} Function**: Checks if the business data scraping is complete 4. β³ Wait 30 Sec for Snapshot Type**: Wait Node Purpose**: Implements intelligent polling mechanism Duration**: 30 seconds Function**: Pauses workflow before rechecking scraping status to optimize API usage 5. π Retry Until Ready Type**: IF Condition Purpose**: Evaluates scraping completion status Condition**: status === "ready" Logic**: True: Proceeds to data retrieval False: Loops back to status monitoring with wait 6. π₯ Fetch Scraped Business Data Type**: HTTP Request (GET) Purpose**: Retrieves the final scraped business information Endpoint**: https://api.brightdata.com/datasets/v3/snapshot/{snapshot_id} Format**: JSON Function**: Downloads completed Yelp business data with comprehensive details 7. π Store to Google Sheet Type**: Google Sheets Node Purpose**: Stores scraped business data for analysis and storage Operation**: Append rows Target**: "Yelp scraper data by URL" sheet Data Mapping**: Business Name, Overall Rating, Reviews Count Business URL, Images/Videos URLs Additional business metadata fields Workflow Flow Form Input β Trigger Scrape β Monitor Status β Wait 30s β Check Ready β β ββββ Loop ββββββ β Fetch Data β Store to Sheet Configuration Requirements API Keys & Credentials Bright Data API Key**: Required for Yelp business scraping Google Sheets OAuth2**: For data storage and export access n8n Form Webhook**: For user input collection Setup Parameters Google Sheet ID**: Target spreadsheet identifier Dataset ID**: gd_lgugwl0519h1p14rwk (Yelp business scraper) Form Webhook ID**: User input form identifier Google Sheets Credential ID**: OAuth2 authentication Key Features Comprehensive Business Data Extraction Complete business profile information Customer ratings and review counts Contact details and business hours Photo and video content URLs Location and category information Intelligent Status Monitoring Real-time scraping progress tracking Automatic retry mechanisms with 30-second intervals Status validation before data retrieval Error handling and timeout management Centralized Data Storage Automatic Google Sheets export Organized business data format Historical scraping records Easy sharing and collaboration URL-Based Processing Direct Yelp business URL input Single business deep-dive analysis Flexible input through web form Real-time workflow triggering Use Cases Market Research Competitor business analysis Local market intelligence gathering Industry benchmark establishment Service offering comparison Lead Generation Business contact information extraction Potential client identification Market opportunity assessment Sales prospect development Business Intelligence Customer sentiment analysis through ratings Competitor performance monitoring Market positioning research Brand reputation tracking Location Analysis Geographic business distribution Local competition assessment Market saturation evaluation Expansion opportunity identification Data Output Fields | Field | Description | Example | |-------|-------------|---------| | Name | Business name | "Joe's Pizza Restaurant" | | Overall Rating | Average customer rating | "4.5" | | Reviews Count | Total number of reviews | "247" | | URL | Original Yelp business URL | "https://www.yelp.com/biz/joes-pizza..." | | Images/Videos URLs | Media content links | "https://s3-media1.fl.yelpcdn.com/..." | Technical Notes Polling Interval**: 30-second status checks for optimal API usage Result Limiting**: Maximum 20 businesses per input, 5 multiple results Data Format**: JSON with structured field mapping Error Handling**: Comprehensive error tracking in all API requests Retry Logic**: Automatic status rechecking until completion Form Input**: Single URL field with validation Storage Format**: Structured Google Sheets with predefined columns Setup Instructions Step 1: Import Workflow Copy the JSON workflow configuration Import into n8n: Workflows β Import from JSON Paste configuration and save Step 2: Configure Bright Data Set up credentials: Navigate to Credentials β Add Bright Data API Enter your Bright Data API key Test connection Update API key references: Replace BRIGHT_DATA_API_KEY in all HTTP request nodes Verify dataset access for gd_lgugwl0519h1p14rwk Step 3: Configure Google Sheets Create target spreadsheet: Create new Google Sheet named "Yelp Business Data" or similar Copy the Sheet ID from URL Set up OAuth2 credentials: Add Google Sheets OAuth2 credential in n8n Complete authentication process Update workflow references: Replace YOUR_GOOGLE_SHEET_ID with actual Sheet ID Update YOUR_GOOGLE_SHEETS_CREDENTIAL_ID with credential reference Step 4: Test and Activate Test with sample URL: Use a known Yelp business URL Monitor execution progress Verify data appears in Google Sheet Activate workflow: Toggle workflow to "Active" Share form URL with users Sample Business Data The workflow captures comprehensive business information including: Basic Information**: Name, category, location Performance Metrics**: Ratings, review counts, popularity Contact Details**: Phone, website, address Visual Content**: Photos, videos, gallery URLs Operational Data**: Hours, services, amenities Customer Feedback**: Review summaries, sentiment indicators Advanced Configuration Batch Processing Modify the input to accept multiple URLs: [ {"url": "https://www.yelp.com/biz/business-1"}, {"url": "https://www.yelp.com/biz/business-2"}, {"url": "https://www.yelp.com/biz/business-3"} ] Enhanced Data Fields Add more extraction fields by updating the dataset configuration: Business hours and schedule Menu items and pricing Customer photos and reviews Special offers and promotions Notification Integration Add alert mechanisms: Email notifications for completed scrapes Slack messages for team updates Webhook triggers for external systems Error Handling Common Issues Invalid URL**: Ensure URL is a valid Yelp business page Rate Limiting**: Bright Data API usage limits exceeded Authentication**: Google Sheets or Bright Data credential issues Data Format**: Unexpected response structure from Yelp Troubleshooting Steps Verify URLs: Ensure Yelp business URLs are correctly formatted Check Credentials: Validate all API keys and OAuth tokens Monitor Logs: Review n8n execution logs for detailed errors Test Connectivity: Verify network access to all external services Performance Specifications Processing Time**: 2-5 minutes per business URL Data Accuracy**: 95%+ for publicly available business information Success Rate**: 90%+ for valid Yelp business URLs Concurrent Processing**: Depends on Bright Data plan limits Storage Capacity**: Unlimited (Google Sheets based) **For any questions or support, please contact: info@incrementors.com or fill out this form: https://www.incrementors.com/contact-us/
by Julian Kaiser
ποΈ Bulk File Upload to Google Drive with Folder Management How it works User submits files and target folder name via form Workflow checks if folder exists in Drive Creates folder if needed or uses existing one Processes and uploads all files maintaining structure Set up steps (Est. 10-15 mins) Set up Google Drive credentials in n8n Replace parent folder ID in search query with your Drive folder ID Configure form node with: Multiple file upload field Folder name text field Test workflow with sample files π‘ Detailed configuration steps and patterns are documented in sticky notes within the workflow. Perfect for: Bulk file organization Automated Drive folder management File upload automation Maintaining consistent file structures
by Jordan Lee
This flexible template scrapes business listings for any industry and location, perfect for sales teams, marketers, and researchers. Good to know Works with any business category (restaurants, contractors, retailers, etc.) Fully customizable search parameters Results automatically organized in Google Sheets Built-in delay ensures scraping completes before data collection How it works Trigger: Manual or scheduled start Apify Configuration: Sets scraping parameters (industry, location, data fields) Scraping Execution: Runs the web scraping job Data Processing: Cleans and structures the raw data Storage: Saves results to your Google Sheets What is Apify? Apify is a webscraping tool, in this workflow the data is scraped from a google maps scraper: https://apify.com/compass/crawler-google-places How to use Apify Small # Lead Generation (Purple) https://apify.com/compass/crawler-google-places Add location and industry to scrape (Apify) Add the number of leads to output (Apify) Copy over the JSON file into N8N Copy & paste API endpoint "Get Run URL" in N8N Apify Large # Lead Generation (Grey) Configure the Manual Trigger When clicking 'Execute workflow' node is ready to use as-is This triggers the entire lead generation process Setup "Start Results (Apify)" Node Get Your Apify API Information Go to Apify.com and create a free account Navigate to Settings β Integrations β API tokens Copy your API token Find the Google Maps scraper actor ID: Configure the HTTP Request (start results) Method: POST URL: Replace "enter apify (get run)" with: https://api.apify.com/v2/acts/nwua9Gu5YrADL7ZDj/runs?token=YOUR_API_TOKEN C. Customize the JSON Body Parameters In the JSON body, modify these key fields: Location & Search: "locationQuery": Change "Toronto" to your target city "searchStringsArray": Change ["barber"] to your business type Examples: ["restaurants"], ["dentists"], ["contractors"] Configure the HTTP Request (start results) Method : Get Url: enter the get dataset URL from Apify Split Out Node Select fields to append in the google sheet Test the Configuration Click Execute workflow to test Check that the Apify job starts successfully Note the job ID returned for the next section This section initiates the scraping process and should complete in 30-60 seconds depending on your lead count. Setup Google Sheets Create a new Google Sheet with these columns: title (business name) address (full address) state (state/province) neighborhood (area/district) phone (contact number) emails (email addresses) Copy your Google Sheets document ID for workflow configuration Requirements Apify account Google Sheets document Google OAuth credentials Customization Options For different use cases: Lead Gen: Get business leads Local SEO: Collect competitor data Market Research: Analyze industry trends Advanced mofications: Add email enrichment Integrate with CRM systems Set up automatic daily runs
by ankitkansaldev
π° Comprehensive Reuters News Intelligence System With Brightdata & Telegram Alerts A powerful n8n automation workflow that scrapes the latest Reuters news articles using Bright Data's web scraping capabilities and delivers intelligent news summaries directly to your Telegram chat. π Overview This workflow provides an automated news intelligence solution that monitors Reuters for breaking news, analyzes content using Claude AI, and delivers personalized news alerts. Perfect for journalists, researchers, traders, and anyone who needs real-time access to Reuters content with AI-powered insights. β¨ Key Features π― Form-Based Input: Easy web form to specify keywords and news type preferences π€ AI-Powered Processing: Uses Claude 4 Sonnet for intelligent content analysis π Professional Scraping: Leverages Bright Data's Reuters dataset for reliable data extraction π± Telegram Integration: Instant notifications delivered to your preferred chat β° Smart Waiting: Built-in delays to ensure data processing completion π Status Monitoring: Automatic scraping status checks with retry logic π Data Formatting: Clean, structured output with essential article fields π Scalable Design: Handles multiple articles with batch processing π― What This Workflow Does Input Keywords**: Search terms for Reuters articles (e.g., "Election", "Gas shocks", "Technology") News Type**: Sorting preference (newest, oldest, relevance) Form Submission**: Web-based interface for easy interaction Processing Form Trigger: Captures user input via web form interface AI Agent Orchestration: Claude processes requirements and coordinates actions Bright Data Request: Initiates Reuters scraping with specified keywords Status Monitoring: Checks scraping progress with smart retry logic Data Retrieval: Fetches completed article data when ready Content Processing: Extracts and formats essential article information Telegram Delivery: Sends structured news updates to specified chat Output Data Points | Field | Description | Example | |-------|-------------|---------| | article_title | The main headline of the article | "Global Energy Markets Face Uncertainty" | | headline | Reuters display headline | "Oil Prices Surge Amid Supply Concerns" | | description | Article summary/meta description | "Energy markets react to geopolitical tensions..." | | content | Full article body text | "LONDON (Reuters) - Oil prices jumped 3%..." | | article_url | Direct link to Reuters article | "https://reuters.com/business/energy/..." | π Setup Instructions Prerequisites n8n instance (self-hosted or cloud) Bright Data account with Reuters dataset access Telegram bot and channel setup Claude API access (Anthropic) 15-20 minutes for complete setup Step 1: Import the Workflow Copy the JSON workflow code from the provided file In n8n: Workflows β + Add workflow β Import from JSON Paste JSON content and click Import Save the workflow with a descriptive name Step 2: Configure Bright Data Integration Set up Bright Data credentials: In n8n: Credentials β + Add credential β HTTP Header Auth Name: "Bright Data API" Add header: Authorization: Bearer YOUR_BRIGHT_DATA_API_KEY Test the connection Configure Reuters dataset: Ensure access to dataset ID: gd_lyptx9h74wtlvpnfu Verify Reuters scraping permissions in Bright Data dashboard Check monthly quota and usage limits Step 3: Configure Anthropic Claude Integration Set up Anthropic credentials: In n8n: Credentials β + Add credential β Anthropic API Enter your Anthropic API key Test the connection Update model settings: Open "Anthropic Chat Model" node Verify model is set to: claude-sonnet-4-20250514 Adjust temperature and other parameters if needed Step 4: Configure Telegram Notifications Create Telegram Bot: Message @BotFather on Telegram Use /newbot command and follow instructions Save the bot token provided Get Chat ID: Add your bot to desired channel/group Send a test message Visit: https://api.telegram.org/bot{BOT_TOKEN}/getUpdates Find your chat ID in the response Set up Telegram credentials: In n8n: Credentials β + Add credential β Telegram API Enter bot token from BotFather Test the connection Update Telegram node: Open "Telegram" node Replace DEMO_CHAT_ID with your actual chat ID Customize message format if needed Step 5: Configure Web Form Set up form trigger: Open "On form submission" node Note the webhook URL provided Customize form title and fields if needed Test form functionality: Access the webhook URL in your browser Fill out test form with sample keywords Verify form submission triggers workflow Step 6: Update Node Configurations Update HTTP Request nodes: Replace BRIGHT_DATA_API_KEY with actual credentials reference Verify dataset ID matches your Bright Data setup Check request parameters and headers Configure Data Formatting: Open "Data Formatting" node Review JavaScript code for field extraction Modify output fields if additional data needed Step 7: Test & Activate Run initial test: Submit form with test keywords (e.g., "Technology") Monitor workflow execution in n8n Check for Telegram message delivery Verify data flow: Confirm Bright Data snapshot creation Check status monitoring functionality Validate final data formatting Activate workflow: Toggle workflow to "Active" status Monitor for any execution errors Set up error notifications if needed π Usage Guide Submitting News Requests Access the form: Navigate to your webhook URL Form title: "Reuters News Intelligence" Fill required fields: Keywords: Enter search terms (e.g., "Climate Change", "Tech Earnings") News Type: Select sorting preference: newest: Most recent articles first oldest: Historical articles first relevance: Best matching articles Submit and wait: Click submit to trigger workflow Expect 1-3 minutes for processing Check Telegram for article delivery Understanding the Process The workflow follows this sequence: Form submission triggers Claude AI agent Claude coordinates all scraping and processing steps Bright Data scrapes Reuters with your keywords System waits for scraping completion (60 seconds) Status check confirms data readiness Article data is retrieved and formatted Telegram message delivers final results Reading Telegram Results Each article includes: Clickable URL** to full Reuters article Headline** for quick scanning Description** with article summary Content preview** with key details π§ Customization Options Modifying Search Parameters Edit the "HTTP Request" node to adjust: { "keyword": "Your search terms", "sort": "newest|oldest|relevance", "limit_per_input": "2-10 articles" } Customizing Telegram Messages Update the "Telegram" node message format: ποΈ {{ $json.heading }} π {{ $json.description }} π Read Full Article π Retrieved: {{ $now.format('YYYY-MM-DD HH:mm') }} Adding Email Notifications Add "Email" node after "Data Formatting" Configure SMTP credentials Create HTML email template with article data Connect to same input as Telegram node Enhancing AI Processing Modify the MCP Agent prompt to: Request specific article sections Add sentiment analysis Include market impact assessment Generate executive summaries Extract key quotes and statistics Adding Data Storage Include database storage by: Adding "Postgres" or "MySQL" node Creating articles table with schema Storing full article data for analysis Building historical news database π¨ Troubleshooting Common Issues & Solutions 1. "Bright Data snapshot failed" Cause**: Invalid API key or dataset access Solution**: Verify credentials and dataset permissions in Bright Data dashboard 2. "No articles found" Cause**: Keywords too specific or no matching content Solution**: Try broader search terms, check Reuters availability 3. "Telegram message not sent" Cause**: Invalid bot token or chat ID Solution**: Re-verify bot setup with @BotFather, confirm chat ID 4. "Workflow timeout" Cause**: Bright Data scraping taking too long Solution**: Increase timeout in "sleep tool" or add retry logic 5. "Data formatting errors" Cause**: Unexpected response structure from Bright Data Solution**: Check "Data Formatting" node logs, adjust parsing logic 6. "Claude API errors" Cause**: API key issues or rate limiting Solution**: Verify Anthropic credentials, check usage limits Advanced Troubleshooting Monitor execution logs** in n8n for detailed error messages Test individual nodes** by running them separately Verify JSON structures** ensure data flows correctly between nodes Check rate limits** for both Bright Data and Claude API Add error handling** implement try-catch logic for robust operation π Use Cases & Examples 1. Financial News Monitoring Goal: Track market-moving Reuters financial news Keywords: "earnings", "fed rates", "market outlook" Instant alerts for breaking financial news Support trading and investment decisions 2. Competitive Intelligence Goal: Monitor industry-specific news for business insights Keywords: Company names, industry terms Track competitor mentions and market developments Generate competitive analysis reports 3. Crisis Communications Goal: Stay informed during breaking news events Keywords: "breaking", location names, event types Rapid response to developing situations Crisis management team notifications 4. Research & Academia Goal: Gather news data for academic research Keywords: Research topics, geographic regions Build datasets for media analysis Track news coverage patterns over time β Advanced Configuration Scaling for High Volume To handle larger news monitoring needs: Increase batch processing: Modify limit_per_input parameter Add parallel processing branches Implement queue management Add rate limiting: Insert delays between requests Monitor API usage quotas Implement exponential backoff Database integration: Store articles in PostgreSQL/MySQL Add deduplication logic Create search and filter capabilities Multi-Channel Distribution Expand beyond Telegram: Slack integration: Add Slack webhook node Format messages for team channels Include interactive buttons Email newsletters: Compile daily/weekly summaries HTML formatting with images Subscriber management API endpoints: Create webhook responses Build news API for other systems Real-time data streaming AI Enhancement Options Leverage Claude's capabilities further: Sentiment analysis: Add sentiment scoring to articles Track market sentiment trends Generate mood indicators Summarization: Create executive summaries Extract key points Generate abstracts Classification: Categorize articles by topic Tag with relevant industries Priority scoring system π Performance & Limits Expected Performance Single request**: 60-120 seconds average processing time Articles per request**: 2-10 (configurable) Data accuracy**: 95%+ for standard Reuters articles Success rate**: 90%+ for accessible content Daily capacity**: Limited by Bright Data quotas Resource Usage Memory**: ~200MB per execution API calls**: 1 Bright Data + 1 Claude + 1 Telegram per execution Bandwidth**: ~5-10MB per article scraped Execution time**: 1-3 minutes per request Scaling Considerations Rate limiting**: Respect API quotas and limits Error handling**: Implement comprehensive retry logic Data validation**: Verify article quality and completeness Cost monitoring**: Track API usage across services Performance optimization**: Cache common requests when possible π€ Support & Community Getting Help n8n Community**: community.n8n.io Bright Data Support**: Contact through dashboard Anthropic Documentation**: docs.anthropic.com Telegram Bot API**: core.telegram.org/bots Contributing Share workflow improvements with the community Report issues and suggest enhancements Create variations for specific news sources Document best practices and optimizations π Quick Setup Checklist Before You Start β n8n instance running (self-hosted or cloud) β Bright Data account with Reuters dataset access β Anthropic API key for Claude access β Telegram bot created via @BotFather β 20 minutes for complete setup Setup Steps β Import Workflow - Copy JSON and import to n8n β Configure Bright Data - Set up API credentials and test β Configure Claude - Add Anthropic API credentials β Setup Telegram - Create bot and get chat ID β Update Credentials - Replace all demo values with real ones β Test Form - Submit test request and verify flow β Check Telegram - Confirm message delivery β Activate Workflow - Turn on for production use Ready to Use! π Your workflow form URL: https://your-n8n-instance.com/webhook/your-webhook-id π― Happy News Monitoring! This workflow provides a solid foundation for automated Reuters news intelligence. Customize it to fit your specific monitoring needs and use cases. The combination of Bright Data's reliable scraping, Claude's AI analysis, and Telegram's instant delivery creates a powerful news monitoring solution.
by Federico De Ponte
π Loop & Optimize Meta Tags with Google Gemini This workflow automates the shortening of meta titles and descriptions for SEOβdirectly from your Google Sheet, row by row, using Google Gemini. β What it does Reads rows from a Google Sheet (meta_title, meta_description, row_index) Loops through each row and checks if content exists Sends the data to Google Gemini for length-optimized output Cleans and parses the response Updates the original sheet with the shortened results π οΈ Setup Requirements Google Sheets (OAuth2 credentials connected in n8n) Google Gemini API key (configured in n8n credentials) Sheet must contain: row_index meta_title meta_description Output will be written into: meta_titleFixed meta_descriptionFixed
by Mihai Farcas
How it works: The workflow starts by sending a request to a website to retrieve its HTML content. It then parses the HTML extracting the relevant information The extracted data is storted and converted into a CSV file. The CSV file is attached to an email and sent to your specified address. The data is simultaneously saved to both Google Sheets and Microsoft Excel for further analysis or use. Set-up steps: Change the website to scrape in the "Fetch website content" node Configure Microsoft Azure credentials with Microsoft Graph permissions (required for the Save to Microsoft Excel 365 node) Configure Google Cloud credentials with access to Google Drive, Google Sheets and Gmail APIs (the latter is required for the Send CSV via e-mail node).