Back to Catalog

Compare LinkedIn profiles against job descriptions with Groq AI & GhostGenius

Stephan KoningStephan Koning
170 views
2/3/2026
Official Page

Recruiter Mirror is a proof‑of‑concept ATS analysis tool for SDRs/BDRs. Compare your LinkedIn or CV to job descriptions and get recruiter‑ready insights.

By comparing candidate profiles against job descriptions, it highlights strengths, flags missing keywords, and generates actionable optimization tips. Designed as a practical proof of concept for breaking into tech sales, it shows how automation and AI prompts can turn LinkedIn into a recruiter‑ready magnet.

Got it ✅ — based on your workflow (Webhook → LinkedIn CV/JD fetch → GhostGenius API → n8n parsing/transform → Groq LLM → Output to Webhook), here’s a clear list of tools & APIs required to set up your Recruiter Mirror (Proof of Concept) project:


🔧 Tools & APIs Required

1. n8n (Automation Platform)

  • Either n8n Cloud or self‑hosted n8n instance.
  • Used to orchestrate the workflow, manage nodes, and handle credentials securely.

2. Webhook Node (Form Intake)

  • Captures LinkedIn profile (LinkedIn_CV) and job posting (LinkedIn_JD) links submitted by the user.
  • Acts as the starting point for the workflow.

3. GhostGenius API

  • Endpoints Used:
    • /v2/profile → Scrapes and returns structured CV/LinkedIn data.
    • /v2/job → Scrapes and returns structured job description data.
  • Auth: Requires valid credentials (e.g., API key / header auth).

4. Groq LLM API (via n8n node)

  • Model Used: moonshotai/kimi-k2-instruct (via Groq Chat Model node).
  • Purpose: Runs the ATS Recruiter Check, comparing CV JSON vs JD JSON, then outputs a structured JSON per the ATS schema.
  • Auth: Groq account + saved API credentials in n8n.

5. Code Node (JavaScript Transformation)

  • Parses Groq’s JSON output safely (JSON.parse).
  • Generates clean, recruiter‑ready HTML summaries with structured sections:
    • Status
    • Reasoning
    • Recommendation
    • Matched keywords / Missing keywords
    • Optimization tips

6. n8n Native Nodes

  • Set & Aggregate Nodes → Rebuild structured CV & JD objects.
  • Merge Node → Combine CV data with job description for comparison.
  • If Node → Validates LinkedIn URL before processing (fallback to error messaging).
  • Respond to Webhook Node → Sends back the final recruiter‑ready insights in JSON (or HTML).

⚠️ Important Notes

  • Credentials: Store API keys & auth headers securely inside n8n Credentials Manager (never hardcode inside nodes).
  • Proof of Concept: This workflow demonstrates feasibility but is not production‑ready (scraping stability, LinkedIn terms of use, and API limits should be considered before real deployments).

n8n Workflow: Compare LinkedIn Profiles Against Job Descriptions with Groq AI

This n8n workflow leverages the power of AI to compare a LinkedIn profile against a given job description, providing a detailed analysis of how well the candidate's profile aligns with the job requirements. It's designed to streamline the initial screening process for recruiters, hiring managers, or even job seekers looking to optimize their profiles.

What it does

This workflow automates the following steps:

  1. Receives Input: It starts by listening for a webhook trigger, expecting a JSON payload containing a LinkedIn profile URL and a job description.
  2. Prepares Data: It extracts and structures the received data, ensuring it's in a suitable format for the AI agent.
  3. Analyzes with AI: It utilizes a Groq AI Chat Model within an AI Agent to perform a comprehensive comparison between the LinkedIn profile and the job description. The AI is prompted to identify matches, gaps, and provide a summary.
  4. Generates Response: The AI agent's output, which includes the comparison results, is then prepared as a JSON response.
  5. Responds to Webhook: Finally, it sends the AI-generated comparison back as a response to the initial webhook call.

Prerequisites/Requirements

To use this workflow, you will need:

  • n8n Instance: A running instance of n8n (cloud or self-hosted).
  • Groq API Key: An API key for the Groq AI service, configured as a credential in your n8n instance.
  • LinkedIn Profile URL: The URL of the LinkedIn profile you wish to analyze.
  • Job Description: The text content of the job description to compare against.

Setup/Usage

  1. Import the Workflow:

    • Download the provided JSON file for this workflow.
    • In your n8n instance, go to "Workflows" and click "New".
    • Click the "Import from JSON" button and paste the workflow JSON or upload the file.
  2. Configure Credentials:

    • Locate the "Groq Chat Model" node.
    • Ensure your Groq API Key is configured as a credential. If not, create a new credential of type "Groq API" and enter your API key.
  3. Activate the Webhook:

    • The "Webhook" node is the trigger for this workflow.
    • After importing, save and activate the workflow.
    • Copy the "Webhook URL" from the "Webhook" node. This URL will be used to send requests to the workflow.
  4. Send Requests:

    • Send a POST request to the copied Webhook URL with a JSON body containing linkedinProfileUrl and jobDescription.

    Example Request Body:

    {
      "linkedinProfileUrl": "https://www.linkedin.com/in/johndoe/",
      "jobDescription": "We are looking for a Senior Software Engineer with expertise in Python, AWS, and experience leading small teams. Strong communication skills are a must."
    }
    

    The workflow will respond with the AI-generated comparison.

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.

higashiyama By higashiyama
90

Automated YouTube video uploads with 12h interval scheduling in JST

This workflow automates a batch upload of multiple videos to YouTube, spacing each upload 12 hours apart in Japan Standard Time (UTC+9) and automatically adding them to a playlist. ⚙️ Workflow Logic Manual Trigger — Starts the workflow manually. List Video Files — Uses a shell command to find all .mp4 files under the specified directory (/opt/downloads/单词卡/A1-A2). Sort and Generate Items — Sorts videos by day number (dayXX) extracted from filenames and assigns a sequential order value. Calculate Publish Schedule (+12h Interval) — Computes the next rounded JST hour plus a configurable buffer (default 30 min). Staggers each video’s scheduled time by order × 12 hours. Converts JST back to UTC for YouTube’s publishAt field. Split in Batches (1 per video) — Iterates over each video item. Read Video File — Loads the corresponding video from disk. Upload to YouTube (Scheduled) — Uploads the video privately with the computed publishAtUtc. Add to Playlist — Adds the newly uploaded video to the target playlist. 🕒 Highlights Timezone-safe: Pure UTC ↔ JST conversion avoids double-offset errors. Sequential scheduling: Ensures each upload is 12 hours apart to prevent clustering. Customizable: Change SPANHOURS, BUFFERMIN, or directory paths easily. Retry-ready: Each upload and playlist step has retry logic to handle transient errors. 💡 Typical Use Cases Multi-part educational video series (e.g., A1–A2 English learning). Regular content release cadence without manual scheduling. Automated YouTube publishing pipelines for pre-produced content. --- Author: Zane Category: Automation / YouTube / Scheduler Timezone: JST (UTC+09:00)

ZaneBy Zane
226

Detect holiday conflicts & suggest meeting reschedules with Google Calendar and Slack

Who’s it for Remote and distributed teams that schedule across time zones and want to avoid meetings landing on public holidays—PMs, CS/AM teams, and ops leads who own cross-regional calendars. What it does / How it works The workflow checks next week’s Google Calendar events, compares event dates against public holidays for selected country codes, and produces a single Slack digest with any conflicts plus suggested alternative dates. Core steps: Workflow Configuration (Set) → Fetch Public Holidays (via a public holiday API such as Calendarific/Nager.Date) → Get Next Week Calendar Events (Google Calendar) → Detect Holiday Conflicts (compare dates) → Generate Reschedule Suggestions (find nearest business day that isn’t a holiday/weekend) → Format Slack Digest → Post Slack Digest. How to set up Open Workflow Configuration (Set) and edit: countryCodes, calendarId, slackChannel, nextWeekStart, nextWeekEnd. Connect your own Google Calendar and Slack credentials in n8n (no hardcoded keys). (Optional) Adjust the Trigger to run daily or only on Mondays. Requirements n8n (Cloud or self-hosted) Google Calendar read access to the target calendar Slack app with permission to post to the chosen channel A public-holiday API (no secrets needed for Nager.Date; Calendarific requires an API key) How to customize the workflow Time window: Change nextWeekStart/End to scan a different period. Holiday sources: Add or swap APIs; merge multiple regions. Suggestion logic: Tweak the look-ahead window or rules (e.g., skip Fridays). Output: Post per-calendar messages, DM owners, or create tentative reschedule events automatically.

Takuya OjimaBy Takuya Ojima
70