# templates

name: Multiple Websites Monitoring with Notifications including Phone Calls
author_name: InfyOm Technologies
author_username: infyom
categories: []
created_at: 2025-06-10T05:10:57.984Z
updated_at: 2025-06-10T05:10:57.984Z
url: https://n8n.io/workflows/4833
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  ✅ What problem does this workflow solve?
  Automatically monitor multiple websites every 5 minutes, log downtime, notify your team instantly via multiple channels, and track uptime/downtime in a Google Sheet—without relying on expensive monitoring tools.

  ⚙️ What does this workflow do?

  Triggers every 5 minutes to monitor website health.
  Fetches a list of website URLs from a Google Sheet.
  Checks the status of each website one by one.
  Sends instant alerts if a website is down (Email, Slack, Telegram, Voice Call).
  Logs downtime events in Google Sheets.
  Tracks when websites are back up and updates the log.
  Sends recovery notifications when a site is live again (Email, Slack, Telegram).

  🔧 Setup

  📄 Google Sheets Setup
  Sheet 1: List of website URLs to monitor.
  Sheet 2: Log to store uptime/downtime records.
  Sample Format: https://docs.google.com/spreadsheets/d/1_VVpkIvpYQigw5q0KmPXUAC2aV2rk1nRQLQZ7YK2KwY/edit?usp=sharing

  ✉️ Gmail, Slack & Telegram Setup
  Connect Gmail, Slack, and Telegram to n8n.
  Configure each service with proper credentials or OAuth.

  📞 Vapi (Voice Call) Setup
  Create a Vapi account.
  Generate an API key.
  Configure API Parameters (vapi_api_key, assistant_id, number, phone_number_id) on VAPI Node.
  Insert the First Message specified in the Workflow.

  🧠 How it Works

  ⏱ 1. Scheduled Monitoring
  A Schedule Trigger runs the workflow every 5 minutes. It reads the list of URLs from the Google Sheet and loops through each one.

  🌍 2. Website Health Check
  Each website is pinged to check if it’s online.

  🔴 3. If Website is Down:
  It verifies if a downtime record already exists.
  If not, it:
    Adds a new row in the Google Sheet with the timestamp.
    Sends notifications via:
      📧 Email
      💬 Slack
      📲 Telegram
      📞 Voice Call via Vapi

  🟢 4. If Website is Back Up:
  It fetches the matching downtime record.
  Updates the sheet with:
    ✅ Uptime timestamp
    ⏱ Total downtime duration
  Sends recovery notifications via:
    📧 Email
    💬 Slack
    📲 Telegram  
  (No phone call is made for uptime.)

  👤 Who can use it?

  This is perfect for:
  🚀 Startups
  👨‍💻 Freelance Developers
  🛠 SaaS Product Owners
  🖥 IT/DevOps Teams

  If you're looking to replace tools like UptimeRobot, Pingdom, or StatusCake, this no-code solution gives you full control, customization, and cost-efficiency.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.gmail","n8n-nodes-base.slack","n8n-nodes-base.telegram","n8n-nodes-base.gmail","n8n-nodes-base.slack","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  [encoded data, 5568 characters]

metadata_json:
  {"categories":["monitoring","automation","integration","alerting","devops"],"complexity":"medium","use_cases":["Website uptime monitoring","Multi-channel incident alerts (email, Slack, Telegram, voice)","Downtime logging and recovery tracking","SLA/uptime reporting in Google Sheets","Replacing paid uptime services with no-code solution"],"estimated_setup_minutes":30,"required_services":["Google Sheets","Gmail (or SMTP)","Slack","Telegram","Vapi (voice call API)","Public HTTP access to monitored websites"],"key_features":["Scheduled checks (every 5 minutes)","Reads monitored URLs from Google Sheet","Per-site health checks with batching","Creates and updates downtime records in Google Sheets","Sends instant notifications via Email, Slack, Telegram, and Voice Call (Vapi) on downtime"],"target_audience":["Startups","Freelance developers","SaaS product owners/teams of small products/services owners of small products/services? (remove duplication)"]}


name: Automate Gym Lead Nurturing with Facebook Ads, WhatsApp & Google Sheets Tracking
author_name: Mourya Chaitanya
author_username: chaitanya
categories: []
created_at: 2025-06-10T06:17:05.257Z
updated_at: 2025-06-10T06:17:05.257Z
url: https://n8n.io/workflows/4834
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-30 08:33:37
description:
  📌 What it does:

  Captures leads from Facebook Ads

  Sends instant WhatsApp to leads

  Waits & checks for bookings

  If booked anytime during 5-day nurturing, it stops the follow-ups and sends confirmations to both lead & gym owner

  If not booked, continues to nurture daily for 5 days with reminders

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if"]

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

metadata_json:
  {"categories":["automation","marketing automation","lead management","integration"],"complexity":"complex","use_cases":["Automated lead capture from Facebook Ads","Immediate WhatsApp outreach to new leads","Multi-day nurture sequence for unbooked leads","Booking detection and follow-up cancellation","Lead tracking and reporting in Google Sheets"],"estimated_setup_minutes":45,"required_services":["Facebook Lead Ads (or Facebook Ads webhook)","WhatsApp API (e.g., Twilio/WhatsApp Business API or Meta)","Google Sheets","n8n Webhooks/HTTP endpoints","AI provider for personalization (e.g., OpenAI/n8n AI)"],"key_features":["Captures leads via Facebook Ads webhooks","Sends instant WhatsApp messages to new leads","5-day daily nurture sequence with conditional checks","Stops follow-ups if a booking is detected","Sends confirmations to lead and gym owner upon booking or completion of flow"],"target_audience":["Gym owners and fitness studio managers","Marketing and growth teams","Sales/lead follow-up teams for local businesses"]}


name: Enrich Company Firmographic Data in Google Sheets with Explorium MCP
author_name: explorium
author_username: explorium
categories: []
created_at: 2025-06-10T06:35:10.916Z
updated_at: 2025-06-10T06:35:10.916Z
url: https://n8n.io/workflows/4835
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Google Sheets Company Enrichment with Explorium MCP

  Template

  Download the following json file and import it to a new n8n workflow:

  google\_sheets\_enrichment.json

  Overview

  This n8n workflow template enables automatic enrichment of company information in your Google Sheets. When you add a new company or update existing company details (name or website), the workflow automatically fetches additional business intelligence data using Explorium MCP and updates your sheet with:

  Business ID
  NAICS industry code
  Number of employees (range)
  Annual revenue (range)

  Key Features

  Automatic Triggering**: Monitors your Google Sheet for new rows or updates to company name/website fields
  Smart Processing**: Only processes new or modified rows, not the entire sheet
  Data Validation**: Ensures both company name and website are present before processing
  Error Handling**: Processes each row individually to prevent one failure from affecting others
  Powered by AI**: Uses Claude Sonnet 4 with Explorium MCP for intelligent data enrichment

  Prerequisites

  Before setting up this workflow, ensure you have:

  n8n instance (self-hosted or cloud)
  Google account with access to Google Sheets
  Anthropic API key for Claude
  Explorium MCP API key

  Installation & Setup

  Step 1: Import the Workflow

  Create a new workflow.
  Download the workflow JSON from above.
  In your n8n instance, go to Workflows → Add Workflow → Import from File
  Select the JSON file and click Import

  Step 2: Create Google Sheet

  Create a new google sheet (or make a copy of this template)
  Your Google Sheet must have the following columns (exact names):

  name - Company name
  website - Company website URL
  business_id - Will be populated by the workflow
  naics - Will be populated by the workflow
  number_of_employees_range - Will be populated by the workflow
  yearly_revenue_range - Will be populated by the workflow

  Step 3: Configure Google Sheets Credentials

  You'll need to set up two Google credentials:

  Google Sheets Trigger Credentials:

  Click on the Google Sheets Trigger node
  Under Credentials, click Create New
  If working on n8n Cloud, Click the 'Sign in with Google' button

     

  Grant permissions to read and monitor your Google Sheets
  If working on n8n Instance, Follow the OAuth2 authentication process here
  Fill the Client ID and Client Secret fields

  Google Sheets Update Credentials:

  Click on the Update Company Row node
  Under Credentials, select the same credentials or create new ones (The same you did above)
  Ensure permissions include write access to your sheets

  Step 4: Configure Anthropic Credentials

  Click on the Anthropic Chat Model node
  Under Credentials, click Create New
  Enter your Anthropic API key



  Save the credentials

  Step 5: Configure Explorium MCP Credentials

  Click on the MCP Client node
  Under Credentials, click Create New (Header Auth)
  Fill the Name field with api_key
  Fill the Value field with your Explorium API Key



  Save the credentials

  Step 6: Link Your Google Sheet

  In the Google Sheets Trigger node:

     Select your Google Sheet from the dropdown
     Select the worksheet (usually "Sheet1")

     

  In the Update Company Row node:
     Select the same Google Sheet and worksheet
     Ensure the matching column is set to row_number

  Step 7: Activate the Workflow

  Click the Active toggle in the top right to activate the workflow
  The workflow will now monitor your sheet every minute for changes

  How It Works

  Workflow Process Flow

  Google Sheets Trigger: Polls your sheet every minute for new rows or changes to name/website fields
  Filter Valid Rows: Validates that both company name and website are present
  Loop Over Items: Processes each company individually
  AI Agent: Uses Explorium MCP to:
     Find the company's business ID
     Retrieve firmographic data (revenue, employees, NAICS code)
  Format Output: Structures the data for Google Sheets
  Update Company Row: Writes the enriched data back to the original row

  Trigger Behavior

  First Activation**: May process all existing rows to establish a baseline
  Ongoing Operation**: Only processes new rows or rows where name/website fields change
  Polling Frequency**: Checks for changes every minute

  Usage

  Adding New Companies

  Add a new row to your Google Sheet
  Fill in the name and website columns
  Within 1 minute, the workflow will automatically:
     Detect the new row
     Enrich the company data
     Update the remaining columns

  Updating Existing Companies

  Modify the name or website field of an existing row
  The workflow will re-process that row with the updated information
  All enrichment data will be refreshed

  Monitoring Executions

  In n8n, go to Executions to see workflow runs
  Each execution shows:
     Which rows were processed
     Success/failure status
     Detailed logs for troubleshooting

  Troubleshooting

  Common Issues

  All rows are processed instead of just new/updated ones

  Ensure the workflow is activated, not just run manually
  Manual test runs will process all rows
  First activation may process all rows once

  No data is returned for a company

  Verify the company name and website are correct
  Check if the company exists in Explorium's database
  Some smaller or newer companies may not have data available

  Workflow isn't triggering

  Confirm the workflow is activated (Active toggle is ON)
  Check that changes are made to the name or website columns
  Verify Google Sheets credentials have proper permissions

  Authentication errors

  Re-authenticate Google Sheets credentials
  Verify Anthropic API key is valid and has credits
  Check Explorium Bearer token is correct and active

  Error Handling

  The workflow processes each row individually, so if one company fails to enrich:

  Other rows will still be processed
  The failed row will retain its original data
  Check the execution logs for specific error details

  Best Practices

  Data Quality: Ensure company names and websites are accurate for best results
  Website Format: Include full URLs (https://example.com) rather than just domain names
  Batch Processing: The workflow handles multiple updates efficiently, so you can add several companies at once
  Regular Monitoring: Periodically check execution logs to ensure smooth operation

  API Limits & Considerations

  Google Sheets API**: Subject to Google's API quotas
  Anthropic API**: Each enrichment uses Claude Sonnet 4 tokens
  Explorium MCP**: Rate limits may apply based on your subscription

  Support

  For issues specific to:

  n8n platform**: Consult n8n documentation or community
  Google Sheets integration**: Check n8n's Google Sheets node documentation
  Explorium MCP**: Contact Explorium support for API-related issues
  Anthropic/Claude**: Refer to Anthropic's documentation for API issues

  Example Use Cases

  Sales Prospecting: Automatically enrich lead lists with company size and revenue data
  Market Research: Build comprehensive databases of companies in specific industries
  Competitive Analysis: Track and monitor competitor information
  Investment Research: Gather firmographic data for potential investment targets

nodes_used:
  ["n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["integration","automation","data enrichment"],"complexity":"medium","use_cases":["Sales prospecting / lead enrichment","Market research and firmographic analysis","Competitive analysis and monitoring","Investment / due diligence research","Keep CRM / marketing lists up-to-date"],"estimated_setup_minutes":20,"required_services":["n8n instance (self-hosted or cloud)","Google Sheets (Google account with Sheets access)","Anthropic API (Claude Sonnet 4)","Explorium MCP API"],"key_features":["Automatic polling trigger for new or modified rows","Processes only new/changed rows (not entire sheet)","Validates presence of name and website before enrichment","Per-row error handling to prevent cascade failures","Uses Anthropic (Claude) + Explorium MCP to fetch business_id, NAICS, employee range, revenue range and other firmographics','Writes enriched fields back to the original Google Sheet"],"target_audience":["Sales teams / SDRs","Marketers / Demand gen","Data analysts / researchers','Growth teams / business development','Developers / automation engineers"]}


name: Automate HubSpot to Salesforce Lead Creation with Explorium AI Enrichment
author_name: explorium
author_username: explorium
categories: []
created_at: 2025-06-10T06:38:14.701Z
updated_at: 2025-06-10T06:38:14.701Z
url: https://n8n.io/workflows/4836
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Automatically enrich prospect data from HubSpot using Explorium and create leads in Salesforce

  This n8n workflow streamlines the process of enriching prospect information by automatically pulling data from HubSpot, processing it through Explorium's AI-powered tools, and creating new leads in Salesforce with enhanced prospect details.

  Credentials Required

  To use this workflow, set up the following credentials in your n8n environment:

  HubSpot
  Type**: App Token (or OAuth2 for broader compatibility)
  Used for**: triggering on new contacts, fetching contact data

  Explorium API
  Type**: Generic Header Auth
  Header**: Authorization
  Value**: Bearer YOUR_API_KEY

  Get explorium api key

  Salesforce
  Type**: OAuth2 or Username/Password
  Used for**: creating new lead records

  Go to Settings → Credentials, create these three credentials, and assign them in the respective nodes before running the workflow.

  Workflow Overview

  Node 1: HubSpot Trigger
  This node listens for real-time events from the connected HubSpot account. Once triggered, the node passes metadata about the event to the next step in the flow.

  Node 2: HubSpot
  This node fetches contact details from HubSpot after the trigger event.

  Credential**: Connected using a HubSpot App Token
  Resource**: Contact
  Operation**: Get Contact
  Return All**: Disabled

  This node retrieves the full contact details needed for further processing and enrichment.

  Node 3: Match prospect
  This node sends each contact's data to Explorium's AI-powered prospect matching API in real time.

  Method**: POST
  Endpoint**: https://api.explorium.ai/v1/prospects/match
  Authentication**: Generic Header Auth (using a configured credential)
  Headers**: Content-Type: application/json

  The request body is dynamically built from contact data, typically including: full_name, company_name, email, phone_number, linkedin. These fields are matched against Explorium's intelligence graph to return enriched or validated profiles.

  Response Output: total_matches, matched_prospects, and a prospect_id. Each response is used downstream to enrich, validate, or create lead information.

  Node 4: Filter
  This node filters the output from the Match prospect step to ensure that only valid, matched results continue in the flow. Only records that contain at least one matched prospect with a non-null prospect_id are passed forward.

  Status: Currently deactivated (as shown by the "Deactivate" label)

  Node 5: Extract Prospect IDs from Matched Results
  This node extracts all valid prospect_id values from previously matched prospects and compiles them into a flat array. It loops over all matched items, extracts each prospect_id from the matched_prospects array and returns a single object with an array of all prospect_ids.

  Node 6: Explorium Enrich Contacts Information
  This node performs bulk enrichment of contacts by querying Explorium with a list of matched prospect_ids.

  Node Configuration:
  Method**: POST
  Endpoint**: https://api.explorium.ai/v1/prospects/contacts_information/bulk_enrich
  Authentication**: Header Auth (using saved credentials)
  Headers**: "Content-Type": "application/json", "Accept": "application/json"

  Returns enriched contact information, such as:
  emails**: professional/personal email addresses
  phone_numbers**: mobile and work numbers
  professions_email, **professional_email_status, mobile_phone

  Node 7: Explorium Enrich Profiles
  This additional enrichment node provides supplementary contact data enhancement, running in parallel with the primary enrichment process.

  Node 8: Merge
  This node combines multiple data streams from the parallel enrichment processes into a single output, allowing you to consolidate data from different Explorium enrichment endpoints. The "combine" setting indicates it will merge the incoming data streams rather than overwriting them.

  Node 9: Code - flatten
  This custom code node processes and transforms the merged enrichment data before creating the Salesforce lead. It can be used to:
  Flatten nested data structures
  Format data according to Salesforce field requirements
  Apply business logic or data validation
  Map Explorium fields to Salesforce lead properties
  Handle data type conversions

  Node 10: Salesforce
  This final node creates new leads in Salesforce using the enriched data returned by Explorium.

  Credential**: Salesforce OAuth2 or Username/Password
  Resource**: Lead
  Operation**: Create Lead

  The node creates new lead records with enriched information including contact details, company information, and professional data obtained through the Explorium enrichment process.

  Workflow Flow Summary

  Trigger: HubSpot webhook triggers on new/updated contacts
  Fetch: Retrieve contact details from HubSpot
  Match: Find prospect matches using Explorium
  Filter: Keep only successfully matched prospects (currently deactivated)
  Extract: Compile prospect IDs for bulk enrichment
  Enrich: Parallel enrichment of contact information through multiple Explorium endpoints
  Merge: Combine enrichment results
  Transform: Flatten and prepare data for Salesforce (Code node)
  Create: Create new lead records in Salesforce

  This workflow ensures comprehensive data enrichment while maintaining data quality and providing a seamless integration between HubSpot prospect data and Salesforce lead creation. The parallel enrichment structure maximizes data collection efficiency before creating high-quality leads in your CRM system.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.hubspotTrigger","n8n-nodes-base.hubspot","n8n-nodes-base.salesforce","n8n-nodes-base.code","n8n-nodes-base.filter","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5720 characters]

metadata_json:
  {"categories":["integration","data enrichment","CRM automation","lead management"],"complexity":"complex","use_cases":["Automatically enrich HubSpot contacts with third‑party data","Match and validate prospects via Explorium","Bulk enrich contact/profile data before CRM import","Create enriched Salesforce leads from HubSpot triggers","Improve lead quality and reduce manual data entry"],"estimated_setup_minutes":45,"required_services":["HubSpot (App Token or OAuth2)","Explorium API (API key)","Salesforce (OAuth2 or Username/Password)","n8n instance/webhook endpoint"],"key_features":["Real‑time HubSpot contact trigger","Prospect matching via Explorium API","Filter to pass only validated matches","Bulk and parallel enrichment endpoints","Merge and flatten enrichment results via code node for mapping/validation
  to Salesforce fields (data transformation)
  "],"target_audience":["Sales ops","Marketing ops","CRM administrators`,`Integration developers"]}


name: Automated AI Lead Enrichment: Salesforce to Explorium for Enhanced Prospect Data
author_name: explorium
author_username: explorium
categories: []
created_at: 2025-06-10T06:39:17.145Z
updated_at: 2025-06-10T06:39:17.145Z
url: https://n8n.io/workflows/4837
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Salesforce Lead Enrichment with Explorium

  Template

  Download the following json file and import it to a new n8n workflow:

  salesforce\_workflow.json

  Overview

  This n8n workflow monitors your Salesforce instance for new leads and automatically enriches them with missing contact information. When a lead is created, the workflow:

  Detects the new lead via Salesforce trigger
  Matches the lead against Explorium's database using name and company
  Enriches the lead with professional email addresses and phone numbers
  Updates the Salesforce lead record with the discovered contact information

  This automation ensures your sales team always has the most up-to-date contact information for new leads, improving reach rates and accelerating the sales process.

  Key Features

  Real-time Processing**: Triggers automatically when new leads are created in Salesforce
  Intelligent Matching**: Uses lead name and company to find the correct person in Explorium's database
  Contact Enrichment**: Adds professional emails, mobile phones, and office phone numbers
  Batch Processing**: Efficiently handles multiple leads to optimize API usage
  Error Handling**: Continues processing other leads even if some fail to match
  Selective Updates**: Only updates leads that successfully match in Explorium

  Prerequisites

  Before setting up this workflow, ensure you have:

  n8n instance (self-hosted or cloud)
  Salesforce account with:
     OAuth2 API access enabled
     Lead object permissions (read/write)
     API usage limits available
  Explorium API credentials (Bearer token) - Get explorium api key
  Basic understanding of Salesforce lead management

  Salesforce Requirements

  Required Lead Fields

  The workflow expects these standard Salesforce lead fields:

  FirstName - Lead's first name
  LastName - Lead's last name
  Company - Company name
  Email - Will be populated/updated by the workflow
  Phone - Will be populated/updated by the workflow
  MobilePhone - Will be populated/updated by the workflow

  API Permissions

  Your Salesforce integration user needs:

  Read access to Lead object
  Write access to Lead object fields (Email, Phone, MobilePhone)
  API enabled on the user profile
  Sufficient API calls remaining in your org limits

  Installation & Setup

  Step 1: Import the Workflow

  Copy the workflow JSON from the template
  In n8n: Navigate to Workflows → Add Workflow → Import from File
  Paste the JSON and click Import

  Step 2: Configure Salesforce OAuth2 Credentials

  Click on the Salesforce Trigger node
  Under Credentials, click Create New
  Follow the OAuth2 flow:
     Client ID: From your Salesforce Connected App
     Client Secret: From your Salesforce Connected App
     Callback URL: Copy from n8n and add to your Connected App
  Authorize the connection
  Save the credentials as "Salesforce account connection"

  Note: Use the same credentials for all Salesforce nodes in the workflow.

  Step 3: Configure Explorium API Credentials

  Click on the Match\_prospect node
  Under Credentials, click Create New (HTTP Header Auth)
  Configure the header:
     Name: Authorization
     Value: Bearer YOUR_EXPLORIUM_API_TOKEN
  Save as "Header Auth account"
  Apply the same credentials to the Explorium Enrich Contacts Information node

  Step 4: Verify Node Settings

  Salesforce Trigger:
     Trigger On: Lead Created
     Poll Time: Every minute (adjust based on your needs)

  Salesforce Get Leads:
     Operation: Get All
     Condition: CreatedDate = TODAY (fetches today's leads)
     Limit: 20 (adjust based on volume)

  Loop Over Items:
     Batch Size: 6 (optimal for API rate limits)

  Step 5: Activate the Workflow

  Save the workflow
  Toggle the Active switch to ON
  The workflow will now monitor for new leads every minute

  Detailed Node Descriptions

  Salesforce Trigger: Polls Salesforce every minute for new leads
  Get Today's Leads: Retrieves all leads created today to ensure none are missed
  Loop Over Items: Processes leads in batches of 6 for efficiency
  Match Prospect: Searches Explorium for matching person using name + company
  Filter: Checks if a valid match was found
  Extract Prospect IDs: Collects all matched prospect IDs
  Enrich Contacts: Fetches detailed contact information from Explorium
  Merge: Combines original lead data with enrichment results
  Split Out: Separates individual enriched records
  Update Lead: Updates Salesforce with new contact information

  Data Mapping

  The workflow maps Explorium data to Salesforce fields as follows:

  | Explorium Field     | Salesforce Field | Fallback Logic                    |
  | ------------------- | ---------------- | --------------------------------- |
  | emails[0].address | Email            | Falls back to professions_email |
  | mobile_phone      | MobilePhone      | Falls back to phone_numbers[1]  |
  | phone_numbers[0]  | Phone            | Falls back to mobile_phone      |

  Usage & Monitoring

  Automatic Operation

  Once activated, the workflow runs automatically:

  Checks for new leads every minute
  Processes any leads created since the last check
  Updates leads with discovered contact information
  Continues running until deactivated

  Manual Testing

  To test the workflow manually:

  Create a test lead in Salesforce
  Click "Execute Workflow" in n8n
  Monitor the execution to see each step
  Verify the lead was updated in Salesforce

  Monitoring Executions

  Track workflow performance:

  Go to Executions in n8n
  Filter by this workflow
  Review successful and failed executions
  Check logs for any errors or issues

  Troubleshooting

  Common Issues

  No leads are being processed

  Verify the workflow is activated
  Check Salesforce API limits haven't been exceeded
  Ensure new leads have FirstName, LastName, and Company populated
  Confirm OAuth connection is still valid

  Leads not matching in Explorium

  Verify company names are accurate (not abbreviations)
  Check that first and last names are properly formatted
  Some individuals may not be in Explorium's database
  Try testing with known companies/contacts

  Contact information not updating

  Check Salesforce field-level security
  Verify the integration user has edit permissions
  Ensure Email, Phone, and MobilePhone fields are writeable
  Check for validation rules blocking updates

  Authentication errors

  Salesforce: Re-authorize OAuth connection
  Explorium: Verify Bearer token is valid and not expired
  Check API quotas haven't been exceeded

  Error Handling

  The workflow includes built-in error handling:

  Failed matches don't stop other leads from processing
  Each batch is processed independently
  Failed executions are logged for review
  Partial successes are possible (some leads updated, others skipped)

  Best Practices

  Data Quality

  Ensure complete lead data: FirstName, LastName, and Company should be populated
  Use full company names: "Microsoft Corporation" matches better than "MSFT"
  Standardize data entry: Consistent formatting improves match rates

  Performance Optimization

  Adjust batch size: Lower if hitting API limits, higher for efficiency
  Modify polling frequency: Every minute for high volume, less frequent for lower volume
  Set appropriate limits: Balance between processing speed and API usage

  Compliance & Privacy

  Data permissions: Ensure you have rights to enrich lead data
  GDPR compliance: Consider privacy regulations in your region
  Data retention: Follow your organization's data policies
  Audit trail: Monitor who has access to enriched data

  Customization Options

  Extend the Enrichment

  Add more Explorium enrichment by:

  Adding firmographic data (company size, revenue)
  Including technographic information
  Appending social media profiles
  Adding job title and department verification

  Modify Trigger Conditions

  Change when enrichment occurs:

  Trigger on lead updates (not just creation)
  Add specific lead source filters
  Process only leads from certain campaigns
  Include lead score thresholds

  Add Notifications

  Enhance with alerts:

  Email sales reps when leads are enriched
  Send Slack notifications for high-value matches
  Create tasks for leads that couldn't be enriched
  Log enrichment metrics to dashboards

  API Considerations

  Salesforce Limits

  API calls: Each execution uses \~4 Salesforce API calls
  Polling frequency: Consider your daily API limit
  Batch processing: Reduces API usage vs. individual processing

  Explorium Limits

  Match API: One call per batch of leads
  Enrichment API: One call per batch of matched prospects
  Rate limits: Respect your plan's requests per minute

  Integration Architecture

  This workflow can be part of a larger lead management system:

  Lead Capture → This Workflow → Lead Scoring → Assignment
  Can trigger additional workflows based on enrichment results
  Compatible with existing Salesforce automation (Process Builder, Flows)
  Works alongside other enrichment tools

  Security Considerations

  Credentials**: Stored securely in n8n's credential system
  Data transmission**: Uses HTTPS for all API calls
  Access control**: Limit who can modify the workflow
  Audit logging**: All executions are logged with details

  Support Resources

  For assistance with:

  n8n issues**: Consult n8n documentation or community forum
  Salesforce integration**: Reference Salesforce API documentation
  Explorium API**: Contact Explorium support for API questions
  Workflow logic**: Review execution logs for debugging

nodes_used:
  ["n8n-nodes-base.salesforceTrigger","n8n-nodes-base.salesforce","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.filter","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@exploriumai/n8n-nodes-explorium-ai.exploriumApiNode","@exploriumai/n8n-nodes-explorium-ai.exploriumApiNode","@exploriumai/n8n-nodes-explorium-ai.exploriumApiNode"]

workflow_json_compressed:
  [encoded data, 5388 characters]

metadata_json:
  {"categories":["automation","integration","data enrichment","CRM","lead management"],"complexity":"medium","use_cases":["Automatically enrich new Salesforce leads with contact data","Improve sales outreach accuracy and reach rates","Reduce manual lead research for sales teams","Keep Salesforce lead records up-to-date with professional contact info"],"estimated_setup_minutes":30,"required_services":["n8n instance (self-hosted or cloud)","Salesforce (OAuth2 API access)","Explorium API (Bearer token)"],"key_features":["Real-time lead trigger from Salesforce","Name+company intelligent matching via Explorium","Fetches professional emails, mobile and office phone numbers","Batch processing to optimize API usage","Error handling to continue other records on failures','Selective updates only when a valid match is found"],"target_audience":["Sales operations","CRM administrators","Revenue operations managers (RevOps) / Sales enablement teams','Integration engineers / developers"]}


name: WhatsApp Group Chat with Your Vector Database — No Facebook Business Required
author_name: Cecilia Mukima
author_username: cecilia
categories: []
created_at: 2025-06-10T06:40:06.825Z
updated_at: 2025-06-10T06:40:06.825Z
url: https://n8n.io/workflows/4838
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Enable smart, real-time answers in your WhatsApp groups using a custom webhook, Pinecone vector database, and no Facebook Business setup.

  &gt; 🟡 Note: This template uses a custom WhatsApp webhook. It does not use the official WhatsApp Business API.  

  👥 Who is this for?

  This workflow is designed for individuals and teams who want to enable smart WhatsApp group automation — without going through Meta’s official WhatsApp Business API. Ideal for small businesses, internal teams, communities, and personal power users.

  ❓ What problem is this solving?

  Setting up WhatsApp bots with intelligent responses often requires approval from Meta and a verified business account. This workflow removes those barriers by using a self-hosted webhook to handle incoming messages and respond using a document-trained AI via Pinecone.

  ⚙️ What this workflow does

  Connects a regular WhatsApp number to a custom webhook  
  Adds the bot to any group chat (it stays silent unless mentioned)  
  Indexes documents from Google Drive into Pinecone  
  Responds with intelligent, context-aware answers from your custom knowledge base  
  Auto-updates its knowledge every minute as the document changes  

  🛠️ Setup

  Step 1: Connect Google Drive

  Set up your Google Drive credentials in n8n

  Step 2: Configure Pinecone

  Create an index in Pinecone  
     Dimension: 1536  
  Select this index in both Pinecone nodes  
  Click Test Workflow to ingest your document into Pinecone  

  Step 3: Get Access to the WhatsApp Webhook

  Fill out this form to request access  
  You’ll receive a WhatsApp confirmation for linking  

  Step 4: Test WhatsApp Integration

  ✅ One-on-one test: Send a message from another number  
  👥 Group test: Add the bot to a group; it will only respond when tagged  

  🧩 How to customize this workflow

  Modify the system prompt inside the AI agent node to control tone and behavior  
  Update the connected Google Doc to match your specific domain (e.g. FAQs, SOPs, product manuals)  
  Adjust the Pinecone sync frequency if you want updates more or less often  

  📚 Use cases

  Customer Support**: Instant, intelligent replies in WhatsApp without live agents  
  Team Knowledge Bot**: Tag the bot for quick access to SOPs and internal docs  
  Community Groups**: Automate common questions while keeping noise low  
  Personal AI Assistant**: A WhatsApp chatbot trained on your notes and files  

  📝 Sticky Note Suggestion

   💬 What this template does:  
  &gt; Enables an AI bot in your WhatsApp group that answers questions based on a Google Doc you provide. It uses a custom webhook, Google Drive, and Pinecone.  

  🔧 Requirements:  
  &gt;  Google Drive account  
  &gt;  Pinecone account with an index (dimension 1536)  
  &gt; Access to the custom WhatsApp webhook (see setup steps)  

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.respondToWebhook","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.if","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5304 characters]

metadata_json:
  {"categories":["automation","integration","knowledge management","chatbots"],"complexity":"medium","use_cases":["WhatsApp group Q&A from documents","Customer support automation in WhatsApp","Team knowledge / SOP lookup","Community FAQ bot","Personal AI assistant using personal docs"],"estimated_setup_minutes":45,"required_services":["Google Drive","Pinecone (vector DB)","Custom/self-hosted WhatsApp webhook provider","OpenAI (or compatible embeddings & chat API)","n8n instance"],"key_features":["Connects a regular WhatsApp number via custom webhook (no Meta Business API)","Responds in group chats only when mentioned","Indexes Google Drive documents into Pinecone (1536-dim embeddings)","Document-trained, context-aware AI answers using embeddings + chat model","Automatic, frequent sync of documents (auto-updates every minute configurable)"],"target_audience":["Small businesses","Internal teams / operations","Community managers / moderators」「Personal power users / solo founders」「Developers or technical operators who can manage a webhook"]}


name: Automated AI Lead Enrichment: Hubspot to Explorium for Enhanced Prospect Data
author_name: explorium
author_username: explorium
categories: []
created_at: 2025-06-10T06:40:34.915Z
updated_at: 2025-06-10T06:40:34.915Z
url: https://n8n.io/workflows/4839
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  HubSpot Contact Enrichment with Explorium

  Template

  Download the following json file and import it to a new n8n workflow:

  hubspot\_flow.json

  Overview

  This n8n workflow monitors your HubSpot instance for newly created contacts and automatically enriches them with additional contact information. When a contact is created, the workflow:

  Detects the new contact via HubSpot webhook trigger
  Retrieves recent contact details from HubSpot
  Matches the contact against Explorium's database using name, company, and email
  Enriches the contact with professional emails and phone numbers
  Updates the HubSpot contact record with discovered information

  This automation ensures your sales and marketing teams have complete contact information, improving outreach success rates and data quality.

  Key Features

  Real-time Webhook Trigger**: Instantly processes new contacts as they're created
  Intelligent Matching**: Uses multiple data points (name, company, email) for accurate matching
  Comprehensive Enrichment**: Adds both professional and work emails, plus phone numbers
  Batch Processing**: Efficiently handles multiple contacts to optimize API usage
  Smart Data Mapping**: Intelligently maps multiple emails and phone numbers
  Profile Enrichment**: Optional additional enrichment for deeper contact insights
  Error Resilience**: Continues processing other contacts if some fail to match

  Prerequisites

  Before setting up this workflow, ensure you have:

  n8n instance (self-hosted or cloud)
  HubSpot account with:
     Developer API access (for webhooks)
     Private App or OAuth2 app created
     Contact object permissions (read/write)
  Explorium API credentials (Bearer token) - Get explorium api key
  Understanding of HubSpot contact properties

  HubSpot Requirements

  Required Contact Properties

  The workflow uses these HubSpot contact properties:

  firstname - Contact's first name
  lastname - Contact's last name
  company - Associated company name
  email - Primary email (read and updated)
  work_email - Work email (updated by workflow)
  phone - Phone number (updated by workflow)

  API Access Setup

  Create a Private App in HubSpot:
     Navigate to Settings → Integrations → Private Apps
     Create new app with Contact read/write scopes
     Copy the Access Token

  Set up Webhooks (for Developer API):
     Create app in HubSpot Developers portal
     Configure webhook for contact.creation events
     Note the App ID and Developer API Key

  Custom Properties (Optional)

  Consider creating custom properties for:

  Multiple email addresses
  Mobile vs. office phone numbers
  Data enrichment timestamps
  Match confidence scores

  Installation & Setup

  Step 1: Import the Workflow

  Copy the workflow JSON from the template
  In n8n: Navigate to Workflows → Add Workflow → Import from File
  Paste the JSON and click Import

  Step 2: Configure HubSpot Developer API (Webhook)

  Click on the HubSpot Trigger node
  Under Credentials, click Create New
  Enter your HubSpot Developer credentials:
     App ID: From your HubSpot app
     Developer API Key: From your developer account
     Client Secret: From your app settings
  Save as "HubSpot Developer account"

  Step 3: Configure HubSpot App Token

  Click on the HubSpot Recently Created node
  Under Credentials, click Create New (App Token)
  Enter your Private App access token
  Save as "HubSpot App Token account"
  Apply the same credentials to the Update HubSpot node

  Step 4: Configure Explorium API Credentials

  Click on the Explorium Match Prospects node
  Under Credentials, click Create New (HTTP Header Auth)
  Configure the authentication:
     Name: Authorization
     Value: Bearer YOUR_EXPLORIUM_API_TOKEN
  Save as "Header Auth Connection"
  Apply to all Explorium nodes:
     Explorium Enrich Contacts Information
     Explorium Enrich Profiles

  Step 5: Configure Webhook Subscription

  In HubSpot Developers portal:
     Go to your app's webhook settings
     Add subscription for contact.creation events
     Set the target URL from the HubSpot Trigger node
     Activate the subscription

  Step 6: Activate the Workflow

  Save the workflow
  Toggle the Active switch to ON
  The webhook is now listening for new contacts

  Node Descriptions

  HubSpot Trigger: Webhook that fires when new contacts are created
  HubSpot Recently Created: Fetches details of recently created contacts
  Loop Over Items: Processes contacts in batches of 6
  Explorium Match Prospects: Finds matching person in Explorium database
  Filter: Validates successful matches
  Extract Prospect IDs: Collects matched prospect identifiers
  Enrich Contacts Information: Fetches emails and phone numbers
  Enrich Profiles: Gets additional profile data (optional)
  Merge: Combines all enrichment results
  Split Out: Separates individual enriched records
  Update HubSpot: Updates contact with new information

  Data Mapping Logic

  The workflow maps Explorium data to HubSpot properties:

  | Explorium Data                 | HubSpot Property   | Notes                         |
  | ------------------------------ | ------------------ | ----------------------------- |
  | professions_email            | email            | Primary professional email    |
  | emails[].address             | work_email       | All email addresses joined    |
  | phone_numbers[].phone_number | phone            | All phones joined with commas |
  | mobile_phone                 | phone (fallback) | Used if no other phones found |

  Data Processing

  The workflow handles complex data scenarios:

  Multiple emails**: Joins all discovered emails with commas
  Phone numbers**: Combines all phone numbers into a single field
  Missing data**: Uses "null" as placeholder for empty fields
  Name parsing**: Cleans sample data and special characters

  Usage & Operation

  Automatic Processing

  Once activated:

  Every new contact triggers the webhook immediately
  Contact is enriched within seconds
  HubSpot record is updated automatically
  Process repeats for each new contact

  Manual Testing

  To test the workflow:

  Use the pinned test data in the HubSpot Trigger node, or
  Create a test contact in HubSpot
  Monitor the execution in n8n
  Verify the contact was updated in HubSpot

  Monitoring Performance

  Track workflow health:

  Go to Executions in n8n
  Filter by this workflow
  Monitor success rates
  Review any failed executions
  Check webhook delivery in HubSpot

  Troubleshooting

  Common Issues

  Webhook not triggering

  Verify webhook subscription is active in HubSpot
  Check the webhook URL is correct and accessible
  Ensure workflow is activated in n8n
  Test webhook delivery in HubSpot developers portal

  Contacts not matching

  Verify contact has firstname, lastname, and company
  Check for typos or abbreviations in company names
  Some individuals may not be in Explorium's database
  Email matching improves accuracy significantly

  Updates failing in HubSpot

  Check API token has contact write permissions
  Verify property names exist in HubSpot
  Ensure rate limits haven't been exceeded
  Check for validation rules on properties

  Missing enrichment data

  Not all prospects have all data types
  Phone numbers may be less available than emails
  Profile enrichment is optional and may not always return data

  Error Handling

  Built-in error resilience:

  Failed matches don't block other contacts
  Each batch processes independently
  Partial enrichment is possible
  All errors are logged for review

  Debugging Tips

  Check webhook logs: HubSpot shows delivery attempts
  Review executions: n8n logs show detailed error messages
  Test with pinned data: Use the sample data for isolated testing
  Verify API responses: Check Explorium API returns expected data

  Best Practices

  Data Quality

  Complete contact records: Ensure name and company are populated
  Standardize company names: Use official names, not abbreviations
  Include existing emails: Improves match accuracy
  Regular data hygiene: Clean up test and invalid contacts

  Performance Optimization

  Batch size: 6 is optimal for rate limits
  Webhook reliability: Monitor delivery success
  API quotas: Track usage in both platforms
  Execution history: Regularly clean old executions

  Compliance & Privacy

  GDPR compliance: Ensure lawful basis for enrichment
  Data minimization: Only enrich necessary fields
  Access controls: Limit who can modify enriched data
  Audit trail: Document enrichment for compliance

  Customization Options

  Additional Enrichment

  Extend with more Explorium data:

  Job titles and departments
  Social media profiles
  Professional experience
  Skills and interests
  Company information

  Enhanced Processing

  Add workflow logic for:

  Lead scoring based on enrichment
  Routing based on data quality
  Notifications for high-value matches
  Custom field mapping

  Integration Extensions

  Connect to other systems:

  Sync enriched data to CRM
  Trigger marketing automation
  Update data warehouse
  Send notifications to Slack

  API Considerations

  HubSpot Limits

  API calls**: Monitor daily limits
  Webhook payload**: Max 200 contacts per trigger
  Rate limits**: 100 requests per 10 seconds
  Property limits**: Max 1000 custom properties

  Explorium Limits

  Match API**: Batched for efficiency
  Enrichment calls**: Two parallel enrichments
  Rate limits**: Based on your plan
  Data freshness**: Real-time matching

  Architecture Considerations

  This workflow integrates with:

  HubSpot workflows and automation
  Marketing campaigns and sequences
  Sales engagement tools
  Reporting and analytics
  Other enrichment services

  Security Best Practices

  Webhook validation**: Verify requests are from HubSpot
  Token security**: Rotate API tokens regularly
  Access control**: Limit workflow modifications
  Data encryption**: All API calls use HTTPS
  Audit logging**: Track all enrichments

  Advanced Configuration

  Custom Field Mapping

  Modify the Update HubSpot node to map to custom properties:

  // Example custom mapping
  {
    "custom_mobile": "{{ $json.data.mobile_phone }}",
    "custom_linkedin": "{{ $json.data.linkedin_url }}",
    "enrichment_date": "{{ $now.toISO() }}"
  }

  Conditional Processing

  Add logic to process only certain contacts:

  Filter by contact source
  Check for specific properties
  Validate email domains
  Exclude test contacts

  Support Resources

  For assistance:

  n8n issues**: Check n8n documentation and forums
  HubSpot API**: Reference HubSpot developers documentation
  Explorium API**: Contact Explorium support
  Webhook issues**: Use HubSpot webhook testing tools

nodes_used:
  ["n8n-nodes-base.hubspotTrigger","n8n-nodes-base.hubspot","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.hubspot","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6256 characters]

metadata_json:
  {"categories":["integration","data enrichment","automation","CRM"],"complexity":"medium","use_cases":["Automatically enrich new HubSpot contacts","Improve contact data quality for sales/marketing outreach","Populate work emails and phone numbers in CRM","Batch processing of contacts to optimize API usage","Feed enriched profiles into downstream systems"],"estimated_setup_minutes":30,"required_services":["n8n instance (self-hosted or cloud)","HubSpot (Developer API access + Private App)","Explorium API (Bearer token)"],"key_features":["Real-time HubSpot webhook trigger","Intelligent matching by name/company/email","Comprehensive enrichment of emails and phone numbers","Batch processing (groups of 6) to respect rate limits","Smart data mapping and merging into HubSpot properties (email, work_email, phone)"],"target_audience":["CRM administrators","Sales/Marketing operations","Integration engineers / automation specialists`,`Data enrichment teams"]}


name: Search Business Prospects with Natural Language using Claude AI and Explorium MCP
author_name: explorium
author_username: explorium
categories: []
created_at: 2025-06-10T06:55:38.377Z
updated_at: 2025-06-10T06:55:38.377Z
url: https://n8n.io/workflows/4840
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  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

nodes_used:
  ["n8n-nodes-base.convertToFile","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.splitOut","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 9320 characters]

metadata_json:
  {"categories":["automation","integration","data processing","conversational AI","sales enablement"],"complexity":"medium","use_cases":["Find targeted business prospects via natural language","Generate and export prospect lists as CSV for CRM import","Recruiting candidate sourcing","Business development lead discovery","Ad-hoc market/company research"],"estimated_setup_minutes":20,"required_services":["n8n instance with chat interface enabled (public webhook)","Anthropic (Claude Sonnet 3.7) API key","Explorium MCP / Prospects API credentials (Bearer token)"],"key_features":["Natural language chatbot interface","AI translation of queries to Explorium API filters","API request structure validation and error correction","Automatic pagination and large-result handling","CSV export of formatted prospect data (downloadable)"],"target_audience":["Sales teams","Recruiters","Business development professionals/lead generators\",\"Marketers\",\"Data analysts\",\"Developers implementing automation"]}


name: Generate Sales Emails Based on Business Events with Explorium MCP & Claude
author_name: explorium
author_username: explorium
categories: []
created_at: 2025-06-10T06:56:57.172Z
updated_at: 2025-06-10T06:56:57.172Z
url: https://n8n.io/workflows/4841
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  Explorium Event-Triggered Outreach

  This n8n and agent-based workflow automates outbound prospecting by monitoring Explorium event data (e.g. product launches, new office opening, new investment and more), researching companies, identifying key contacts, and generating tailored sales emails leveraging the Explorium MCP server.

  Template

  Workflow Overview

  Node 1: Webhook Trigger

  Purpose: Listens for real-time product launch events pushed from Explorium's webhook system.

  How it works:

  Explorium sends HTTP POST requests containing event data
  The webhook payload includes company name, business ID, domain, product name, and event type
  Pay attention: Product launch is just one example. You can easily enroll to many more meaningful events.
  to learn about events and how to enroll to events, visit the events documentation.

  Node 2: Company Research Agent

  Agent Type: Tools Agent

  Purpose: Enrich company data after an event occurs.

  How it works:

  Uses Explorium MCP via the MCP Client tool to gather additional company data
  Uses Anthropic Claude (Chat Model) to process and interpret company information for downstream personalization

  Node 3: Employee Data Retrieval

  Purpose: Retrieve prospect-level data for targeting.

  How it works:

  Uses HTTP Request node to call Explorium's fetch_prospects endpoint
  Filters prospects by:
    Company business_id
    Departments: Product, R&D, etc...
    Seniority levels: owner, cxo, vp, director, senior, manager, partner, etc...
    Pay Attention: Follow our fetch prospect documentation for the full list of filter and best practice.
  Limits results to top 5 relevant employees
  Code nodes handle:
    Filtering logic
    Cleaning API response
    Formatting data for downstream agents

  Node 4: Conditional Branch - Prospect Data Check

  If Node: Checks whether prospect data was successfully retrieved

  Logic:

  If prospects found → personalized emails per person
  If no prospects → fallback to company-level general email

  Node 5A: Email Writer #1 (No Prospect Data)

  Agent Type: Tools Agent

  Purpose: Write generic outbound email using only company-level research and event info.

  Powered by: Anthropic Chat Model

  Node 5B: Loop Over Prospects → Email Writer #2 (Personalized)

  Agent Type: Tools Agent

  Purpose: Write highly personalized email for each identified employee.

  How it works:

  Loops through each individual prospect
  Passes company research + employee data to LLM agent
  Generates customized emails referencing:
    Prospect's title & department
    Product launch
    Role-relevant Explorium value proposition

  Node 6: Slack Notifications

  Purpose: Posts completed emails to internal Slack channel for review or testing before final deployment.

  Future State: Can be swapped with an email sequencing platform in production.

  Setup Requirements

  Explorium API Access

  MCP Client credentials for company enrichment and prospect fetching
  Registered webhook for event listening

  Get explorium api key

  n8n Configuration

  Secure environment variables for API keys & webhook secret
  Code nodes configured for JSON transformation, filtering & signature validation

  Customization Options

  Personalization Logic

  Update LLM prompt instructions to reflect ICP priorities
  Modify email templates based on role, department, or tenure logic
  Adjust fallback behavior when prospect data is unavailable

  API Request Tuning

  Adjust page_size for number of prospects retrieved
  Fine-tune seniority and department filters to match evolving targeting

  Future Expansion

  Swap Slack notifications for outbound email automation
  Integrate call task assignment directly into CRM
  Introduce engagement scoring feedback loop (opens, clicks, replies)

  Troubleshooting Tips

  Validate webhook signature matching to prevent unauthorized requests
  Ensure correct business_id is passed to prospect fetching endpoint
  Confirm business enrichment returns sufficient data for company researcher agents
  Review agent LLM responses for correct output structure and parsing consistency

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.webhook","n8n-nodes-base.httpRequest","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.slack","n8n-nodes-base.httpRequest","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.slack"]

workflow_json_compressed:
  [encoded data, 7824 characters]

metadata_json:
  {"categories":["automation","sales enablement","integration","data enrichment"],"complexity":"medium","use_cases":["Event-triggered outbound prospecting","Lead generation and account-based outreach","Personalized email creation at scale","Enrichment-driven targeting after business events"],"estimated_setup_minutes":90,"required_services":["Explorium MCP (company enrichment & prospect fetch)","Explorium Events/Webhooks (registered webhook)","Anthropic Claude (LLM)","n8n platform"],"key_features":["Real-time webhook-triggered workflow","Company enrichment via MCP Client","Prospect fetching and filtering by department/seniority","Per-prospect personalized email generation with LLM agents","Fallback company-level email when no prospects found"],"target_audience":["SDRs and sales teams","Growth/marketing teams","Revenue operations managers (RevOps) / automation owners」「Developers and automation engineers"]}


name: Automate Glassdoor Job Search with Bright Data Scraping & Google Sheets Storage
author_name: Bright Data
author_username: bright-data
categories: []
created_at: 2025-06-10T07:48:33.357Z
updated_at: 2025-06-10T07:48:33.357Z
url: https://n8n.io/workflows/4843
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  🔍 Glassdoor Job Finder: Bright Data Scraping + Keyword-Based Automation

  A comprehensive n8n automation that scrapes Glassdoor job listings using Bright Data's web scraping service based on user-defined keywords, location, and country parameters, then automatically stores the results in Google Sheets.

  📋 Overview

  This workflow provides an automated job search solution that extracts job listings from Glassdoor using form-based inputs and stores organized results in Google Sheets. Perfect for recruiters, job seekers, market research, and competitive analysis.

  Workflow Description: Automates Glassdoor job searches using Bright Data's web scraping capabilities. Users submit keywords, location, and country via form trigger. The workflow scrapes job listings, extracts company details, ratings, and locations, then automatically stores organized results in Google Sheets for easy analysis and tracking.

  ✨ Key Features

  🎯 Form-Based Input: Simple web form for job type, location, and country
  🔍 Glassdoor Integration: Uses Bright Data's Glassdoor dataset for accurate job data
  📊 Smart Data Processing: Automatically extracts key job information
  📈 Google Sheets Storage: Organized data storage with automatic updates
  🔄 Status Monitoring: Built-in progress tracking and retry logic
  ⚡ Fast & Reliable: Professional scraping with error handling
  🎯 Keyword Flexibility: Search any job type with location filters
  📝 Structured Output: Clean, organized job listing data

  🎯 What This Workflow Does

  Input
  Job Keywords:** Job title or role (e.g., "Software Engineer", "Marketing Manager")
  Location:** City or region for job search
  Country:** Target country for job listings

  Processing
  Form Submission
  Data Scraping via Bright Data
  Status Monitoring
  Data Extraction
  Data Processing
  Sheet Update

  Output Data Points

  | Field | Description | Example |
  |-------|-------------|---------|
  | Job Title | Position title from listing | Senior Software Engineer |
  | Company Name | Employer name | Google Inc. |
  | Location | Job location | San Francisco, CA |
  | Rating | Company rating score | 4.5 |
  | Job Link | Direct URL to listing | https://glassdoor.com/job/... |

  🚀 Setup Instructions

  Prerequisites
  n8n instance (self-hosted or cloud)
  Google account with Sheets access
  Bright Data account with Glassdoor scraping dataset access
  5–10 minutes for 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 and click Import

  Step 2: Configure Bright Data
  Set up Bright Data credentials in n8n
  Ensure access to dataset: gd_lpfbbndm1xnopbrcr0
  Update API tokens in:
     "Scrape Job Data" node
     "Check Delivery Status of Snap ID" node
     "Getting Job Lists" node

  Step 3: Configure Google Sheets Integration
  Create a new Google Sheet (e.g., "Glassdoor Job Tracker")
  Set up Google Sheets OAuth2 credentials in n8n
  Prepare columns:
     Column A: Job Title
     Column B: Company Name
     Column C: Location
     Column D: Rating
     Column E: Job Link

  Step 4: Update Workflow Settings
  Update "Update Job List" node with your Sheet ID and credentials
  Test the form trigger and webhook URL

  Step 5: Test & Activate
  Submit test data (e.g., "Software Engineer" in "New York")
  Activate the workflow
  Verify Google Sheet updates and field extraction

  📖 Usage Guide

  Submitting Job Searches
  Navigate to your workflow's webhook URL
  Fill in:
     Search Job Type
     Location
     Country
  Submit the form

  Reading the Results
  Real-time job listing data
  Company ratings and reviews
  Direct job posting links
  Location-specific results
  Processing timestamps

  🔧 Customization Options
  More Data Points:** Add job descriptions, salary, company size, etc.
  Search Parameters:** Add filters for salary, experience, remote work
  Data Processing:** Add validation, deduplication, formatting

  🚨 Troubleshooting
  Bright Data connection failed:** Check API credentials and dataset access
  No job data extracted:** Validate search terms and location format
  Google Sheets permission denied:** Re-authenticate and check sharing
  Form submission failed:** Check webhook URL and form config
  Workflow execution failed:** Check logs, add retry logic

  Advanced Troubleshooting
  Check execution logs in n8n
  Test individual nodes
  Verify data formats
  Monitor rate limits
  Add error handling

  📊 Use Cases & Examples
  Recruitment Pipeline:** Track job postings, build talent database
  Market Research:** Analyze job trends, hiring patterns
  Career Development:** Monitor opportunities, salary trends
  Competitive Intelligence:** Track competitor hiring activity

  ⚙️ Advanced Configuration
  Batch Processing:** Accept multiple keywords, loop logic, delays
  Search History:** Track trends, compare results over time
  External Tools:** Integrate with CRM, Slack, databases, BI tools

  📈 Performance & Limits
  Single search:** 2–5 minutes
  Data accuracy:** 95%+
  Success rate:** 90%+
  Concurrent searches:** 1–3 (depends on plan)
  Daily capacity:** 50–200 searches
  Memory:** ~50MB per execution
  API calls:** 3 Bright Data + 1 Google Sheets per search

  🤝 Support & Community
  n8n Community Forum:** community.n8n.io
  Documentation:** docs.n8n.io
  Bright Data Support:** Via your dashboard
  GitHub Issues:** Report bugs and features

  Contributing: Share improvements, report issues, create variations, document best practices.

  Need Help? Check the full documentation or visit the n8n Community for support and workflow examples.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","data processing","web scraping"],"complexity":"medium","use_cases":["Automated job discovery and tracking","Recruitment pipeline building","Market research and hiring trend analysis","Competitive intelligence on hiring activity","Personal job search monitoring"],"estimated_setup_minutes":10,"required_services":["n8n (cloud or self-hosted)","Bright Data (Glassdoor dataset access - gd_lpfbbndm1xnopbrcr0)","Google Sheets (Google account with OAuth2 credentials)","Public webhook/form access (n8n form trigger)"],"key_features":["Form-based keyword/location input","Bright Data Glassdoor scraping integration","Keyword and location filtering","Automated extraction of job title, company, location, rating, and link","Status monitoring and retry logic for scraping jobs/deliveries (Snap ID checks)"],"target_audience":["Recruiters and sourcers","Job seekers and career coaches","Market researchers and HR analysts`,`Developers and automation engineers integrating data into Sheets"]}


name: Scrape Yelp Business Data with Gemini AI, Bright Data & Google Sheets
author_name: Bright Data
author_username: bright-data
categories: []
created_at: 2025-06-10T07:53:49.388Z
updated_at: 2025-06-10T07:53:49.388Z
url: https://n8n.io/workflows/4844
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  🔍 Yelp Business Finder: Scraping Local Businesses by Keyword, Category & Location Using Bright Data and Google Sheets

  Description: Automate local business data collection from Yelp using AI-powered input validation, Bright Data scraping, and automatic Google Sheets integration. Perfect for market research, lead generation, and competitive analysis.

  🛠️ How It Works

  Form Submission: Users submit a simple form with country, location, and business category parameters.

  AI Validation: Google Gemini AI validates and cleans input data, ensuring proper formatting and Yelp category alignment.

  Data Scraping: Bright Data's Yelp dataset API scrapes business information based on the cleaned parameters.

  Status Monitoring: The workflow monitors scraping progress and waits for data completion.

  Data Export: Final business data is automatically appended to your Google Sheets for easy analysis.

  📋 Setup Steps

  ⏱️ Estimated Setup Time: 10-15 minutes

  Prerequisites

  ✅ Active n8n instance (cloud or self-hosted)
  ✅ Google account with Sheets access
  ✅ Bright Data account with Yelp scraping dataset
  ✅ Google Gemini API access

  Configuration Steps

  Import Workflow:
     Copy the provided JSON workflow
     In n8n: Go to Workflows → + Add workflow → Import from JSON
     Paste the JSON and click Import

  Configure Google Sheets:
     Create a new Google Sheet or use an existing one
     Set up OAuth2 credentials in n8n
     Update the Google Sheets node with your document ID
     Configure column mappings for business data

  Setup Bright Data:
     Add your Bright Data API credentials to n8n
     Replace BRIGHT_DATA_API_KEY with your actual API key
     Verify your Yelp dataset ID in the HTTP request nodes
     Test the connection

  Configure Google Gemini:
     Add your Google Gemini API credentials
     Test the AI Agent connection
     Verify the model configuration

  Test & Activate:
     Activate the workflow using the toggle switch
     Test with sample data: country="US", location="New York", category="restaurants"
     Verify data appears correctly in your Google Sheet

  📊 Data Output

  📍 Business Name  
  Official business name from Yelp

  ⭐ Overall Rating  
  Average customer rating (1-5 stars)

  📝 Reviews Count  
  Total number of customer reviews

  🏷️ Categories  
  Business categories and tags

  🌐 Website URL  
  Official business website

  📞 Phone Number  
  Contact phone number

  📍 Address  
  Full business address

  🔗 Yelp URL  
  Direct link to Yelp listing

  🎯 Use Cases

  🔍 Market Research  
  Analyze local business landscapes and competition

  📈 Lead Generation  
  Build prospect lists for B2B outreach

  🏪 Location Analysis  
  Research business density by area and category

  📊 Competitive Intelligence  
  Monitor competitor ratings and customer feedback

  ⚠️ Important Notes:
  Ensure you comply with Yelp's terms of service and rate limits
  Bright Data usage may incur costs based on your plan
  AI validation helps improve data quality and reduce errors
  Monitor your Google Sheets for data accuracy

  🔧 Troubleshooting

  Common Issues:
  API Rate Limits:** Implement delays between requests if needed
  Invalid Categories:** AI agent helps standardize category names
  Empty Results:** Verify location spelling and category alignment
  Authentication Errors:** Check all API credentials and permissions

  🚀 Ready to start scraping Yelp business data efficiently!

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.formTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5696 characters]

metadata_json:
  {"categories":["automation","data collection","web scraping","integration","AI-assisted"],"complexity":"medium","use_cases":["Market research","Lead generation","Location analysis","Competitive intelligence","Local business data enrichment"],"estimated_setup_minutes":15,"required_services":["n8n instance (cloud or self-hosted)","Bright Data (Yelp dataset / API)","Google Sheets (Google APIs / OAuth2)","Google Gemini API (AI validation)","Yelp (target data source)"],"key_features":["Form-based input for country/location/category","AI-powered input validation and category standardization (Google Gemini)","Scraping via Bright Data Yelp dataset API","Scrape status monitoring and wait logic","Automatic append/export to Google Sheets with column mapping"],"target_audience":["Marketers","Sales / Business Development teams","Market researchers / analysts`,`Developers implementing data pipelines"]}


name: Generate AI Videos with Google Veo3, Save to Google Drive and Upload to YouTube
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-06-10T08:27:01.375Z
updated_at: 2025-06-10T08:27:01.375Z
url: https://n8n.io/workflows/4846
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 19:21:45
description:
  This workflow allows users to generate AI videos using Google Veo3, save them to Google Drive, generate optimized YouTube titles with GPT-4o, and automatically upload them to YouTube with Upload-Post. The entire process is triggered from a Google Sheet that acts as the central interface for input and output.

  IT automates video creation, uploading, and tracking, ensuring seamless integration between Google Sheets, Google Drive, Google Veo3, and YouTube.

  Benefits of this Workflow

  💡 No Code Interface**: Trigger and control the video production pipeline from a simple Google Sheet.
  ⚙️ Full Automation**: Once set up, the entire video generation and publishing process runs hands-free.
  🧠 AI-Powered Creativity**:

    Generates engaging YouTube titles using GPT-4o.
    Leverages advanced generative video AI from Google Veo3.
  📁 Cloud Storage & Backup**: Stores all generated videos on Google Drive for safekeeping.
  📈 YouTube Ready**: Automatically uploads to YouTube with correct metadata, saving time and boosting visibility.
  🧪 Scalable**: Designed to process multiple video prompts by looping through new entries in Google Sheets.
  🔒 API-First**: Utilizes secure API-based communication for all services.

  How It Works  
  Trigger: The workflow can be started manually ("When clicking ‘Test workflow’") or scheduled ("Schedule Trigger") to run at regular intervals (e.g., every 5 minutes).  
  Fetch Data: The "Get new video" node retrieves unfilled video requests from a Google Sheet (rows where the "VIDEO" column is empty).  
  Video Creation:  
     The "Set data" node formats the prompt and duration from the Google Sheet.  
     The "Create Video" node sends a request to the Fal.run API (Google Veo3) to generate a video based on the prompt.  
  Status Check:  
     The "Wait 60 sec." node pauses execution for 60 seconds.  
     The "Get status" node checks the video generation status. If the status is "COMPLETED," the workflow proceeds; otherwise, it waits again.  
  Video Processing:  
     The "Get Url Video" node fetches the video URL.  
     The "Generate title" node uses OpenAI (GPT-4.1) to create an SEO-optimized YouTube title.  
     The "Get File Video" node downloads the video file.  
  Upload & Update:  
     The "Upload Video" node saves the video to Google Drive.  
     The "HTTP Request" node uploads the video to YouTube via the Upload-Post API.  
     The "Update Youtube URL" and "Update result" nodes update the Google Sheet with the video URL and YouTube link.  

  Set Up Steps  
  Google Sheet Setup:  
     Create a Google Sheet with columns: PROMPT, DURATION, VIDEO, and YOUTUBE_URL.  
     Share the Sheet link in the "Get new video" node.  

  API Keys:  
     Obtain a Fal.run API key (for Veo3) and set it in the "Create Video" node (Header: Authorization: Key YOURAPIKEY).  
     Get an Upload-Post API key (for YouTube uploads) and configure the "HTTP Request" node (Header: Authorization: Apikey YOUR_API_KEY).  

  YouTube Upload Configuration:  
     Replace YOUR_USERNAME in the "HTTP Request" node with your Upload-Post profile name.  

  Schedule Trigger:  
     Configure the "Schedule Trigger" node to run periodically (e.g., every 5 minutes).  

  Need help customizing?  
  Contact me for consulting and support or add me on Linkedin. 

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5968 characters]

metadata_json:
[cell repeats an earlier one in this file: 210 characters]


name: Generate and Send AI News Newsletters Automatically with GPT & Gmail
author_name: Rahul Joshi
author_username: rahul08
categories: []
created_at: 2025-06-10T08:27:24.513Z
updated_at: 2025-06-10T08:27:24.513Z
url: https://n8n.io/workflows/4847
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Description:

  Automate your AI newsletter creation and delivery using this ready-to-deploy n8n workflow template. Powered by GPT (OpenAI/Azure) and integrated with Gmail, this workflow generates rich, structured, and engaging AI-focused newsletters and sends them out daily or weekly—completely hands-free.

  What It Does:

  📰 Fetches the latest AI trends and updates using GPT
  ✍️ Automatically formats news into structured newsletter sections: headlines, tools, stats, tips, and more
  📧 Sends HTML email newsletters via Gmail
  🕘 Runs automatically at your chosen schedule (default: 9 AM daily)

  Setup Includes:

  Connect your OpenAI or Azure GPT API
  Add Gmail SMTP or OAuth credentials
  Customize categories, schedule, and email styling

  Perfect for:

  Tech bloggers, content marketers, AI influencers, and automation enthusiasts who want to send curated AI content to their audience without manual effort.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.gmail","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatAzureOpenAi","n8n-nodes-base.scheduleTrigger"]

workflow_json_compressed:
  [encoded data, 6900 characters]

metadata_json:
  {"categories":["automation","content generation","email/newsletter","integration"],"complexity":"medium","use_cases":["Automate creation of AI-focused newsletters","Curate and summarize latest AI trends","Send scheduled HTML email newsletters to subscribers","Content marketing and audience engagement"],"estimated_setup_minutes":20,"required_services":["OpenAI or Azure OpenAI API","Gmail (SMTP or OAuth)","n8n instance"],"key_features":["Fetches AI updates using GPT","Formats content into structured newsletter sections (headlines, tools, stats, tips)","Sends HTML newsletters via Gmail","Runs on a schedule (daily/weekly)","Configurable categories, schedule, and email styling"],"target_audience":["Tech bloggers","Content marketers","AI influencers and curators」「Automation enthusiasts"]}


name: Automated Music Video Creation & YouTube Publishing with AI-Generated Metadata from Google Drive
author_name: danejw
author_username: danejw
categories: []
created_at: 2025-06-10T09:31:31.721Z
updated_at: 2025-06-10T09:31:31.721Z
url: https://n8n.io/workflows/4848
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  The Problem That it Solves

  Uploading music manually to YouTube is a chore. Renaming files, filling metadata, picking the right playlist, adding keywords, and scheduling the release can eat up your creative time. This workflow removes the busy work so you can focus on making tracks instead of managing uploads.

  How it works
  Drop an MP3 into your shared Google Drive “Audio” folder and walk away. The workflow detects the new file, grabs the genre from the filename based on a set of keywords, uses the genre to map to cover art styles, and YouTube playlists, generates the description and tags for YouTube metadata, and schedules and posts to YouTube channel, while sending messages to discord for updates.

nodes_used:
  ["n8n-nodes-base.googleDriveTrigger","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.youTube","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.dateTime","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.sort","n8n-nodes-base.limit","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.dateTime","n8n-nodes-base.youTube","n8n-nodes-base.youTube","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.dateTime","n8n-nodes-base.dateTime","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.youTube","n8n-nodes-base.youTube","n8n-nodes-base.youTube","n8n-nodes-base.code","n8n-nodes-base.discord","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5172 characters]

metadata_json:
  {"categories":["automation","integration","media publishing","content creation"],"complexity":"complex","use_cases":["Automated upload of music tracks from Google Drive to YouTube","AI-generated YouTube metadata (title, description, tags)","Automatic playlist assignment and scheduling of releases","Automated cover-art/style selection based on genre keywords","Team notifications via Discord about upload status"],"estimated_setup_minutes":90,"required_services":["Google Drive (Drive API / Google account)","YouTube Data API / YouTube channel with OAuth credentials","OpenAI (or compatible LLM) for metadata generation","Discord (webhook or bot) for notifications"],"key_features":["Detect new MP3 in shared Google Drive folder and trigger workflow","Parse genre from filename using configurable keyword mapping","Map genre to cover art styles and YouTube playlists","Generate titles, descriptions and tags using AI","Schedule and publish video uploads to YouTube automatically or on a timetable"],"target_audience":["Musicians and independent labels","YouTube channel managers and content creators","Social media/marketing teams managing music releases"]}


name: Automated Invoice Processing with Telegram, GPT-4o, OCR and SAP Integration
author_name: Raquel Giugliano
author_username: raquelgiugliano
categories: []
created_at: 2025-06-10T10:01:39.029Z
updated_at: 2025-06-10T10:01:39.029Z
url: https://n8n.io/workflows/4849
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  ++HOW IT WORKS:++
  This workflow automates the processing of invoices sent via Telegram. It extracts the data using LlamaIndex OCR, logs it in Google Sheets, and optionally pushes the structured data to SAP Business One

  🔹 1. Receive Invoice via Telegram:**
  A user sends a PDF of an invoice through Telegram
  A Telegram Trigger node listens for incoming messages and captures the file and metadata
  The document is downloaded and prepared for OCR

  🔹 2. OCR with LlamaIndex:
  The file is uploaded to the LlamaIndex OCR API.
  The workflow polls the API until the processing status returns SUCCESS
  Once ready, the parsed content is fetched in Markdown format

  🔹 3. Data Extraction via LLM (editable):
  The Markdown content is sent to a language model (LLM) using LangChain
  A Structured Output Parser transforms the result into a clean, structured editable JSON

  🔹 4. Save to Google Sheets:
  The structured JSON is split into:
  Header (main invoice metadata)
  Detail (individual line items)

  Each part is stored in a dedicated tab within a connected Google Sheets file

  🔹 5. Ask for SAP Confirmation:
  The bot replies to the user via Telegram:

  "Do you want to send the data to SAP?"

  If the user clicks "Yes", the next automation path is triggered.

  🔹 6. Push Data to SAP B1:
  A connection is made to SAP Business One's Service Layer API

  Header and detail data are fetched from Google Sheets

  The invoice structure is rebuilt as required by SAP (DocumentLines, CardCode, etc.)

  A POST request creates the Purchase Invoice in SAP

  A confirmation message with the created DocEntry is sent back to the user on Telegram

  ++SET UP STEPS:++
  Follow these steps to properly configure the workflow before execution:

  1️⃣ Create Required Credentials:
  Go to Credentials &gt; + New Credential and create the following:
  Telegram API (set your bot token get it from BotFather)
  Google Sheets
  OpenAI

  2️⃣ Set Up Environment Variables (Optional but Recommended):
  LLAMAINDEX_API_KEY
  SAP_USER
  SAP_PASSWORD
  SAP_COMPANY_DB
  SAP_URL

  3️⃣ Prepare Google Sheets:
  Ensure your Google Spreadsheet has the following:
  ➤ Sheet 1: Header
  ➤ Sheet 2: Details
  Contains columns for invoice lines

nodes_used:
  ["n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.noOp","n8n-nodes-base.splitOut","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.telegramTrigger","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.telegramTrigger","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7188 characters]

metadata_json:
  {"categories":["automation","document processing","integration","OCR","ERP integration"],"complexity":"complex","use_cases":["Automated accounts payable / invoice processing","Capture invoices via chat (Telegram)","Extract invoice data with OCR + LLM to structured JSON","Staging invoice header/details in Google Sheets for review","Push confirmed invoices into SAP Business One for posting"],"estimated_setup_minutes":60,"required_services":["Telegram Bot API","LlamaIndex OCR API","OpenAI (GPT-4o) or compatible LLM via LangChain","Google Sheets (Google Drive API)","SAP Business One Service Layer (SAP API)"],"key_features":["Receive invoice PDFs via Telegram trigger","Asynchronous OCR processing with polling (LlamaIndex)","LLM-driven structured data extraction and editable JSON output","Split and store Header and Line Details in separate Google Sheets tabs","User confirmation flow in Telegram before ERP push (buttons)"],"target_audience":["Finance / AP teams","ERP integrators and consultants (SAP B1)","Developers building automation workflows / RPA engineers  varied levels of technical expertise"]}


name: Export Cloudflare Domains with DNS Records and Settings to Google Sheets
author_name: KPendic
author_username: kres
categories: []
created_at: 2025-06-10T10:26:19.793Z
updated_at: 2025-06-10T10:26:19.793Z
url: https://n8n.io/workflows/4850
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  How it works

  This workflow simply exports all your CloudFlare domains to Google Sheet to get high overview of all of your settings. This could help for easy debugging, searching or similar needs. 
  In flow simple pagging nodes are used to iterate over all your domains, because this list could be huge. 
  For each host we are merging DNS & Settings and transforming them into columns for all our domains.

  Requirements

  For storing and processing of data in this flow you will need:

  CloudFlare.com API key/token - for retrieving your data (https://dash.cloudflare.com/:account/api-tokens) (need full access)
  Google Spreadsheet auth connected in your n8n Credentials
  Google Spreadsheet template - you can copy my sheet as starting point, start by copying it to your account 
  Match Sheet ID in 'Export' node to your newly created.

  Official CloudFlare api Documentation
  For full details and specifications please use API documentation from: https://developers.cloudflare.com/api/

  Potential API timeouts
  If you encounter CF API timeouts - I would suggest to only put somewhere in the loop simple sleep/wait node - for couple of seconds - and it should resolve timeouts.

  Google Sheet
  I've used simple Google Sheet feature conditional formatting to visually distinct my on|off toggles that was of my interest to easily get high overview for debuggint some of the settings on my hosts - but please use your own logic or change it completely.

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

workflow_json_compressed:
  [encoded data, 6076 characters]

metadata_json:
  {"categories":["integration","data processing","reporting","automation"],"complexity":"medium","use_cases":["Inventory Cloudflare domains and DNS records","Audit and debug domain/settings across accounts","Create searchable/filtered overview in Google Sheets","Backup domain DNS & settings for documentation","Monitor configuration changes or compliance checks"],"estimated_setup_minutes":30,"required_services":["Cloudflare API (API token/key with full access)","Google Sheets (Google account with Spreadsheet and n8n Google credentials)"],"key_features":["Iterates through all Cloudflare zones using pagination","Fetches DNS records and domain settings and merges them per host","Transforms and maps data into columns in a Google Sheet template","Supports large lists via paging and optional sleep/wait to avoid API timeouts","Uses conditional formatting in the sheet for quick visual inspection"],"target_audience":["DevOps engineers","Site Reliability Engineers","IT/Network administrators and security teams interested in configuration inventory or audits"]}


name: Find relevant X tweets based on your profile and suggest responses
author_name: @OnePromptMagic
author_username: one-prompt-magic
categories: []
created_at: 2025-06-10T10:37:48.703Z
updated_at: 2025-06-10T10:37:48.703Z
url: https://n8n.io/workflows/4851
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  What This Workflow Does

  Step 1: Analyzes your recent tweets for personality & style
  Step 2: Generates strategic keywords based on your profile
  Step 3: Searches for trending tweets in your niche
  Step 4: Creates personalized responses & original tweets
  Step 5: Displays results in beautiful HTML format

  How to Use
  Execute the workflow
  Fill out the form with:
     Your X username (from your URL)
     Your goals on X (multiple selection)
     Optional additional info
  Submit the form
  Wait for processing (2-3 minutes)
  Double-click the "Click to show Result" node

  example clip can be found here

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.formTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.code","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 13948 characters]

metadata_json:
  {"categories":["social media","automation","content generation","marketing"],"complexity":"medium","use_cases":["Discover relevant tweets to engage with in your niche","Generate personalized replies and original tweet ideas","Social listening and trend discovery","Scale engagement and growth on X","Content ideation for creators and marketers"],"estimated_setup_minutes":20,"required_services":["X (Twitter) API or public profile access","OpenAI API (lmChat / ChatGPT) or compatible LLM provider","n8n instance (cloud or self-hosted) to run the workflow"],"key_features":["Analyzes recent tweets to infer personality and style","Generates strategic keywords from profile/goals","Searches trending/relevant tweets in specified niche","Produces personalized responses and new tweet suggestions","Presents results in a formatted HTML output for review"],"target_audience":["social media managers","content creators and influencers","marketers and growth teams"]}


name: Automate GPT-4o Fine-Tuning with Google Sheets or Airtable Data
author_name: Matty Reed
author_username: mattyreed1
categories: []
created_at: 2025-06-10T12:18:16.840Z
updated_at: 2025-06-10T12:18:16.840Z
url: https://n8n.io/workflows/4853
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who is this for?  
  Anyone curating before/after text examples in a spreadsheet and wanting a push-button path to a fine-tuned GPT model—without touching curl. Works with Google Sheets or Airtable.

  What problem does it solve?  
  Manually downloading CSVs, converting to JSONL, uploading, and polling OpenAI is a slog.  
  This flow automates the whole loop: grab examples flagged Ready, build the JSONL file, start the fine-tune, then log the resulting model ID back to a registry sheet/table for reuse.

  How it works  

  | # | Node | Purpose |
  |---|------|---------|
  | 1 | Schedule Trigger | Runs weekly by default (change as needed). |
  | 2a | Get Examples from Sheet | Pulls rows where Ready = TRUE from your Google Sheet. Uses the JSONL-Template Sheet as the expected column layout. |
  | 2b | Get Examples from Airtable (disabled) | Alternate source for Airtable users. |
  | 3 | Create JSONL File (Code) | Converts each example to chat-format JSONL and splits into train.jsonl / val.jsonl (80/20). |
  | 4 | Upload JSONL | Uploads the training file to OpenAI (purpose: fine-tune). |
  | 5 | Begin Fine-Tune | Starts a fine-tune job on gpt-4o (editable). |
  | 6 | Wait → Check Job → IF | Polls every minute until status = succeeded. |
  | 7a | Write Model to Sheet | Appends the new model ID + meta to your Model Registry sheet. |
  | 7b | Write Model to Airtable (disabled) | Equivalent logging step for Airtable. |

  Setup steps  

  Import & connect credentials  
     Import the JSON flow into n8n.  
     Add your OpenAI API key.  
     Google Sheets: create an OAuth2 credential and link it to both Sheets nodes.  
     Airtable (optional): create a Personal Access Token and attach it to the Airtable nodes.

  Copy the template sheet  
     Duplicate the JSONL-Template Sheet linked above into your own Drive.  
     Required columns (exact names):  
       | systemPrompt | userPrompt | assistantResponse | Ready |  
     Tick Ready = TRUE for rows you want to include.

  Create the registry sheet/table  
     Google Sheet (or Airtable table) named Model Registry with columns:  
       Model ID, Training Examples, Epochs, Batch Size, Learning Rate, Finished At.

  Tweak model & schedule  
     Change the base model in Begin Fine-Tune if desired.  
     Adjust the Schedule Trigger for daily / on-demand runs.

  Test it  
     Mark a few examples Ready = TRUE.  
     Run the flow manually.  
     Check OpenAI for the new fine-tune job and confirm the model ID is logged in your registry.

  Resources  

  n8n Docs – &lt;https://docs.n8n.io/&gt;  
  OpenAI Fine-Tuning – &lt;https://platform.openai.com/docs/guides/fine-tuning&gt;  
  Google Sheets API – &lt;https://developers.google.com/sheets/api&gt;  
  Airtable API – &lt;https://airtable.com/api&gt;

  Extending the flow  

  Webhook trigger** – swap the schedule for a webhook to train on demand.  
  Multi-source merge* – enable both Sheets *and Airtable nodes to combine datasets.  
  Auto-deploy** – save the new model name to an env-var or Secrets Manager for downstream generation workflows.

nodes_used:
  ["n8n-nodes-base.wait","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.stopAndError","n8n-nodes-base.airtable","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE62X227bRhCGX0XYa42754Ou6qZO4CBNg9ptCgS+mN2dlYnIpErROdTwuxeUDVOyKVuOeyNI0PDfbw7LmbliVWYzVptj+a/58Pfx0fvuY2grNmUX1CGbXbGqXnVYJzru7ZxP2SiTfZKep1BUEFkkQQXJiRhV5NxYybMITobsYgkpm6RJGB6IomRT1tHFcoEdvWopr06ou1y+ai6WC+oos1nXXtL1lNV4QWzGXlc1TU4va5q8+XDaP4rzFZt9OpuyusnUf726wS9J92QcfPYaNHmEyLMHFyXqGG20JrE72Y9Ydb3a92X/q/Y1rOUg4ooOvt78uWxWVVc1NZt9EsbyKT+bsq8Uz5vm8zoQWguUJkZALhJolA5Q+AiKpJaEIom1s0ts8YI6aldsdnV9c+Zf1K7WyuJAXE9vPdBofTBowaBJoH2REDwhyGQpi6ylJzV4cJLOKV8uaHLaVvM5tTu9Wd0aDnYbjoHwN449QSnvKDMlr2wpgLxE0NEmCIQWyKHySmmFMm5QUtcnbvJbk2mxG5Hux5vLPbDUgb7DKkoHNC4Cd5KDpiLAR55AZ+6SC9wntxG8X2he1ZO+tqDra+ttE3fCnXfd8g/655JW9yEV3wNSb8TOG5ezcAZE9n3shADEmEE6DJSDEQH9APnnctFgnrw9+f39u8nrakED4s+1r38aOBdYz9M5VvVBs6T6sNrmdHqvFPs7TBNlcF5zSN4I0BI5eB042OiTLM6RzXLAfNUSdjSKeS+Sqcm0jab3QRviZ6TjhCRASOH7JFuIWqr+w7pcuE6ybICdU/p8k+TTH0/yXtHbTLJC2ddiAq8sghbaQOQlQCrCC52jEZ4PkMdlcnKZElGmvJOuKvegwj7XQ25AGYxSepVAJWlAJ42AzltQMerkkvWOyy2o11gtnkEkheRTwZ/FJHyUmIUBH2wE7WMAVCVDSYJLoYWTuMF01LZNO5u8Pjx+d/Tr7jdJ1ywP67w2vkfY39Y9CIf3cQgSk8sakvcBdDZ9Sk0A8qZ4ya0XWg98hzkPtZZvXniTrpkcVm2H8ZFbgYNBrlb9t9smuI1vJZ/6PeI78EeOJaTgIFqSoK3NEIIVEKSx3qClGPI2/6gDJ+dEu3vlvGnmC1rbrNhDYhByj8tj75gxZhFUj+tk/4YkAtTZgM/OK+mIIoWB+Q11k6Nv2I8Oq0lpm4sfhhVr1qerQx+YO9aUTD/oOEBUBTQhAvpiQURKQSduTEmPsf5PlbG+eU9HebMyVA6u6FRAqH7SCBEhapdAq1hycRSj2OhDJ12VPn+fvG+63airtc2tyeZ8IfvAyoeFy1JTd1R3bMbY7ivIbUzaRANFugBaGA1RoYGYnA2ci4BWj4KKZ5Mq+xJQn4UIUkdIVgvQnFw/fkQoRDJHwzEkNwoqnw0a9EtAI+ZQctQQnQ23Q6ZSBlQUqFBKZYsZBVXPBhWGv4RUpkTO8QIUpQCdvAWPIoCwKBMn5crWoDmQ6meTSu1/hPRsyjB11Rdis4KLFU3ZirququfrR+kbpcv+gN/bTC2bsS+i1/hy8/x6g7Axc3QhQNHoQAfuehc1SK4zl6poJMumPURNqZdaC693l9kVu8Cqh/90tV6Fnhp41tZTVtWZvrEZvz47u55uNPoxvR0t94HSdHhke6/adeYw8Ywdu38nva8/3dLYp5s95svIFDTq0PaOM+bRo+vGuOb97W5M9sn2tzs++3SjUbCH0/4Y2SOry6jqQ/sx1R3L5KjiWMjHNPco2LFrNSY1PsqPSu7K3Oit3r1f7al9l9qXy19f/we/seg0LhIAAA==

metadata_json:
  {"categories":["automation","ml/ai","data processing","integration"],"complexity":"medium","use_cases":["Automate fine-tuning of GPT models from spreadsheet-curated examples","Maintain a searchable registry of fine-tuned model IDs and metadata","Regularly retrain or augment models from new examples (scheduled or on-demand)","Enable non-developers to trigger fine-tunes without using curl or CLI"],"estimated_setup_minutes":30,"required_services":["n8n","OpenAI (Fine-tuning API / API key)","Google Sheets (Google Drive + OAuth credential)","Airtable (optional, Personal Access Token)"],"key_features":["Reads Ready-marked examples from Google Sheets or Airtable","Converts rows into chat-format JSONL and splits into train/validation (80/20)","Uploads JSONL to OpenAI and starts a fine-tune on gpt-4o (configurable)","Polls the fine-tune job until completion and logs results","Writes new model ID and metadata back to a Model Registry sheet/table"],"target_audience":["ML engineers and data scientists who fine-tune models","Product managers or content teams curating examples in Sheets","n8n users looking to automate ML workflows without code-heavy tooling"]}


name: Family Assistant: Schedule, Meal & Routine Management with Email & Telegram
author_name: Issam AGGOUR
author_username: devgor
categories: []
created_at: 2025-06-10T15:06:29.333Z
updated_at: 2025-06-10T15:06:29.333Z
url: https://n8n.io/workflows/4855
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  The FamilyFlow Assistant is your n8n-powered 🚀 companion designed to streamline daily parenting tasks, reduce mental load, and bring a bit more organization and fun into your family life. This versatile workflow automates reminders, generates helpful ideas, and provides gentle nudges to keep your household running smoothly.

  Why FamilyFlow Assistant? 🤔
  Parenting is a demanding (and rewarding!) job. Juggling schedules, meals, routines, and remembering everything can be overwhelming. FamilyFlow Assistant aims to:

  Reduce Mental Clutter:** Offload common reminders and to-dos to an automated system.
  Enhance Organization:** Keep track of activities, appointments, and important checks.
  Spark Joy & Creativity:** Generate meal ideas, story starters, and positive thoughts.
  Promote Routine:** Help establish and maintain consistent morning and evening routines.
  Save Time:** Automate repetitive prompts and checks, freeing you up for what matters most.

  Core Features & Automations 🧩
  This workflow bundle comes packed with several independent yet complementary automations:

  📅 Daily & Weekly Organization:

  Activity & Appointment Reminders:** Get a daily heads-up on scheduled events for the family.
  Morning Routine Checklist:** Start the day right with a friendly checklist for kids (or parents!).
  Bedtime Routine Nudge:** A gentle reminder to begin the wind-down process.
  Evening “Did You Remember?” Scan:** A quick mental checklist for common end-of-day to-dos.
  Weekly “Plan Ahead” Prompt:** A Sunday reminder to review the upcoming week.
  School/Daycare Comms Check:** Prompts to check for important updates.

  💡 Inspiration & Well-being:

  Meal Idea Generator:** Never wonder “what’s for dinner?” again (or at least, less often!).
  Positive Thought / Fun Fact Sender:** A little daily dose of brightness.
  Story Starter / Quick Activity Prompt:** Spark imagination or a quick family interaction.
  Weekly Wins & Gratitude Reminder:** Encourage reflection on positive moments.

  ⏱️ Optional Helpers:

  Screen Time Break Reminder:** (Disabled by default) A nudge for offline time.

  Getting Started: Setup & Customization 🛠️
  Make FamilyFlow Assistant truly yours with these simple steps:

  Import the Workflow: Add the provided .json file to your n8n instance.
  Configure Credentials:
      Email: Set up your preferred email sending credential (e.g., SMTP, Gmail) in all “Email Send” nodes. You’ll likely use the same one for all.
  Personalize Content (Crucial!):
      Email Addresses: Update parents@example.com to your actual email(s) in all Email nodes.
      Schedules & Activities: Edit the “Define Daily Schedules” (Set node) with your family’s actual events.
      Meal Ideas: Customize the mealIdeas array in the “Generate Meal Idea” (Function node).
      Checklists & Prompts: Tailor the text/HTML in Email nodes for morning/bedtime routines, check-ins, story starters, etc., to fit your family’s style.
      Positive Thoughts/Facts: Update the lists in the “Get Positive Thought/Fact” (Function node).
  Adjust Triggers (Cron Nodes):
      Modify the “Rule” in each Cron node to set the exact time and frequency for each automation.
  Activate Automations:
      The main workflow and most automations are inactive by default. Toggle the “Active” switch ON for the entire workflow or for individual automations/nodes you wish to use.
      Remember, the “Screen Time Break Reminder” is disabled by default; enable its Email node if desired.

  How Each Automation Works (Briefly) ⚙️
  Each automation generally follows this pattern:

  TRIGGER: An event starts the flow (e.g., a scheduled time via Cron).
  PROCESS: Data is defined (e.g., list of activities, meal ideas) or generated (e.g., a random selection, a formatted message).
  RESPOND: An action is taken, typically sending an email with the relevant information or reminder.

  For instance, the “Daily Activity Reminder” uses a Cron trigger, a Set node to hold your schedule, a Function node to filter for today’s events, an IF node to check if there are any, and finally an Email node to send the reminder.

  Expanding Your Assistant 🚀
  FamilyFlow Assistant is a great starting point. Consider these ideas to extend its capabilities:

  Integrate Calendars:** Connect to Google Calendar or Outlook Calendar to fetch events dynamically.
  Use Different Notifiers:** Send messages via Telegram, WhatsApp, Slack, or push notifications.
  Smart Home Integration:** If you have smart home devices, trigger lights or announcements for routines.
  Shared To-Do Lists:** Update a shared Todoist or Microsoft To Do list.
  Interactive Input:** Use n8n forms or Telegram commands to add events or trigger specific actions.

  Requirements 📋
  An active n8n instance (self-hosted or cloud).
  Email sending credentials configured in n8n.
  A little time to customize the content to perfectly match your family’s needs!

  Embrace the flow and let your FamilyFlow Assistant help make parenting a little smoother!

nodes_used:
  ["n8n-nodes-base.start","n8n-nodes-base.cron","n8n-nodes-base.if","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.cron","n8n-nodes-base.emailSend","n8n-nodes-base.cron","n8n-nodes-base.emailSend","n8n-nodes-base.cron","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.telegramTrigger","n8n-nodes-base.cron","n8n-nodes-base.emailSend","n8n-nodes-base.cron","n8n-nodes-base.emailSend","n8n-nodes-base.cron","n8n-nodes-base.emailSend","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.cron","n8n-nodes-base.cron","n8n-nodes-base.cron","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","family management","reminders","communication"],"complexity":"medium","use_cases":["Automate daily and weekly family reminders (appointments, activities)","Send morning and bedtime routine checklists","Generate and deliver meal ideas","Deliver positive thoughts, story starters and weekly gratitude prompts","Optional screen-time break reminders and school/daycare comms checks"],"estimated_setup_minutes":45,"required_services":["n8n instance (self-hosted or cloud)","Email sending credential (SMTP / Gmail) — required for Email nodes","Telegram (optional) — for Telegram notifications","Google Calendar / Outlook Calendar (optional) — for calendar integrations if extended"],"key_features":["Scheduled Cron triggers for daily/weekly automations","Email-based notifications and templates","Meal idea generator and random content pickers","Morning/bedtime checklists and end-of-day scans","Weekly planning and gratitude prompts to encourage reflection and organization"],"target_audience":["Parents and caregivers","Busy households/family managers","Nannies or childcare coordinators wanting automated prompts"]}


name: Configure Telegram Bot Webhooks with Form Automation
author_name: Un tal Camilo Medina
author_username: untalcamilomedina
categories: []
created_at: 2025-06-10T16:26:48.501Z
updated_at: 2025-06-10T16:26:48.501Z
url: https://n8n.io/workflows/4856
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  🤖 Telegram Bot Webhook Configuration Tool

  This workflow creates a simple web form that helps you configure Telegram bot webhooks quickly. Instead of manually constructing the Telegram API URL, this tool does it for you automatically.

  How It Works

  The workflow consists of three main steps:

  Form Input: A web form collects your bot token and webhook URL
  URL Construction: Automatically builds the correct Telegram API URL
  Redirect: Takes you directly to the Telegram API to complete the configuration

  What You Need

  Bot Token**: Get this from @BotFather on Telegram (format: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz)
  Webhook URL**: Your n8n webhook endpoint (must be HTTPS)

  Setup Instructions

  Import this workflow into your n8n instance
  Activate the workflow
  Access the generated form URL
  Fill in your bot details and submit

  Form Fields

  | Field | Description | Example |
  |-------|-------------|---------|
  | Bot API Token | Token from BotFather | 123456789:ABCdefGHIjklMNOpqrsTUVwxyz |
  | Webhook URL | Your n8n webhook endpoint | https://your-instance.app.n8n.cloud/webhook/telegram |

  What Happens

  You enter your bot token and webhook URL in the form
  The workflow constructs this URL: https://api.telegram.org/bot{TOKEN}/setWebhook?url={WEBHOOK_URL}
  You're redirected to that URL where Telegram configures your webhook
  Telegram shows you a success or error message

  Benefits

  No Manual URL Building**: Eliminates copy-paste errors
  Quick Setup**: Configure webhooks in seconds
  Privacy Focused**: No data is stored anywhere
  Team Friendly**: Share the form URL with team members

  Common Webhook URLs

  n8n Cloud: https://your-instance.app.n8n.cloud/webhook/telegram-bot
  Self-hosted: https://your-domain.com/webhook/telegram-bot

  Requirements

  n8n with form trigger support
  Valid Telegram bot token
  Publicly accessible webhook URL (HTTPS required)

  Troubleshooting

  Invalid Token Error: Make sure you copied the complete token from BotFather

  Webhook Error: Ensure your URL is publicly accessible and uses HTTPS

  SSL Error: Verify your webhook URL has a valid SSL certificate

  This tool simply automates the manual process of visiting the Telegram API URL to configure your bot's webhook. Perfect for developers who frequently set up or change Telegram bot configurations.

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

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

metadata_json:
  {"categories":["integration","automation","developer tools"],"complexity":"simple","use_cases":["Configure Telegram bot webhooks quickly","Onboard or reconfigure bots without manual URL construction","Share a simple form with team members to set webhooks","Test or update webhook endpoints for Telegram bots","Reduce copy-paste errors when building Telegram API URLs"],"estimated_setup_minutes":5,"required_services":["Telegram Bot API (bot token from @BotFather)","n8n instance with Form Trigger support","Public HTTPS webhook endpoint (n8n Cloud or self-hosted)"],"key_features":["Web form collects bot token and webhook URL","Automatically constructs the Telegram setWebhook API URL","Redirects user to Telegram API to apply the webhook","No data is stored by the workflow (privacy-focused)","Works with both n8n Cloud and self-hosted webhook URLs"],"target_audience":["Developers","Bot builders","System administrators / DevOps engineers doing bot ops and deployment testing"]}


name: Create a Notion AI Assistant with Google Gemini for Managing Tasks & Content
author_name: Laura Piraux
author_username: lauraslap
categories: []
created_at: 2025-06-10T17:23:09.147Z
updated_at: 2025-06-10T17:23:09.147Z
url: https://n8n.io/workflows/4857
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  This n8n workflow template uses community nodes and is only compatible with the self-hosted version of n8n. 

  Build an AI agent for Notion (with Notion official MCP server)

  Use case

  This template empowers Notion power-users to build their own AI assistant, deeply integrated with their workspace. It solves the constant problem of copy-pasting and context-switching between a separate AI chat and Notion by creating a direct, conversational bridge. Now you can interact with an intelligent agent that can create, retrieve, and update your Notion databases and pages on your behalf, turning your workspace into a truly dynamic productivity hub.

  How it works

  When you send a message via the chat interface, the workflow passes it to your chosen AI model. The model, connected to the official Notion tool server, analyzes your request to see if it can be fulfilled by one of its available Notion actions. If it matches a tool, the workflow executes the command using the Notion API—like creating a new page or searching a database—and the AI then confirms the action is complete back in the chat.

  Setup

  Prerequisite: This template is for self-hosted n8n instances only, as it requires a community node. 

  Copy this workflow into your self-hosted n8n instance 
  Install the required community node (n8n-nodes-mcp).
  Add your credentials for your chosen AI Model and the Notion MCP Server.
  Test the workflow by starting chatting with your new Notion assistant.

  How to adjust it to your needs

  You can use the AI model you want and even easily compare different AI models.
  You can start from this template and then provide other tools to your AI agent to build more powerful workflows.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","productivity","AI/assistant","knowledge management"],"complexity":"medium","use_cases":["Conversational Notion assistant for creating, retrieving and updating pages/databases","Reduce context-switching by interacting with Notion via chat","Automating task and content creation workflows inside Notion","Comparing or switching AI models for Notion automation","Extending the agent with additional tools for richer workflows"],"estimated_setup_minutes":30,"required_services":["Self-hosted n8n instance","n8n-nodes-mcp community node (installable)","Notion MCP server (official tool server) / Notion API credentials","AI model provider credentials (Google Gemini or another supported model)"],"key_features":["Direct conversational bridge between chat and Notion (no copy-paste)","AI-driven tool selection and execution (create/search/update Notion content)","Supports Google Gemini via lmChatGoogleGemini node (or swap models)","Agent orchestration with memory buffer for conversational context","Uses Notion MCP client nodes for secure, official integration"],"target_audience":["Notion power-users","Developers / n8n self-hosting users","Productivity enthusiasts and knowledge workers managing content/tasks"]}


name: WhatsApp Dietitian AI Chatbot Workflow
author_name: Tamer
author_username: tamerelzein
categories: []
created_at: 2025-06-10T17:54:54.633Z
updated_at: 2025-06-10T17:54:54.633Z
url: https://n8n.io/workflows/4858
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  WhatsApp Dietitian AI Chatbot Workflow

  Transform your WhatsApp into a professional nutrition consultant with this comprehensive AI-powered dietitian assistant. Built using n8n automation and Google Gemini AI, this workflow provides instant, intelligent nutrition advice to your clients 24/7.

  🍽️ What It Does

  Meal Analysis: Users can send photos of their meals with captions like "analyze this meal" and receive detailed nutritional breakdowns including calories, macronutrients, and personalized recommendations.

  Nutrition Guidance: Answers questions about general nutrition, dietary restrictions, meal planning, and healthy eating habits with evidence-based information.

  Meal Recommendations: Suggests customized meals based on specific criteria like calorie targets, dietary preferences (vegan, keto, etc.), or available ingredients.

  🚀 Key Features

  Dual Input Processing**: Handles both text questions and image analysis seamlessly
  Professional AI Responses**: Uses Google Gemini 2.0 Flash for accurate, contextual nutrition advice
  WhatsApp Optimized**: Responses formatted specifically for mobile messaging with emojis and clear structure
  Smart Routing**: Automatically detects message type (text vs image) and processes accordingly
  Structured Output**: Consistent, professional formatting for all responses
  Scope Management**: Stays within nutrition expertise and includes appropriate medical disclaimers

  🛠️ Technical Stack

  Platform**: n8n workflow automation
  AI Model**: Google Gemini 2.0 Flash
  Integration**: WhatsApp Business API
  Message Types**: Text messages, images with captions
  Output**: Structured, conversational responses

  📱 Perfect For

  Nutritionists and dietitians offering remote consultations
  Health coaches providing 24/7 client support
  Fitness professionals adding nutrition guidance
  Wellness businesses expanding their service offerings
  Anyone wanting to monetize nutrition expertise

  🎯 Ready to Deploy

  This workflow comes with comprehensive documentation, clear setup instructions, and professional prompt engineering. Simply configure your WhatsApp Business API and Google Gemini credentials to start serving clients immediately.

  Transform your nutrition expertise into an automated, scalable WhatsApp service that works around the clock!

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.whatsAppTrigger","n8n-nodes-base.whatsApp","n8n-nodes-base.httpRequest","n8n-nodes-base.whatsApp","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE62X224bRwyGX2Ux18t0zgddtUiLNEXSpmnRXBhGwZnhyItIu6p2HScw/O7FrlVbtmVLsnsjCAJFfv8MySEvWZPZjNHX8tO7D+L3OP+w/JR/+ZXVbEkDstkla9p+wDbR29GuSGuDKSHnQMlEMjrqoLIjrnSQvhSRyOuovSZucnE2KuIxqRQsRZuQXdWsxSWxGft0hkOPq1X1M+FiOKuwqdIZDrEbqvO+aefVYrEcf2laVrMB5z2bnZzWrO0yjV8vr8ELOV4SIljnHGjtFAQjInglNUkleCyJ3cR803XzBVVvaNm0TfX6DIfqfZdpMUb4thotvm99+13rW5jiwALb+cTwarEcza8dXP+f1WzV9c3QdC2bnQjOeS35ac1WuMYlDbTu2ezy6trzX7TuJztxVW/IvZIhYhTATVagYyHwJhWw3DhZErc6hVvyP4b1eRrO15Sr386H1flQfcB1T+sDyLvJ/tr81s09eil5rffTv5I3/Ap9shI5JOcKaIUBQs4aPJEt3ijpObG7t/3DalW9p77HOVUfKVHzZeLYCLhlj9jTq4vNP/5cN/P5JHSLFyTntRp5Lyiedd3nKTspcOl0LOCCDqCVRfBaBpBe60RSpiIn3YddUMmRC8xjQmEBnQNCiMEALzqZkp0wXG+lFg3VxX8p3SxxTnuV3ZVkOa9ByPualPPJhIQgo3GgLS8QdJagfMpCmCKDPUKTF0UGLjOYLD1oZxKg4hYKV8VZow1xvNX0Y3fRLjrM1dsn9ZwNw+oj/XNO/XBXkpc3kp7k01tpxZ0NJisFpHIATegheuEgSIkmxyJyjFtlQW2uPlK/6tqeqqGr0qKhdjjy6IWxm+zfPnlfsBQVCxRhCLSzGUKgBNmGJDEkr6b7P/DkVZCKinHAU9SgkyvgBY8QtCKtuJNele1sammNA91qK+tuWQ30dTig4qfPd4vl/Q6leS39AUVub6it8MpnH8EVaUDHNAKTBJVyIm0d51LtpZ6yp8I2VwlXE8yLJIA8oM1uacimBGcMB4dFgzZJgUcnIJOhKDDawreeiNdnlD5XTamWm0aVunbApu33FHV/0Qzp7B6uPqSpqq3sNyKE7E0GhWmsdlQQTSAoIoRotZAxuO1HoUmfv1W/dsMTXJPNxuROB/VjcfIHeGwUPNbQjLEnmqPiIRorwOqkQXuMgJglCKmMVF6ElNROUHE06cT58BgP48wko3DJQRBj+3RSAqJMEDjGYIK2MsqdnPJoTjN2O2mfCao1tz7kCFxPg0ywgGgLBBRROZ+j2x5ktkDV0aDTqALquaRSSBWcy8DHd0gLnQG1RODBFKXI5qTiTlJ9NGnwvH72iXotYk4lgA85g0bjIWqhIGYeZZIiqsB3cprjT1SPSfqwtR4GalNIGa0GzNyDjs5BzNkCilC8tSUWZXaC2mdWvXpu1aNJNnOXwHAfQadsx/ZkwblUXM5W6by76t3xpGLsnuCOvf3TmmEami/EZgUXPdWsp2Fo2vmm9X65Np1eeBeQF5ECaM4daGML+BwRlCAuUwg6RM/qMV5LaeSawt+bimaXbDkuKbOTk8tpO3nWQ7i83nOaNtNXNuNXp6dX9a6Zcle0x8a03T4fW4Fmlwybv8cX+BzntPntRZoeuNtiqff5vTvqPOVqkvXofnQta3sHermqO95eJOoxT5Omx3emXVlw8ODySKo9Drwr2t7Be2eUfYy7a+nxxepBkHrvzd69gmPO4mFO/F8Hc3X1L9r2S3iHEQAA

metadata_json:
  {"categories":["automation","integration","AI assistant","health & wellness"],"complexity":"medium","use_cases":["Meal photo analysis and nutritional breakdown","On-demand nutrition guidance and Q&A","Personalized meal recommendations and meal planning","Automated client triage and 24/7 support via WhatsApp","Monetizing remote nutrition consultations"],"estimated_setup_minutes":60,"required_services":["n8n (self-hosted or cloud)","WhatsApp Business API (phone number + provider)","Google Gemini 2.0 Flash (Google Cloud / Vertex AI)","Public webhook endpoint (HTTPS)"],"key_features":["Dual input processing (text + image)","Automated meal image analysis with calorie/macronutrient estimates","Contextual, evidence-based AI nutrition responses","WhatsApp-optimized messaging format (mobile-friendly, emojis)","Smart routing to handle text vs. image workflows automatically (switch node)"],"target_audience":["Registered dietitians and nutritionists","Health coaches and fitness professionals","Wellness businesses and clinics offering remote services」「Entrepreneurs/solo-practitioners wanting to automate client support"]}


name: Invoice Verification and Validation with Gmail, Drive, Sheets and OCR AI
author_name: Dhrumil Patel
author_username: itechdp
categories: []
created_at: 2025-06-10T19:56:07.238Z
updated_at: 2025-06-10T19:56:07.238Z
url: https://n8n.io/workflows/4860
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  📝 Description (Full, User-Centric & Sales-Driven):

  Tired of manually verifying purchase order invoices every single day? This plug-and-play n8n automation template saves your accounts team hours of work by automatically downloading, storing, extracting, and validating invoice data against your master item sheet — all without human intervention.

  Perfect for SMEs, startups, procurement teams, and accounts departments, this automation handles PO invoice verification from email to final validation with 99% accuracy.

  🚀 What This Automation Does End-to-End:

  📥 Invoice Retrieval & Organization:

  Runs Monday to Saturday, 8 hours/day
  Reads invoices from specific vendor email(s) (e.g., abc@company.com)
  Extracts the invoice date from the email subject
  Automatically creates month & day-wise folders in Google Drive
  Uploads each invoice PDF into its respective folder

  🔍 AI + OCR Data Extraction & Validation:

  Uses OCR to extract item data (name, quantity, rate, HSN, etc.) from each invoice PDF
  Converts messy PDF data into clean structured format using AI Agent Model
  Stores the data into a dedicated Google Sheet: "Store Invoice Data"

  ✅ Invoice vs. Master Data Validation:

  Automatically fetches a second Google Sheet: "Store Master Data"
  Compares each invoice item line-by-line with the master sheet:

    Checks for Item Code, Name, Price mismatches
    Calculates price differences and total loss/gain per invoice
    Marks each line as Matched / Mismatched with notes

  📬 Final Reporting:

  Sends an automated summary email once all invoices are processed
  Alerts if any mismatches found, allowing for early intervention

  📂 Example Output:

  Check how data is validated in real time:

  🔗 Store Invoice Data Sheet
  🔗 Store Master Data Sheet

  👥 Who Is This For?

  Accounts & Finance Teams
  Procurement Departments
  Growing Startups with Vendors
  ERP/Automation Enthusiasts
  Anyone tired of manually checking vendor bills

  📦 What You’ll Get:

  Ready-to-import n8n workflow (JSON)
  Setup Guide (PDF or Notion link)
  Sample Google Sheet template
  Email + Google Drive + OCR setup guide
  AI Agent configuration tips
  BONUS: Customization support (optional)

nodes_used:
  ["n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.splitOut","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.dateTime","n8n-nodes-base.gmail","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail"]

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

metadata_json:
  {"categories":["automation","integration","document processing","finance","data processing"],"complexity":"complex","use_cases":["Automated invoice/PO verification","Accounts payable automation and reconciliation","Vendor bill matching against master item lists","Audit-ready invoice reporting and alerts","Reducing manual data entry and human errors"],"estimated_setup_minutes":90,"required_services":["n8n instance (self-hosted or cloud)","Google Workspace (Gmail, Google Drive, Google Sheets)","OCR service (e.g., Google Cloud Vision, OCR.space, Tesseract via API)","AI/LLM provider or agent (e.g., OpenAI, Anthropic, LMChatOpenRouter)","SMTP/email or Gmail sending configured for notifications"],"key_features":["Scheduled email polling (Mon–Sat) for vendor invoices","Automated PDF download and month/day folder creation in Drive","OCR extraction of invoice line items","AI agent to clean/structure messy OCR output","Stores extracted data to a Google Sheet ('Store Invoice Data')」「Fetches master item data from Google Sheet ('Store Master Data')」「Line-by-line comparison for Item Code/Name/Price with mismatch tagging and notes」「Calculates price differences and total loss/gain per invoice」「Automated summary email/report and mismatch alerts」「Ready-to-import workflow + setup guides and sample sheets"],"target_audience":["Accounts & finance teams","Procurement departments","Small and medium businesses (SMEs) and startups handling vendor invoices manually」「ERP/automation implementers and consultants"]}


name: Google SERP + Trends and Recommendations with Bright Data & Google Gemini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-06-10T23:11:07.974Z
updated_at: 2025-06-10T23:11:07.974Z
url: https://n8n.io/workflows/4861
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who this is for?

  Google SERP Tracker + Trends and Recommendations is an AI-powered n8n workflow that extracts Google search results via Bright Data, parses them into structured JSON using Google Gemini, and generates actionable recommendations and search trends. It outputs CSV reports and sends real-time Webhook notifications.

  This workflow is ideal for:

  SEO Agencies needing automated rank & trend tracking

  Growth Marketers seeking daily/weekly search-based insights

  Product Teams monitoring brand or competitor visibility

  Market Researchers performing search behavior analysis

  No-code Builders automating search intelligence workflows

  What problem is this workflow solving?

  Traditional tracking of search engine rankings and search trends is often fragmented and manual. Analyzing SERP changes and trends requires:

  Manual extraction or using unstable scrapers

  Unstructured or cluttered HTML data

  Lack of actionable insights or recommendations

  This workflow solves the problem by:

  Automating real-time Google SERP data extraction using Bright Data

  Structuring unstructured search data using Google Gemini LLM

  Generating actionable recommendations and trends

  Exporting both CSV reports automatically to disk for downstream use

  Notifying external systems via Webhook

  What this workflow does

  Accepts search input, zone name, and webhook notification URL

  Uses Bright Data to extract Google Search Results

  Uses Google Gemini LLM to parse the SERP data into structured JSON

  Loops over structured results to:

  Extract recommendations

  Extract trends

  Saves both as .csv files (example below):

  	Google_SERP_Recommendations_Response_2025-06-10T23-01-50-650Z.csv

  	Google_SERP_Trends_Response_2025-06-10T23-01-38-915Z.csv

  Sends a Webhook with the summary or file reference

  LLM Usage

  Google Gemini LLM handles:

  Parsing Google Search HTML into structured JSON

  Summarizing recommendation data

  Deriving trends from the extracted SERP metadata

  Setup

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



  The Value field should be set with the 
  Bearer XXXXXXXXXXXXXX. The XXXXXXXXXXXXXX should be replaced by the Web Unlocker Token.
  A Google Gemini API key (or access through Vertex AI or proxy).
  Update the Set input fields with the search criteria, Bright Data Zone name, Webhook notification URL.

  How to customize this workflow to your needs

  Input Customization

  Set your target keyword/phrase in the search field

  Add your webhook_notification_url for external triggers or notifications

  SERP Source

  You can extend the Bright Data search logic to include other engines like Bing or DuckDuckGo.

  Output Format

  Edit the .csv structure in the Convert to File nodes if you want to include/exclude specific columns.

  LLM Prompt Tuning

  The Gemini LLM prompt inside the Recommendation or Trends extractor nodes can be fine-tuned for domain-specific insight (e.g., SEO vs eCommerce focus).

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.convertToFile","n8n-nodes-base.convertToFile","n8n-nodes-base.readWriteFile","n8n-nodes-base.readWriteFile"]

workflow_json_compressed:
  [encoded data, 4800 characters]

metadata_json:
  {"categories":["automation","web-scraping","seo/monitoring","ai-llm-integration","reporting/analytics"],"complexity":"complex","use_cases":["Automated Google SERP rank and trend tracking","Generating actionable SEO recommendations from search results","Competitor and brand visibility monitoring","Market research and search behavior analysis","No-code automation of search intelligence with webhook notifications"],"estimated_setup_minutes":45,"required_services":["Bright Data (Web Unlocker / scraping zone)","Google Gemini (or Vertex AI / Gemini proxy) API access","n8n instance with credential configuration","Webhook receiver or endpoint to accept notifications","File storage or disk access for CSV exports (local or cloud)"],"key_features":["Extracts Google SERP via Bright Data Web Unlocker","Parses unstructured HTML into structured JSON using Google Gemini LLM","Generates actionable recommendations and derives search trends","Exports results as CSV files to disk","Sends real-time webhook notifications with summaries or file references"],"target_audience":["SEO agencies","Growth marketers","Product teams monitoring visibility/competitors"]}


name: Log Daily Mood & Weather to Notion with Telegram and OpenWeatherMap
author_name: Issam AGGOUR
author_username: devgor
categories: []
created_at: 2025-06-10T23:19:17.739Z
updated_at: 2025-06-10T23:19:17.739Z
url: https://n8n.io/workflows/4862
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  The Daily Mood & Weather Logger 🚀 is more than just a utility; it's a hands-on n8n workflow designed to teach you core automation concepts. By setting up and exploring this template, you'll gain practical experience with triggers, API calls, data manipulation using the Code node, and integrating with external services like Notion. It automates tracking your daily mood alongside local weather, logging it all into a Notion database.

  🎯 Learning Objectives: What You'll Master

  This workflow template is specifically structured to help you understand and practice:

  Workflow Triggers:**

    Scheduled Triggers: Learn how the Cron node initiates actions at specific times (e.g., daily).
    Webhook/Event-Based Triggers: Understand how the Telegram Trigger node listens for and reacts to external events (like a new message).

  Making API Calls:**

    See the HTTP Request node in action, querying the external OpenWeatherMap API to fetch real-time data.
    Understand how to configure API endpoints, query parameters, and handle API keys (using environment variables).

  Data Manipulation with Code:**

    Explore the Code node to write simple JavaScript for combining data from different sources (Telegram input and API response).
    Learn basic data structuring and transformation within n8n.

  Database Integration (Notion):**

    Discover how to use the Notion node to interact with a Notion database.
    Practice retrieving database information and, more importantly, creating new pages (entries/rows) with dynamic data.

  Environment Variables:** Learn the importance of using environment variables for managing sensitive information (like API keys) and configurable parameters (like city/location).

  Workflow Logic & Data Flow:** Observe how data passes between nodes and how different components work together to achieve a complete automation.

  Why This Workflow? (Beyond Learning) 🤔

  While the primary goal is educational, the workflow itself is useful for:

  Automated Data Collection:** It prompts for mood via Telegram and fetches weather automatically.
  Consistent Logging:** Ensures daily entries into your Notion journal.
  Centralized Information:** Stores mood and weather data in a structured Notion database.

  Core Features & How They Teach You 🧩

  Let’s break down how each part of the workflow demonstrates key n8n concepts:

  📅 Daily Automation Cycle & Triggers:

  Daily Trigger (Cron node):* ⏰ Initiates the workflow daily. *Learning: This is your introduction to time-based automation. Observe its simple configuration for scheduling.
  Telegram Mood Prompt (Telegram node):* 📩 Sends a message. *Learning: Shows a basic "action" node interacting with an external service.
  Telegram Mood Capture (Telegram Trigger node):* 🎣 Listens for your reply. *Learning: A prime example of an event-driven trigger. See how it waits for user input to continue the workflow.

  🌍 Fetching External Data (APIs):

  Weather Data Fetch (HTTP Request node for OpenWeatherMap):* 🌦️ Retrieves current weather. *Learning: The core of API interaction. Examine how the URL, query parameters (appid, q or lat/lon), and environment variables are used. Try changing the parameters!

  ⚙️ Processing Data (Code Node):

  Data Consolidation (Code node):* 🛠️ Combines mood and weather data. *Learning: A practical use of the Code node. Look at the JavaScript to understand how it accesses data from previous nodes ($input, $('Node Name')) and structures the output.

  📝 Storing Data (Notion Integration):

  Notion Database Interaction (Notion nodes):** ✍️

    "Retrieve Database": Gets database info. Learning: Demonstrates reading from Notion.
    "Add row into Notion": Logs the data. Learning: Shows how to write data to Notion, mapping your workflow data to specific Notion properties. This is a common pattern for many database integrations.

  Note: The template includes two paths for weather fetching (city name vs. lat/lon). This allows you to explore different ways to configure the HTTP Request node and manage input data.

  Getting Started: Your Learning Lab Setup 🛠️

  Set up your learning environment:

  Import the Workflow: Add the .json to n8n. This is your starting blueprint!
  Set Up Environment Variables in n8n:

     OPEN_WEATHER_API_KEY: Your OpenWeatherMap API key.
     City: (e.g., "Paris") For city-based weather.
     latitude: (e.g., "18.834366") For coordinate-based weather.
     longitude: (e.g., "35.352342") For coordinate-based weather.
  Configure Node Credentials:

     Telegram: Link your Telegram API credentials in the "Send Mood Prompt" and "Wait for Mood Response" nodes.
     Notion: Connect your Notion API credentials in the "Retrieve Database" and "Add row into Notion" nodes.
  Personalize Node Settings (Experiment Here!):

     Daily Trigger (Cron Node): Change the "Trigger Times". How does this affect when the workflow runs?
     Send Mood Prompt (Telegram Node):

       Update the Chat ID (e.g., from =83495863) to your own.
       Modify the Text of the prompt.
     Notion Nodes:

       Set your target Database ID (e.g., replace 20e9c592...).
       Ensure your Notion database has properties like city, description, temperature, mood, etc., as defined in the "Add row into Notion" node. Try adding or removing properties to see what happens!
     Weather Fetching Path:

       Experiment with enabling one path (city name or lat/lon) and disabling the other. Observe how the HTTP Request node parameters differ. Ensure relevant environment variables are set.
  Activate and Test: Turn the workflow ON. Trigger it manually or wait for the Cron. Check each node’s output to understand the data flow.

  How The Automation Works (A Learning Recap) ⚙️

  Follow the data and actions:

  TRIGGER: Cron node (scheduled) or Telegram Trigger (event-based after prompt).
  ACTION (Prompt): Telegram node sends a message.
  INPUT (User): You reply to the Telegram message.
  API CALL: HTTP Request node fetches weather using your API key and location.
  CODE PROCESSING: Code node merges your mood and the weather data.
  DATABASE WRITE: Notion node creates a new entry with the combined data.

  Use the n8n execution log to inspect the input and output of each node. This is invaluable for learning and debugging!

  Next Steps in Your Learning Journey 🚀

  Once you're comfortable, try these to deepen your understanding:

  Modify the Code Node:** Add new data transformations. Can you format the date or extract more specific weather details?
  Change API Parameters:** Explore the OpenWeatherMap API docs. Can you fetch forecast data instead of current weather?
  Add Error Handling:** What happens if the API call fails? Explore the "Error Trigger" or "Continue on Fail" settings.
  Integrate a New Service:** Try sending a summary to email or another messaging app.
  Explore Different Trigger Types:** What other ways could this workflow be initiated?

  Requirements (Your Learning Kit) 📋

  An active n8n instance.
  Telegram Bot API credentials.
  An OpenWeatherMap API Key.
  Notion API credentials & a configured Notion Database.
  Curiosity and a willingness to experiment!

  May your mood tracking be seamless and your weather always logged!

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegram","n8n-nodes-base.cron","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.notion","n8n-nodes-base.stickyNote","n8n-nodes-base.notion","n8n-nodes-base.notion","n8n-nodes-base.notion","n8n-nodes-base.code"]

workflow_json_compressed:
  H4sIAAAAAAAAE7WX244jNRCGXyXqC65S4EP5lDu0SAhxWi2Ig1Zz4bLL2RZJd+ju2WU0mkdASFwjId6C5+EF4BFQZ9iZ7NAJnVlxF6Xt31/9dpXL11Wdq1X1eXeFwT4NH7/qvvk25ifVstryEKvVdVU3/RCbxB+N46hkVIKUEU4JRcFqKUVwOcZkgi0ochZkFGEQ2thMyaTg2Hmdk/RG6mpZDbzdbeLATzrO/Rc8XO6etNvdhgfO1WroLvlmWTVxy9Wqev9yaLdx4MVT7vq2iZvFR01fr18M/WrxadvmxTuLrzkOL7hbfNKu15wXQ7v4rB3qtln89evPv/3xy49//v7TuGZc99Xq+cWyatrM48/r27h1SKglK1CMAjA7A14HBSmZZLS2SaCp7ni+GOr03dW4Ao+iV7vxz8Y3sFcFij2/2+/H/DNk1/b1SFOtnoO0YunFxbLaxS5ueeCuH+1NbTNwM1Srqrq51fyKu34/R94s/8EUHJTzXoIrhIBKaojOJpCkYlAyZJP0PeYzHrqaX/LiST1cvXboKHBq8wNUJcRSiX+hPsRTd3iaEgu0CVKUHtCQgpAsgnO2ZKvR2lzu8T7k4W7bLvu6WS/SyLn/egzyxTDsnvH3l9wPD22dB3vgpcqCRLHghSBAUgK8kwREVHLi4nUKp2A3cXhv0zaPREU8AxUpolYlAgc2gEkJIHISJJaio+EglbhH/TrWw6K03W1qPON+1zY9y6OgA2943cXtl129Xu8PSK77SJvXefgmPN7Bv2J60bbf7euBU1YaTAlU9AUwlgiUs4MsSQrpk8Aw5s/MeKPNnqS2IKNVgK4wkMEETgcWzmqOwv5XvGeE+zC822P0/4UnrMCoFQP7ogFDyBC914CUlE6krEE8KDbc5NvQnnbtdjf8Z2APInJCLPW/Nkz7pDU5AYRWALqAEDUrkCESeSVs2Z/+mRGZkKxw2oDOIgJGYqASLKDN2SgtVSwH5fODWG+uFvf+H6lH3T65HiTO61hmgklK3kpRwMeQAKUloFICxFDIFRtVMHGyrh9Pl6OF3VmxVOqRlV0mo4xNAViTBHRRgZeMUIpwSmoTfRaToOoRN5B4G9IShKISI6DxBpCMB1IigkgGpXY+FMuTpPpsUomPvyozs/WmZGATPWB0CcgiQU5KWp9RCDd9o+P5huJbXOkpKHJIGjJSBuSQIRTWIISPBVnqYqc33pzN6dTjMSl4coYJdHYZkIoDb5lBKBFIlGI5HyTS+zkvuvbVom7uGrGjtM3rz4ekfl7n8e5974HK6VBkhDJiIZsA3gkB0ZNhhcoYypM+2rN9xLc4lkklLUoQ4Iz2gIoQSGoHJiKz8TkKJyc6uA/iEEems1w0M/u3AxfJi0iUDbgiCqBDBJ+9hUiSUk5GGB9ObvPxunlsn2d0QoeExaJETxGK0QKQPQHl0UXlbUlRK0d0wsDz+My8Tu2Qz+mSdAkEHseXBCoGYnKgtLMxOWOymNrgwxb9OON0jz6H8OZiWcU01C+5WpW46XlZ9TwMdbPen13+gdPlKPl5l7mrVtVLOR7il7fz9x2DtDlxEgZMVhGwyAxkQoKkig85Ceb9sy61TcNplNoLv3nXr66rbaxH7ufX+yfYyf5mP3RZ1U3mH6qVuLm4uFlOpMSU6MkCNE9XzhWWc5XfeIZNiZ9I9/nK09ynEmFS+0hXPaU96yF3xiLTEcx4gU2ucXzeSZ+OJOTMJe4NmL3IyTVubv4GVB5sMqERAAA=

metadata_json:
  {"categories":["automation","integration","data collection","personal productivity"],"complexity":"medium","use_cases":["Daily mood journaling","Automatic weather-augmented logging","Learning n8n triggers, API calls and Code node","Notion database automated entries","Telegram-based prompts and responses"],"estimated_setup_minutes":25,"required_services":["n8n instance (self-hosted or cloud)","Telegram Bot API (bot credentials)","OpenWeatherMap API key","Notion API / Notion database"],"key_features":["Scheduled Cron trigger for daily runs","Telegram message send + Telegram trigger to capture replies","HTTP Request node to fetch OpenWeatherMap data (city or lat/lon)","Code node to consolidate mood and weather data","Notion node to create database entries/pages dynamically with mapped properties (city, description, temperature, mood, etc.)」「Uses environment variables for API keys and configurable location"],"target_audience":["n8n beginners and learners","Developers/prod engineers prototyping automations","Productivity/mental-health journaling users wanting automated logs\",\"Educators teaching automation concepts"]}


name: YouTube Comment Scraper & Analyzer with GPT-4o + Email Summary Report
author_name: Amit Mehta
author_username: amitswba
categories: []
created_at: 2025-06-11T00:37:10.771Z
updated_at: 2025-06-11T00:37:10.771Z
url: https://n8n.io/workflows/4863
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  How it Works

  This workflow automates the collection and analysis of YouTube comments from a video and sends a summary report via email, using Google Sheets, the YouTube API, OpenAI (GPT-4o), and Gmail.

  Whether you're a content creator, brand manager, or social media analyst, this workflow helps you automate sentiment analysis and receive insights directly in your inbox — all triggered from a simple spreadsheet.

  🎯 Use Case

  Ideal for:
  YouTubers** monitoring audience sentiment
  Marketing teams** analyzing campaign feedback
  Community managers** summarizing engagement

  Setup Instructions

  1. Upload the Spreadsheet

  File name: Youtube_Video
  Sheet structure:
  | ID | Video Title | YouTube Video ID | Status |
  Add video IDs and set their Status as Pending

  2. Configure Google Sheets Nodes

  Connect your Google account to:
  Pick Video IDs from Google Sheet
  Update Status on Google Sheet

  3. Add API Credentials

  YouTube API Key** → for comment + video scraping nodes
  OpenAI API Key** → for analyzing comments
  Gmail Account** → for sending the summary email

  4. Activate the Workflow

  Once live, the workflow will:
  Watch for new or updated rows in the spreadsheet
  Scrape comments using the YouTube API
  Analyze sentiment and key themes via GPT-4o
  Send a formatted HTML email with the summary
  Update the spreadsheet status to Mail sent

  🔁 Workflow Logic

  Trigger: New/updated row in Google Sheet
  Retrieve: YouTube video metadata + comments
  Analyze: Comments using GPT-4o
  Email: Summary report via Gmail
  Update: Spreadsheet status to Mail sent

  🧩 Node Descriptions

  | Node Name | Description |
  |-----------|-------------|
  | Pick Video IDs from Google Sheet | Watches the spreadsheet and retrieves pending video IDs |
  | If | Checks whether status is 'Pending' |
  | Limit | Restricts the number of processed rows |
  | Set Video Details | Prepares video info (e.g., title, channel) |
  | Get YouTube Video Details | Fetches metadata (title, channel, etc.) |
  | Get YouTube Video Comments | Pulls top-level comments using YouTube API |
  | Prepare Comments Data | Formats comment text for OpenAI |
  | AI Agent | Summarizes comments using OpenAI's GPT-4o |
  | Prepare HTML for Email | Converts summary into HTML for email body |
  | Gmail Account Configuration | Sends the email report via Gmail |
  | Update Status on Google Sheet | Marks the row as 'Mail sent' |

  🛠️ Customization Tips

  Change the AI prompt for tone, length, or custom metrics
  Send results to Slack or Telegram instead of Gmail
  Export summaries to Notion, Airtable, or PDF
  Schedule it daily/weekly for recurring analysis

  📒 Suggested Sticky Notes for Workflow

  | Node/Section | Sticky Note Content |
  |--------------|---------------------|
  | Pick Video IDs from Google Sheet | "Triggers on new YouTube videos in your spreadsheet" |
  | AI Agent | "Uses OpenAI to generate an analysis summary – customize prompt as needed" |
  | Gmail | "Sends summary report – you can update subject, recipients, or style" |
  | Update Status | "Marks video as processed to avoid duplicate runs" |

  📎 Required Files

  | File Name | Purpose |
  |-----------|---------|
  | Youtube_Video | Google Sheet to hold YouTube video IDs and status |
  | Youtube_Comment_Scraper.json | Main n8n workflow export for this automation |

  🧪 Testing Tips

  Add one test video with a valid YouTube video ID and status = Pending
  Monitor the workflow logs to confirm API responses
  Confirm summary delivery in your inbox
  Verify that status updates in the sheet

  🏷 Suggested Tags & Categories

  #YouTube
  #OpenAI
  #Automation
  #Marketing
  #Email
  #Analytics

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.limit","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.youTube","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheetsTrigger"]

workflow_json_compressed:
  [encoded data, 7664 characters]

metadata_json:
  {"categories":["automation","integration","data processing","social media","analytics"],"complexity":"medium","use_cases":["Monitor YouTube audience sentiment","Summarize video comments for reporting","Analyze campaign feedback and themes","Automate email delivery of insights","Periodic (daily/weekly) sentiment reporting"],"estimated_setup_minutes":20,"required_services":["Google Sheets (Google account)","YouTube Data API (API key)","OpenAI (GPT-4o API key)","Gmail (for sending reports)"],"key_features":["Spreadsheet-triggered workflow to pick pending videos","Fetch video metadata and top-level comments via YouTube API","Summarize sentiment and key themes using GPT-4o","Send formatted HTML email summary via Gmail","Update spreadsheet status to avoid duplicates (Mail sent)」「Configurable AI prompt, processing limits, and output destinations (Slack/Notion/etc.)"],"target_audience":["YouTubers/content creators","Marketing teams","Community managers/social media analysts"]}


name: Automated News Summarizer with GPT-4o + Email Delivery
author_name: Amit Mehta
author_username: amitswba
categories: []
created_at: 2025-06-11T01:06:35.204Z
updated_at: 2025-06-11T01:06:35.204Z
url: https://n8n.io/workflows/4864
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  How it Works

  This workflow fetches top news headlines every 10 minutes from NewsAPI, summarizes them using OpenAI's GPT-4o model, and sends a concise email digest to a list of recipients defined in a Google Spreadsheet. It's ideal for anyone who wants to stay updated with the latest news in a short, digestible format.

  🎯 Use Case

  Professionals who want summarized daily news
  Newsletters or internal communication updates
  Teams that require contextual summaries of the latest events

  Setup Instructions

  1. Upload the Spreadsheet
  File name: Emails
  Column: Email with recipient addresses
  2. Configure Google Sheets Nodes
  Connect your Google account to:
    Email List
    Send Email
  3. Add API Credentials
  NewsAPI Key** → for fetching top headlines
  OpenAI API Key** → for summarizing headlines
  Gmail Account** → for sending the email digest
  4. Activate the Workflow
  Once active, the workflow runs every 10 minutes via a cron trigger
  Summarized news is sent to the list of emails in the spreadsheet

  🔁 Workflow Logic

  Trigger: Every 10 minutes via Cron
  Fetch News: HTTP request to NewsAPI for top headlines
  Summarize: Headlines are passed to OpenAI's GPT-4o for 5-bullet summary
  Read Recipients: Google Sheet is used to collect email recipients
  Send Email: Summary is formatted and sent via Gmail

  🧩 Node Descriptions

  | Node Name | Description |
  |-----------|-------------|
  | Cron | Triggers the workflow every 10 minutes. |
  | HTTP Request - NewsAPI | Fetches top news headlines using NewsAPI. |
  | Set | Formats or structures raw news data before processing. |
  | AI Agent | Summarizes the news content using OpenAI into 5 bullet points. |
  | Email List | Reads recipient email addresses from the 'Emails' Google Spreadsheet. |
  | Send Email | Sends the email digest to all recipients using Gmail. |

  🛠️ Customization Tips

  Modify the AI prompt for tone, length, or content type
  Send summaries to Slack, Telegram, or Notion instead of Gmail
  Adjust cron interval for more/less frequent updates
  Change email formatting (HTML vs plain text)

  📎 Required Files

  | File Name | Purpose |
  |-----------|---------|
  | Emails spreadsheet | Google Sheet containing the list of email recipients |
  | daily_news.json | Main n8n workflow file to automate daily news digest |

  🧪 Testing Tips

  Add 1–2 test email addresses in your spreadsheet
  Temporarily change the Cron node to run every minute for testing
  Check email inbox for delivery and formatting
  Inspect the execution logs for API errors or formatting issues

  🏷 Suggested Tags & Categories

  #News #OpenAI #Automation #Email #Digest #Marketing

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.httpRequest","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  H4sIAAAAAAAAE7VW227bOBD9FYG7QHcB0dbVkg0Eu7m4jdvETuN0u20aGBQ5stlSlCJSdgLD/76g7NhOrBR9WfhFFofDOWfOHGqJOEM95JBs8TGl74/F8OTj/N8OslEGmqDeEnGpNJEUBiZuMB7eHA9P+5PBGbKRhqwQRMNpCUyNQVfFaZ4VAjQw1NNlBSsbSZIB6qEzwsWjNYSFMvvIVKHe7Z2NZM7APC7XZbhuEHYCn2Iv8SgOAujihKYB9h0IXC/tBm4H0DbnmM6AVQKsm5JPp1CazI+FWZGxxHVqnBAFLbUJ3MUVueKa5xL1bnG349jYD5w7GxWkJBloKJVBXlYC1gxoKOdE1HWmHIQpNeOy0mDQbJ4G2yjXWd2tVuti/oFS1ee4LW9lb2AGgePHodPFXhATHEQswF0adHFIndTrpikjnreDeTywjqcg9Q7e3zKW7R1GQeSUzgiXLbKJ24cXOK/A0/CgUQ8dfckri5RgEaotoiwJC2XBQwGltohkFs2FALMkxHptBoQJLkFZFpdWAiJf1IGqyjJScgXmdWgllRCgVeubND9rubR+/65y2SKl5lSAunXvWpprAdZqhWyUF6ZgU9jKRkWZZ4W+WaNlkHIJ6JDQ7pZQ6EYECAFMYq+LA4eFmPhBgDsEIjdwnW4IdEfoqAB5PLBOZ0RblzkD8QvMisyE1zt5E8Fu55DgrM7dW6LJpBTrgbDrl6iHBFemUXMiKvN3Wmgc5Djjkhuge2SsbERLYCA1J6JOm9dFHBe81qaBvwg/l/zUvYjv3z6wVFy+gMotQmleSY1+qsoo8eKQ+TEOnbiLAwCGExa7OIY06HSi1KdevMt8VQmxnefGqZtpXVzDfQXqpSQ78SuSrAxPyGxUvXbbqI0UvJWX0/bca+u8wFvtvVSMAsk+VlA+PvF8b/5cPcu+f9bt8glIzUz5uNeMSiFDymadFPwD7C8P+5/Hk+OrweRD/wtqmPRgf9JpB3yHMBw4voODGCKcRH6IXRaD58XEpY6/Z2ggmXVJuHiV02m2Xt1j092RuYBkluc/aqeGkDpemhDcCRKKgyh1cBKFHvYYeEkMncTxzUg859+weJMbU9iOa9+cuB7RDJQiU1PV0TnfDfSQZGaG7W/ySgBRYKVcMkvPwNJ58dIyiFo7Rs+Ygknxx5snf3vzZ4tryFp10rzSRaUbrEFVyXegxriM+KzzPUGAKXVjGrW5Hc5Ozd/ouNIzbzs9o+k4fLx/n34djb/yuTvY9eNdjf3V4fFa7rbR1AlTL6IUp8yJcRBGBCfdToD9JGE+RG7XJ3uWviZ14wGvdDrPpwLGMwCtDgyneXqe82R2DuvjfsmAODtykI0oMXflNahK6E/PppHlVG2qatE8a6uiBMLqY1Sbtb+MPl1P3o1G7y76k/F5v38zGZy1gXH9W1Pq4UbwZrdr+sRyWmUgtdHur9TrXnjsYpSwxYRwetZJbxjui/Pxycn7wXeXnGQfbqK3QC918vjY/19g/VWp4oiVfA6K/WhGV3dZoQYL32/uWo37dj5ii5L2SUj61VXxaXi9J8h6n7Xe+Lowg1a4urMRoZrPAfVSIhQYi9Say2ldADwArYxaRiWDEvXQvO7CfJ2hNpAkJEnkOyH2I3OnJg7BJPA97IIbR6Trg5skBncuJdAn4e0+Vsz9R7jRq7HadQ+bZF8H2YhLBg+o56zu7lb23uXSlObwg6gxyd5pTVkazLYxzcFXZlOyhtuwMdnhp0dviQifmA+Nikxh8+6nYA/Cnx+yWv0HfGYCGNQLAAA=

metadata_json:
  {"categories":["automation","integration","data processing","news aggregation","email"],"complexity":"medium","use_cases":["Daily summarized news for professionals","Internal newsletters and company updates","Automated email digests for stakeholders","Generating concise summaries for marketing or comms"],"estimated_setup_minutes":25,"required_services":["NewsAPI","OpenAI (GPT-4o)","Google Sheets (Google Workspace)","Gmail (Google Workspace)","n8n (workflow host)"],"key_features":["Scheduled cron trigger to fetch top headlines every 10 minutes","HTTP request to NewsAPI to retrieve headlines","Summarization via OpenAI GPT-4o into a 5-bullet digest","Reads recipient list from a Google Sheet","Sends formatted email digests via Gmail (configurable HTML/plain text and recipients)"],"target_audience":["Professionals and executives wanting quick news updates","Internal communications or newsletter teams","Marketers creating curated digests or content briefs"]}


name: Google Sheets Duplication & Enrichment Automation
author_name: Amit Mehta
author_username: amitswba
categories: []
created_at: 2025-06-11T01:38:07.829Z
updated_at: 2025-06-11T01:38:07.829Z
url: https://n8n.io/workflows/4865
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  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

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

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

metadata_json:
  {"categories":["automation","integration","data processing","productivity"],"complexity":"medium","use_cases":["Automate duplication of multi‑sheet Google Spreadsheets","Replicate templates and maintain consistent formatting across new docs","Enrich or transform sheet data during duplication for ETL/workflow tasks","Create backups or migrate structured data between spreadsheets"],"estimated_setup_minutes":20,"required_services":["Google Sheets API (OAuth2)","Optional: external HTTP API (for enrichment) with HTTP request auth","n8n instance with configured credentials"],"key_features":["Creates a new spreadsheet and replicates sheet structure","Reads sheet metadata and iterates over each sheet","Deletes default placeholder sheet and creates matching sheets","Reads rows from source sheets and writes/appends into destination sheets","Supports data enrichment via HTTP requests or custom JavaScript processing"],"target_audience":["Data teams / analysts","Automation engineers","Operations staff handling repetitive spreadsheet tasks`,`No-code/low-code users building integrations"]}


name: Create Shopify customers from a Google Sheet
author_name: Richard Uren
author_username: elricho
categories: []
created_at: 2025-06-11T02:51:27.534Z
updated_at: 2025-06-11T02:51:27.534Z
url: https://n8n.io/workflows/4866
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Task

  Read a list of customers from a GoogleSheet and create them in Shopify using Shopify's Admin API (GraphQL).

  Why ?

  Generate test users for development stores.
  Migrate customers from other platforms.
  Easy intro to Shopify's GraphQL API.

  Setup 

  Setting up Google Sheets access

  Follow the instructions in the N8N Docs for granting Oauth2 access to Google services. You'll need to grant API access to Google Sheets and Google Drive (to list available sheets). 

  Setting up Shopify access

  Shopify's Admin API uses 'Header Auth' with a key of X-Shopify-Access-Token and a value of your shopify access token which starts with shpat_ .

  How to generate a Shopify Access Token 
  To generate a Shopify Access Token create an app, grant the app the necessary scopes, then generate a token. 

  From inside a store do the following :
  click Settings (nav link) 
  click Apps and sales channels (nav link) 
  click Develop Apps (button)
  click Create App (button)
  give the app a name
  click configure Admin API Scopes (button)
  at a minimum grant read_customers and write_customers scope. Grant additional scopes if you plan on accessing other parts of the API.
  click save

  To generate the token 
  click install app (button)
  click install on the dialog that pops up (button)
  click 'reveal token once' (button)
  copy the token into a password vault or somewhere secure.

  Template Updates

  To test this out you'll need to make the following changes :
  1) Create a header credential where the key is X-Shopify-Access-Token and the value is your Shopify Access Token (it starts with shpat_ 
  2) In the GraphQL node change the endpoint URL to your store. Something like  https://{your store goes here}.myshopify.com/admin/api/2025-04/graphql.json 

  Google Sheet Structure

  Columns can be in any order, because the rows will be mapped to fields in a json object. N8N will treat the first row in the sheet as a column name, so at a minimum use the column names below in row 1 of your sheet. 
  first_name : Any string
  last_name : Any string
  email : Valid email 
  mobile_phone : International mobile phone format with no spaces eg. +61414708406 (Shopify will reject anything else).

  Example CSV

  "first_name","last_name","email","mobile_phone"
  "Bob","Smith","bob@example.com","+61414999999"

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.graphql","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["integration","data-migration","automation"],"complexity":"medium","use_cases":["Generate test customers for development stores","Migrate customer lists from other platforms to Shopify","Learn/work with Shopify Admin GraphQL API and n8n integrations"],"estimated_setup_minutes":20,"required_services":["Google Sheets (Google Drive / OAuth2)","Shopify Admin API (GraphQL) with app access token and read_customers/write_customers scopes"],"key_features":["Reads customer rows from a Google Sheet and maps columns to JSON","Creates customers in Shopify via the Admin GraphQL API","Uses header auth (X-Shopify-Access-Token) for Shopify requests","Supports flexible column order by using header row mapping","Includes instructions for OAuth setup for Google and generating a Shopify access token with correct scopes"],"target_audience":["Developers","Shopify store administrators","Data migration engineers/consultants\",\"QA/testers"]}


name: AI-Powered Stock Market Summary Bot
author_name: kenandrewmiranda
author_username: kenandrewmiranda
categories: []
created_at: 2025-06-11T04:29:53.154Z
updated_at: 2025-06-11T04:29:53.154Z
url: https://n8n.io/workflows/4867
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  An automated n8n workflow that analyzes stocks using RSI and MACD, summarizes insights with OpenAI, and sends a Slack-ready market update every hour.

  This workflow:
  Runs hourly from 6:30 AM to 2:30 PM PT, Mon–Fri
  Checks if the U.S. stock market is open using Alpaca’s /clock API
  Pulls daily stock bars for a list of tickers via Alpaca’s /v2/stocks/bars
  Calculates RSI and MACD using a Python code node
  Categorizes each stock as Buy / Hold / Sell
  Uses OpenAI Assistant to summarize the results in Slack markdown
  Sends the message to a specific Slack user or channel

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.slack","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6692 characters]

metadata_json:
  {"categories":["automation","finance","data processing","communication"],"complexity":"complex","use_cases":["Hourly market monitoring and alerts","Automated trade signal generation (Buy/Hold/Sell)","Portfolio or watchlist summaries","Distribution of market insights to Slack channels/users","Research and decision-support for traders/analysts"],"estimated_setup_minutes":45,"required_services":["Alpaca API","OpenAI API","Slack API"],"key_features":["Scheduled hourly runs during US market hours (6:30–14:30 PT, Mon–Fri)","Market-open check using Alpaca /clock endpoint","Pulls daily stock bars via Alpaca /v2/stocks/bars","Calculates RSI and MACD in a Python code node","Classifies each ticker as Buy / Hold / Sell based on indicators/frameworks used in workflow"],"target_audience":["Traders","Financial analysts","Portfolio managers/investors monitoring watchlists quickly without manual analysis"]}


name: Extract Invoice Data from Google Drive to Sheets with Mistral OCR and Gemini
author_name: Ysqander
author_username: ysqander
categories: []
created_at: 2025-06-11T06:15:58.579Z
updated_at: 2025-06-11T06:15:58.579Z
url: https://n8n.io/workflows/4868
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Extract data from any PDF or image invoice dropped in Google Drive directly into Google Sheets – powered by AI OCR. Free, fully modifiable n8n workflow. Optional add-ons for pro features.

  🚀 What this template does

  Stop typing invoice data by hand. Drop a PDF or phone-snapshot into your Invoices Inbox folder in Google Drive and this n8n workflow will:





  Auto-OCR the document with the Mistral OCR API



  Match any fields you list in Row 1 of your Google Sheet (totally schema-agnostic)



  Append a clean, structured row – every time

  Works with both PDFs and images, in any language supported by Mistral.

  Template JSON included, ready to import into self-hosted or n8n Cloud

  👀 Who’s this for?





  Freelancers & agencies processing client invoices



  Small finance teams on Google Workspace



  Anyone self-hosting n8n who wants an AI OCR flow without glue-code

  No coding skills required – but flow tweaking is possible for power users.

  🛠 Upcoming PRO Add-Ons
  I am also working on PRO add-ons for this template: 

  Add-On #1 – Error Handling & Alerts (ships Jul 2025)• Flags missing fields, branches to Email/Slack notification; prevents silent failures



  Add-On #2 – Auto-Currency Converter (ships Jul 2025)• Detects invoice currency symbol/code → converts Total into your base currency via a free FX API



  Add-On #3 – VAT / GST Breakdown (ships Jul 2025)• Extracts VAT number, net, tax rate, tax amount, gross – ready for EU/UK/AU filings

  To pre-order these please see: https://ysqander.gumroad.com/l/N8N-AI-Workflow-Invoice-Data-Extraction-LITE

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.merge","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6420 characters]

metadata_json:
  {"categories":["automation","data extraction","document processing","integration"],"complexity":"medium","use_cases":["Automated invoice data extraction into spreadsheets","Remove manual data entry for accounts payable and bookkeeping","Expense tracking and invoice archiving","Multi-language OCR processing for PDFs and images","Preprocessing for downstream accounting or ERP imports"],"estimated_setup_minutes":20,"required_services":["n8n (Cloud or self‑hosted)","Google Drive API / Google Workspace account","Google Sheets API / Google Workspace account","Mistral OCR API","Google Gemini (lmChatGoogleGemini)"],"key_features":["Auto‑OCR invoices (PDFs & images) using Mistral","Schema‑agnostic mapping: reads header row in Google Sheet to determine fields","Appends clean, structured rows to Google Sheets automatically","Supports multiple languages supported by Mistral OCR","Ready‑to‑import n8n workflow JSON (no coding required)"],"target_audience":["Freelancers and agencies processing client invoices","Small finance teams using Google Workspace","n8n self‑hosting users wanting AI OCR flows without glue code (no-code users)  — power users can tweak the flow"]}


name: Process Legal Documents with Ollama AI & Generate HTML Reports (100% Local)
author_name: Rish
author_username: b2brish
categories: []
created_at: 2025-06-11T08:09:42.500Z
updated_at: 2025-06-11T08:09:42.500Z
url: https://n8n.io/workflows/4869
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  TUTORIAL VIDEO

  Key Features
  🧠 AI-Powered Analysis - Use any Ollama-compatible model (Llama, Mistral, CodeLlama, etc.)
  🔧 Flexible Input - Supports PDFs, Word docs, text files, and more
  📊 Structured Output - Generates clean HTML reports and summaries
  🔄 Automated Pipeline - Set-and-forget document processing

  Perfect For:
  Enterprise Environments - Where data privacy is paramount
  Research Organizations - Processing sensitive or proprietary documents
  Small Teams - Cost-effective alternative to cloud AI services
  Compliance-Heavy Industries - Healthcare, finance, legal where data must stay local
  Developers - Experimenting with different open-source models
  Content Teams - Batch processing large document libraries

  Prerequisites

  n8n instance (self-hosted recommended)
  Ollama server running locally
  Compatible AI models downloaded (Llama 3.1, Mistral, etc.)
  Local file system access
  Documents to process

  Customization Ideas
  🎯 Multi-Model Pipeline - Route different document types to specialized models
  🌐 Language Detection - Automatically select appropriate language models
  ⚡ Batch Processing - Handle multiple files simultaneously
  🎖️ Quality Scoring - Use multiple models to cross-validate outputs
  ✏️ Custom Prompts - Tailor analysis for specific document types or industries
  🔗 Integration Hooks - Connect to databases, CMS, or notification systems

  Why Choose Local Processing?
  🏆 Data Sovereignty - Your sensitive documents never leave your control
  💰 Predictable Costs - No surprise API bills or usage limits
  🎨 Customization Freedom - Fine-tune models for your specific use cases
  📶 Offline Capability - Works without internet connectivity
  ✅ Compliance Ready - Meets strict data residency requirements

  Conclusion
  This workflow represents the future of document processing - combining the convenience of automation with the security and control of local AI models. It's particularly valuable for organizations that need to balance AI capabilities with strict data governance requirements.
  Ready to build your own private AI document processing pipeline? This workflow shows you exactly how to get started with local Ollama integration! 🏠🤖

nodes_used:
  ["n8n-nodes-base.extractFromFile","n8n-nodes-base.localFileTrigger","n8n-nodes-base.readWriteFile","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.convertToFile","n8n-nodes-base.readWriteFile"]

workflow_json_compressed:
  H4sIAAAAAAAAE52V227bRhCGX0XYa46zZ+7yqoYTA0ZbJGiD9sIQij3MKkQoUiVXrguB7x6QMizDUhQ5dwT5z7/fzok7UkdSkf7frYxZf3Wf/vt10/SCFGSN2ZFqR+p2yK4NeDfpqKbUqKAiR3QmUJ94UCxoVCkmTrVmQlIRvPeBJeNkyZ2MwWsUyG2KiRQk43rTuIw3PcbhT8zbzU233jSYMZIq91scC9K6NZKK/NYF1yw+vb+dwtxqINX9siBtF3F63O3RQ0pBG6uhjEKBZEaAS8KDRCYsszZx5OTZ8sNj7l3Ii9R368Vt3eBk/f9m+tSaFmZv8G7AK9wrb/tu/aTbdEOd664l1T1oSgswdFmQjevdGjP2A6l2497tL+yHWcjG4gnTUU+9RwOl1REkOgUWXYJolUklD6G0iby6+XTu4nNfr1bYf5ezmaST8iB8CcqofCNpKi0qTRXosowgOVVgoo7AfOllED46Kg+kf6CL7/7u64wz7rDP7Pt6+Ppd4h5dnCNO5NXwN9KqoDxVPIBCakFyEcCrIIGXkhprdBLaH2iv7xbXK2zzge2X1rTvDoCNa1fhi6vbK/eke0knzEV0/JnOoGLURAGGSgaSCg7eMQlaBWFUxMRDPNB93GB7fbe4+eLy4vcuYnMBZrOe5HNk/ZpW04LTH+fy6sCbGEUeeYLAmQepMYITOgBPIRgjjNTpRZfedO0D9nmRu/OjFPa6z92JgsuLyn11KHgpkjUlc+BKZUFGpGCUZqCNZAZ5YGjZJe3JfqY/OdOXteeyIC7k+gFJlVwzYEEGzLlupyW2I/iIYTtZfuwj9qQiD4yMBXnYx8+b1sgUoy8TMC4FSGMlWCoCUC7R2CC8DVNfh65tMUxWs/Fzf1c7snb1hHy/mzfmuXLNyoLUbcRHUtFxuRyLI/Upx4uye9L9eA+f8j8e15Nmx3NT7Yir/5mmZOtW+PTurPGR/PUhJ1by21Lyg0ucCTx1zpkf2Rvt2Uv/5XIcx28Le6k5FQgAAA==

metadata_json:
  {"categories":["automation","data processing","document processing","AI/ML","on-premises/privacy"],"complexity":"complex","use_cases":["Private/legal document analysis and review","Generate structured HTML reports and summaries","Batch processing of document libraries","Compliance and data residency workflows","Research and proprietary content analysis"],"estimated_setup_minutes":60,"required_services":["n8n (self-hosted)","Ollama server (local) with compatible models installed)","Local file system access / storage"],"key_features":["AI-powered analysis using Ollama-compatible models","Flexible input: PDFs, Word docs, text files, etc.","Generates clean HTML reports and summaries","Fully local/on-premises processing for data sovereignty","Automated set-and-forget pipeline with multi-node workflow support"],"target_audience":["Enterprises with strict privacy/compliance needs","Research organizations","Small teams seeking cost-effective local AI alternatives`,`Developers experimenting with open-source models`,`Content teams needing batch document processing"]}


name: Automated Multilingual Gmail Draft Reply with OpenAI GPT-4o
author_name: Henry
author_username: henry
categories: []
created_at: 2025-06-11T08:11:17.450Z
updated_at: 2025-06-11T08:11:17.450Z
url: https://n8n.io/workflows/4870
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Automated Multilingual Gmail Draft Reply with OpenAI GPT-4o in n8n

  Who is this for?
  This workflow is ideal for anyone who receives a high volume of Gmail inquiries, especially those providing multilingual customer support or handling diverse client 
  communications.

  What problem is this workflow solving? 
  Managing frequent emails in multiple languages can be overwhelming. This workflow reduces manual drafting by automatically generating context-aware replies using OpenAI GPT-4o, letting users focus on personalization and quality assurance.

  What this workflow does
  Monitors your Gmail inbox for new emails with a specific label (e.g., "Inquiry").
  Uses OpenAI GPT-4o for message assessment and language detection.
  Parses information using a JSON parser.
  Generates an AI-powered draft reply in the detected language via OpenAI GPT-4o.
  Converts the reply to HTML and saves it as a draft in the original Gmail thread for your review.

  Setup
  Connect your Gmail account and set up relevant labels in both Gmail and the workflow.
  Integrate your OpenAI credentials in n8n.
  Configure the workflow trigger for your desired labels.

  How to customize this workflow to your needs
  Adjust label names in both Gmail and the workflow for different email categories.
  Define custom starting and ending phrases for draft replies per supported language.
  Expand supported languages or modify AI prompt instructions to suit your brand’s tone.

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  [encoded data, 5584 characters]

metadata_json:
  {"categories":["automation","integration","email management","customer support","multilingual communication"],"complexity":"medium","use_cases":["Automating draft replies for high-volume Gmail inboxes","Multilingual customer support response generation","Triage and context-aware email reply drafting","Saving time on routine or repetitive email responses","Generating brand-consistent reply templates across languages"],"estimated_setup_minutes":20,"required_services":["Gmail (Google account / Gmail API)","OpenAI (GPT-4o API)","n8n automation platform"],"key_features":["Monitors Gmail inbox by label and triggers on new messages","Detects message language and assesses intent with GPT-4o","Parses extracted information via JSON parser node","Generates AI-powered draft replies in the detected language","Converts reply to HTML and saves as draft in the original thread for review"],"target_audience":["Customer support teams","Customer success managers","Small business owners handling email inquiries in multiple languages"]}


name: 🏠 Find your Home with Real Estate Agent and Bright Data
author_name: Miquel Colomer
author_username: mcolomer
categories: []
created_at: 2025-06-11T09:15:41.161Z
updated_at: 2025-06-11T09:15:41.161Z
url: https://n8n.io/workflows/4872
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  📝 Overview
  This workflow transforms n8n into a smart real-estate concierge by combining an AI chat interface with Bright Data’s marketplace datasets. Users interact via chat to specify city, price, bedrooms, and bathrooms—and receive a curated list of three homes for sale, complete with images and briefings.

  🎥 Workflow in Action
  Want to see this workflow in action? Play the video


  🔑 Key Features

  AI-Powered Chat Trigger:** Instantly start conversations using LangChain’s Chat Trigger node.
  Contextual Memory:** Retain up to 30 recent messages for coherent back-and-forth.
  Bright Data Integration:** Dynamically filter “FOR\_SALE” properties by city, price, bedrooms, and bathrooms (limit = 3).
  Automated Snapshot Retrieval:** Poll for dataset readiness and fetch full snapshot content.
  HTML-Formatted Output:** Present results as a ` of ` items, embedding property images.

  🚀 How It Works (Step-by-Step)

  Prerequisites:

     n8n ≥ v1.0
     Community nodes: install n8n-nodes-brightdata (the unverified community node)
     API credentials: OpenAI, Bright Data
     Webhook endpoint to receive chat messages

  Node Configuration:

     Chat Trigger: Listens for incoming chat messages; shows a welcome screen.
     Memory Buffer: Stores the last 30 messages for context.
     OpenAI Chat Model: Uses GPT-4o-mini to interpret user intent.
     Real Estate AI Agent: Orchestrates filtering logic, calls tools, and formats responses.
     Bright Data “Filter Dataset” Tool: Applies user-defined filters plus homeStatus = FOR_SALE.
     Wait & Recover Snapshot: Polls until snapshot is ready, then fetches content.
     Get Snapshot Content: Converts raw JSON into a structured list.

  Workflow Logic:

     User sends search criteria → Agent validates inputs.
     Agent invokes “Filter Dataset” once all filters are present.
     Upon dataset readiness, the snapshot is retrieved and parsed.
     Final output rendered as a bullet list with property images.

  Testing & Optimization:

     Use the built-in Execute Workflow trigger for rapid dry runs.
     Inspect node outputs in n8n’s UI; adjust filter defaults or snapshot limits.
     Tune OpenAI model parameters (e.g., maxIterations) for faster responses.

  Deployment & Monitoring:

     Activate the main workflow and expose its webhook URL.
     Monitor executions in the “Executions” panel; set up alerts for errors.
     Archive or duplicate workflows as needed; update credentials via credential manager.

  ✅ Pre-requisites

  Bright Data Account:** API key for marketplaceDataset.
  OpenAI Account:** Access to GPT-4o-mini model.
  n8n Version:** v1.0 or later with community node support.
  Permissions:** Webhook access, credential vault read/write.

  👤 Who Is This For?

  Real-estate agencies and brokers seeking to automate client queries.
  PropTech startups building conversational search tools.
  Data analysts who want on-demand property snapshots without manual scraping.

  📈 Benefits & Use Cases

  Time Savings:** Replace manual MLS searches with an AI-driven chat.
  Scalability:** Serve multiple clients simultaneously via webchat or embedded widget.
  Consistency:** Always report exactly three properties, ensuring concise results.
  Engagement:** Visual listings with images boost user satisfaction and conversion.


  Workflow created and verified by Miquel Colomer https://www.linkedin.com/in/miquelcolomersalas/ and N8nHackers https://n8nhackers.com

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-brightdata.brightDataTool","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.if","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-brightdata.brightData","@n8n/n8n-nodes-langchain.toolWorkflow"]

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

metadata_json:
  {"categories":["automation","integration","conversational AI","data processing"],"complexity":"medium","use_cases":["Chat-driven property search (city, price, bedrooms, bathrooms)","Generating curated property snapshots with images","Embedding a conversational real-estate concierge in a website or widget","On-demand dataset snapshots for analysts or brokers"],"estimated_setup_minutes":45,"required_services":["Bright Data (marketplaceDataset) with API key","OpenAI (GPT-4o-mini) API key","n8n (v1.0+) with community node n8n-nodes-brightdata installed","Public webhook endpoint to receive chat messages"],"key_features":["LangChain Chat Trigger to start conversations","Contextual memory buffer (last 30 messages)","Bright Data filter for FOR_SALE properties with user-driven filters (limit=3)","Polling for snapshot readiness and automated snapshot retrieval","Parsing JSON snapshots into structured lists and HTML-formatted output with embedded images"],"target_audience":["Real-estate agencies and brokers","PropTech startups building conversational search tools","Data analysts needing on-demand property snapshots without manual scraping"]}


name: 🎯 Precision Prospecting: Automate LinkedIn Lead Gen with Bright Data
author_name: Miquel Colomer
author_username: mcolomer
categories: []
created_at: 2025-06-11T09:26:01.909Z
updated_at: 2025-06-11T09:26:01.909Z
url: https://n8n.io/workflows/4873
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  🎯 Precision Prospecting: Automate LinkedIn Lead Gen with n8n & Bright Data

  📝 Overview
  This workflow turns n8n into an AI-powered prospector, automatically searching Google for LinkedIn profiles, scraping profile data via Bright Data, and summarizing key details. Ideal for sales and recruitment teams seeking targeted lead lists without manual research.

  🎥 Workflow in Action
  Want to see this workflow in action? You have a chat window output below:


  🔑 Key Features

  AI Chat Trigger**: Start prospecting via conversational prompts.
  Contextual Memory**: Retains the last 20 messages for coherent dialogue.
  Automated Google Search**: Generates site-restricted queries and fetches the top result.
  Bright Data Scraping**: Synchronously scrapes LinkedIn profile details by URL.
  Intelligent Filtering**: Extracts only valid LinkedIn profile links.
  Limit Control**: Returns a single, most relevant profile per request.
  LLM Summary**: Uses GPT-4o-mini to interpret and present scraped data.

  🚀 How It Works (Step-by-Step)

  Prerequisites:

     n8n ≥ v1.0 with community nodes: install n8n-nodes-brightdata (not verified community node).
     API credentials: OpenAI, Bright Data (web unlocker zone “web\_unlocker1”).
     Webhook endpoint for chat trigger.

  Node Configuration:

     When chat message received (chatTrigger): Fires on user prompt.
     Simple Memory1 (memoryBufferWindow): Stores the last 20 chat messages.
     AI Prospector Agent (agent): Orchestrates search logic.
     Get 1 Google Result (brightData): Performs a Google search with site:linkedin.com/in.
     Get Links from Body (html): Extracts all `` hrefs from the search result page.
     Extract Links (splitOut): Splits out individual link entries.
     Filter only LinkedIn Profiles (filter): Ensures the URL contains “linkedin.com/” and starts with “https\://”.
     Limit (limit): Restricts output to the first valid profile URL.
     Search LinkedIn URI (toolWorkflow): Passes the URL to a secondary workflow to fetch the first link.
     Get LinkedIn Profile Data (brightDataTool): Scrapes the profile JSON.
     OpenAI Chat Model (lmChatOpenAi): Summarizes and formats the scraped data.

  Workflow Logic:

     User asks for a person by company & name, company & position, or LinkedIn URL.
     Agent builds a Google query (e.g., site:linkedin.com/in bright data cmo) and calls “Get 1 Google Result.”
     Extracted links are filtered and limited to the top valid profile.
     If user provided a direct LinkedIn URL, Agent skips search and scrapes immediately.
     Scraped profile JSON is passed to GPT-4o-mini to generate a concise summary.

  Testing & Optimization:

     Trigger via Execute Workflow for dry runs.
     Inspect intermediate node outputs in n8n’s Execution panel.
     Adjust maxIterations or memory window length for performance.
     Tune Bright Data zone or country settings to optimize scraping speed.

  Deployment & Monitoring:

     Activate the workflow and expose its webhook URL.
     Use n8n’s built-in Alerts or external monitoring (e.g., Slack notifications) on failures.
     Rotate credentials via n8n’s Credential Vault when needed.
     Version-control workflow via duplicates or Git-backed n8n instances.

  ✅ Pre-requisites

  OpenAI Account**: API key for GPT-4o-mini.
  Bright Data Account**: Zone “web\_unlocker1” and dataset gd_l1viktl72bvl7bjuj0.
  n8n Version**: v1.0+ with community nodes installed.
  Permissions**: Webhook access, Credential Vault read/write.

  👤 Who Is This For?

  Sales teams automating outbound LinkedIn prospecting.
  Recruiters sourcing candidates without manual scraping.
  Marketing ops looking to enrich CRM with accurate profile data.

  📈 Benefits & Use Cases

  Efficiency**: Reduces hours of manual search and data entry to seconds.
  Accuracy**: Filters out non-LinkedIn links and ensures high-quality results.
  Scalability**: Handle multiple prospect requests concurrently via chat or API.
  Integration**: Easily hook into CRMs or email sequencers downstream.

  Workflow created and verified by Miquel Colomer https://www.linkedin.com/in/miquelcolomersalas/ and N8nHackers https://n8nhackers.com

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-brightdata.brightDataTool","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.splitOut","n8n-nodes-base.html","n8n-nodes-base.filter","n8n-nodes-base.limit","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-brightdata.brightData"]

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

metadata_json:
  {"categories":["automation","integration","data enrichment","web scraping","lead generation"],"complexity":"complex","use_cases":["Automated LinkedIn prospecting and lead list creation","Recruiter candidate sourcing and profile enrichment","Enriching CRM/marketing databases with LinkedIn profile data","Generating concise AI summaries of prospects for outreach"],"estimated_setup_minutes":45,"required_services":["OpenAI (GPT-4o-mini) API key","Bright Data account (web_unlocker zone & dataset)","n8n v1.0+ with community nodes (n8n-nodes-brightdata)","Public webhook endpoint / web access"],"key_features":["Conversational AI trigger to start prospecting","Contextual memory (last 20 messages) for coherent prompts","Automated site-restricted Google search (via Bright Data)","HTML link extraction and filtering for valid LinkedIn profiles","Bright Data scraping of LinkedIn profile JSONs synchronously (tool workflow)`,`Top-result limiting and intelligent URL validation``,`LLM (GPT-4o-mini) summary/formatting of scraped profile data`"],"target_audience":["Sales teams (BDRs, AEs)","Recruiters and talent sourcers","Marketing operations / growth teams looking to enrich CRMs`,`Automation/ops engineers implementing prospecting pipelines`"]}


name: Transform Voice Transcripts to LinkedIn Posts with Claude AI and Email Automation
author_name: Kyle Morse
author_username: s52
categories: []
created_at: 2025-06-11T13:05:06.724Z
updated_at: 2025-06-11T13:05:06.724Z
url: https://n8n.io/workflows/4874
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Takes your raw, unpolished voice transcripts and transforms them into well-structured LinkedIn posts using AI. Perfect for when you have good ideas but they come out as rambling thoughts.

  The Problem: You record voice memos with great ideas, but when you read the transcript, it's full of "ums," incomplete sentences, and scattered thoughts. Turning that into a professional LinkedIn post takes forever.

  The Solution: Email your raw transcript to this workflow. It combines your unpolished content with examples from your inspiration document (posts you've saved that match your desired style), then uses AI to create a clean, engaging LinkedIn post.

  What actually happens:
  You email a raw voice transcript to your workflow email
  -The workflow pulls style examples from your Google Doc
  AI reformats your scattered thoughts into a coherent 150-300 word LinkedIn post
  You get an email back with the polished content + suggested image description
  Copy, paste, and post to LinkedIn

  You provide: The raw transcript (from your phone's voice recorder or any transcription tool), a Google Doc with LinkedIn posts you admire for style reference.

  You get: Professional LinkedIn content that sounds like you, but organized and polished.

  Technical requirements: Anthropic API, email account, Google Doc with example posts.

  This is basically having an AI writing assistant that knows your voice and preferred style, turning your brain dumps into professional content.

nodes_used:
  ["n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.code","n8n-nodes-base.emailReadImap","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.emailSend"]

workflow_json_compressed:
  [encoded data, 6156 characters]

metadata_json:
  {"categories":["automation","content creation","social media","AI writing","email automation"],"complexity":"medium","use_cases":["Turn raw voice transcripts into polished LinkedIn posts","Repurpose spoken notes or brainstorms into social content","Maintain consistent writing style using example posts","Quickly generate post copy plus suggested image descriptions"],"estimated_setup_minutes":25,"required_services":["Anthropic (Claude) API","Email account (IMAP/SMTP or n8n email node)","Google Docs (API / document with style examples)","n8n instance"],"key_features":["Email ingestion of raw transcripts","Fetches style examples from a Google Doc","AI reformats and condenses into 150–300 word LinkedIn posts","Returns polished post plus suggested image description via email","Preserves user's voice by combining raw transcript with examples"],"target_audience":["content creators","founders and executives","marketers and social media managers/strategists"]}


name: Create a Telegram Customer Support Bot with GPT4-mini and Google Docs Knowledge
author_name: Automate With Marc
author_username: marconi
categories: []
created_at: 2025-06-11T14:02:23.307Z
updated_at: 2025-06-11T14:02:23.307Z
url: https://n8n.io/workflows/4875
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  🤖 AI Customer Support Agent with Google Docs Knowledge (Telegram + OpenAI)

  This no-code workflow turns your Telegram bot into an intelligent, always-on AI support agent that references your business documentation in Google Docs to respond to customer queries—instantly and accurately.

  Watch full step-by-step video tutorial of the build here:
  https://youtu.be/Mlv7CjGO7wI

  🔧 How it works:
  Telegram Trigger – Captures incoming messages from users on your Telegram bot

  Langchain AI Agent (OpenAI GPT) – Interprets the message and uses RAG (retrieval-augmented generation) techniques to craft an answer

  Google Docs Tool – Connects to and retrieves context from your specified Google Doc (e.g. FAQ, SOPs, policies)

  Memory Buffer – Keeps track of recent chat history for more human-like conversations

  Telegram Reply Node – Sends the AI-generated response back to the user

  💡 Use Cases:
  E-commerce customer service

  SaaS product onboarding

  Internal helpdesk bot for teams

  WhatsApp-style support for digital businesses

  🧠 What makes this powerful:
  Supports complex questions by referencing a live Google Doc knowledge base

  Works in plain conversational language (no buttons or forms needed)

  Runs 24/7 with zero code

  Easily extendable to Slack, WhatsApp, or email support

  🛠️ Tools used:
  Telegram Node (trigger + send)

  Langchain Agent with OpenAI GPT

  Google Docs Tool

  Memory Buffer

  Sticky Notes for easy understanding

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.googleDocsTool","n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","customer support","knowledge management","chatbot AI"],"complexity":"medium","use_cases":["E-commerce customer service","SaaS product onboarding","Internal IT/helpdesk bot","Digital-business chat support (WhatsApp/Slack-like)"],"estimated_setup_minutes":25,"required_services":["Telegram Bot API","OpenAI (GPT-4‑mini)","Google Workspace (Google Docs)","n8n runtime"],"key_features":["Retrieval-augmented generation (RAG) from Google Docs","Langchain AI agent orchestration","Memory buffer for conversational context","Telegram trigger and reply for real-time messaging","Zero-code/no-code workflow with extendable nodes"],"target_audience":["Customer support teams","SaaS product teams","E-commerce merchants/operators of digital businesses same as developers? No—include 'no-code builders' instead that missed?"]}


name: Auto-classify Gmail emails with AI and apply labels for inbox organization
author_name: Alex Dunlop
author_username: alexdunlop
categories: []
created_at: 2025-06-11T14:08:25.008Z
updated_at: 2025-06-11T14:08:25.008Z
url: https://n8n.io/workflows/4876
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?
  Professionals and individuals who receive high volumes of emails, those who want to automatically organize their Gmail inbox using AI classification.

  What problem is this workflow solving?

  Manual email sorting is time-consuming and inconsistent. This workflow automatically categorizes incoming emails into 8 predefined labels (To respond, FYI, Comment, Notification, Meeting update, Awaiting reply, Actioned, Marketing) to help maintain inbox zero and prioritize responses.

  What this workflow does

  Monitors Gmail for new incoming emails
  Uses AI to analyze email content and classify into appropriate categories
  Automatically applies the corresponding Gmail label
  Runs on a schedule to process emails consistently

  Setup

  Prerequisites

  n8n instance (cloud or self-hosted)
  Gmail account with API access enabled
  Access to an LLM provider (OpenAI, Anthropic Claude, or similar)

  Step-by-Step

  Configure Gmail Credentials
  Create Gmail Labels
  Configure LLM Chain
  Set Email Polling Schedule
  Test the Workflow

  Create Gmail Labels
  Before running the workflow, create these 8 labels in your Gmail account:

  To respond
  FYI
  Comment
  Notification
  Meeting update
  Awaiting reply
  Actioned
  Marketing

  How to customize this workflow to your needs

  Modify Classification Categories


  To change the email categories, update two places:

  In the AI prompt (Basic LLM Chain node):

  Your new category - Description of what emails fit here
  Another category - Description
  [... continue with your categories]

  In Gmail labels:
  Create corresponding labels in your Gmail account with the exact same names and numbering.

  Adjust Classification Rules

  The AI prompt contains specific rules for each category. To modify:

  Edit the "Key classification rules" section in the LLM prompt
  Add examples of emails that should go into each category
  Specify edge cases and how they should be handled

  Change Email Sources

  Currently monitors all incoming emails. To filter specific emails:

  In the Gmail Trigger node, add filters such as:

  from:specific-sender@domain.com
  subject:contains-keyword
  -label:already-processed

  You can also change this use Outlook

  Modify Polling Frequency

  More frequent**: Add multiple poll times (e.g., 9 AM, 12 PM, 6 PM)
  Less frequent**: Change to once daily or weekly
  Real-time**: Switch to webhook-based triggering (requires Gmail API setup)

  I choose daily for cost.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.aggregate","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.gmailTrigger","n8n-nodes-base.gmail","n8n-nodes-base.code","n8n-nodes-base.gmail"]

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

metadata_json:
  {"categories":["automation","integration","email-management","ai-classification","productivity"],"complexity":"medium","use_cases":["Automated email categorization and labeling","Inbox organization to support inbox zero","Prioritizing responses and reducing manual sorting","Routing or flagging emails for follow-up","Filtering specific senders or subjects before processing"],"estimated_setup_minutes":20,"required_services":["n8n instance (cloud or self-hosted)","Gmail with API access enabled","LLM provider (OpenAI, Anthropic Claude, or similar)"],"key_features":["Monitors Gmail for new incoming emails","Uses an LLM to classify emails into predefined categories","Automatically applies corresponding Gmail labels","Runs on a schedule (or can be switched to webhook for near real-time)","Configurable classification prompt and categories','Supports message filtering (from:, subject:, -label:) to limit processed emails"],"target_audience":["Professionals who receive high email volumes","Individuals wanting automated inbox organization","Customer support or operations teams handling many messages\",\"Small business owners and productivity-focused users"]}


name: Automated video creation using Google Veo3 and n8n workflow
author_name: Lakshit Ukani
author_username: lakshit1996
categories: []
created_at: 2025-06-11T14:24:53.629Z
updated_at: 2025-06-11T14:24:53.629Z
url: https://n8n.io/workflows/4877
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Who is this for?
  Content creators, social media managers, digital marketers, and businesses looking to automate video production without expensive equipment or technical expertise.

  What problem is this workflow solving?
  Traditional video creation requires cameras, editing software, voice recording equipment, and hours of post-production work. This workflow eliminates all these barriers by automatically generating professional videos with audio using just text prompts.

  What this workflow does
  This automated workflow takes video ideas from Google Sheets, generates optimized prompts using AI, creates videos through Google's V3 model via Fal AI, monitors the generation progress, and saves the final video URLs back to your spreadsheet for easy access and management.

  Setup
  Sign up for Fal AI account and obtain API key
  Create Google Sheet with video ideas and status columns
  Configure n8n with required credentials (Google Sheets, Fal AI API)
  Import the workflow template
  Set up authentication for all connected services
  Test with sample video idea

  How to customize this workflow to your needs
  Modify the AI prompts to match your brand voice, adjust video styles and camera movements, change polling intervals for video generation status, customize Google Sheet column mappings, and add additional processing steps like thumbnail generation or social media posting.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8136 characters]

metadata_json:
  {"categories":["automation","content creation","AI/ML","integration"],"complexity":"medium","use_cases":["Automate short-form video production from text prompts","Scale social media content creation","Repurpose written content into videos","Generate marketing or ad videos without video equipment","Streamline video idea tracking and asset management"],"estimated_setup_minutes":45,"required_services":["n8n","Fal AI (Google V3 model) - API key","Google Sheets (Google account / API credentials)","HTTP/Webhook endpoints (built into n8n)","OpenAI API (optional - used for prompt optimization if configured)"],"key_features":["Convert spreadsheet video ideas into fully generated videos","AI-driven prompt optimization before video generation","Uses Google V3 model via Fal AI to create videos with audio","Polling/monitoring of video generation progress","Writes final video URLs and statuses back to Google Sheets for tracking and management"],"target_audience":["Content creators","Social media managers","Digital marketers and agencies"]}


name: GitHub Fork Status Monitor
author_name: Manish
author_username: manish
categories: []
created_at: 2025-06-11T15:39:39.572Z
updated_at: 2025-06-11T15:39:39.572Z
url: https://n8n.io/workflows/4878
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow helps you keep an eye on your GitHub forks, notifying you when they fall behind or pull ahead of their upstream repositories.

  How It Works
  Fetches All Your Repos: The workflow starts by grabbing a list of all repositories owned by your GitHub account.
  Filters for Forks: It then intelligently filters this list to identify only your forked repositories.
  Compares Branches: For each identified fork, it compares its default branch against the upstream repository's default branch to find out how many commits it's ahead or behind.
  Filters for Changes: Only forks that are either ahead or behind their upstream (i.e., not perfectly in sync) are processed further.
  Generates Report: A concise, well-formatted report is compiled, highlighting the status and commit differences for each relevant fork.
  Sends Telegram Notification: Finally, this report is sent directly to your Telegram chat, keeping you informed in real-time.

  Setup Steps
  Copy the template 
  Update triggers ( optional ) 
  Update the credentials 

  Prerequisites
  GitHub Credentials**: You'll need to provide your GitHub personal access token for the "Get All Repositories" and "Compare Branches API Call" nodes.
  Telegram Bot Setup**: Configure a Telegram Bot and obtain its API token and your chat ID for the "Send Report" node.
  Github Owner Username**: Update the "Get All Repositories" node with the GitHub username of the repository owner whose forks you want to monitor.


  Explore & Fine-Tune: All detailed instructions and explanations, including how to adjust the filtering logic or output formatting, are provided in sticky notes directly within the workflow canvas.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.github","n8n-nodes-base.telegram","n8n-nodes-base.telegramTrigger","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.github","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.filter"]

workflow_json_compressed:
  [encoded data, 6620 characters]

metadata_json:
  {"categories":["automation","integration","monitoring","notifications"],"complexity":"medium","use_cases":["Track fork sync status vs upstream","Alert when forks fall behind or gain commits","Maintainers' housekeeping for multiple forks","Automated reporting for repo health"],"estimated_setup_minutes":15,"required_services":["GitHub API (personal access token)","Telegram Bot API (bot token and chat ID)","n8n instance with internet access"],"key_features":["Fetch all repositories and filter forks","Compare default branches to upstream (ahead/behind counts)","Filter to only changed forks","Compile a concise status report","Send report to Telegram chat (real-time notifications)"],"target_audience":["Developers","Open-source contributors","Repository maintainers/owners (teams)\" , \"DevOps engineers"]}


