97 templates found
Category:
Author:
Sort:

Automated job applications & status tracking with LinkedIn, Indeed & Google Sheets

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): Reads your job list from Google Sheets Filters for jobs marked as "Not Applied" with Medium/High priority Processes each job individually to prevent rate limiting Applies to jobs using platform-specific APIs (LinkedIn, Indeed, etc.) Updates the sheet with application status and reference ID Sends confirmation email for each application Status Monitoring (Every 2 days at 10 AM): Checks all jobs with "Applied" status Queries job platforms for application status updates Updates the sheet if status has changed 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: | JobID | Company | Position | Status | AppliedDate | LastChecked | ApplicationID | 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 In n8n, go to Credentials → Add Credential Select Google Sheets OAuth2 API Follow the OAuth setup process to authorize n8n Test the connection with your job tracking sheet Step 3: Set Up Gmail Notifications Add another credential for Gmail OAuth2 API Authorize n8n to send emails from your Gmail account 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 Add 1-2 test jobs to your sheet with "Not Applied" status Run the workflow manually to test Check that the sheet gets updated and you receive notifications Activate the workflow to run automatically How to customize the workflow Adding New Job Platforms Update Platform Detection: Modify the "Check Platform Type" node to recognize new job board URLs Add New Application Node: Create HTTP request nodes for new platforms 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.

VipinWBy VipinW
57387

Ai prompt generator workflow

🧠 AI Prompt Generator Workflow – n8n Documentation Who is this for? This workflow is for AI builders, prompt engineers, developers, marketers, and no-code creators who want to convert rough user input into structured, high-quality prompts for LLMs. It’s especially useful for tools that rely on precision prompting and want to automate the discovery of intent and constraints. --- What problem is this workflow solving? / Use case Many users struggle to write effective prompts due to vague ideas or unclear formatting needs. This workflow: Collects structured user input. Dynamically generates clarifying questions. Returns a well-formatted AI prompt based on the user's intent and context. This ensures the generated prompt is useful for downstream AI agents without requiring technical understanding from the end user. --- What this workflow does Start with a branded form UI The user is shown a styled form with questions like: What do you want to build? What tools can you access? What input can be expected? What output do you expect? Analyze and generate relevant follow-up questions The workflow sends the user's answers to Google Gemini (via LangChain) which outputs 1–3 clarifying questions. These questions are parsed into a dynamic form. Loop through and collect follow-up answers Each follow-up question is shown in a form one at a time to capture additional context. Merge all inputs The base intent and follow-up responses are merged into a single context block. Generate a final AI-ready prompt The prompt generator node formats everything into a clean, six-section structure: <constraints> <role> <inputs> <tools> <instructions> <conclusions> Display the final result The finished prompt is shown in a clean UI where users can easily copy and reuse it. --- Setup Credentials Required Google Gemini (PaLM) API credentials (already integrated as Google Gemini(PaLM) Api account 2). Form Trigger Ensure the On form submission trigger is exposed via a webhook or public endpoint (e.g. using ngrok or deployed server). Styling Custom CSS is included in all form nodes for a beautiful UI. You can modify this to match your branding. Environment This workflow is compatible with self-hosted n8n or n8n.cloud. Webhooks must be accessible to users who will fill out the form. --- How to customize this workflow to your needs Change the base questions Update the BaseQuestions form node to add or remove fields depending on your use case. Modify Gemini prompts You can edit the system prompt inside PromptGenerator to change tone, output structure, or AI instructions. Change prompt formatting If you use a different AI agent (like GPT, Claude, or Mistral), adjust the section labels and formatting to suit that agent’s expected input. Send results elsewhere Add integration nodes after PromptGenerator, such as: Google Docs / Notion (to log prompts) Gmail / Slack (to notify your team) Zapier / Make (to push to other automation flows) Skip follow-up questions (optional) If your base form collects all needed info, you can bypass the RelevantQuestions form section by modifying conditional logic. --- Example Output Prompt (Structure) <role> You are an AI assistant that converts videos into LinkedIn posts with a witty tone. </role> <inputs> - A short video (max 5 minutes) - Desired tone: witty - Style: both summary and quotes - Audience: general network </inputs> <tools> You do not have access to APIs or web search. </tools> <instructions> 1. Parse transcript. 2. Extract insights and quotes. 3. Write an engaging, witty LinkedIn post under 3000 characters. </instructions> <constraints> Avoid technical jargon. No generic intros. Make it platform-native. </constraints> <conclusions> Return a LinkedIn-ready post that starts with a hook and ends with hashtags.

Anurag SrivastavaBy Anurag Srivastava
47916

Voice agent for dental appointment booking with Gemini AI

This workflow contains community nodes that are only compatible with the self-hosted version of n8n. AI dental appointment booking with Google Calendar and Sheets Who's it for This workflow is perfect for dental practices, medical offices, and healthcare providers who want to automate their appointment scheduling process. It's ideal for practices that receive high volumes of appointment requests and want to reduce manual booking while maintaining accurate patient records. What it does This AI-powered voice agent handles complete appointment booking workflows for "Pearly Whites Dental." When patients call or submit requests, the system: Analyzes the request using Google Gemini AI to understand patient needs Checks calendar availability in real-time via Google Calendar integration Automatically finds and offers up to 2 available appointment slots when the preferred time isn't available Books confirmed appointments directly to the practice calendar Logs all patient information (name, insurance, concerns) to Google Sheets for record-keeping Maintains conversation context across interactions for natural dialogue flow The workflow operates in Central Time Zone and assumes standard business hours (8 AM - 5 PM, excluding lunch). How it works The system receives webhook requests containing patient interaction data. The AI agent processes this information and determines which tools to use based on the request type. For availability checks, it intelligently searches multiple time slots in 30-minute increments until finding suitable options. All appointments are automatically formatted as "Dental Appointment | [Patient Name]" and logged with complete patient details. Requirements Google Calendar API access with OAuth2 credentials Google Sheets API access for patient data logging Google Gemini API key for AI processing Webhook endpoint for receiving requests Pre-configured Google Calendar and Sheets document How to set up Configure Google Calendar credentials in the calendar tool nodes Set up Google Sheets integration with your patient tracking spreadsheet Add your Google Gemini API key to the language model node Update the calendar ID in both calendar nodes to match your practice calendar Modify the Google Sheets document ID to point to your patient records sheet Test the webhook endpoint to ensure proper request processing How to customize the workflow Adjust business hours by modifying the availability checking logic in the system prompt Change appointment duration by updating the end time calculation (currently set to 1 hour) Modify patient data fields by updating the Google Sheets column mapping Update practice name by changing "Pearly Whites Dental" references in the system prompt Customize response format by adjusting the AI agent's instructions for different appointment types

Lucas WalterBy Lucas Walter
16522

PDF invoice data extraction & tracking with Google Drive, Claude AI & Telegram

📥 Invoice Intake & Notification Workflow This automated n8n workflow monitors a Google Drive folder for newly uploaded invoice PDFs, extracts essential information (like client name, invoice number, amount, due date), logs the data into a Google Sheet for recordkeeping, and sends a formatted Telegram message to notify the billing team. For step-by-step video build of workflows like this: https://www.youtube.com/@automatewithmarc ✅ What This Workflow Does 🕵️ Watches a Google Drive folder for new invoice files 📄 Extracts data from PDF invoices using AI (LangChain Information Extractor) 📊 Appends extracted data into a structured Google Sheet 💬 Notifies the billing team via Telegram with invoice details 🤖 Optionally uses Claude Sonnet AI model to format human-friendly summaries ⚙️ How It Works – Step-by-Step Trigger: Workflow starts when a new PDF invoice is added to a specific Google Drive folder. Download & Parse: The file is downloaded and its content extracted. Data Extraction: AI-powered extractor pulls invoice details (invoice number, client, date, amount, etc.). Log to Google Sheets: All extracted data is appended to a predefined Google Sheet. AI Notification Formatting: An Anthropic Claude model formats a clear invoice notification message. Telegram Alert: The formatted summary is sent to a Telegram channel or group to alert the billing team. 🧠 AI & Tools Used Google Drive Trigger & File Download PDF Text Extraction Node LangChain Information Extractor Google Sheets Node (Append Data) Anthropic Claude (Telegram Message Formatter) Telegram Node (Send Notification) 🛠️ Setup Instructions Google Drive: Set up OAuth2 credentials and specify the folder ID to watch. Google Sheets: Link the workflow to your invoice tracking sheet. Telegram: Set up your Telegram bot and obtain the chat ID. Anthropic & OpenAI: Add your Claude/OpenAI credentials if formatting is enabled. 💡 Use Cases Automated bookkeeping and invoice tracking Real-time billing alerts for accounting teams AI-powered invoice ingestion and summary

Automate With MarcBy Automate With Marc
14583

Track changes of product prices

This workflow automatically tracks changes on specific websites, typically in e-commerce where you want to get information about price changes. Prerequisites Basic knowledge of HTML and JavaScript Nodes Execute Command nodes create a file named kopacky.json in the /data/ folder (Make sure that n8n has the permissions to make changes to the folder in your setup) and clean data. Cron node triggers the workflow at regular intervals (default is 15 minutes), depending on how often you want to crawl URLs of your watchers. Function Item node (Change me) adds the URL watchers. You can put as many URLs (watchers) as you want by changing the JavaScript code in the node. There are four properties for each watcher: |Property|Meaning| |-|-| |slug|Unique identifier for the watcher.| |link|URL of the website where you want to track changes.| |selector|CSS selector of the HTML tag, where your price is placed. You can use browser web tools to get a specific selector.| |currency|Currency code in which your price is set.| Function Item node (Init item) saves all required data from each watcher to the kopacky.json file. HTTP Request node fetches data from the website. HTML Extract node extracts the required information from the webpage. Send Email nodes (NotifyBetterPrice) send you an email when there is an issue with getting the price, and when a better price is available (this could happen if the website is down, your tracking product is not available anymore, or the owner of the website changed the selector or HTML). IF nodes filter the incoming data and route the workflow. Move Binary Data nodes convert the JSON file to binary data. Write Binary File nodes write the product prices in the file. NOTE: This is the first (beta) version of this workflow, so it could have some issues. For example, there is an issue with getting content of those websites, where the owner of the website blocks any calls from unknown foreign services - it's typical protection against crawlers.

sthosstudioBy sthosstudio
14515

Get all Excel workbooks

Companion workflow for Excel node docs

amudhanBy amudhan
14015

Get information of an image

Companion workflow for Edit Image node docs

amudhanBy amudhan
7151

WhatsApp RAG chatbot with Supabase, Gemini 2.5 Flash, and OpenAI embeddings

WhatsApp RAG Chatbot with Supabase, Gemini 2.5 Flash, and OpenAI Embeddings This n8n template demonstrates how to build a WhatsApp-based AI chatbot that answers user questions using document retrieval (RAG) powered by Supabase for storage, OpenAI embeddings for semantic search, and Gemini 2.5 Flash LLM for generating high-quality responses. Use cases are many: Turn your WhatsApp into a knowledge assistant for FAQs, customer support, or internal company documents — all without coding. --- Good to know The workflow uses OpenAI embeddings for both document embeddings and query embeddings, ensuring accurate semantic search. Gemini 2.5 Flash LLM is used to generate user-friendly answers from the retrieved context. Messages are processed in real-time and sent back directly to WhatsApp. Workflow is modular — you can split document ingestion and query handling for large-scale setups. Supabase and WhatsApp API credentials must be configured before running. --- How it works Trigger: A new WhatsApp message triggers the workflow via webhook. Message Check: Determines if the message is a query or a document upload. Document Handling: Fetch file URL from WhatsApp. Convert binary to text. Generate embeddings with OpenAI and store them in Supabase. Query Handling: Generate query embeddings with OpenAI. Retrieve relevant context from Supabase. Pass context to Gemini 2.5 Flash LLM to compose a response. Response: Send the answer back to the user on WhatsApp. Optional: Add Gmail node to forward chat logs or daily summaries. --- How to use Configure WhatsApp Business API webhook for incoming messages. Add your Supabase and OpenAI credentials in n8n’s credentials manager. Upload documents via WhatsApp to populate the Supabase vector store. Ask queries — the bot retrieves context and answers using Gemini 2.5 Flash. --- Requirements WhatsApp Business API (or Twilio WhatsApp Sandbox) Supabase account (vector storage for embeddings) OpenAI API key (for generating embeddings) Gemini API access (for LLM responses) --- Customising this workflow Swap WhatsApp with Telegram, Slack, or email for different chat channels. Extend ingestion to other sources like Google Drive or Notion. Adjust the number of retrieved documents or prompt style in Gemini for tone control. Add a Gmail output node to send logs or alerts automatically.

Manav DesaiBy Manav Desai
6486

Research AI agent team with auto citations using OpenRouter and Perplexity

Purpose of workflow: This AI-powered workflow is designed to automatically generate comprehensive, well-researched articles on any given topic. It utilizes a team of AI agents to streamline the research and writing process, producing high-quality content with proper citations and credible sources. How it works Multi-agent team: Research Leader: Plans and conducts initial research, creating a table of contents. Project Planner: Breaks down the table of contents into manageable sections. Research Assistants: Multiple agents that conduct in-depth research on assigned sections. Editor: Compiles and refines the final article, ensuring coherence and proper citations. Key features: Utilizes Perplexity AI for internet search and citation capabilities Produces well-structured articles with proper citations Customizable parameters (topic, tone, word count, number of sections) Step by step setup: Get account from OpenRouter.ai to access Perplexity API Set API key in the Perplexity API node Credential key name : Authorization and key value Bearer <api-key value>

Derek CheungBy Derek Cheung
4701

Webpage change detection & alerts with Google Suite and hash tracking

This n8n template can monitor and detect changes to a webpage's contents and notify you only when a change occurs. Great to keep an eye on and track publicly available documents such as company TOS, government policy or competitor pages. How it works A scheduled trigger is used so we can run everyday to automate this process. A website page is then fetched with the HTTP request node and the contents we want to track are extracted using the HTML node. To detect changes, we generate a hash on the contents with the cryptography node and compare it with previously seen hashes using the "remove duplicates" node. If the hash was seen before, the workflow stops here. Finally, when new changes are detected a copy of the contents are uploaded to Google Drive and a logged into a Google sheet. A notification email can also be sent if action is required. How to use Update the URL you want to track in the node named "variables" and ensure the HTML node has updated selectors to get the content you want. Ensure the timezone is set correctly when using the Scheduled Trigger node. Requirements Google Sheets, Drive and Gmail for storing and notifying about changes. Webpages should ideally be publicly accessible. If not, you may need to switch the HTTP request node with a webscraping service. Customising this workflow Not using Google? Easier swap to other Service providers such as Miscrosoft365. Need more URLs? Try modifing the variables node to accept multiple URLs though the HTML node will need to be customised.

JimleukBy Jimleuk
4366

🉑 Generate Anki flash cards for language learning with Google Translate and GPT

Context Hey! I'm Samir, a Supply Chain Data Scientist from Paris who spent six years in China studying and working while struggling to learn Mandarin. I know the challenges of mastering a complex language like Chinese and my greatest support was flash cards. Therefore, I designed this workflow to support fellow Mandarin learners by automating flashcard creation using n8n, so they can focus more on learning and less on manual data entry. 📬 For business inquiries, you can add me on Here Who is this template for? This workflow template is designed for language learners and educators who want to automate the creation of flashcards for Mandarin (or any other language) using Google Translate API, an AI agent for phonetic transcription and generating an illustrative sentence and a free image retrieval API. Why? If you use the open-source application Anki, this workflow will help you automatically generate personalized study materials. How? Let us imagine you want to learn how to say the word Contract in Mandarin. The workflow will automatically Translate the word in Simplified Mandarin (Mandarin: 合同). Provide the phonetic transcription (Pinyin: Hétóng) Generate an example sentence (Example: 我们签订了一份合同.) Download an illustrative picture (For example, a picture of a contract signature) All these fields are automatically recorded in a Google Sheet, making it easy to import into Anki and generate flashcards instantly What do I need to start? This workflow can be used with the free tier plans of the services used. It does not require any advanced programming skills. Prerequisite A Google Drive Account with a folder including a Google Sheet API Credentials: Google Drive API, Google Sheets API and Google Translate API activated with OAuth2 credentials A free API key of pexels.com A google sheet with the columns Next Follow the sticky notes to set up the parameters inside each node and get ready to pump your learning skills. I have detailed the steps in a short tutorial 👇 [](https://youtu.be/2mRZJATUTDw) 🎥 Check My Tutorial Notes This workflow can be used for any language. In the AI Agent prompt, you just need to replace the word pinyin with phonetic transcription. You can adapt the trigger to operate the workflow in the way you want. These operations can be performed by batch or triggered by Telegram, email, or webhook. If you want to learn more about how I used Anki flash cards to learn mandarin: 🈷️ Blog Article about Anki Flash Cards This workflow has been created with N8N 1.82.1 Submitted: March 17th, 2025

Samir SaciBy Samir Saci
4313

Store data received from webhook in JSON

Store the data received from the CocktailDB API in JSON

Harshil AgrawalBy Harshil Agrawal
4279