Automate job search with AI cover letters using Google Jobs, RemoteOK & GPT-3.5
Automated Job Search with AI-Generated Cover Letters
π― What This Template Does
This workflow transforms your job search from a time-consuming daily chore into a fully automated system. Every 24 hours, it searches Google Jobs and RemoteOK for positions matching your criteria, generates unique AI-powered cover letters for each role, and delivers a polished HTML email digest straight to your inbox.
β‘ Key Features
- Multi-Platform Search: Simultaneously queries Google Jobs (via SerpAPI) and RemoteOK
- Smart Filtering: Automatically removes duplicates and low-quality postings
- AI-Powered Cover Letters: Uses OpenAI GPT-3.5 to write personalized 60-word cover letters for each position
- Beautiful Email Digests: HTML-formatted emails with job details, descriptions, and apply buttons
- Zero Manual Work: Runs automatically every 24 hours
- Cost-Effective: ~$0 for first 3 months using free API tiers, then ~$3/month
β±οΈ Time Saved
| Method | Time Required | |--------|---------------| | Manual Job Search | 2-3 hours daily | | With This Workflow | 0 minutes (fully automated) | | Annual Time Savings | ~800 hours per year |
π Prerequisites
1. SerpAPI Account
- Cost: FREE tier (100 searches/month)
- Sign up: https://serpapi.com/
- What you need: API key from dashboard
2. OpenAI Account
- Cost: FREE ($5 trial credits)
- Sign up: https://platform.openai.com/
- What you need: API key (requires phone verification)
3. Email Service
- Cost: FREE (use existing email)
- Options: Gmail, Outlook, or any SMTP provider
- Gmail users: Use App Password (requires 2FA enabled)
π Quick Start Guide
Step 1: Get API Keys (10 minutes)
SerpAPI Setup
- Go to https://serpapi.com/ and sign up
- Verify your email
- Log in β Dashboard
- Copy your API key
OpenAI Setup
- Go to https://platform.openai.com/
- Create account and verify phone number
- Profile icon β View API keys
- Create new secret key
- Copy immediately (shown only once)
Gmail Setup (if using Gmail)
- Google Account β Security
- Enable 2-Step Verification
- Search for "App Passwords"
- Generate app password for Mail
- Copy the 16-character password
Step 2: Add Credentials to n8n (5 minutes)
Add SerpAPI
- n8n Credentials β Add Credential
- Select "HTTP Query Auth"
- Name:
api_key - Value: [paste your SerpAPI key]
- Save
Add OpenAI
- Add Credential β OpenAI
- Paste your API key
- Save
Add SMTP
- Add Credential β SMTP
- Configure:
- Host:
smtp.gmail.com - Port:
587 - Security:
STARTTLS - Username: your-email@gmail.com
- Password: [app password]
- Host:
- Save
Step 3: Configure Your Search (2 minutes)
Click the "Settings" node and update:
query - Your target job title
- β
Good:
senior react developer - β
Good:
product manager saas - β
Good:
data scientist machine learning - β Bad:
developer(too broad)
location - Where you want to work
- For remote:
Remote - For city:
San Francisco, CA - For city:
New York, NY - For state:
Texas - π‘ Tip: Start with
Remotefor most options
email - Your email address
- Use the SAME email from SMTP setup
- Example:
yourname@gmail.com
Step 4: Connect Credentials
- Click "Search Google Jobs" node β Select SerpAPI credential
- Click "Generate Letter" node β Select OpenAI credential
- Click "Send Email" node β Select SMTP credential
- Click "No Results Email" node β Select SMTP credential
Step 5: Test & Activate
- Click "Execute Workflow" button (top right)
- Watch nodes light up green β
- Wait 30-60 seconds
- Check your email inbox
- If successful β Toggle "Active" switch
- Done! You'll receive daily job digests
π§ What You'll Receive
Each day, you'll get an email containing:
- Up to 4 highly relevant job listings
- Company name and location for each
- Job description snippets
- AI-generated personalized cover letter for each position
- Direct "Apply Now" button
- Source attribution (Google Jobs vs RemoteOK)
Automate Job Search with AI Cover Letters (Google Jobs & RemoteOK + GPT-3.5)
This n8n workflow streamlines your job application process by automatically searching for relevant job postings, generating personalized AI cover letters, and sending them via email. It integrates with job boards like Google Jobs and RemoteOK, leveraging GPT-3.5 for intelligent content generation.
What it does
This workflow performs the following key steps:
- Triggers on a Schedule: The workflow starts at predefined intervals (e.g., daily) to look for new job opportunities.
- Fetches Job Listings: It makes HTTP requests to specified job board APIs (e.g., Google Jobs, RemoteOK) to retrieve job postings based on your criteria.
- Processes Job Data: It uses a "Code" node to extract and format relevant job details from the API responses.
- Filters and Prepares Data: An "Edit Fields (Set)" node standardizes the job data for consistent processing.
- Loops Through Jobs: The "Loop Over Items (Split in Batches)" node processes each job posting individually.
- Generates AI Cover Letter: For each job, it uses an "HTTP Request" node to send job details to an AI model (like GPT-3.5) to generate a tailored cover letter.
- Conditionally Sends Email: An "If" node checks if a cover letter was successfully generated.
- Sends Application Email: If a cover letter is available, the "Send Email" node composes and sends an email with the AI-generated cover letter to the relevant recipient (e.g., the hiring manager or a personal email for review).
- Aggregates Results: The "Aggregate" node collects the results from all processed jobs, whether an email was sent or not.
- Handles Failures: If the AI cover letter generation fails, the workflow continues without sending an email for that specific job.
Prerequisites/Requirements
To use this workflow, you will need:
- n8n Instance: A running n8n instance (cloud or self-hosted).
- Email Credentials: SMTP server details or an email service integration configured in n8n for the "Send Email" node.
- AI API Key: An API key for an AI model capable of text generation (e.g., OpenAI GPT-3.5 API key). This will be used in the "HTTP Request" node for cover letter generation.
- Job Board API Access (Optional): While the workflow uses HTTP Request nodes, you might need API keys or specific endpoint configurations for the job boards you wish to scrape (e.g., Google Jobs, RemoteOK).
- Custom Code Configuration: The "Code" node will likely require customization to parse the specific job data from your chosen job board APIs and format the prompt for the AI model.
Setup/Usage
- Import the Workflow: Download the JSON file and import it into your n8n instance.
- Configure Credentials:
- Set up your Email (SMTP) credentials for the "Send Email" node.
- Configure your AI API Key within the "HTTP Request" node responsible for generating the cover letter. This typically involves adding an HTTP Header with your API key.
- Customize Job Search:
- Modify the "Schedule Trigger" node to define how often you want the workflow to run.
- Update the "HTTP Request" nodes (for fetching job listings) with the correct URLs and parameters for your desired job boards (e.g., search terms, locations, remote filters).
- Adjust the "Code" node to correctly parse the job data from your chosen job board APIs and construct the prompt for the AI cover letter generation.
- Refine AI Prompt: In the "HTTP Request" node for AI cover letter generation, fine-tune the prompt to the AI model to ensure it generates relevant and high-quality cover letters.
- Configure Email Content: Customize the "Send Email" node to set the recipient, subject, and body of the application email, using expressions to dynamically insert job details and the AI-generated cover letter.
- Activate the Workflow: Once configured, activate the workflow to start automating your job search.
Related Templates
AI-powered code review with linting, red-marked corrections in Google Sheets & Slack
Advanced Code Review Automation (AI + Lint + Slack) Whoβs it for For software engineers, QA teams, and tech leads who want to automate intelligent code reviews with both AI-driven suggestions and rule-based linting β all managed in Google Sheets with instant Slack summaries. How it works This workflow performs a two-layer review system: Lint Check: Runs a lightweight static analysis to find common issues (e.g., use of var, console.log, unbalanced braces). AI Review: Sends valid code to Gemini AI, which provides human-like review feedback with severity classification (Critical, Major, Minor) and visual highlights (red/orange tags). Formatter: Combines lint and AI results, calculating an overall score (0β10). Aggregator: Summarizes results for quick comparison. Google Sheets Writer: Appends results to your review log. Slack Notification: Posts a concise summary (e.g., number of issues and average score) to your teamβs channel. How to set up Connect Google Sheets and Slack credentials in n8n. Replace placeholders (<YOURSPREADSHEETID>, <YOURSHEETGIDORNAME>, <YOURSLACKCHANNEL_ID>). Adjust the AI review prompt or lint rules as needed. Activate the workflow β reviews will start automatically whenever new code is added to the sheet. Requirements Google Sheets and Slack integrations enabled A configured AI node (Gemini, OpenAI, or compatible) Proper permissions to write to your target Google Sheet How to customize Add more linting rules (naming conventions, spacing, forbidden APIs) Extend the AI prompt for project-specific guidelines Customize the Slack message formatting Export analytics to a dashboard (e.g., Notion or Data Studio) Why itβs valuable This workflow brings realistic, team-oriented AI-assisted code review to n8n β combining the speed of automated linting with the nuance of human-style feedback. It saves time, improves code quality, and keeps your teamβs review history transparent and centralized.
Generate Weather-Based Date Itineraries with Google Places, OpenRouter AI, and Slack
π§© What this template does This workflow builds a 120-minute local date course around your starting point by querying Google Places for nearby spots, selecting the top candidates, fetching real-time weather data, letting an AI generate a matching emoji, and drafting a friendly itinerary summary with an LLM in both English and Japanese. It then posts the full bilingual plan with a walking route link and weather emoji to Slack. π₯ Who itβs for Makers and teams who want a plug-and-play bilingual local itinerary generator with weather awareness β no custom code required. βοΈ How it works Trigger β Manual (or schedule/webhook). Discovery β Google Places nearby search within a configurable radius. Selection β Rank by rating and pick the top 3. Weather β Fetch current weather (via OpenWeatherMap). Emoji β Use an AI model to match the weather with an emoji π€οΈ. Planning β An LLM writes the itinerary in Markdown (JP + EN). Route β Compose a Google Maps walking route URL. Share β Post the bilingual itinerary, route link, and weather emoji to Slack. π§° Requirements n8n (Cloud or self-hosted) Google Maps Platform (Places API) OpenWeatherMap API key Slack Bot (chat:write) LLM provider (e.g., OpenRouter or DeepL for translation) π Setup (quick) Open Set β Fields: Config and fill in coords/radius/time limit. Connect Credentials for Google, OpenWeatherMap, Slack, and your LLM. Test the workflow and confirm the bilingual plan + weather emoji appear in Slack. π Customize Adjust ranking filters (type, min rating). Modify translation settings (target language or tone). Change output layout (side-by-side vs separated). Tune emoji logic or travel mode. Add error handling, retries, or logging for production use.
AI-powered document search with Oracle and ONNX embeddings for recruiting
How it works Create a user for doing Hybrid Search. Clear Existing Data, if present. Add Documents into the table. Create a hybrid index. Run Semantic search on the Documents table for "prioritize teamwork and leadership experience". Run Hybrid search for the text input in the Chat interface on the Documents table. Setup Steps Download the ONNX model allMiniLML12v2augmented.zip Extract the ZIP file on the database server into a directory, for example /opt/oracle/onnx. After extraction, the folder contents should look like: bash bash-4.4$ pwd /opt/oracle/onnx bash-4.4$ ls allMiniLML12_v2.onnx Connect as SYSDBA and create the DBA user sql -- Create DBA user CREATE USER app_admin IDENTIFIED BY "StrongPassword123" DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA UNLIMITED ON users; -- Grant privileges GRANT DBA TO app_admin; GRANT CREATE TABLESPACE, ALTER TABLESPACE, DROP TABLESPACE TO app_admin; Create n8n Oracle DB credentials hybridsearchuser β for hybrid search operations dbadocuser β for DBA setup (user and tablespace creation) Run the workflow Click the manual Trigger It displays Pure semantic search results. Enter search text in Chat interface It displays results for vector and keyword search. Note The workflow currently creates the hybrid search user, docuser with the password visible in plain text inside the n8n Execute SQL node. For better security, consider performing the user creation manually outside n8n. Oracle 23ai or 26ai Database has to be used. Reference Hybrid Search End-End Example