by Gain FLow AI
Overview This workflow automates the process of sending personalized cold email sequences to your prospects. It fetches un-emailed leads from your Google Sheet, validates their email addresses, and then dispatches tailored emails according to a predefined schedule. It updates your CRM (Google Sheet) with the status of each sent email, ensuring your outreach efforts are tracked and efficient. Use Case This workflow is perfect for: Sales Teams**: Automate the delivery of multi-stage cold email campaigns to a large volume of leads. Business Development**: Nurture prospects over time with a structured email sequence. Recruiters**: Send out introductory emails to potential candidates for open positions. Marketers**: Distribute personalized outreach for events, content, or product launches. Anyone doing cold outreach**: Ensure consistent follow-up and track email performance without manual effort. How It Works Scheduled Trigger: The workflow is set to run automatically at a defined interval (e.g., every 6 hours, as currently configured by the "Set Timer" node). This ensures regular outreach without manual intervention. Fetch Unsent Emails: The "Get Emails" node queries your Google Sheet to identify prospects who haven't yet received the current email in the sequence (i.e., "Email Sent " is "No"). Control Volume: A "Limit" node can be used to control the number of emails sent in each batch, preventing you from sending too many emails at once and potentially hitting sending limits. Loop Through Prospects: The "Loop Over Items" node processes each selected prospect individually. Email Validation (Conditional Send): An "If" node checks if the prospect's "Email Address" is valid and exists. This prevents sending emails to invalid addresses, improving deliverability. Send Email: "Send Email" Node: For valid email addresses, this node dispatches the personalized email to the prospect. It retrieves the recipient's email, subject, and body from your Google Sheet. "connect" Node: (Note: The provided JSON uses a generic emailSend node named "connect" that links to an SMTP credential. This represents the actual email sending mechanism, whether it's Gmail or a custom SMTP server.) Update CRM: After successfully sending an email, the "Update Records" node updates your Google Sheet. It marks the "Email Sent " column as "Yes" and records the "Sent on" timestamp and a "Message Id" for tracking. Delay Between Sends: A "Wait" node introduces a delay between sending emails to individual prospects. This helps mimic human sending behavior and can improve deliverability. How to Set It Up To set up your Automated Cold Email Sender, follow these steps: Google Sheet Setup: Duplicate the Provided Template: Make a copy of the Google Sheet Template (1TjXelyGPg5G8lbPDI9_XOReTzmU1o52z2R3v8dYaoQM) into your own Google Drive. This sheet should contain columns for "Name", "Email Address ", "Sender Email", "Email Subject", "Email Body", "Email Sent ", "Sent on", and "Message Id". Connect Google Sheets: Ensure your Google Sheets OAuth2 API credentials are set up in n8n and linked to the "Get Emails" and "Update Records" nodes. Update Sheet IDs: In both "Get Emails" and "Update Records" nodes, update the documentId with the ID of your copied template. Email Sending Service Credentials: Gmail: If using Gmail, ensure your Gmail OAuth2 credentials are configured and connected to the "Send Email" node (or the "connect" node, if that's your chosen sender). Other Email Services (SMTP): If you use a different email service, you'll need to set up an SMTP credential in n8n and connect it to the "connect" node. Refer to the "Sticky Note4" for guidance on non-Google email services. Configure Timer: In the "Set Timer" node, adjust the hoursInterval or other time settings to define how frequently you want the email sending process to run (e.g., every 6 hours, once a day, etc.). Control Volume (Optional): In the "Limit" node, you can set the maxItems to control how many emails are processed and sent in each batch. This is useful for managing email sending limits or gradual outreach. Import the Workflow: Import the provided workflow JSON into your n8n instance. Populate Your Sheet: Fill your copied Google Sheet with prospect data, including the email subject and body for each email you wish to send. Ensure the "Email Sent " column is initially "No". Activate and Monitor: Activate the workflow. It will begin fetching and sending emails based on your configured schedule. Monitor your Google Sheet to track the "Email Sent " status. This workflow provides a robust and automated solution for managing your cold email campaigns, saving you time and increasing your outreach efficiency.
by HoangSP
Medical Q&A Chatbot for Urology using RAG with Pinecone and GPT-4o This template provides an AI-powered Q&A assistant for the Urology domain using Retrieval-Augmented Generation (RAG). It uses Pinecone for vector search and GPT-4o for conversational responses. π§ Use Case This chatbot is designed for clinics or medical pages that want to automate question answering for Urology-related conditions. It uses a vector store of domain knowledge to return verified responses. π§ Requirements β OpenAI API key (GPT-4o or GPT-4o-mini) β Pinecone account with an active index β Verified Urology documents embedded into Pinecone βοΈ Setup Instructions Create a Pinecone vector index and connect it using the Pinecone credentials node. Upload Urology-related documents to embed using the Create Embeddings for Urology Docs node. Customize the chatbot system message to reflect your medical specialty. Deploy this chatbot on your website or link it with Telegram via the chat trigger node. π οΈ Components chatTrigger: Listens for user messages and starts the workflow. Medical AI Agent: GPT-based agent guided by domain-specific instructions. RAG Tool Vector Store: Fetches relevant documents from Pinecone using vector search. Memory Buffer: Maintains conversation context. Create Embeddings for Urology Docs: Encodes documents into vector format. π Customization You can replace the knowledge base with any other medical domain by: Updating the documents stored in Pinecone. Modifying the system prompt in the AI Agent node. π£ CTA This chatbot is ideal for clinics, medical consultants, or educational websites wanting a reliable AI assistant in Urology.
by Airtop
Recursive Web Scraping Use Case Automating web scraping with recursive depth is ideal for collecting content across multiple linked pagesβperfect for content aggregation, lead generation, or research projects. What This Automation Does This automation reads a list of URLs from a Google Sheet, scrapes each page, stores the content in a document, and adds newly discovered links back to the sheet. It continues this process for a specified number of iterations based on the defined scraping depth. Input Parameters: Seed URL: The starting URL to begin the scraping process. Example: https://example.com/ Links must contain: Restricts the links to those that contain this specified string. Example: https://example.com/ Depth: The number of iterations (layers of links) to scrape beyond the initial set. Example: 3 How It Works Starts by reading the Seed URL from the Google Sheet. Scrapes each page and saves its content to the specified document. Extracts new links from each page that match the Links must contain string, appends them to the Google Sheet. Repeats steps 2β3 for the number of times specified by Depth - 1. Setup Requirements Airtop API Key β free to generate. Credentials set up for Google Docs (requires creating a project on Google Console). Read how to. Credentials set up for Google Spreadsheet. Next Steps Add Filtering Rules**: Filter which links to follow based on domain, path, or content type. Combine with Scheduler**: Run this automation on a schedule to continuously explore newly discovered pages. Export Structured Data**: Extend the process to store extracted data in a CSV or database for analysis. Read more about website scraping for LLMS
by Airtop
Automating LinkedIn Enrichment and ICP Scoring Use Case This automation enriches a personβs data using LinkedIn and calculates an Ideal Customer Profile (ICP) score based on their professional presence. It is particularly useful for lead qualification, contact research, and targeted outreach. What This Automation Does The automation processes the following input parameters: Person Name**: Full name of the individual. Work Email**: Business email address to validate corporate identity. Airtop Profile (connected to Linkedin)**: A LinkedIn-authenticated Airtop Profile for enrichment. How It Works Email Filtering: Checks if the email is corporate (excludes free and personal domains). LinkedIn Profile Discovery: Searches and verifies the correct LinkedIn URL using Airtop. Data Enrichment: Extracts professional details from the LinkedIn profile. ICP Scoring: Calculates an ICP score based on extracted data and profile context. Merge Outputs: Consolidates enriched profile data and ICP results into a single output. Setup Requirements Airtop API Key An Airtop Profile authenticated on LinkedIn. Next Steps Combine with CRM Integration**: Push enriched and scored data into CRMs like HubSpot or Salesforce. Batch Processing**: Automate for lists of leads using Airtop + n8n or Airtop SDK. Scoring Customization**: Adjust scoring logic to reflect your ideal customer attributes more precisely. Read more about data enrichment and ICP scoring
by InfraNodus
Set Up ElevenLabs Voice Chat Agent using Graph RAG Knowledge Graphs as Experts This workflow creates an AI voice chatbot agent that has access to several knowledge bases at the same time (used as "experts"). These knowledge bases are provided using the InfraNodus GraphRAG using the knowledge graphs and providing high-quality responses without the need to set up complex RAG vector store workflows. We use ElevenLabs to set up a voice agent that can be embedded to any website or used via their API. The advantages of using GraphRAG instead of the standard vector stores for knowledge are: Easy and quick to set up (no complex data import workflows needed) and to update with new knowledge A knowledge graph has a holistic overview of your knowledge base Better retrieval of relations between the document chunks = higher quality responses Ability to reuse in other n8n workflows How it works This template uses the n8n AI agent node as an orchestrating agent that decides which tool (knowledge graph) to use based on the user's prompt. The user's prompt is received from the ElevenLabs Conversational AI agent via an n8n Webhook, which also takes care of the voice interaction. The response from n8n is then sent to the Webhook, which is polled by the ElevenLabs voice agent. This agent processes the response and provides the final answer. Here's a description step by step: The user submits a question using ElevenLabs voice interface The question is sent via the knowledge_base tool in ElevenLabs to the n8n Webhook with the POST request containing the user's prompt and sessionID for Chat Memory node in n8n. The n8n AI agent node checks a list of tools it has access to. Each tool has a description of the knowledge auto-generated by InfraNodus (we call each tool an "expert"). The n8n AI agent decides which tool should be used to generate a response. It may reformulate user's query to be more suitable for the expert. The query is then sent to the InfraNodus HTTP node endpoint, which will query the graph that corresponds to that expert. Each InfraNodus GraphRAG expert provides a rich response that takes the whole context into account and provides a response from each expertΒ (graph) along with a list of relevant statements retrieved using a combination or RAG and GraphRAG. The n8n AI Agent node integrates the responses received from the experts to produce the final answer. The final answer is sent back to the Webhook endpoint ElevenLabs conversational AI agent picks up the response arriving from the knowledge_base tool via the webhook and then condenses it for conversational format and transforms text into voice. How to use You need an InfraNodus GraphRAG API account and key to use this workflow. Create an InfraNodus account Get the API key at https://infranodus.com/api-access and create a Bearer authorization key for the InfraNodus HTTP nodes. Create a separate knowledge graph for each expert (using PDF / content import options) in InfraNodus For each graph, go to the workflow, paste the name of the graph into the body name field. Keep other settings intact or learn more about them at the InfraNodus access points page. Once you add one or more graphs as experts to your flow, add the LLM key to the OpenAI node and launch the workflow You will also need to set up an ElevenLabs account and to set up a conversational AI agent there. See the Post note in the n8n workflow for a complete step-by-step description or our support article on setting up ElevenLabs AI voice agent Once the voice AI agent is ready, you might want to combine it with a text AI chatbot workflow so your users have a choice between the text and voice interaction. In that case, you may be interested to use our free open-source website popup chat widget popupchat.dev where you can create an embed code to add to your blog or website and allow the user to choose between the text and voice interaction. Requirements An InfraNodus account and API key An OpenAI (or any other LLM) API key An ElevenLabs account FAQ 1. How many "experts" should I aim for? We recommend to aim for the number of experts as the optimal number of people in a team, which is usually 2-7. If you add more experts, your AI orchestrating agent will have troubles choosing the most suitable "expert" tool for the user's query. You can mitigate this by specifying in the AI agent description that it can choose maximum 3-7 experts to provide a response. 2. Why use InfraNodus GraphRAG and not standard vector store for knowledge? First, vector stores are complex to set up and to update. You'd need a separate workflow for that, decide on the vector dimensions, add metadata to your knowledge, etc. With InfraNodus, you have a complete RAG / GraphRAG solution under the hood that is easy to set up and provides high-quality responses that takes the overall structure and the relations between your ideas into account. 3 Why not use ElevenLabs' own knowledge? One of the reasons is that you want your knowledge base to be in one place so you can reuse it in other n8n workflows. Another reason is that you will not have such a good separation between the "experts" when you converse with the agent. So the answers you get will be based on top matches from all the books / articles you upload, while with the InfraNodus GraphRAG setup you can better control which graphs are consulted as experts and have an explicit way to display this data. Customizing this workflow You can use this same workflow with a Telegram bot, so you can interact with it using Telegram. There are many more customizations available on our GitHub repo for n8n workflows. Check out the complete setup guide for this workflow at https://support.noduslabs.com/hc/en-us/articles/20318967066396-How-to-Build-a-Text-Voice-AI-Agent-Chatbot-with-n8n-Elevenlabs-and-InfraNodus Also check out the video tutorial with a demo:
by Benjamin Jones (SaaS Alerts)
Collect and Email Authentication IP Addresses from SaaS Alerts (Last 24 Hours) Description This n8n workflow automates the process of collecting sign-in IP addresses from SaaS Alerts over the past 24 hours and emailing the results using SMTP2Go. Designed for security teams, IT administrators, and compliance officers, this workflow helps monitor user authentication activity, detect unusual sign-ins, and respond to potential security threats in real time. By automating data collection and email alerts, organizations can proactively track login patterns, ensure compliance with security policies, and mitigate risks associated with unauthorized access. Use Case This workflow is ideal for businesses and IT teams that need to: Monitor user authentication activity across SaaS applications. Identify login attempts from suspicious IPs. Automate security reporting and compliance tracking. Receive real-time alerts for unusual sign-in behaviors. Pre-Conditions & Requirements Before using this workflow, ensure you have: A SaaS Alerts account or another system that logs authentication IPs. An SMTP2Go account for sending email notifications. n8n set up with proper API credentials and database access (if applicable). Setup Instructions Configure SaaS Alerts API Obtain API from the SaaS Alerts Platform under the Settings menu. Set Up SMTP2Go for Email Alerts Create an SMTP2Go account if you donβt have one. Generate a SMTP2Go API key Verify that your sending email address has been configured and verified. Define recipient email addresses for security alerts. Customize the Workflow Modify filtering rules to track specific users, IP ranges, or flagged login attempts. Adjust email content to include relevant details for your team. Test & Deploy Run the workflow manually to verify data retrieval and email notifications. Schedule the workflow to run daily for automated monitoring. Workflow Steps Trigger β Starts manually or on a scheduled interval (e.g., every 24 hours). Fetch Authentication Logs β Retrieves sign-in IPs from SaaS Alerts or a custom API. Filter & Process Data β Extracts relevant login attempts based on defined criteria. Format Data for Reporting β Structures the data for readability in an email alert. Send Email Notification via SMTP2Go β Delivers the security report to designated recipients. Customization Options Modify Filtering Rules** β Track specific login behaviors, flagged IPs, or unusual patterns. Change Email Recipients** β Update the recipient list based on security team needs. Integrate with Security Dashboards** β Expand the workflow to log data into a SIEM system or incident response platform. Add Additional Triggers** β Configure alerts for specific login anomalies, such as failed login attempts. Keywords n8n security automation, authentication monitoring, login IP tracking, SMTP2Go email alerts, SaaS Alerts workflow, IT security automation, login anomaly detection
by Zakaria Ben
This workflow template is designed for dental assistants and anyone looking to automate appointment scheduling. It integrates Google Calendar for booking appointments and Google Sheets as a database to store patient information. How It Works The user interacts with the chatbot to schedule an appointment. The chatbot collects necessary details and checks availability via Google Calendar. If the requested time is available, the AI books the appointment. If unavailable, the AI suggests alternative time slots. Once booked, the AI logs the appointment details into Google Sheets for record-keeping. Setup Instructions π Watch this π₯ Setup Video for detailed instructions on running and customizing this workflow. Step 1: Set Up Credentials OpenAI API Key (for chatbot functionality). Google Account (for Google Sheets & Google Calendar integration). Step 2: Choose the Right Tools Select the correct Google Calendar in the Google Calendar tool. Choose the appropriate Google Sheets file in the Google Sheets tool. Step 3: Test Run a test to ensure everything works correctly. Once tested. Example Templates Below are sample Google Sheets template to help you get started.
by Nick Saraev
AI Upwork Application Agent with OpenAI & Google Docs Categories: AI Agents, Freelance Automation, Proposal Generation This workflow creates an intelligent AI agent that automates Upwork job applications by generating highly personalized proposals, professional Google Doc presentations, and visual workflow diagrams. Built by someone who earned over $500,000 on Upwork, this system demonstrates the exact templates and strategies that achieve superior response rates through perceived customization and value demonstration. Benefits Complete Application Automation** - Transform job descriptions into custom proposals, documents, and diagrams in minutes Proven Templates** - Based on $500K+ in Upwork earnings using exact strategies for high-converting applications Intelligent Personalization** - AI analyzes job requirements and customizes responses with relevant social proof Professional Asset Generation** - Creates Google Doc proposals and Mermaid workflow diagrams for enhanced perceived value Modular Architecture** - Three specialized sub-workflows handle different aspects of proposal generation High Response Rates** - Focuses on perceived customization and value demonstration over generic applications How It Works AI Agent Orchestration: Receives Upwork job descriptions through chat interface Maintains conversation context with window buffer memory Coordinates three specialized sub-workflows for comprehensive proposal generation Automatically integrates generated assets into cohesive application packages Application Copy Generation: Uses proven templates based on $500K+ Upwork success Follows structure: "Hi, I do [thing] all the time. So confident I created a demo: [link]" Incorporates personal social proof and achievements automatically Generates concise, spartan-toned applications that avoid generic AI language Google Doc Proposal Creation: Copies professional proposal template from Google Drive Generates structured content including system title, explanation, scope, and timeline Uses find-and-replace to populate template with AI-generated, personalized content Creates shareable documents with proper permissions for immediate client access Mermaid Diagram Visualization: Analyzes job requirements to create relevant workflow diagrams Generates Mermaid.js code for professional flowchart visualization Provides visual representation of proposed solutions Enhances perceived value through custom diagram creation Smart Template Integration: Automatically replaces placeholder text with generated Google Doc links Maintains consistent messaging across all generated assets Ensures cohesive presentation of application, proposal, and supporting materials Required Setup Configuration Personal Information Setup: Update the "aboutMe" variable in both Set Variable nodes with your credentials: Professional background and specializations Notable client achievements with specific revenue numbers Social proof elements (community size, subscriber count, etc.) Relevant project examples with quantified results Google Services Integration: Google Drive API Setup: Enable Google Drive API in Google Cloud Console Create OAuth2 credentials (Client ID and Client Secret) Connect n8n to Google Drive with proper permissions Google Docs Template: Copy the provided Google Docs proposal template to your Drive Update the template ID in the Google Drive node Customize template with your branding and standard language Google Docs API: Ensure Google Docs API is enabled in your Google Cloud project Test document creation and sharing permissions OpenAI API Configuration: Set up OpenAI API credentials across all OpenAI nodes Configure appropriate models (GPT-4O-mini recommended for speed) Set temperature to 0.7 for optimal personalization balance Monitor API usage to control costs Template Customization: Application Template**: Modify the proposal structure in OpenAI prompts to match your services Google Doc Template**: Update the document template with your standard proposal format Personal Details**: Replace all placeholder information with your actual achievements and social proof Business Use Cases Freelance Professionals** - Automate high-quality Upwork applications across multiple job categories Automation Specialists** - Demonstrate capabilities through automated proposal generation itself Service Providers** - Scale application volume while maintaining personalization quality Agency Owners** - Offer proposal automation services to freelance clients Consultants** - Streamline business development with automated custom proposals Content Creators** - Generate professional project proposals with visual workflow representations Revenue Potential This system transforms freelance business development: 10x Application Speed**: Generate comprehensive proposals in minutes vs. hours Higher Response Rates**: Perceived customization and value demonstration increase client engagement Scalable Outreach**: Apply to more jobs with maintained quality through automation Professional Positioning**: Visual diagrams and structured proposals demonstrate expertise Competitive Advantage**: Deliver proposals faster than competitors through intelligent automation Difficulty Level: Advanced Estimated Build Time: 3-4 hours Monthly Operating Cost: ~$30 (OpenAI + Google APIs) Watch My Complete Live Build Want to see me build this entire system from scratch? I walk through every component live - including the AI agent setup, prompt engineering strategies, Google Docs integration, and all the debugging that goes into creating a production-ready freelance automation system. π₯ See My Live Build Process: "I Built An AI Agent That Automates Upwork ($500K+ Earned)" This comprehensive tutorial shows the real development process - including advanced prompt engineering, modular workflow design, and the exact business strategies that generated $500K+ in Upwork revenue. Set Up Steps AI Agent Foundation: Configure chat trigger and AI agent node with OpenAI integration Set up window buffer memory for conversation context Define system message with clear agent instructions and behavior rules Sub-Workflow Creation: Build three specialized workflows: Application Copy, Google Doc Proposal, Mermaid Code Configure execute workflow triggers for each sub-workflow Set up proper data passing between agent and sub-workflows Google Services Configuration: Create Google Cloud Console project with Drive and Docs APIs enabled Set up OAuth2 credentials and connect to n8n Copy and customize the proposal template document Personalization Setup: Update all "aboutMe" variables with your specific achievements and social proof Customize prompt templates to match your service offerings and communication style Test individual sub-workflows with sample job descriptions Agent Tool Integration: Connect sub-workflows as tools in the main AI agent Configure proper tool descriptions and response property names Test complete agent functionality with realistic job posting scenarios Template Optimization: Refine proposal templates based on your specific service offerings Adjust AI prompts for optimal personalization and response quality Test with various job types to ensure consistent quality output Advanced Optimizations Scale the system with: Job Scraping Integration:** Automatically discover and apply to relevant Upwork jobs Response Tracking:** Monitor application success rates and optimize templates Multi-Platform Support:** Extend to other freelance platforms (Fiverr, Freelancer, etc.) Client Communication:** Automate follow-up sequences for proposal responses Portfolio Integration:** Automatically include relevant portfolio pieces based on job requirements Important Considerations Template Authenticity:** Customize templates significantly to avoid detection as automated Upwork Compliance:** Ensure applications meet platform guidelines and quality standards Personal Branding:** Maintain consistent voice and positioning across all generated content Response Management:** Be prepared to handle increased application volume and client responses Quality Control:** Regularly review and refine generated content for accuracy and relevance Why This System Works The competitive advantage lies in proven strategies: Perceived Customization:** AI generates content that appears manually crafted for each job Value Demonstration:** Visual diagrams and structured proposals show immediate value Speed Advantage:** Deliver comprehensive proposals before competitors finish reading job posts Professional Presentation:** Consistent quality and formatting across all applications Scalable Personalization:** Maintain individual attention at volume through intelligent automation Check Out My Channel For more advanced automation systems and proven freelance business strategies that generate real revenue, explore my YouTube channel where I share the exact methodologies used to build successful automation agencies and scale to $72K+ monthly revenue.
by sayamol thiramonpaphakul
This workflow automatically checks the status of your websites using UptimeRobot API. If any site is down or unstable, it will: Generate a natural-language alert message using GPT-4o Push the message to a LINE group (with funny IT-style encouragement) Log all DOWN status entries into your Supabase database Wait 30 minutes before repeating π§ How It Works Schedule Trigger β Runs on a fixed interval (every few minutes). UptimeRobot Node β Fetches website monitor data. Code Node (Filter) β Filters only websites with status 8 (may be down) or 9 (down). IF Node β If any site is down, proceed. LangChain LLM Node β Formats alert with a humorous message using GPT-4o. Line Notify (HTTP Request) β Sends the alert to your LINE group. Loop Over Items β Loops through all monitors. Filter Down (Status = 9) β Selects only βfully downβ sites. Supabase Node β Logs these into synlora_uptime_down table. Wait Node β Delays next alert by 30 minutes to avoid spamming. βοΈ Setup Steps Required: π UptimeRobot API Key π² LINE Channel Access Token and Group ID π§ OpenAI Key (GPT-4o Mini) ποΈ Supabase Project & Table Step-by-step: Go to UptimeRobot β Get API key and ensure monitors are set up. Create a Supabase table with fields: website, status, uptime_id. Create a LINE Messaging API bot, join it to your group, and get: Access Token Group ID (userId or groupId) Add your OpenAI API Key for GPT-4o Mini (or switch to your preferred LLM). Import the workflow JSON into n8n. Set credentials in all necessary nodes. Activate the workflow.
by Akash Kankariya
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. π― Overview This n8n workflow template automates the process of monitoring Instagram comments and sending predefined responses based on specific comment keywords. It integrates Instagram's Graph API with Google Sheets to manage comment responses and maintains an interaction log for customer relationship management (CRM) purposes. π§ Workflow Components The workflow consists of 9 main nodes organized into two primary sections: π‘ Section 1: Webhook Verification β Get Verification (Webhook node) π Respond to Verification Message (Respond to Webhook node) π€ Section 2: Auto Comment Response π¬ Insta Update (Webhook node) β Check if update is of comment? (Switch node) π€ Comment if of other user (If node) π Comment List (Google Sheets node) π¬ Send Message for Comment (HTTP Request node) π Add Interaction in Sheet (CRM) (Google Sheets node) π οΈ Prerequisites and Setup Requirements 1. π΅ Meta/Facebook Developer Setup π± Create Facebook App > π Action Items: > - [ ] Navigate to Facebook Developers > - [ ] Click "Create App" and select "Business" type > - [ ] Configure the following products: > - β Instagram Graph API > - β Facebook Login for Business > - β Webhooks π Required Permissions Configure the following permissions in your Meta app: | instagram_basic | π Read Instagram account profile info and media | instagram_manage_comments | π¬ Create, delete, and manage comments | instagram_manage_messages | π€ Send and receive Instagram messages | pages_show_list | π Access connected Facebook pages π« Access Token Generation > β οΈ Important Setup:+ > - [ ] Use Facebook's Graph API Explorer > - [ ] Generate a User Access Token with required permissions > - [ ] β‘ Important: Tokens expire periodically and need refreshing 2. π Webhook Configuration π Setup Webhook URL > π Configuration Checklist: > - [ ] In Meta App Dashboard, navigate to Products β Webhooks > - [ ] Subscribe to Instagram object > - [ ] Configure webhook URL: your-n8n-domain/webhook/instagram > - [ ] Set verification token (use "test" or create secure token) > - [ ] Select webhook fields: > - β comments - For comment notifications > - β messages - For DM notifications (if needed) β Webhook Verification Process The workflow handles Meta's webhook verification automatically: π‘ Meta sends GET request with hub.challenge parameter π Workflow responds with the challenge value to confirm subscription 3. π Google Sheets Setup Example - https://docs.google.com/spreadsheets/d/1ONPKJZOpQTSxbasVcCB7oBjbZcCyAm9gZ-UNPoXM21A/edit?usp=sharing π Create Response Management Sheet Set up a Google Sheets document with the following structure: π Sheet 1 - Comment Responses: | Column | Description | Example | |--------|-------------|---------| | π¬ Comment | Trigger keywords | "auto", "info", "help" | | π Message | Corresponding response message | "Thanks for your comment! We'll get back to you soon." | π Sheet 2 - Interaction Log: | Column | Description | Purpose | |--------|-------------|---------| | β° Time | Timestamp of interaction | Track when interactions occur | | π User Id | Instagram user ID | Identify unique users | | π€ Username | Instagram username | Human-readable identification | | π Note | Additional notes or error messages | Debugging and analytics | π§ Built By - akash@codescale.tech
by Yang
Who is this for? This workflow is perfect for eCommerce teams, market researchers, and product analysts who want to track or extract product information from websites that restrict scraping tools. Itβs also useful for virtual assistants handling product comparison tasks. What problem is this workflow solving? Many eCommerce and retail sites use dynamic content or anti-bot protections that make traditional scraping methods unreliable. This workflow bypasses those issues by taking a screenshot of the full page, using OCR to extract visible text, and summarizing product information with GPT-4oβall fully automated. What this workflow does This workflow monitors a Google Sheet for new URLs. Once a new link is added, it performs the following steps: Trigger on New URL in Sheet β Watches for new rows added to a Google Sheet. Screenshot URL via Dumpling AI β Sends the URL to Dumpling AIβs screenshot endpoint to capture a full-page image of the product webpage. Save Screenshot to Drive Folder β Uploads the screenshot to a specific Google Drive folder for reference or logging. Extract Text from Screenshot with Dumpling AI β Uses Dumpling AIβs image-to-text endpoint to pull all visible content from the screenshot. Extract Product Info from Screenshot Text with GPT-4o β Sends the extracted raw text to GPT-4o, prompting it to identify structured product information such as product name, price, ratings, deals, and purchase options. Split Each Product Entry β Splits the GPT response (an array of product objects) so each product becomes an individual item for saving. Save Products info to Google Sheet β Appends each productβs structured details to a separate sheet in the same spreadsheet. Setup Google Sheet Create a Google Sheet with at least two sheets: Sheet1 should contain a header row with a column labeled URL. Sheet2 should contain headers: Product Name, price, purchased, ratings, deal, buyingOptions. Connect your Google account in both the trigger and final write-back node. Dumpling AI Sign up at Dumpling AI Create an API key and use it for both HTTP modules: Screenshot URL via Dumpling AI Extract Text from Screenshot with Dumpling AI The screenshot endpoint used is https://app.dumplingai.com/api/v1/screenshot. Google Drive Create a folder for storing screenshots. In the Save Screenshot to Drive Folder node, select the correct folder or provide the folder ID. Make sure permissions allow uploading from n8n. OpenAI Provide an API key for GPT-4o in the Extract Product Info from Screenshot Text with GPT-4o node. The prompt is structured to return structured product listings in JSON format. Split & Save Split Each Product Entry takes the array of product objects from GPT and makes each one a separate execution. Save Products info to Google Sheet writes structured fields into Sheet2 under: Product Name, price, purchased, ratings, deal, buyingOptions. How to customize this workflow Adjust the GPT prompt to return different product fields (e.g., shipping info, product categories). Use a filter node to limit which types of products get written to the final sheet. Add sentiment analysis to analyze review content if available. Replace Google Drive with Dropbox or another file storage app. Notes Make sure you monitor your API usage on both Dumpling AI and OpenAI to avoid rate limits. This setup is great for snapshot-based extraction where scraping is blocked or unreliable.
by David Olusola
n8n Set Node Tutorial - Complete Guide π― How It Works This tutorial workflow teaches you everything about n8n's Set node through hands-on examples. The Set node is one of the most powerful tools in n8n - it allows you to create, modify, and transform data as it flows through your workflow. What makes this tutorial special: Progressive Learning**: Starts simple, builds to complex concepts Interactive Examples**: Real working nodes you can modify and test Visual Guidance**: Sticky notes explain every concept Branching Logic**: Shows how Set nodes work in different workflow paths Real Data**: Uses practical examples you'll encounter in automation The workflow demonstrates 6 core concepts: Basic data types (strings, numbers, booleans) Expression syntax with {{ }} and $json references Complex data structures (objects and arrays) "Keep Only Set" option for clean outputs Conditional data setting with branching logic Data transformation and aggregation techniques π Setup Steps Step 1: Import the Workflow Copy the JSON from the code artifact above Open your n8n instance in your browser Navigate to Workflows section Click "Import from JSON" or the import button (usually a "+" or import icon) Paste the JSON into the import dialog Click "Import" to load the workflow Save the workflow (Ctrl+S or click Save button) Step 2: Choose Your Starting Point Option A: Default Tutorial Mode (Recommended for beginners) The workflow is ready to run as-is Uses simple "Welcome" message as starting data Click "Execute Workflow"** to begin Option B: Rich Test Data Mode (Recommended for experimentation) Locate the nodes: Find "Start (Manual Trigger)" and "0. Test Data Input" Disconnect default: Click the connection line between "Start (Manual Trigger)" β "1. Set Basic Values" and delete it Connect test data: Drag from "0. Test Data Input" output to "1. Set Basic Values" input Execute: Click "Execute Workflow" to run with rich test data Step 3: Execute and Learn Run the workflow: Click the "Execute Workflow" button Check outputs: Click on each node to see its output data Read the notes: Each sticky note explains what's happening Follow the flow: Data flows from left to right, top to bottom Step 4: Experiment and Modify Try These Experiments: π§ Change Basic Values: Click on "1. Set Basic Values" Modify user_age (try 20 vs 35) Change user_name to see how it propagates Execute and see the changes flow through π Test Conditional Logic: Set user_age to 20 β triggers "Student Discount" path Set user_age to 30 β triggers "Premium Access" path Watch how the workflow branches differently π¨ Modify Expressions: In "2. Set with Expressions", try changing: ={{ $json.score * 2 }} to ={{ $json.score * 3 }} ={{ $json.user_name }} Smith to ={{ $json.user_name }} Johnson ποΈ Complex Data Structures: In "3. Set Complex Data", modify the JSON structure Add new properties to the user_profile object Try nested expressions π Learning Path Beginner Level (Nodes 1-2) Focus**: Understanding basic Set operations Learn**: Data types, static values, simple expressions Time**: 10-15 minutes Intermediate Level (Nodes 3-4) Focus**: Complex data and output control Learn**: Objects, arrays, "Keep Only Set" option Time**: 15-20 minutes Advanced Level (Nodes 5-6) Focus**: Conditional logic and data aggregation Learn**: Branching workflows, merging data, complex expressions Time**: 20-25 minutes π What Each Node Teaches | Node | Concept | Key Learning | |------|---------|-------------| | 1. Set Basic Values | Data Types | String, number, boolean basics | | 2. Set with Expressions | Dynamic Data | {{ }} syntax, $json references, $now functions | | 3. Set Complex Data | Advanced Structures | Objects, arrays, nested properties | | 4. Set Clean Output | Data Management | "Keep Only Set" for clean final outputs | | 5a/5b. Conditional Sets | Branching Logic | Different data based on conditions | | 6. Tutorial Summary | Data Aggregation | Combining and summarizing workflow data | π‘ Pro Tips π Quick Wins: Always check node outputs after execution Use sticky notes as your learning guide Experiment with small changes first Copy nodes to try variations π οΈ Advanced Techniques: Use Keep Only Set for API responses Combine static and dynamic data in complex objects Leverage conditional paths for different user types Reference nested object properties with dot notation π Troubleshooting: If expressions don't work, check the {{ }} syntax Ensure field names match exactly (case-sensitive) Use the expression editor for complex logic Check data types match your expectations π― Next Steps After Tutorial Create your own Set nodes in a new workflow Practice with real data from APIs or databases Build data transformation workflows for your specific use cases Combine Set nodes with other n8n nodes like HTTP, Webhook, etc. Explore advanced expressions using JavaScript functions Congratulations! You now have the foundation to use Set nodes effectively in any n8n workflow. The Set node is truly the "Swiss Army knife" of n8n automation! π οΈ