Code Workflows
445 Ergebnisse — ausschließlich quellenverknüpfte n8n-Referenzen
Score job listings and generate tailored cover letters with Apify, OpenAI and Google Sheets
Quick overview This workflow runs on a schedule to scrape job listings via Apify (Google Jobs and Career Site API), scores each role against your base resume using OpenAI, generates tailored cover letter and optionally a tailored resume in Google Docs, and logs the results to Google Sheets with Gmail error alerts. How it works Runs on a schedule (with an optional manual test trigger) and loads your search query and Google IDs from the configured variables. Uses Apify actors to scrape jobs from Google Jobs and the Career Site API, then normalizes and merges both result sets into a single list. Processes jobs in batches and skips listings that already exist in Google Sheets (matched by Apply URL), have no apply link, have short descriptions, or don’t meet the seniority criteria. Fetches your base resume from Google Docs and sends the resume plus job details to OpenAI to score relevance from 1–10 with a one-sentence rationale. For jobs scoring 7+, uses OpenAI to generate a personalized cover letter from the job description and your resume. For jobs scoring 8+, uses OpenAI to tailor your resume, saves it as a new Google Doc in your Drive folder, and makes the document publicly readable
Send GitHub release audio newsletters with OpenAI, Google Drive, Gmail and Sheets
Quick overview This workflow triggers on a published GitHub Release, uses OpenAI to turn the release notes into a short spoken script and MP3, stores the audio on Google Drive, pulls subscribers from Google Sheets, and sends an HTML “listen” newsletter to them via Gmail. How it works Triggers when a GitHub Release is published for the configured repository. Parses and cleans the release changelog, extracting key items into features, fixes, improvements, and other notes. Uses an OpenAI chat model to rewrite the release details into a 60–90 second spoken script. Calls the OpenAI text-to-speech API to generate an MP3 audio file from the script. Uploads the MP3 to Google Drive and sets the file permissions to “anyone with the link can view.” Loads subscriber email addresses from Google Sheets, builds an HTML newsletter with the public audio link and release highlights, and sends it via Gmail using BCC. Setup Connect a GitHub credential with access to the target repo and replace YOUR_GITHUB_USERNAME and YOUR_REPO_NAME in the GitHub trigger. Add an OpenAI API credential for both the chat model step and the OpenAI TTS HTTP request. Connect Google Drive OAuth2 and replace YOUR_AUDIO_FOLDER
Discover and score engineering candidates with Groq, GitHub, LinkedIn, Stack Overflow, HN and Supabase
Quick Overview This workflow exposes a POST webhook that turns a job description into a structured hiring brief using Groq, searches candidates across GitHub, LinkedIn (via Apify), Stack Overflow, and Hacker News, scores and summarizes the shortlist, optionally saves results to Supabase, and returns a JSON response. How it works Receives a candidate search request via a POST webhook and normalizes the payload into a consistent schema. Validates that the request includes a job description or structured criteria, and returns a 400 JSON error if it is invalid. Uses Groq (via LangChain) to extract structured job requirements, then builds a search brief with queries and limits for each source. Searches GitHub, LinkedIn via Apify, Stack Overflow, and Hacker News in parallel and normalizes each source’s results into a common candidate format. Merges all candidates, sanitizes and deduplicates the pool, and returns an empty 200 response if no candidates remain. Scores candidates with a deterministic evidence formula, filters by the configured score threshold, and builds a recruiter-facing JSON report. Uses Groq (via LangChain) to generate an AI shortlist summary, attaches it to the report,
Generate dividend income reports via Telegram with Google Gemini
Quick overview This workflow listens for Telegram messages, validates the sender, parses an investment amount and risk strategy, builds a predefined dividend ETF/stock allocation, calculates estimated yield and income, and uses Google Gemini to format a concise portfolio report that it sends back in Telegram. How it works Triggers when a new Telegram message is received. Checks the Telegram chat ID against an allowlist to ensure only an approved user can run the workflow. Parses the message text into investment capital and a strategy (conservative, moderate, or aggressive) and sends a Telegram “typing” action while processing. Builds a strategy-based portfolio from predefined tickers and allocations, enriches each holding with preset dividend yield and risk values, and calculates invested amount plus monthly and annual income per holding. Aggregates the holdings into a single portfolio summary with total income and overall portfolio yield. Uses Google Gemini via an AI Agent prompt to generate a Telegram-ready report based strictly on the calculated portfolio data. Sends the formatted DividendIQ report back to the configured Telegram chat. Setup Create a Telegram bot with @BotFather
Track expenses from phone notifications with Google Gemini and Google Sheets
Quick overview This workflow receives phone push notification through FlowTrigger mobile app, extracts the transaction amount and date, uses Google Gemini to categorize the expense and adds it to a Google Sheets transactions log. How it works Receives a POST webhook request containing a captured notification payload from FlowTrigger mobile app. Parses the notification data and skips the flow if no amount is detected in the notification payload. Sends the notification title and body to Google Gemini and parses a structured response with cleaned merchant name, expense category, reasoning, and ISO currency code. Appends the date, amount, category, currency, and merchant to a selected Google Sheets tab. Returns a success response with the saved fields, or an error response if the AI categorization or Google Sheets write fails. Setup Create and connect a Google Gemini API key credential for the Google Gemini Chat Model. Create and connect a Google Sheets OAuth2 credential, then set the Google Sheets Document ID and Sheet Tab Name in the Google Sheets append step. Activate the workflow, copy the Webhook production URL from the Webhook trigger, and paste it into FlowTrigger’s Notification
Qualify Product Hunt leads with Google Gemini, Apify, and Google Sheets
Quick overview Youtube Video: https://youtu.be/h47YeiivZvs?si=V-S1X-ME5V24Tuch This workflow runs daily to pull the latest Product Hunt posts, qualifies them with Google Gemini, scrapes ICP-matching product websites with Apify to find emails, then writes the lead data to Google Sheets and creates contacts in GoHighLevel. How it works Runs every day on a schedule trigger. Queries the Product Hunt GraphQL API for the latest posts and iterates through each result. Resolves each product’s website redirect target, extracts a clean domain, and filters out blocked domains like app stores, social networks, and link aggregators. Sends the product name, tagline, and description to a Google Gemini–powered agent to score ICP fit and keeps only matches. Uses Apify to crawl each matched website and extract email addresses from the site content. Groups scraped results by domain, keeps only products with at least one email, and appends or updates a matching row in Google Sheets. Creates a GoHighLevel contact using the first email and stores any additional emails in a custom field. Setup Add Product Hunt OAuth2 credentials and ensure the GraphQL query in the Product Hunt request returns the fields
Extract meeting insights from transcripts with OpenAI, Google Sheets and ClickUp
Quick Overview This workflow collects a meeting transcript via an n8n Form, uses OpenAI (ChatGPT) to extract structured meeting intelligence, logs the results to Google Sheets, creates one ClickUp task per action item, and emails an HTML meeting brief via Gmail. How it works Receives a form submission containing the meeting title, date, participants, duration, and full transcript. Validates the input (including a minimum transcript length), calculates counts, and generates a unique meeting ID. Sends the meeting context and transcript to an OpenAI ChatGPT model to extract a strict JSON payload with summary, topics, decisions, action items, risks, follow-up date, and sentiment. Parses and normalizes the AI JSON output, then formats readable strings and metrics for reporting. Appends the full meeting record to a Google Sheets “Meetings” tab. Splits the extracted action items and creates a ClickUp task for each valid item, including owner, priority, and due date when provided. Sends a formatted HTML meeting brief to the configured team email address using Gmail. Setup Add an OpenAI credential in the OpenAI Chat Model node and select the model to use. Connect Google Sheets OAuth2, repla
Track Slack EOD updates and post executive summaries with Google Sheets and Gemini
Quick overview Youtube Video: https://youtu.be/AbkX2splTTg?si=LTHqLFIWQD4hAYsO This workflow collects end-of-day updates from team members in Slack, stores them in Google Sheets, and posts a concise executive summary back to Slack using Google Gemini. How it works Runs daily at 3pm, reads the team roster from Google Sheets, filters out people marked as on leave, and sends each active member an EOD update form in Slack. Receives Slack button/form submissions via a webhook, parses the interactive payload, and replaces the original message with a confirmation. Checks whether the submitted EOD date matches today’s date, and sends a private Slack alert to the owner if someone submits late. For on-time submissions, reads today’s entries from the EOD submissions Google Sheet, deduplicates by user and date, and appends the new submission to Google Sheets. Runs daily at 5pm, reads today’s submissions and yesterday’s “tomorrow plan” entries from Google Sheets and merges them per user. Aggregates the merged data, calculates attendance and expected submission counts from the team roster, and sends the dataset to Google Gemini to generate an executive summary. Posts the generated Slack-formatte
Generate and send personalized client proposals with OpenAI, SendGrid, Slack, and Google Sheets
Quick overview This workflow accepts proposal requests via webhook or an hourly schedule, normalizes and validates the client data, uses OpenAI to generate a tailored proposal with pricing, then sends it via SendGrid, logs the request to Google Sheets, notifies a Slack channel, and returns a webhook response. How it works Receives a proposal request from a webhook POST (or runs hourly on a schedule) and maps incoming fields into a consistent client schema. Validates required fields, converts the budget to a number, and assigns a budget tier for pricing. If required data is missing, sends a SendGrid email to the requester listing the validation errors. Routes valid requests by client type (startup, enterprise, agency, nonprofit, or default) and applies conditional pricing and discounts to build line items and totals. Uses OpenAI (GPT-4o-mini) to generate a seven-section, personalized proposal based on the client details, project scope, template context, and pricing. Formats the generated proposal into a branded HTML email with an investment breakdown table. Sends the proposal via SendGrid, appends a tracking row to Google Sheets, posts a Slack notification, and returns a JSON succes
Book, reschedule and confirm WhatsApp appointments with Claude and Sheets
Quick overview This workflow receives WhatsApp messages via a Meta webhook, uses Anthropic Claude to detect booking intents and extract appointment details, writes updates to Google Sheets, and sends a confirmation or error reply back to the customer on WhatsApp. How it works Receives incoming WhatsApp messages through a Meta webhook endpoint and normalizes key fields like sender phone number, display name, message text, and timestamps. Filters out empty messages and sends the text to Anthropic Claude to classify the intent (book, reschedule, confirm, or unknown) and extract structured appointment details. Validates the request based on intent, including required fields and simple rules like weekday-only appointments and business hours. Appends a new row to the Google Sheets Appointments tab for valid bookings, or updates the appointment status/date/time in Google Sheets for reschedules and confirmations. Builds a personalized WhatsApp reply message describing the result (success, required missing details, or supported actions). Sends the reply back to the customer via the WhatsApp Cloud API and appends the interaction details to the Google Sheets ActivityLog tab. Setup Create a Me
Publish weekly SMB blog posts with Perplexity, Claude, Gemini, Supabase, and Gmail
Quick overview This workflow runs weekly to generate, research, write, illustrate, and publish a new blog post by combining Supabase (content + storage), Perplexity (topic + research), Anthropic Claude (writing), Google Gemini (cover image), and Gmail (notification). How it works Runs every Friday at 10:00 (cron: 0 0 10 * * 5). Fetches titles of already published posts from Supabase and builds a rotating topic focus that avoids repeating prior angles. Uses Perplexity to propose one fresh, SEO-relevant blog topic and then research it with trends, examples, and SMB-focused insights. Sends the topic and research notes to Anthropic Claude to write a complete post with title, excerpt, meta description, category, read time, and HTML body. Parses the generated text into structured fields, generates a slug, and prepares a published blog post record. Uses Google Gemini to generate a 16:9 cover image, uploads it to Supabase Storage, and attaches the public cover image URL to the post. Inserts the finished post into the Supabase blog_posts table with status set to published and emails the team via Gmail with the publication details. Setup Create a Supabase project with a blog_posts table and
Detect competitor launch signals from ads with OpenAI and Google Sheets
Quick Overview This workflow runs weekly to scan competitor ad copy from Meta, Google Ads, and LinkedIn via Adyntel, detects newly emerging terms, uses OpenAI to assess launch signals, and records results in Google Sheets while sending a Slack alert when a launch signal is detected. How it works Runs every week on a schedule (Monday) to start the competitor monitoring cycle. Reads competitors marked as Pending from Google Sheets and processes them one by one. For each competitor domain, pulls current ads from Meta, Google Ads, and LinkedIn using Adyntel and combines the results. Extracts and deduplicates ad titles and body copy, then loads the competitor’s previously known terms from Google Sheets. Extracts candidate new terms from this week’s ad copy, filters for terms that recur across multiple ads, and decides whether there are meaningful new terms to analyze. If meaningful new terms exist, sends the context to OpenAI to classify the terms and determine whether a product launch signal is present, then appends the signal record and the newly classified terms to Google Sheets. If no meaningful new terms exist, appends baseline terms from this week’s ad titles to Google Sheets to p
Analyze skill gaps for target jobs with BrowserAct, LinkedIn and GPT-4o-mini
Quick Overview This workflow collects a student’s skills and target role via an n8n Form, scrapes top LinkedIn job postings with BrowserAct, and uses OpenAI GPT-4o-mini to generate a skill gap report with courses and a 90-day plan, saving results to Google Sheets and emailing them via Gmail. How it works Receives a student submission from an n8n Form with name, email, target role, current skills, experience level, location, and weekly learning hours. Validates the inputs, converts the skills list into an array, and builds a LinkedIn job search URL for the chosen role and location. Uses BrowserAct to open the LinkedIn job search in a real browser and extract text from up to 20 job postings. Cleans and normalizes the scraped job text and combines it with the student profile data. Sends the student profile and job-posting text to OpenAI GPT-4o-mini to extract in-demand skills, identify missing skills with priority, recommend three free courses, and generate a 13-week learning plan. Parses the model output into labeled sections, calculates matched and missing skill counts, and appends the full report as a new row in Google Sheets. Sends a formatted HTML email via Gmail to the student w
Draft and approve Gmail replies with OpenAI and CustomJS
Quick Overview This workflow pulls unread Gmail messages, generates draft replies with OpenAI, and publishes an approval dashboard via CustomJS. When you approve or edit a draft in the dashboard, it posts back to a webhook that sends the reply in Gmail and marks the original message as read. How it works Runs manually to fetch unread messages from Gmail. Filters out messages from common no-reply senders to avoid automated emails. Uses OpenAI (GPT-5) to generate a draft reply from the email subject, snippet, sender, and recipient. Compiles the original emails and AI drafts into a single HTML approval dashboard and publishes it as a CustomJS page. Receives an approval submission from the dashboard via an n8n webhook containing the edited reply text plus the Gmail message and thread IDs. Replies to the original Gmail message with the approved text and then marks the message as read. Setup Connect Gmail OAuth2 credentials for the Gmail nodes that read messages, reply, and mark messages as read. Add an OpenAI API credential and select the model you want to use for draft generation. Add your CustomJS credentials and confirm the target page name used to publish the dashboard. Set your n8n
Qualify LinkedIn leads and draft multi-step outreach with Airtable, Apify and Claude
Quick overview This workflow pulls unprocessed leads from Airtable, enriches them with LinkedIn profile, company, and post data via Apify, optionally scrapes the company website with Firecrawl, then uses Anthropic Claude to qualify leads and draft multi-step LinkedIn outreach messages, saving results back to Airtable. How it works Runs when you manually execute the workflow. Reads qualification and writing prompts from Airtable, then searches Airtable for leads where the “Réponse” and “Match” fields are empty. Iterates through each lead and uses Apify to fetch LinkedIn profile details, marking the Airtable record as “Likedin pas dispo” when the profile cannot be retrieved. For available profiles, uses Apify to fetch company details when a company LinkedIn URL exists and, if a website is available, uses Firecrawl to scrape the homepage and clean the returned markdown. Uses Apify to fetch recent LinkedIn posts for the lead and selects a relevant recent personal post URL to include in the enrichment dataset. Sends the consolidated lead, company, homepage, and post data to Anthropic Claude to decide whether the lead matches the qualification criteria, marking non-matching leads as “Fal
Draft and revise technical articles with OpenRouter in a content pipeline
Quick Overview This subworkflow is triggered by a parent content pipeline, uses OpenRouter (via an AI Writer Agent) to draft or revise a technical article from a brief, research notes, and optional reviewer feedback, and returns the updated pipeline state with the current draft and word count. How it works Receives input from a parent workflow containing the brief, research notes, and optionally a previous draft plus reviewer feedback. Sends the brief, research JSON, and any revision context to an AI Writer Agent backed by OpenRouter to generate a fresh draft or revise the prior draft. Parses the agent’s JSON response, extracts the draft text and word count (or calculates it if missing), and flags whether the output is a revision. Merges the extracted fields back into the original input and returns the updated state (including currentDraft) to the parent workflow. Setup Add an OpenRouter API credential and select it for the OpenRouter chat model used by the Writer Agent. Ensure the parent workflow passes the expected fields (for example brief, research, and optionally previousDraft and feedbackNotes) when calling this subworkflow. Update the Writer Agent system prompt if you need a
Score and critique content drafts with OpenRouter and LangChain
Quick Overview This subworkflow is called by a parent n8n pipeline to review a content draft against a provided brief using an OpenRouter chat model, returning structured scores, issues, and revision notes the parent can use to decide whether to iterate or accept the draft. How it works Receives the full pipeline state from a parent workflow execution, including the brief and current draft text. Sends the brief and draft to a LangChain Agent configured as an editorial “LLM-as-a-Judge” using an OpenRouter chat model. Produces a JSON review containing 1–10 scores for accuracy, tone, completeness, and clarity, plus an averaged overall score, issues list, and actionable revision notes. Parses the model output, falls back to a zero-score error review if parsing fails, and merges the review back into the original input object. Returns the enriched payload (original fields plus a review object) to the parent workflow for threshold-based decision-making. Setup Add an OpenRouter API credential and select the model you want to use in the OpenRouter chat model node. Ensure the parent workflow passes the expected fields (at minimum brief and currentDraft) when calling this subworkflow. Save th
Host an AI Gmail reply approval inbox with OpenAI and CustomJS
Quick overview Build super flexible and customizable Human-in-the-Loop (HITL) processes with n8n and CustomJS. Instead of letting AI reply autonomously, this workflow fetches data, drafts responses, and hosts interactive approval pages via CustomJS—ensuring full human quality control over your automations with optional custom domain hosting. How it works Trigger: Set to run manually (or scheduled on a cron job). Fetch Emails: Pulls unread messages from your Gmail inbox. Filter: Discards standard no-reply and notification addresses. AI Generation: OpenAI analyzes the email text and subject line to write a suggested reply. Build Dashboard: A Code node merges the dataset into a premium HTML template. Upsert Page: The CustomJS node hosts the generated HTML instantly. Setup Configure the Base URL: Open the Build Approval Page Code node, locate the configuration section (around line 22), and replace the placeholder with your actual n8n instance URL: Connect CustomJS: Add your CustomJS API token to your n8n to allow the workflow to automatically push and host the generated process pages. Activate Webhook: Ensure your n8n webhook node is set to "Production" so it can reliably receive the a
Reconcile Google Drive invoice PDFs with OpenAI, Sheets, Slack and Gmail
How it works Watches a Google Drive folder and triggers automatically when a new invoice PDF is uploaded Extracts raw text from the PDF and passes each invoice through an OpenAI powered agent that returns structured fields like vendor, amount, due date, and line items Fans the enriched data to three parallel outputs: a Google Sheets log, a Slack alert for overdue invoices, and a weekly summary email to Finance via Gmail Set up steps Connect Google Drive, Google Sheets, Gmail, Slack, and OpenAI credentials (~15 minutes total) Works best with text based PDFs; scanned invoices need OCR upstream of the extraction step Keep full setup details and prompt tuning tips in the sticky notes inside the workflow
Generate client-ready workflow diagrams from sales call transcripts with Claude
Who it's for This workflow is for automation agencies and n8n consultants who conduct discovery calls with prospects and want to instantly turn conversation transcripts into polished, client-ready workflow diagrams — without manual canvas work. How it works A consultant pastes a sales call transcript into a form trigger. A first AI agent (Claude) parses the transcript and extracts structured workflow briefs — one per identified business process — with titles, tools, logic, and step-by-step descriptions. A code node splits the output into individual workflow items, one per identified process. A second AI agent generates a complete n8n workflow JSON for each brief, using French business-oriented node names and proper canvas positioning. A code node validates and parses the generated JSON to ensure structural integrity. A third AI agent clusters nodes into logical business groups and generates canvas layout coordinates and sticky note annotations. A fourth AI agent renames all nodes with clear, descriptive French labels following a consistent naming convention. All renames and layout changes are applied, and the finalized workflow is published directly to an n8n instance via the API.
Fetch live commodity quotes with Octagon, OpenAI (GPT-5.4 Mini) and Google Sheets
Quick overview Automatically fetches live commodity quotes (gold, silver, crude oil, natural gas, and more) using an Octagon AI Agent, then writes prices, changes, ranges, volume, and moving averages back to a Google Sheet. How it works Reads commodity symbols (GCUSD, SIUSD, CLUSD, NGUSD, etc.) from a Google Sheet. Fetches the live commodities-quote Skill from GitHub and builds an Octagon Agent prompt for each symbol. Calls the Octagon Agent for real-time quotes and parses the response. Writes the price, change, ranges, volume, and moving averages back to the sheet. Setup Set aside about 5 minutes to complete the configuration. Connect your Google Sheets, OpenAI, and Octagon credentials. Point the Sheets nodes at your commodities sheet, making sure it has a Symbol or Ticker column. Ensure date ranges are in the Sheet. Review the sticky notes inside the workflow for detailed configuration notes. Requirements Google Sheets account and credentials OpenAI credentials (GPT-5.4 Mini) Octagon Agent credentials A Google Sheet with a Symbol or Ticker column Customization Add or remove commodity symbols in the sheet to track different markets Adjust which data fields (price, change, ranges,
Turn videos into Twitter threads, LinkedIn posts, and blogs with WayinVideo and GPT-4o-mini
Description Submit any video URL — podcast, webinar, interview, or YouTube video — along with the title, creator name, niche, target audience, and tone and the workflow transcribes the full recording automatically. WayinVideo's Transcription API returns a speaker-labeled, timestamped transcript which is sent to GPT-4o-mini in one call to produce all three content pieces simultaneously: a 10-tweet Twitter thread, a 200–300 word LinkedIn post, and a 600–800 word SEO blog post with HTML structure, meta description, and focus keyword. Word counts are tracked for all three pieces and everything is saved as one row in Google Sheets with Status set to Draft. Built for content marketers, solo creators, agencies, and social media managers who want to repurpose every video into three platform-specific pieces without writing anything manually. What This Workflow Does Transcribes the full video with speaker labels and timestamps** — WayinVideo's Transcription API returns every word spoken in the video with the speaker name and timestamp so GPT has full context to work from Generates all three content pieces in one GPT call** — The Twitter thread, LinkedIn post, and blog post are all produced t
Turn webinars into a 5-day email course using WayinVideo, GPT-4o-mini, and Google Sheets
Description Submit any webinar recording URL using a simple form along with your course name, target audience, brand name, and preferred email tone and the workflow builds a complete 5-day drip email course automatically. WayinVideo AI Clipping extracts the top 5 most engaging teaching moments from the recording, ranked by engagement score so the best content becomes Day 1. GPT-4o-mini then writes a complete email lesson for each clip — with subject line, preview text, email body, key takeaway, CTA text, and a CTA URL placeholder — where Day 1 is welcoming, the final day wraps up, and middle days flow naturally between them. All 5 emails are saved to Google Sheets as a ready-to-use drip course with Status set to Draft. Built for course creators, coaches, educators, and marketing teams who want to turn any webinar into a ready-to-send email sequence without writing a single word manually. What This Workflow Does Extracts the top 5 teaching moments by engagement score** — WayinVideo AI Clipping ranks moments by engagement and the workflow sorts them highest first so your best content always becomes Day 1 Assigns each clip to a day number automatically** — Clips are sorted and labeled
Search and score relevant jobs using Google Gemini, JSearch, and Notion
Automated Job Search & AI Relevance Evaluator Overview This n8n template automates the entire job hunting process by cross-referencing a candidate's PDF resume with live job listings from the JSearch API. It automatically filters for fresh, unapplied roles, uses Google Gemini AI to critically evaluate each job's relevance against the candidate's specific experience, and logs highly tailored matches directly into a Notion database for seamless tracking. 🚀 How it works Context & Extraction: The workflow fetches existing applications from your Notion database to prevent duplicate tracking, then reads and extracts plain text directly from a local PDF resume. Role Discovery: A Google Gemini node isolates the candidate's current job title to formulate a precise search query. This query is sent to the JSearch API (via RapidAPI) to pull live job listings. Smart Filtering: Natively filters out jobs posted more than 14 days ago and jobs that already exist in your Notion tracker, ensuring only fresh, unseen postings are processed. AI Evaluation: The core of the workflow! Google Gemini acts as an expert technical recruiter, comparing the candidate's resume against each job description. It gen