Automate Your Job Search With LinkedIn & n8n

Jono CatliffAbout 6 min readApr 24, 2025Watch original
THE SUMMARYAI-generated

Key Concepts

  • Automation of Job Application Process: Using tools to automatically search for jobs, create cover letters, and rate job compatibility.
  • NAN (n8n): A workflow automation platform used to connect different applications and automate tasks.
  • RSS Feed: A web feed that allows users to subscribe to updates from a website, in this case, job postings on LinkedIn.
  • AI (ChatGBT/OpenAI): Artificial intelligence used to rate job compatibility based on resume and job description, and to generate customized cover letters.
  • Google Sheets: A spreadsheet program used to store and organize job search data.
  • JSON (JavaScript Object Notation): A lightweight data-interchange format used to structure data for AI processing.
  • HTTP Request: A method to retrieve the HTML content of a webpage.

Workflow Automation with NAN

Triggering the Workflow

  • The workflow is initiated using a Schedule Trigger in NAN, set to run once every day. This frequency is deemed suitable for daily job application routines.

Extracting Job Postings from LinkedIn

  • RSS App: Used to create a custom RSS feed from a LinkedIn job search based on specific keywords (e.g., SEO) and location (e.g., Canada).
    • The URL from the LinkedIn job search is copied and pasted into RSS.app to generate the RSS feed.
    • The generated RSS feed URL is then copied for use in NAN.
  • RSS Read Node: In NAN, the RSS Read node is used to read the generated RSS feed.
    • The RSS feed URL from RSS.app is pasted into the RSS Read node.
    • The node retrieves a list of job postings (up to 25 by default).
  • Pinning Data: The output of the RSS Read node is pinned to save it as mock data for testing purposes, avoiding repeated data retrieval.

Storing Job Data in Google Sheets

  • Google Sheets Node (Append or Update Row): Used to store job data in a Google Sheet.
    • The node is configured to either append a new row if the job posting doesn't exist or update an existing row if it does.
    • Unique Identifier: The job posting URL is used as a unique identifier to prevent duplicate entries.
    • The node requires authentication with a Google account.
    • Data from the RSS Read node (title, link, publish date) is mapped to the corresponding columns in the Google Sheet.

Enhancing Job Data with HTTP Request

  • Limiter Node: Temporarily used to limit the workflow to one job posting for testing purposes.
  • HTTP Request Node: Used to retrieve the full HTML content of the job posting page using the URL from the RSS feed.
    • This is necessary to extract additional information not available in the RSS feed, such as company name, location, job description, and benefits.
  • The output of the HTTP Request node (the HTML content) is pinned for later use.

AI-Powered Data Extraction and Analysis

  • OpenAI (ChatGBT) Node (Message a Model): Used to extract structured data from the HTML content using AI.
    • Requires a paid OpenAI account and API key.
    • Model Selection: The "4o mini" model is recommended for cost-effectiveness.
    • Message Structure: Three messages are used:
      • System Message (Parameters): Defines the role of the AI (intelligent bot capable of pulling data from a job listing site).
      • User Message (Input): Provides the HTML content of the job posting.
      • Assistant Message (Output): Specifies the desired output format (JSON) and the data to extract (company name, benefits, job description, location, full-time/part-time status).
    • JSON Formatting: The desired JSON structure is defined, including keys for company name, benefits, job description, and location.
    • The AI extracts the specified data from the HTML content and returns it in JSON format.

AI-Powered Job Rating

  • OpenAI (ChatGBT) Node (Message a Model): Used to rate the job listing based on compatibility with a candidate's resume.
    • System Message: Defines the AI as an intelligent bot rating job listing compatibility on a five-point scale.
    • User Message: Provides the job description (from the previous OpenAI node) and a sample resume.
    • Assistant Message: Requests a score from 1 to 5.
    • The AI analyzes the job description and resume and assigns a compatibility score.

AI-Powered Cover Letter Generation

  • OpenAI (ChatGBT) Node (Message a Model): Used to generate a customized cover letter for the job.
    • System Message: Defines the AI as an intelligent bot creating cover letters.
    • User Message: Provides the job description, company name, location (from the first OpenAI node), and the sample resume.
    • Assistant Message: Requests a cover letter in JSON format with the key "cover letter."
    • The AI generates a customized cover letter based on the provided information.

Final Data Storage in Google Sheets

  • Google Sheets Node (Append or Update Row): The Google Sheets node is reconfigured to include the data from the AI nodes (company name, benefits, job description, location, rating, cover letter).
    • The data from the OpenAI nodes is mapped to the corresponding columns in the Google Sheet.
    • The workflow is tested to ensure that all data is correctly stored in the Google Sheet.

Handling Multiple RSS Feeds

  • Edit Fields Node: Used to create an array (list) of RSS feed URLs.
  • Split Out Node: Used to iterate through the array of RSS feed URLs, processing each one individually.
  • By combining these nodes, the workflow can process job postings from multiple LinkedIn searches.

Notable Quotes

  • "This is going to be 100% automated."
  • "The blueprints are totally for free, all you have to do is download them in the description down below."
  • "You're an intelligent bot capable of pulling out data from a job listing site."
  • "Please output the data in JSON format."

Technical Terms and Concepts

  • NAN (n8n): A no-code workflow automation platform.
  • RSS Feed: A standardized web feed format for delivering regularly changing content.
  • API Key: A code used to authenticate and authorize access to an API (Application Programming Interface).
  • JSON (JavaScript Object Notation): A lightweight data-interchange format.
  • HTTP Request: A method of requesting resources from a web server.
  • HTML (HyperText Markup Language): The standard markup language for creating web pages.
  • CSS (Cascading Style Sheets): A style sheet language used for describing the presentation of a document written in HTML.
  • Array: A data structure consisting of a collection of elements, each identified by at least one array index or key.

Logical Connections

  • The workflow starts with a schedule trigger, which then initiates the process of extracting job postings from LinkedIn using RSS feeds.
  • The extracted job postings are then enriched with additional data using HTTP requests and AI-powered data extraction.
  • The enriched job data is then used to rate the job compatibility and generate a customized cover letter using AI.
  • Finally, all the data is stored in a Google Sheet for easy access and organization.

Synthesis/Conclusion

The video demonstrates a comprehensive workflow for automating the job application process using NAN, RSS feeds, AI, and Google Sheets. By automating the tasks of job searching, data extraction, job rating, and cover letter generation, the workflow aims to save job seekers significant time and effort. The workflow is designed to be beginner-friendly, with detailed instructions and readily available blueprints. The use of AI allows for personalized job recommendations and cover letters, increasing the chances of a successful job application. The ability to handle multiple RSS feeds further enhances the workflow's efficiency and scalability.

AI summaries can miss context or contain errors. Check important details against the original video.

MAKE IT YOURS

Read. Remember. Reuse.

Free tools

Go a little deeper.

Have a question about this video? Load its transcript to open the video chat.