π₯ Score resume authenticity with GitHub, LinkedIn, OpenAI and Google Sheets
β‘ 63 views Β· π₯ HR & Recruitment
π‘ Pro Tip β If youβre pulling LinkedIn data through HTTP requests or dealing with API restrictions, thereβs a community node called ScraperNode that handles this natively. It has dedicated scrapers for profiles, companies, jobs, and people search β you just pass a URL and get structured data back.
Description
Quick Overview
This workflow accepts resume submissions via webhook or a weekday schedule, extracts verifiable claims from the resume text, cross-checks them against GitHub and LinkedIn data, uses OpenAI to generate a verification report, calculates an authenticity score, logs results to Google Sheets, and emails a summary via SendGrid.
How it works
- Triggers from an inbound webhook request or on a weekday cron schedule for batch verification.
- Normalizes incoming candidate data (ID, name, resume text, LinkedIn URL, GitHub username) and loads scoring weights and thresholds.
- Parses the resume text with Python to extract employment, education, skills, and certification claims and stops if no claims are found.
- Fetches public GitHub profile and repository data from the GitHub API and retrieves a public LinkedIn profile via a RapidAPI endpoint, with a short wait to reduce rate-limit risk.
- Aggregates GitHub and LinkedIn evidence and sends the extracted claims plus evidence to OpenAI to produce a structured JSON verification report.
- Computes category scores and an overall authenticity score and verdict, then appends the results to Google Sheets, emails a summary via SendGrid, and returns the full report in the webhook response.
Setup
- Provide an OpenAI API credential for the LangChain agent node (or replace the model with your preferred provider).
- Replace the placeholder tokens/keys for the GitHub API and the RapidAPI LinkedIn endpoint (X-RapidAPI-Key and host) in the HTTP requests.
- Configure Google Sheets access by setting your spreadsheet ID and providing a valid Google OAuth access token (or switch to the Google Sheets node with OAuth credentials).
- Add your SendGrid API key and update the sender/recipient email addresses used for the verification summary.
- If using the webhook trigger, copy the production webhook URL for
resume-verify-inboundand configure your ATS/form to POST candidateId, name, resumeText, linkedinUrl, githubUsername, and optional portfolioUrl.
π Nodes Used
HTTP Request, Webhook, Schedule Trigger, Filter, AI Agent, OpenAI Chat Model
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File