by Mira Melhem
Order Fulfillment & Shipping Notification System Automatically notify customers via WhatsApp when their orders ship, with intelligent phone validation, multi-country support, and bilingual messaging including complete tracking information. What does this workflow do? When you fulfill an order in Shopify, this workflow instantly updates your database, validates the customer's phone number across 23+ countries, and sends a professional WhatsApp notification with full tracking details in their preferred language. Key features: 🌍 23+ Country Phone Validation - Automatically detects and formats phone numbers for GCC, MENA, and international customers 📦 Complete Tracking Info - Includes tracking number, courier name, and clickable tracking URL 🌐 Smart Bilingual Messaging - Arabic and English with luxury brand tone 💾 Real-time Database Sync - Updates order status and shipping details instantly 🔒 Test Number Protection - Blocks notifications to development phone numbers ✨ Personalized Messages - Addresses customers by first name ⏱️ Delivery Expectations - Communicates clear 7-12 business day timeline 🎯 International Format - Handles phone numbers with automatic country code detection Setup Requirements Integrations Needed: Shopify - For order fulfillment webhooks PostgreSQL - For order and customer data storage WhatsApp Business API - For sending notifications via Facebook Graph API Credentials Required: Shopify Access Token (with fulfillment webhook permissions) PostgreSQL database credentials WhatsApp Business API Bearer Token (Facebook Graph API v18.0) How to Use Import the workflow into your n8n instance Configure credentials: Add your Shopify store access token Connect your PostgreSQL database Add your WhatsApp Business API credentials Update test phone numbers in filter nodes (If10 and If11) with your actual test numbers Customize brand name in WhatsApp message templates if needed (currently "" / "") Activate the workflow to start sending shipping notifications Workflow Structure 1. Trigger (Shopify Webhook) Listens for fulfillments/create events when orders are marked as shipped in Shopify 2. Update Order Status Updates PostgreSQL database with: Status changed to 'shipped' Shipping company name Tracking number 3. Customer Lookup Retrieves customer record from database using phone number from fulfillment data 4. Phone Validator (Code Node) Intelligent phone number formatting: Detects country from shipping address Validates and cleans phone number Adds appropriate country code if missing Supports 23 countries across GCC, MENA, and international markets Ensures proper international format (+CountryCode) 5. Get Customer Preferences Retrieves language preference and first name for personalization 6. Language Detection Routes workflow based on customer's preferred language (Arabic vs. English) 7. Test Number Filter Prevents notifications to internal/development phone numbers 8. WhatsApp Notification Sends comprehensive shipping notification with tracking details in customer's language Supported Countries & Codes GCC Region: 🇴🇲 Oman (968) 🇦🇪 UAE (971) 🇸🇦 Saudi Arabia (966) 🇰🇼 Kuwait (965) 🇶🇦 Qatar (974) 🇧🇭 Bahrain (973) MENA Region: 🇯🇴 Jordan (962) 🇪🇬 Egypt (20) 🇮🇶 Iraq (964) 🇱🇧 Lebanon (961) 🇸🇾 Syria (963) 🇵🇸 Palestine (970) 🇾🇪 Yemen (967) International: 🇺🇸 USA (1) 🇬🇧 UK (44) 🇩🇪 Germany (49) 🇫🇷 France (33) 🇮🇹 Italy (39) 🇪🇸 Spain (34) 🇹🇷 Turkey (90) 🇮🇳 India (91) 🇵🇰 Pakistan (92) Message Templates Arabic Message (عربي): مرحبًا [الاسم]، يسرّنا إعلامكم بأنه تم شحن طلبكم بنجاح. رقم الطلب: [order_id] رقم التتبع: [tracking_number] شركة الشحن: [courier_name] رابط التتبع: [tracking_url] المدة المتوقعة للتوصيل: من 7 إلى 12 يوم عمل. يمكنكم متابعة حالة الشحنة عبر رقم التتبع، وسنحرص على إبقائكم على اطلاع حتى استلام الطلب. مع أطيب التحيات، English Message: Hello [Name], We are pleased to inform you that your order has been shipped successfully. Order No: [order_id] Tracking No: [tracking_number] Courier Company: [courier_name] Tracking URL: [tracking_url] Estimated delivery time: 7–12 business days. You may track your shipment using the tracking number provided. We will continue to keep you informed until your order is delivered. Kind regards, Database Schema Requirements Orders Table: CREATE TABLE orders ( order_id VARCHAR PRIMARY KEY, -- Shopify order number status VARCHAR, -- Order status ('open', 'shipped', 'delivered', 'canceled') shipping_company VARCHAR, -- Courier service name tracking_number VARCHAR, -- Package tracking ID customer_id INTEGER -- Foreign key to customers table ); Customers Table: CREATE TABLE customers ( id SERIAL PRIMARY KEY, website_id INTEGER, -- Shopify customer ID phone VARCHAR, -- Customer phone number language VARCHAR(2), -- Preferred language ('ar' or 'en') first_name VARCHAR, -- Customer first name last_name VARCHAR -- Customer last name ); Phone Validator Logic The Phone Validator node intelligently handles phone numbers: Extracts phone from fulfillment data (checks destination.phone, shipping_address.phone, or root phone) Detects country from destination.country_code (defaults to 'OM' if not provided) Cleans number by removing whitespace and non-numeric characters (except +) Validates length (minimum 5 digits required) Checks for country code in the number Adds country code automatically if missing based on shipping country Ensures + prefix for international format Returns: phone: Formatted number with country code (+XXX) original_phone: Raw input for reference country_code: ISO country code validation_status: 'success' or 'empty_or_invalid' Customization Tips Add more countries**: Extend the countryCodes object in Phone Validator node Change brand name**: Update "" / "" in WhatsApp message nodes Adjust delivery time**: Modify "7–12 business days" to match your actual shipping times Add more languages**: Create additional language detection branches (e.g., French, Spanish) Include product details**: Extend database query to fetch order items and include in message Add delivery date estimates**: Calculate and include specific delivery date ranges Email notifications**: Add email nodes for customers who prefer email SMS fallback**: Add SMS nodes for customers without WhatsApp Use Cases E-commerce stores shipping to multiple countries Luxury brands requiring premium communication Businesses with Arabic and English speaking customers International retailers with GCC and MENA presence Multi-channel sellers needing unified shipping notifications Stores using various courier services (DHL, FedEx, Aramex, etc.) Error Handling Empty phone numbers**: Workflow marks as 'empty_or_invalid' and skips notification Invalid formats**: Phone validator attempts to fix common issues Missing data**: Uses fallback values (e.g., 'OM' for country, 'en' for language) SQL injection protection**: Single quotes escaped in database queries Test number blocking**: Prevents accidental notifications during testing Performance Notes Execution time**: ~2-3 seconds per order Database queries**: 3 total (1 UPDATE, 2 SELECT) API calls**: 1 WhatsApp message per order Scalability**: Handles concurrent fulfillments independently Rate limits**: WhatsApp Business API applies standard rate limits Technical Notes WhatsApp API Version: v18.0 Phone API format: Country code without '+' (e.g., 962798087441) Database: PostgreSQL with prepared statements Default country: Oman (+968) Default language: English if not specified Workflow processes one fulfillment at a time (runOnceForEachItem) Tags: #shopify #whatsapp #fulfillment #shipping #tracking #bilingual #arabic #english #phone-validation #ecommerce #notifications #international
by Gilbert Onyebuchi
Capture leads from Tally forms to Google Sheets CRM This workflow automates lead intake by capturing form submissions, enriching them with smart tags and scores, storing them in a Google Sheets CRM, and sending personalized welcome emails. Who's it for This template is perfect for solopreneurs, small agencies, and marketing consultants who need a simple yet powerful CRM system without paying for expensive tools like HubSpot or Salesforce. If you're collecting leads through forms and manually copying data to spreadsheets, this automation will save you hours every week. What it does When someone submits your Tally lead capture form, this workflow automatically: Generates a unique lead ID and timestamps the entry Analyzes their responses to assign relevant service tags (Podcast Lead, Social Content Lead, Video Editing Lead, etc.) Calculates an initial lead score based on interest level Determines the next follow-up date automatically Appends all data to your Google Sheets CRM with proper formatting Logs the activity in a separate tracker sheet Sends a personalized welcome email tailored to their interests Updates the lead status to "Nurturing" Requirements Apps & Services: Google Sheets (for your CRM database) Tally.so or Google Forms (for lead capture) SendGrid account (free tier works) for email sending n8n instance (cloud or self-hosted) Setup needed: Create the Google Sheets CRM structure (4 sheets: Leads, Email Sequence Tracker, Activity Log, Dashboard Data) Set up your Tally form with fields: Name, Email, Business Type, Interest Level, Services Needed Configure SendGrid API credentials in n8n Connect your Google Sheets account to n8n How to set up Copy the Google Sheets template with all four sheets (Leads, Email Sequence Tracker, Activity Log, Dashboard Data) and set up column headers as specified Create your Tally form at tally.so with the required fields, then grab the webhook URL from n8n Import this workflow into your n8n instance Configure credentials for Google Sheets and SendGrid Update the webhook URL in your Tally form settings Customize the welcome email in the "Generate Welcome Email" node with your branding Test with a sample submission to verify everything flows correctly Activate the workflow and start capturing leads How to customize Modify service tags: Edit the serviceTagMap object in the "Auto-Tag Lead" node to match your specific services. Adjust lead scoring: Change the scoring logic in "Calculate Initial Dates & Score" to prioritize different interest levels or sources. Personalize emails: Update the email templates in "Generate Welcome Email" to match your brand voice and add specific resources or links. Add more integrations: Extend the workflow with Slack notifications, SMS alerts via Twilio, or sync to other tools like Notion or Airtable. Change follow-up timing: Modify the daysToAdd calculation to adjust when leads receive their next touchpoint. Add conditional paths: Use IF nodes to route different lead types to different email sequences or team members.
by David Hernández Luján
Who’s it for This workflow is for system administrators or self-hosted n8n users who want to automatically check and update their n8n instance to the latest version — with Telegram notifications for every step. How it works The workflow runs daily at 9 AM or every time n8n starts. It retrieves your current version using the Execute Command node. It checks the latest release from the official n8n GitHub API. It compares both versions and decides whether an update is needed. If an update is available: Sends a Telegram alert. Verifies that there are no running executions. Runs the update command safely. Sends a confirmation message when done. If your instance is already up to date, it sends a “latest version” message instead. Requirements Self-hosted n8n** instance with access to run terminal commands. A valid Telegram Bot API credential (configured in n8n Credentials; not hardcoded). SSH credentials** To run commands on the server where n8n is installed n8n API credentials** To query running executions How to set up Import this workflow into your n8n instance. Connect your Telegram Bot credential to the Telegram nodes. Adjust the chat ID and message thread ID if needed. (Optional) Change the schedule time in the Schedule Trigger node. Save and activate the workflow. How to customize Change the update command if you’re running n8n via Docker: docker pull n8nio/n8n:latest
by Fahmi Fahreza
Analyze Trustpilot & Sitejabber sentiment with Decodo + Gemini to Sheets Sign up for Decodo HERE for Discount This template scrapes public reviews from Trustpilot and Sitejabber with a Decodo tool, converts findings into a flat, spreadsheet-ready JSON, generates a concise sentiment summary with Gemini, and appends everything to Google Sheets. It’s ideal for reputation snapshots, competitive analysis, or lightweight BI pipelines that need structured data and a quick narrative. Who’s it for? Marketing teams, growth analysts, founders, and agencies who need repeatable review collection and sentiment summaries without writing custom scrapers or manual copy/paste. How it works A Form Trigger collects the Business Name or URL. Set (Config Variables) stores business_name, spreadsheet_id, and sheet_id. The Agent orchestrates the Decodo tool and enforces a strict JSON schema with at most 10 reviews per source. Gemini writes a succinct summary and recommendations, noting missing sources with: “There’s no data in this website.” A Merge node combines JSON fields with the narrative. Google Sheets appends a row. How to set up Add Google Sheets, Gemini, and Decodo credentials in Credential Manager. Replace (YOUR_SPREADSHEET_ID) and (YOUR_SHEET_ID) in Set: Config Variables. In Google Sheets, select Define below and map each column explicitly. Keep the parser and agent connections intact to guarantee flat JSON. Activate, open the form URL, submit a business, and verify the appended row.
by SpaGreen Creative
Automated WhatsApp Welcome Messages for Sales Leads with Google Sheets & Rapiwa Who is this for? This automation is ideal for sales teams, digital marketers, support agents, or small business owners who collect leads in Google Sheets and want to automatically send WhatsApp welcome messages. It's a cost-effective and easy-to-use solution built for those not using the official WhatsApp Business API but still looking to scale communication. What this Workflow Does This n8n automation reads leads from a connected Google Sheet, verifies if the provided WhatsApp numbers are valid using the Rapiwa API, and sends a personalized welcome message. It updates the sheet based on delivery success or failure, and continues this process every 5 minutes — ensuring new leads are automatically engaged. Key Features Automatic Scheduling**: Runs every 5 minutes (adjustable) Google Sheets Integration**: Reads and updates lead data WhatsApp Number Validation**: Confirms number validity via Rapiwa Personalized Messaging**: Uses lead name for custom messages Batch Processing**: Sends up to 60 messages per cycle Safe API Usage**: Adds 5-second delay between each message Error Handling**: Marks failed messages as not sent and unverified Live Status Updates**: Sheet columns are updated after each attempt Loop Logic**: Repeats continuously to catch new rows How to Use Step-by-step Setup Prepare Your Google Sheet Copy this Sample Sheet Ensure it includes the following columns: WhatsApp No name (note: trailing space is required) row_number status, check, validity Connect Google Sheets in n8n Use OAuth2 credentials to allow n8n access Set the workflow to fetch rows where check is not empty Get a Rapiwa Account Sign up at https://rapiwa.com Add your WhatsApp number Retrieve your Bearer Token from your Rapiwa dashboard Configure HTTP Request Nodes Use Rapiwa's API endpoints: Verify Number: https://app.rapiwa.com/api/verify-whatsapp Send Message: https://app.rapiwa.com/api/send-message Add your Bearer Token to the header Start Your Workflow Run the n8n automation It will read leads, clean phone numbers, verify WhatsApp validity, send messages, and update the sheet accordingly Requirements A Google Sheet with correctly formatted columns Active Rapiwa subscription (~$5/month) A valid Bearer Token from Rapiwa Your WhatsApp number connected to Rapiwa n8n instance with: Google Sheets integration (OAuth2 setup) HTTP Request capability Google Sheet Column Reference | name | number | email | time | check | validity | status | |-----------------|--------------|-------------------|-----------------------------|---------|------------|-----------| | Abdul Mannan | 8801322827799| contact@spagreen.net| September 14th 2025, 10:34 | checked | verified | sent | | Abdul Mannan | 8801322827798| contact@spagreen.net| September 14th 2025, 10:34 | checked | unverified | not sent | Workflow Logic Summary Trigger Every 5 Minutes Fetch All Rows with Pending Status Limit to 60 Rows per Execution Clean and Format Phone Numbers Check Number Validity via Rapiwa Condition Check: If valid → Send Message If invalid → Update status as not sent, unverified Send WhatsApp Message via Rapiwa Update Sheet Row On success: sent, verified, checked On failure: not sent, unverified Delay 5 seconds before next message Repeat for next lead Customization Ideas Add image or document sending support via Rapiwa Customize messages based on additional fields (e.g., product, service) Log failures to a separate sheet Send admin email for failed batches Add support for multilingual messages Notes & Warnings The column name "name " includes a space — do not remove or rename it. International number format is required for Rapiwa to work correctly. If you're sending many messages, increase the Wait node delay to prevent API throttling. Support WhatsApp Support: Chat Now Discord: Join SpaGreen Community Facebook Group: SpaGreen Support Website: https://spagreen.net Developer Portfolio: Codecanyon SpaGreen
by deAPI Team
Who is this for? YouTube creators who want to speed up their post-production workflow Content repurposers who turn videos into written summaries Social media managers handling multiple YouTube channels Anyone who needs quick, AI-generated thumbnails from video content What problem does this solve? Watching a full video to write a summary and then designing a matching thumbnail is tedious. This workflow does both automatically — transcribe, summarize, and generate a professional 1280x720 thumbnail — all from a single YouTube URL. What this workflow does Takes a YouTube video URL as input Transcribes the full video using deAPI (Whisper Large V3) AI Agent analyzes the transcript, writes a concise summary, and uses the deAPI Prompt Booster tool to craft an optimized thumbnail image prompt Generates a 1280x720 landscape thumbnail using deAPI Uploads the thumbnail to Google Drive Setup Requirements n8n instance** (self-hosted or n8n Cloud) deAPI account for video transcription, prompt boosting, and image generation Anthropic account for the AI Agent Google Drive API access for file uploads Installing the deAPI Node n8n Cloud: Go to **Settings → Community Nodes and toggle the "Verified Community Nodes" option Self-hosted: Go to **Settings → Community Nodes and install n8n-nodes-deapi Configuration Add your deAPI credentials (API key + webhook secret) Add your Anthropic credentials (API key) Add your Google Drive credentials (OAuth2) Set the target Google Drive folder ID in the Google Drive Upload node Ensure your n8n instance is on HTTPS How to customize this workflow Change the AI model**: Swap Anthropic for OpenAI, Google Gemini, or any other LLM provider Adjust the prompt style**: Modify the AI Agent system message to target different thumbnail aesthetics (minimalist, bold text overlay, cinematic, etc.) Change the output destination**: Replace Google Drive with Dropbox, S3, Notion, or email delivery Add a summary output**: Insert a Google Docs or Notion node after the AI Agent to save the written summary alongside the thumbnail Process in bulk**: Replace the Manual Trigger with a Google Sheets trigger containing a list of YouTube URLs Swap the trigger**: Use a Form Trigger to let team members submit YouTube URLs through a web form Other video platforms**: The transcription node also supports Twitch VODs, X (Twitter), and Kick URLs
by Alex Berman
Who is this for Sales teams, lead generation agencies, and growth marketers who want to pull targeted B2B contacts from Apollo.io, enrich them with verified emails and mobile numbers, and push clean records directly into an Airtable CRM -- without manual data entry or expensive Apollo subscriptions. How it works A manual trigger kicks off the workflow. A configuration node lets you define your target job titles, industry, company size, and lead count. The workflow calls the ScraperCity Apollo Filters API to start an async scrape job and captures the returned run ID. An async polling loop checks the scrape status every 60 seconds until the job succeeds. On success, the raw lead data is downloaded and parsed. Contacts without a work email are filtered out and duplicates are removed. Clean, enriched records (name, title, company, email, phone, LinkedIn URL) are written to your Airtable base as new rows. How to set up Create a ScraperCity account at scrapercity.com and copy your API key. In n8n, add an HTTP Header Auth credential named "ScraperCity API Key" with the header name Authorization and value Bearer YOUR_KEY. Open the Configure Search Parameters node and edit job titles, industry, company size, and lead count. Open the Save Leads to Airtable node and connect your Airtable credential, then set your Base ID and Table name. Requirements ScraperCity account (scrapercity.com) -- Apollo scraper billed at $0.0039 per contact n8n instance (cloud or self-hosted) Airtable account with a base and table ready to receive contacts How to customize the workflow Change the filter conditions in Filter Contacts with Email to also require a phone number. Add a ScraperCity Mobile Finder step after download to enrich contacts with mobile numbers before writing to Airtable. Swap the Airtable output node for a HubSpot or Google Sheets node to route leads to a different destination.
by giangxai
Overview This workflow automatically creates and publishes AI-generated recipe infographics using n8n and AI agents. By entering a single dish name, the system researches the recipe, generates structured cooking content, designs a visual infographic using Nanobanana Pro, uploads the image to Blotato’s media server, and publishes the post to Facebook using Blotato as the posting service. The workflow is designed for food content creators, social media managers, and automation builders who want to consistently produce and publish high-quality recipe infographics without manual research, design, or posting. What can this workflow do? Accept a dish name as the only user input Automatically research ingredients, cooking steps, and timing details Generate social-ready captions optimized for engagement Create clean and readable recipe infographics using Nanobanana Pro Monitor image generation status and handle retries Upload generated images to Blotato’s media server Publish recipe posts to Facebook via Blotato automatically This workflow reduces manual work while keeping recipe content production structured, scalable, and repeatable. How it works The workflow starts with a simple input form where the user submits a dish name. This dish name is used as the single source of truth for the entire automation. An AI research agent analyzes the dish and generates structured recipe data, including ingredients, preparation steps, and cooking time. This data is normalized so it can be reused reliably in later steps. Next, an AI agent generates a concise, social-friendly caption optimized for food content and Facebook engagement. In parallel, another AI agent converts the structured recipe data into a detailed infographic prompt. This prompt is sent to Nanobanana Pro to generate a complete recipe infographic image. The workflow waits for the rendering process to finish and checks the generation status to ensure only completed images continue. Once the infographic is ready, the image is uploaded to Blotato’s media server. Finally, the workflow calls Blotato’s posting API to publish the post to Facebook using the Facebook account already connected inside Blotato. Setup steps Connect an AI model (Gemini or compatible LLM) for recipe research, caption generation, and prompt creation Configure the input form to accept a dish name Set up Nanobanana Pro as the image generation engine for recipe infographics Connect your Blotato account and ensure Facebook is logged in inside Blotato Configure the Blotato media upload node Configure the Blotato post creation node for Facebook publishing Once configured, the workflow runs end to end with no manual intervention beyond entering a dish name. Documentation For a full walkthrough, prompt optimization tips, and scaling strategies for food content automation, watch the detailed tutorial on YouTube.
by Romain Jouhannet
HubSpot → Linear Customers Sync Keeps your Linear Customers list automatically in sync with HubSpot CRM data, using Snowflake as the data warehouse source. Runs on a daily schedule and handles both creates and updates — only touching records where ARR or seat count has actually changed. No unnecessary API calls. How it works A Schedule Trigger fires daily at a configurable time Snowflake is queried to retrieve all customer accounts with aggregated ARR and seat count from your CRM (e.g. Hubspot) product table All existing Linear Customers are fetched via cursor-based pagination (250 records/page) A matching step compares records using HubSpot COMPANY_ID as the Linear externalId, with a domain-based fallback for re-keyed accounts Unmatched companies are created as new Linear Customers Changed records (ARR or seats) are updated in Linear A Slack notification is sent for every sync action Setup Add your Snowflake credential and adapt the SQL query to your schema Connect your Linear API credential (requires Customer read + write permissions) Set up a Slack Bot credential and update the target channel in the Slack node Adjust the Schedule Trigger to your preferred sync time Notes The Limit Snowflake (Testing) node is disabled by default — enable it during testing to cap the number of Snowflake rows processed Matching uses externalIds (HubSpot company ID) first, then falls back to domains Only records with changed revenue or size values trigger a Linear update
by WeblineIndia
Gold vs Equity Performance Comparison Tracker with Visual Insights This automated n8n workflow evaluates the historical performance of gold against equity markets. It extracts daily price data from Google Sheets, calculates comparative returns and uses an AI agent to generate actionable investment insights. Finally, it creates a visual performance chart and emails a smartly formatted HTML report—triggering a high-priority alert if the performance gap exceeds a defined threshold. Quick Implementation Steps Import the Workflow: Upload the downloaded JSON file into your n8n workspace. Connect Credentials: Authenticate your Google Sheets, Gmail and Groq API accounts in their respective nodes. Map Your Data: Select your specific Google Sheet documents for both the Gold and Equity data fetching nodes. Set Your Parameters: Open the Set Analysis Parameters node to define your target date range and performance gap threshold. Execute: Click "Test Workflow" to generate and receive your first automated financial comparison report. What It Does This workflow acts as an automated financial analyst. It begins by pulling day-by-day pricing for two distinct assets—Gold and Equity—from standard Google Sheets. A custom script then merges this data, ensuring dates match up perfectly while filtering out any information outside of your target date window. Once the data is aligned, the workflow calculates the percentage returns for both assets and determines the exact performance difference. Instead of just presenting raw numbers, the workflow passes these calculated metrics to an advanced AI Agent powered by Llama-3. The AI is prompted to step into the role of an investment advisor, evaluating the numbers to declare a "winner," providing realistic market context and suggesting a strategic portfolio allocation (e.g., 60% Equity / 40% Gold) based strictly on the provided data. To wrap it all up, the system generates a dynamic line chart URL using QuickChart.io. It packages the chart, the raw numbers and the AI's written insights into a clean HTML email. If one asset drastically outperforms the other (based on a threshold you set), the system routes the email as a special "ALERT". Finally, it logs a summary of the report back into a fresh Google Sheet for long-term record keeping. Who’s It For This workflow is perfect for financial analysts, portfolio managers, wealth advisors, and self-directed investors who want to automate their market tracking. It is highly beneficial for teams that need consistent, data-backed comparative reporting without the manual labor of crunching spreadsheet numbers and drafting summaries every week. Requirements to Use This Workflow An active n8n instance (compatible with self-hosted version 2.1.5 or newer). A Google Workspace account to authenticate both Google Sheets and Gmail nodes. A Groq API account to power the Llama-3 language model for AI insights. A Google Sheet populated with daily historical prices for Gold and Equity. How It Works & Set Up 1. Define Your Analysis Scope Start at the Set Analysis Parameters node. Here, you will define the startDate, endDate and the threshold percentage. This threshold is the performance gap required to trigger an urgent alert rather than a standard report. 2. Ingest the Market Data The workflow branches into two Google Sheets nodes (Fetch Gold Prices and Fetch Equity Prices). You will need to select your Google account credentials and point these nodes to the specific worksheets containing your date and price columns. 3. Merge and Calculate The Merge Market Data node uses JavaScript to combine both data streams into a single timeline. The subsequent Calculate Performance Metrics node does the math, calculating the total percentage return for both assets over your chosen timeframe. 4. Generate AI Insights The Generate AI Investment Insights Langchain agent takes the calculated returns and sends them to the Groq language model. Make sure your Groq credentials are active in the attached Insights model node. The AI outputs a structured JSON response containing the market summary and allocation advice. 5. Charting and Delivery While the AI processes text, the Generate Chart node transforms the price arrays into a QuickChart visual. Everything is combined in the Generate Final Report node, which builds the HTML structure. Finally, the Check Performance Gap node decides whether to trigger the Send Report Email or the Send Alert Email. How To Customize Nodes Set Analysis Parameters:** Update this node before every manual run to target different weeks, months or quarters. Generate AI Investment Insights:** Open the system prompt options in this node to change the AI's "personality." You can ask it to be more conservative, aggressive or to focus strictly on macroeconomic trends. Generate Chart:** Open the JavaScript code in this node to customize the aesthetics. You can change line colors, adjust the line tension or switch the chart type from "line" to "bar". Email Nodes:** Customize the HTML body or change the target email addresses. You can add CCs or BCCs for broader team distribution. Add‑ons Slack / Discord Integration:** Swap the Gmail nodes for messaging app nodes to drop these reports directly into a company finance channel. Live Data APIs:** Replace the Google Sheets fetch nodes with direct HTTP requests to Yahoo Finance or Alpha Vantage to pull real-time market data on the fly. PDF Generation:** Add a tool to convert the generated HTML payload into a polished PDF document, making it easier to attach to client emails. Use Case Examples Weekly Wealth Management Reporting: Automatically send weekly asset comparison summaries to high-net-worth clients to keep them informed on their portfolio balances. Automated Wealth Plan Generator: Feed the AI's allocation advice from this workflow directly into a broader wealth-planning system to calculate user eligibility and adjust debt-to-equity ratios. Market Volatility Alerts: Run this workflow daily on a schedule. If safe-haven assets (Gold) suddenly spike in comparison to risk assets (Equity), your team receives an immediate warning to adjust trading strategies. Crypto vs. Traditional Markets: Repurpose the workflow by simply changing the input sheets to compare Bitcoin performance against traditional S&P 500 index funds. Real Estate vs. Stocks: Adjust the data sources to compare local housing market indices against stock market growth over a multi-year period. Troubleshooting Guide | Issue | Possible Cause | Solution | | :--- | :--- | :--- | | Workflow fails at "Fetch Prices" nodes | Google Sheets credentials expired or Sheet ID is incorrect. | Re-authenticate your Google OAuth2 credentials and ensure you have selected the correct document and sheet tab from the node dropdowns. | | "Invalid JSON from AI" error | The Groq LLM returned conversational text (like "Here is your data:") instead of raw JSON. | Open the Generate AI Investment Insights node and ensure the system prompt strictly demands "Output ONLY valid JSON." You may also need to adjust the temperature setting on the Llama model. | | Chart image is broken in email | The data arrays are empty or the QuickChart URL exceeded character limits. | Verify that the Merge Market Data node successfully matched dates for both assets. If comparing years of data, consider calculating weekly averages instead of daily to shorten the URL string. | | No emails are being received | Gmail node misconfigured or blocked by Google security. | Check the Gmail credential connection. Ensure the recipient email address is valid and check your spam folder. | | Google Sheets history not updating | The Store Report History node is mapping to the wrong column headers. | Ensure your destination Google Sheet has exact column headers for "Date", "Winner", "Summary" and "Report" as defined in the node's schema. | Need Help? Running into hurdles getting this workflow perfectly tuned for your specific financial datasets? Whether you need help configuring the Groq AI prompts, adjusting the custom JavaScript parsing logic or building out more advanced add-ons like dynamic API integrations, our n8n automation team at WeblineIndia is here to assist. Feel free to reach out and contact WeblineIndia for expert n8n consultation. We can help you troubleshoot, customize and build the perfect automation architecture tailored to your exact business needs.
by Jitesh Dugar
Eliminate the manual chaos of HR and legal document management. This workflow automates the transition from a raw document upload to a structured, audit-ready archive by combining UploadToURL for instant CDN hosting, Google Drive for long-term storage, and Airtable for status tracking and database management. 🎯 What This Workflow Does Transforms loose document scans into a structured corporate filing system: 📝 Captures Legal Assets - Receives signed contracts or IDs via mobile scan (binary) or remote URL. 🛡️ Duplicate Prevention - Checks Airtable first to ensure a contract isn't already filed for that specific Employee ID. ☁️ Instant CDN Hosting - UploadToURL hosts the document to provide a high-speed link for immediate HR review. 📁 Smart Folder Logic - Automatically navigates or creates a structured Google Drive path: HR/Contracts/{Year}/{Department}/{EmployeeName}/. 🗃️ Database Synchronization - Updates (or creates) an Airtable record to tick "Contract Received," logging both the Drive URL and the CDN backup. 📧 Automated Confirmation - Sends a professional HTML email to HR and the employee with access links and filing metadata. ✨ Key Features UploadToURL Integration**: Provides a redundant, accessible CDN link stored alongside your primary Drive storage for total data reliability. Auto-Nomenclature**: Renames files using a strict audit-ready format: {EmployeeID}{LastName}{Type}_{Date}.pdf. Intelligent Folder Creation**: Never manually create a folder again; the workflow builds the entire hierarchy on the fly. Audit Trail Generation**: Captures "Filed By," "Filed At," and unique "Upload IDs" for every document. Conflict Handling**: Built-in 409 Conflict logic prevents accidental overwrites or double-filing of critical legal papers. 💼 Perfect For HR Teams**: Managing onboarding documents and employment contracts at scale. Legal Departments**: Archiving NDAs, vendor agreements, and compliance certifications. Small Businesses**: Moving away from "loose files in folders" to a searchable, automated database. Remote Teams**: Enabling employees to "upload and forget" their paperwork via a simple link. 🔧 What You'll Need Required Integrations UploadToURL** - To host documents and provide public CDN backup links. n8n Community Node** - n8n-nodes-uploadtourl must be installed. Google Drive** - OAuth2 credentials for secure document storage. Airtable** - Personal Access Token to manage your employee/document database. Gmail / SMTP** - To send automated filing confirmations. Configuration Variables GDRIVE_ROOT_FOLDER_ID: The ID of your main HR folder in Google Drive. AIRTABLE_BASE_ID: Your specific Airtable base for HR/Legal tracking. 🚀 Quick Start Import Template - Copy the JSON and import it into your n8n workspace. Install Node - Ensure the UploadToURL community node is active. Set Credentials - Link your UploadToURL, Google Drive, Airtable, and Gmail accounts. Define Variables - Set your Root Folder ID and Airtable Base details in n8n variables. Test the Pipeline - Send a test POST with a sample PDF to the Webhook URL. Activate - Enable the workflow to begin hands-free archiving. 🎨 Customization Options Expiration Alerts**: Add a node to calculate 1-year expiry dates and set an automated reminder in Slack. OCR Processing**: Integrate an OCR step to read the content of scans and verify names automatically. Watermarking**: Add a "Confidential" or "Draft" watermark to documents before they are uploaded to the CDN. Multi-Base Routing**: Route documents to different Airtable bases depending on the "Department" field. 📈 Expected Results 100% Consistency** in file naming and folder structures across the entire organization. Zero manual data entry**—employee records and checkboxes update automatically. Audit-ready in minutes**: Every file has a timestamped trail and redundant storage links. Instant Accessibility**: HR can view documents via the CDN link before Drive permissions even propagate. 🏆 Use Cases High-Growth Onboarding A startup hiring 20 people a month can automate all contract filings, ensuring the "Contract Received" flag is always accurate for payroll. Compliance Audits When auditors ask for specific contracts, use the Airtable "Structured Filename" column to find and share the relevant Drive or CDN links in seconds. Field Service Scans Technicians in the field can upload signed site reports via a mobile app; the workflow handles the filing and notifies the office immediately. 💡 Pro Tips Folder IDs**: You can find your GDRIVE_ROOT_FOLDER_ID by looking at the last string in the URL when you are inside that folder in your browser. Structured JSON**: Use the returned auditTrail object to build a log of all uploads in a separate "Master Audit" spreadsheet. Employee IDs**: If no ID is provided, the workflow generates a temporary one using a timestamp to ensure the archive never breaks. Ready to secure your document pipeline? Import this template and connect UploadToURL to build a world-class archiving system in under 20 minutes. Need help with Airtable field mapping? The workflow includes detailed sticky notes explaining the exact field names required for the automation to run.
by Alex Berman
Who is this for This workflow is built for digital agencies and sales teams that sell services to ecommerce brands. If you prospect Shopify store owners and want a repeatable, automated pipeline from discovery to CRM -- this template handles the entire process. How it works A configuration node lets you set your target country, lead volume, and filters before anything runs. ScraperCity's store-leads API scrapes live Shopify stores and returns emails, phone numbers, and social profiles. The workflow polls for job completion every 60 seconds, then downloads and parses the CSV results. All harvested emails are sent in bulk to ScraperCity's email-validator API, which checks deliverability, MX records, and catch-all status. Only contacts with valid or acceptable email status pass through a filter node. Duplicate records are removed before each verified lead is created or updated as a contact in HubSpot CRM. How to set up Create a ScraperCity account at app.scrapercity.com and copy your API key. In n8n, create an HTTP Header Auth credential named "ScraperCity API Key" with the header name "Authorization" and value "Bearer YOUR_KEY". Connect your HubSpot account using the HubSpot App Token credential. Open the Configure Search Parameters node and set your target country code and lead volume. Requirements ScraperCity account (app.scrapercity.com) -- store-leads and email-validator products HubSpot account with a private app token n8n instance (cloud or self-hosted) How to customize the workflow Change countryCode in the config node to target any market (GB, AU, CA, etc.) Adjust totalLeads to control scrape volume per run Add a filter node after email validation to restrict to specific domains or revenue signals Swap HubSpot for another CRM by replacing the final node with a Salesforce, Pipedrive, or Airtable node