Apply to jobs automatically from Google Sheets with status tracking Who's it for Job seekers who want to streamline their application process, save time on repetitive tasks, and never miss following up on applications. Perfect for anyone managing multiple job applications across different platforms. What it does This workflow automatically applies to jobs from a Google Sheet, tracks application status, and keeps you updated with notifications. It handles the entire application lifecycle from submission to status monitoring. Key features: Reads job listings from Google Sheets with filtering by priority and status Automatically applies to jobs on LinkedIn, Indeed, and other platforms Updates application status in real-time Checks application status every 2 days and notifies you of changes Sends email notifications for successful applications and status updates Prevents duplicate applications and manages rate limiting How it works The workflow runs on two main schedules: Daily Application Process (9 AM, weekdays): 1. Reads your job list from Google Sheets 2. Filters for jobs marked as "Not Applied" with Medium/High priority 3. Processes each job individually to prevent rate limiting 4. Applies to jobs using platform-specific APIs (LinkedIn, Indeed, etc.) 5. Updates the sheet with application status and reference ID 6. Sends confirmation email for each application Status Monitoring (Every 2 days at 10 AM): 1. Checks all jobs with "Applied" status 2. Queries job platforms for application status updates 3. Updates the sheet if status has changed 4. Sends notification emails for status changes (interviews, rejections, etc.) Requirements Google account with Google Sheets access Gmail account for notifications Resume stored online (Google Drive, Dropbox, etc.) API access to job platforms (LinkedIn, Indeed) - optional for basic version n8n instance (self-hosted or cloud) How to set up Step 1: Create Your Job Tracking Sheet Create a Google Sheet with these exact column headers: | Job_ID | Company | Position | Status | Applied_Date | Last_Checked | Application_ID | Notes | Job_URL | Priority | |--------|---------|----------|--------|--------------|--------------|----------------|-------|---------|----------| | JOB001 | Google | Software Engineer | Not Applied | | | | | https://careers.google.com/jobs/123 | High | | JOB002 | Microsoft | Product Manager | Not Applied | | | | | https://careers.microsoft.com/jobs/456 | Medium | Column explanations: Job_ID: Unique identifier (JOB001, JOB002, etc.) Company: Company name Position: Job title Status: Not Applied, Applied, Under Review, Interview Scheduled, Rejected, Offer Applied_Date: Auto-filled when application is submitted Last_Checked: Auto-updated during status checks Application_ID: Platform reference ID (auto-generated) Notes: Additional information or application notes Job_URL: Direct link to job posting Priority: High, Medium, Low (Low priority jobs are skipped) Step 2: Configure Google Sheets Access 1. In n8n, go to Credentials → Add Credential 2. Select Google Sheets OAuth2 API 3. Follow the OAuth setup process to authorize n8n 4. Test the connection with your job tracking sheet Step 3: Set Up Gmail Notifications 1. Add another credential for Gmail OAuth2 API 2. Authorize n8n to send emails from your Gmail account 3. Test by sending a sample email Step 4: Update Workflow Configuration In the "Set Configuration" node, update these values: spreadsheetId: Your Google Sheet ID (found in the URL) resumeUrl: Direct link to your resume (make sure it's publicly accessible) yourEmail: Your email address for notifications coverLetterTemplate: Customize your cover letter template Step 5: Customize Application Logic For basic version (no API access): The workflow includes placeholder HTTP requests that you can replace with actual job platform integrations. For advanced version (with API access): Replace LinkedIn/Indeed HTTP nodes with actual API calls Add your API credentials to n8n's credential store Update the platform detection logic for additional job boards Step 6: Test and Activate 1. Add 1-2 test jobs to your sheet with "Not Applied" status 2. Run the workflow manually to test 3. Check that the sheet gets updated and you receive notifications 4. Activate the workflow to run automatically How to customize the workflow Adding New Job Platforms 1. Update Platform Detection: Modify the "Check Platform Type" node to recognize new job board URLs 2. Add New Application Node: Create HTTP request nodes for new platforms 3. Update Status Checking: Add status check logic for the new platform Customizing Application Strategy Rate Limiting: Add "Wait" nodes between applications (recommended: 5-10 minutes) Application Timing: Modify the cron schedule to apply during optimal hours Priority Filtering: Adjust the filter conditions to match your criteria Multiple Resumes: Use conditional logic to select different resumes based on job type Enhanced Notifications Slack Integration: Replace Gmail nodes with Slack for team notifications Discord Webhooks: Send updates to Discord channels SMS Notifications: Use Twilio for urgent status updates Dashboard Updates: Connect to Notion, Airtable, or other productivity tools Advanced Features AI-Powered Personalization: Use OpenAI to generate custom cover letters Job Scoring: Implement scoring logic based on job requirements vs. your skills Interview Scheduling: Auto-schedule interviews when status changes Follow-up Automation: Send follow-up emails after specific time periods Important Notes Platform Compliance Always respect rate limits to avoid being blocked Follow each platform's Terms of Service Use official APIs when available instead of web scraping Don't spam job boards with excessive applications Data Privacy Store credentials securely using n8n's credential store Don't hardcode API keys or personal information in nodes Regularly review and clean up old application data Ensure your resume link is secure but accessible Quality Control Start with a small number of jobs to test the workflow Review application success rates and adjust strategy Monitor for errors and set up proper error handling Keep your job list updated and remove expired postings This workflow transforms job searching from a manual, time-consuming process into an automated system that maximizes your application efficiency while maintaining quality and compliance.
Who this is for This workflow is for digital marketing agencies or sales teams who want to automatically find business leads based on industry & location, gather their contact details, and send personalized cold emails — all from one form submission. --- What this workflow does This workflow starts every time someone submits the Lead Machine Form. It then: Scrapes business data (company name, website, phone, address, category) using Apify based on business type & location. Extracts the best email address from each business website using Google Gemini AI. Stores valid leads in Google Sheets. Generates cold email content (subject + body) with AI based on your preferred tone (Friendly, Professional, Simple). Sends the cold email via Gmail. Updates the sheet with send status & timestamp. --- Setup To set this workflow up: 1. Form Trigger – Customize the “Lead Machine” form fields if needed (Business Type, Location, Lead Number, Email Style). 2. Apify API – Add your Apify Actor Endpoint URL in the HTTP Request node. 3. Google Gemini – Add credentials for extracting email addresses. 4. Google Sheets – Connect your sheet for storing leads & email status. 5. OpenAI – Add your credentials for cold email generation. 6. Gmail – Connect your Gmail account for sending cold emails. --- How to customize this workflow to your needs Change the AI email prompt to reflect your brand’s voice and offer. Add filters to only target leads that meet specific criteria (e.g., website must exist, email must be verified). Modify the Google Sheets structure to track extra info like “Follow-up Date” or “Lead Source”. Switch Gmail to another email provider if preferred. ---
Description This workflow automates the process of scraping the latest discussions from HackerNews, transforming raw threads into human readable content using Google Gemini, and exporting the final content into a well-formatted Google Doc. Overview This n8n workflow is responsible for extracting trending posts from the HackerNews API. It loops through each item, performs HTTP data extraction, utilizes Google Gemini to generate human-readable insights, and then exports the enriched content into Google Docs for distribution, archiving, or content creation. Who this workflow is for Tech Newsletter Writers: Automate the collection and summarization of trending HackerNews posts for inclusion in weekly or daily newsletters. Content Creators & Bloggers: Quickly generate structured summaries and insights from HackerNews threads to use as inspiration or supporting content for blog posts, videos, or social media. Startup Founders & Product Builders: Monitor HackerNews for discussions relevant to your niche or competitors, and keep a pulse on the community’s opinions. Investors & Analysts: Surface early signals from the tech ecosystem by identifying what’s trending and how the community is reacting. Researchers & Students: Analyze popular discussions and emerging trends in technology, programming, and startups—enriched with AI-generated insights. Digital Agencies & Consultants: Offer HackerNews monitoring and insight reports as a value-added service to clients interested in the tech space. Tools Used n8n: The core automation engine that manages the trigger, transformation, and export. HackerNews API: Provides access to trending or new HN posts. Google Gemini: Enriches HackerNews content with structured insights and human-like summaries. Google Docs: Automatically creates and updates a document with the enriched content, ready for sharing or publishing. How to Install Import the Workflow: Download the .json file and import it into your n8n instance. Set Up HackerNews Source: Choose whether to use the HN API (via HTTP Request node) or RSS Feed node. Configure Gemini API: Add your Google Gemini API key and design the prompt to extract pros/cons, key themes, or insights. Set Up Google Docs Integration: Connect your Google account and configure the Google Docs node to create/update a document. Test and Deploy: Run a test job to ensure data flows correctly and outputs are formatted as expected. Use Cases Tech Newsletter Authors: Generate ready-to-use summaries of trending HackerNews threads. Startup Founders: Stay informed on key discussions, product launches, and community feedback. Investors & Analysts: Spot early trends, technical insights, and startup momentum directly from HN. Researchers: Track community reactions to new technologies or frameworks. Content Creators: Use the enriched data to spark blog posts, YouTube scripts, or LinkedIn updates. Connect with Me Email: ranjancse@gmail.com LinkedIn: https://www.linkedin.com/in/ranjan-dailata/ Get Bright Data: Bright Data (Supports free workflows with a small commission) #n8n #automation #hackernews #contentcuration #aiwriting #geminiapi #googlegemini #techtrends #newsletterautomation #googleworkspace #rssautomation #nocode #structureddata #webscraping #contentautomation #hninsights #aiworkflow #googleintegration #webmonitoring #hnnews #aiassistant #gdocs #automationtools #gptlike #geminiwriter
How it works The automation loads rows from a Google Sheet of leads that you want to contact. It makes a Google search via Apify for LinkedIn links based on the First name / Last name / Company. Another Apify actor fetches the right LinkedIn profile based on the first profile which is retuned The same process is done for the company that the lead works for, giving extra context. If the lead has a current company listed on their LinkedIn, we use that URL to do the lookup, rather than doing a separate Google search. A call is made to OpenRouter to get an LLM to generate an email based on a prompt designed to do personalized outreach. An email is sent via a Gmail node. Set up steps Connect your Google Sheets + Gmail accounts to use these APIs. Make an account with Apify and enter your credentials. Set your details in the "Set My Data" node to customize the workflow to revolve around your company + value proposition. I would recommend changing the prompt in the "Generate Personalized Email" node to match the tone of voice that you want your agent to have. You can change the guidelines to e.g. change whether the agent introduces itself, and give more examples in the style you want to make the output better.
Automate video ads with NanoBanana, Seedream 4, ChatGPT Image and Veo 3 Who is this for? This template is designed for marketers, content creators, and e-commerce brands who want to automate the creation of professional ad videos at scale. It’s ideal for teams looking to generate consistent, high-quality video ads for social media without spending hours on manual design, editing, or publishing. What problem is this workflow solving? / Use case Creating video ads usually requires multiple tools and a lot of time: writing scripts, designing product visuals, editing videos, and publishing them across platforms. This workflow automates the entire pipeline — from idea to ready-to-publish ad video — ensuring brands can quickly test campaigns and boost engagement without production delays. What this workflow does 1. Generates ad ideas from Telegram input (text + product image). 2. Creates product visuals using multiple AI image engines: Seedream 4.0 (realistic visuals) NanoBanana (image editing & enhancement) ChatGPT Image / GPT-4o (creative variations) 3. Produces cinematic video ads with Veo 3 based on AI-generated scripts. 4. Merges multiple short clips into a polished final ad. 5. Publishes automatically to multiple platforms (TikTok, Instagram, LinkedIn, X, Threads, Facebook, Pinterest, Bluesky, YouTube) via Blotato. 6. Stores metadata and results in Google Sheets & Google Drive for easy tracking. 7. Notifies you via Telegram with the video link and copy. Setup 1. Connect your accounts in n8n: Telegram API (for input and notifications) Google Drive + Google Sheets (storage & tracking) Kie AI API (Seedream + Veo 3) Fal.ai API (NanoBanana + video merging) OpenAI (for script and prompt generation) Blotato API (for social publishing) 2. Prepare a Google Sheet with brand info and settings (product name, category, features, offer, website URL). 3. Deploy the workflow and connect your Telegram bot to start sending ad ideas (photo + caption). 4. Run the workflow — it will automatically generate images, create videos, and publish to your chosen channels. How to customize this workflow to your needs Brand customization: Adjust the Google Sheet values to reflect your brand’s offers and product features. Platforms: Enable/disable specific Blotato nodes depending on which platforms you want to publish to. Video style: Edit the AI agent’s system prompt to control tone, format, and transitions (cinematic, playful, modern, etc.). Notifications: Adapt Telegram nodes to send updates to different team members or channels. Storage: Change the Google Drive folder IDs to store generated videos and images in your preferred location. This workflow lets you go from idea → images → cinematic ad video → auto-published content in minutes, fully automated. --- Watch This Tutorial: Step by Step --- Documentation: Notion Guide --- Need help customizing? Contact me for consulting and support : Linkedin / Youtube
This workflow automates the creation of AI-generated virtual try-on images for fashion eCommerce stores. Instead of relying on expensive and time-consuming photoshoots, the system uses AI to generate realistic images of models wearing selected clothing items. This n8n workflow automates the process of generating AI-powered virtual try-on images for a WooCommerce store. It fetches product data from a Google Sheet, uses the Fal.ai Nano Banana model to create an image of a model wearing the clothing item, and then updates both the Google Sheet and the WooCommerce product with the final generated image. --- Advantages Cost Reduction: Eliminates the need for professional photo shoots, saving on models, photographers, and studio expenses. Time Efficiency: Automates the entire workflow—from data input to product update—minimizing manual work. Scalability: Works seamlessly across large product catalogs, making it easy to update hundreds of products quickly. Enhanced eCommerce Experience: Provides shoppers with realistic previews of clothing on models, boosting trust and conversion rates. Marketing Flexibility: The generated images can also be repurposed for ads, social media, and promotional campaigns. Centralized Management: Google Sheets acts as the control center, making it easy to manage inputs and track results. --- How It Works The workflow operates in a sequential, loop-based manner to process multiple products from a spreadsheet. Here is the logical flow: 1. Manual Trigger & Data Fetch: The workflow starts manually (e.g., by clicking "Test workflow"). It first reads data from a specified Google Sheet, looking for rows where the "IMAGE RESULT" column is empty. 2. Loop Processing: It loops over each row of data fetched from the sheet. Each row should contain URLs for a model image and a product image, along with a WooCommerce product ID. 3. API Request to Generate Image: For each item in the loop, the workflow sends a POST request to the Fal.ai Nano Banana API. The request includes the two image URLs and a prompt instructing the AI to create a photo of the model wearing the submitted clothing item. 4. Polling for Completion: The AI processing is asynchronous. The workflow enters a polling loop: it waits for 60 seconds and then checks the status of the processing request. If the status is not COMPLETED, it waits and checks again. This loop continues until the image is ready. 5. Fetching and Storing the Result: Once the status is COMPLETED, the workflow retrieves the URL of the generated image, downloads the image file, and uploads it to a designated folder in Google Drive. 6. Updating Systems: The workflow then performs two crucial update steps: It updates the original Google Sheet row, writing the URL of the final generated image into the "IMAGE RESULT" column. It updates the corresponding product in WooCommerce, adding the generated image to the product's gallery. 7. Loop Continuation: After processing one item, the workflow loops back to process the next row in the Google Sheet until all items are complete. --- Set Up Steps To make this workflow functional, you need to configure three main connections: Step 1: Prepare the Google Sheet Create a Google Sheet with the following columns: IMAGE MODEL, IMAGE PRODUCT, PRODUCT ID, and IMAGE RESULT. Populate the first three columns for each product. The IMAGE RESULT column must be left blank; the workflow will fill it automatically. In the n8n workflow, configure the "Google Sheets" node to point to your specific Google Sheet and worksheet. Step 2: Configure the Fal.ai API Key Create an account at fal.ai and obtain your API key. In the n8n workflow, locate the three "HTTP Request" nodes named "Get Url image", "Get status", and "Create Image". Edit the credentials for these nodes (named "Fal.run API") and update the Value field in the Header Auth to be Key YOURAPIKEY (replacing YOURAPIKEY with your actual key). Step 3: Set Up WooCommerce API Ensure you have the API keys (Consumer Key and Consumer Secret) for your WooCommerce store's REST API. In the n8n workflow, locate the "WooCommerce" node. Edit its credentials and provide the required information: your store's URL and the API keys. This allows the workflow to authenticate and update your products. --- Need help customizing? Contact me for consulting and support or add me on Linkedin.
This workflow pulls news articles from NewsAPI, Mediastack, and CurrentsAPI on a scheduled basis. Each provider’s results are normalized into a consistent schema, then written into your database (NocoDB by default). Use case: automated aggregation of categorized news for content pipelines, research agents, or editorial queues. What You Must Update Before Running 1. API Keys Replace all placeholder keys: call newsapi.org - Top Headlines → update API_KEY in URL call newsapi.org - categories → update API_KEY call mediastack → update "ACCESS_KEY" in JSON call currentsapi → update "API_KEY" param 2. Database Connection Workflow uses NocoDB to store results. You must: Update the NocoDB API Token credential to your own Ensure your table includes the fields used in the create operations (source_category, title, summary, author, sources, content, images, publisher_date, etc.) If you prefer Google Sheets, Airtable, or another DB: Replace each NocoDB node with your equivalent “create row” operation The Set nodes already provide all normalized fields you need 3. Scheduling All schedulers are disabled by default. Enable the following so the workflow runs automatically: NewsAPI – Top Headlines NewsAPI – Categories Mediastack CurrentsAPI You may change the run times, but all four must be scheduled for the workflow to function as designed. What You Can Configure 1. Categories Defined in: newsapi.org categories mediastack categories Edit these arrays to pull only the categories you care about or to match your API plan limits. 2. Article Limits Adjust article_limit in: newsapi.org categories mediastack categories currentsapi config
AI-Enriched Cold Outreach: Research → Draft → QA → Write-back ============================================================ What this template does ----------------------- Automates cold email drafting from a lead list by: 1. Enriching each lead with LinkedIn profile, LinkedIn company, and Crunchbase data 2. Generating a personalized subject + body with Gemini 3. Auto-reviewing with a Judge agent and writing back only APPROVED drafts to your Data Table Highlights ----------- Hands-off enrichment via RapidAPI; raw JSON stored back on each row Two-agent pattern: Creative Outreach Agent (draft) + Outreach Email Judge (QA) Structured outputs guaranteed by LangChain Structured Output Parsers Data Table–native: reads “unprocessed” rows, writes results to the same row Async polling with Wait nodes for scraper task results How it works (flow) ------------------- 1. Trigger: Manual (replace with Cron if needed) 2. Fetch leads: Data Table “Get row(s)” filters rows where email_subject is empty (pending) 3. Loop: Split in Batches iterates rows 4. Enrichment (runs in parallel): LinkedIn profile: HTTP (company_url) → Wait → Results → Data Table update → linkedin_profile_scrape LinkedIn company: HTTP (company_url) → Wait → Results → Data Table update → linkedin_company_scrape Crunchbase company: HTTP (url_search) → Wait → Results → Data Table update → crunchbase_company_scrape (All calls use host cold-outreach-enrichment-scraper with a RapidAPI key.) 5. Draft (Gemini): “Agent One” composes a concise, personalized email using row fields + enrichment + ABOUT ME block. Structured Output Parser enforces: ``json { "email_subject": "text", "email_content": "text" } ` 6. Prep for QA: “Email Context” maps email_subject, email_content, and email for the judge. 7. QA (Judge): “Judge Agent” returns APPROVED or REVISE (brief feedback allowed). 8. Route: If APPROVED → Data Table “Update row(s)” writes email_subject + email_body (a.k.a. email_content) back to the row. If REVISE → Skipped; loop continues. Required setup --------------- Data Table: “email_linkedin_list” (or your own) with at least: email, First_name, Last_name, Title, Location, Company_Name, Company_site, Linkedin_URL, company_linkedin (if used), Crunchbase_URL, email_subject, email_body, linkedin_profile_scrape, linkedin_company_scrape, crunchbase_company_scrape (string fields for JSON). Credentials: RapidAPI key for cold-outreach-enrichment-scraper (store securely as credential, not hardcoded) Google Gemini (PaLM) API configured in the Google Gemini Chat Model node ABOUT ME block: Replace the sample persona (James / CEO / Company Sample / AI Automations) with your own. Nodes used ----------- Data Table HTTP Request: AI Agent: Google Gemini Chat Model Split in Batches: Main Loop Set: RapidAPI-Key Customization ideas ------------------- Process flags: Add email_generated_at or processed` boolean to prevent reprocessing. Human-in-the-loop: Send drafts to Slack/Email for spot check before write-back. Delivery: After approval, optionally email the draft to the sender for review. Quotas & costs --------------- RapidAPI: Multiple calls per row (three tasks + result polls). Gemini: Token usage for generator + judge per row. Tune batch size and schedule accordingly. Privacy & compliance -------------------- You are scraping and storing person/company data. Ensure lawful basis, respect ToS, and minimize stored data.
Automate Your ETF Comparison: Real-Time Data & Analysis Automate ETF research in Excel with one click. This n8n workflow pulls live data from justetf.com using ISIN codes from your Excel table, extracts key metrics (dividends, fees, 5-year performance), and updates your “Div study” sheet instantly — all triggered by a button in Excel. Perfect for dividend investors, ETF screeners, or portfolio trackers who want fresh, accurate data without manual copy-paste. --- How it works 1. Trigger: Click “Update Table” in Excel → calls n8n via webhook 2. Excel: Logs current time (GMT-2) and reads all rows from “DivComp” table 3. HTTP Request: Fetches ETF profile page from justetf.com using ISIN 4. HTML Extraction: Parses page with CSS selectors to grab dividends, fees, 5Y performance 5. Code Node: Cleans & structures data (e.g., last 5 years of dividends, yield, growth) 6. Update Excel: Writes clean values back to your table (fees, yield, performance, name) --- Setup steps 1. In Excel: Add a button → assign macro that calls your n8n webhook URL (path: /ETF) Ensure table “DivComp” has: ISIN, Dernière mise à jour, Frais, Performance depuis 5 ans, etc. 2. In n8n: Connect Microsoft Excel (OneDrive) credential Update workbook/worksheet/table references if needed Test with 1–2 ISINs first 3. Click “Update Table” → watch data refresh in real time! --- Tags: ETF, Excel, Web Scraping, Investing, Finance, Automation, justetf, Dividend Tracking
Quick overview This workflow runs hourly to collect campaign spend, clicks, and impressions from Meta (Facebook), Google Ads, TikTok Ads, and Taboola, then upserts the metrics into Airtable and creates a time-stamped snapshot record for Meta campaigns. Get Implementation help via https://nocode.expert How it works 1. Runs every 60 minutes on a schedule. 2. Builds today’s date values (including a sheet-friendly format and PST-adjusted dates) for use in API queries and Airtable filters. 3. Pulls ACTIVE and PAUSED campaign lists from up to four Meta ad accounts and searches Airtable for existing rows matching today’s date. 4. Matches Meta campaigns to Airtable records by Campaign ID, fetches Meta Insights for each campaign for today, and keeps only campaigns with non-zero spend. 5. Upserts the Meta campaign metrics into the Airtable “Daily Ad Spend” table and creates a separate time-slot snapshot row in a second Airtable table. 6. Retrieves today’s performance data from Taboola (via OAuth token), Google Ads (GAQL query), and TikTok Ads (integrated report), then normalizes the results into a single campaign list. 7. Filters out non-spending campaigns and upserts the remaining Google, Taboola, and TikTok campaign metrics into the same Airtable “Daily Ad Spend” table. Setup 1. Create an Airtable personal access token connection and set your Airtable Base ID and both Table IDs for the “Daily Ad Spend” and “Daily Snapshot” tables. 2. Replace the placeholder Meta ad account IDs and add a valid Meta Graph API access token in the Meta campaign and insights request URLs. 3. Add Google Ads OAuth2 credentials in n8n and set your Google customer ID, login-customer-id, and developer token headers for the Google Ads API request. 4. Add your TikTok access token and advertiser ID, and add your Taboola client ID/secret and account name in the Taboola token and report requests. 5. Ensure your Airtable “Daily Ad Spend” table includes fields matching the mapped columns (for example Date, Spend, Clicks, Impressions, Campaign ID, Campaign Name, Source, and Ad Account) so the upserts succeed. Requirements Accounts and API access for Meta Graph API, Google Ads API, TikTok Business API, Taboola Backstage API, and an Airtable base Customization change the schedule from hourly to daily, or narrow the campaign-name keyword filter to only the campaigns you want tracked