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-inbound and configure your ATS/form to POST candidateId, name, resumeText, linkedinUrl, githubUsername, and optional portfolioUrl.