Quick overview
This workflow provides recruiter webhooks for job creation, resume intake, and a recruiter copilot chat, using Mistral AI for job description generation, resume parsing, embeddings, and Q&A, and Supabase/PostgreSQL for storing jobs, candidates, applications, scores, and chat logs.
How it works
- Receives a POST request to the recruiter intake webhook and routes the payload to either job creation (no resume file) or resume processing (resume file attached).
- For job creation, validates required fields, uses Mistral AI to generate a structured job description and skills list, runs a Mistral AI bias/quality audit with up to two improvement cycles, and publishes the approved job to Supabase.
- For resume processing, validates the uploaded resume is a PDF, extracts and cleans the text, and enriches it with candidate details from the webhook body.
- Uses Mistral AI to parse the resume into a structured candidate profile and generates a Mistral embedding for the resume text.
- Upserts the candidate in Supabase, updates the stored resume text and vector embedding, and creates an application record linked to the supplied job_id.
- If a job_id is provided, fetches the job from Supabase, uses Mistral AI to score the candidate against the job, calculates a weighted match score, saves the scoring fields back to the application, and returns a JSON response to the webhook.
- Separately, receives recruiter copilot chat requests via a second webhook, optionally responds to health checks, classifies intent with Mistral AI, queries Supabase for relevant context (including vector candidate search), generates an answer with Mistral AI, logs the chat to Supabase, and responds with the reply.
Setup
- Create a Mistral API key and configure the HTTP Header Auth credential used for all Mistral chat and embeddings requests.
- Connect a Postgres/Supabase credential and ensure the required tables and columns exist (jobs, candidates with a vector embedding column, applications, interviews, and chat_logs) including pgvector support for the embedding similarity query.
- Configure the recruiter intake webhook endpoint (/recruiter-intake) in your source system, sending either job fields (title, department, etc.) or a binary PDF file named resume plus optional candidate fields and job_id.
- Configure the copilot webhook endpoint (/copilot-chat) in your chat UI or app, sending message and optional recruiter_id, and set __status_check=true when you want a health-check response.
- Review and adjust any SQL queries, table names, and scoring thresholds/weights to match your schema and evaluation preferences before activating the workflow.
Additional info
Need Help or Customization?
Digital Biz Tech can help tailor this workflow to your business.
We offer free setup support, including credential configuration and deployment.
Contact: [email protected]
Website: https://www.digitalbiz.tech
LinkedIn: https://www.linkedin.com/company/digital-biz-tech/
Developer: THANGA ESWARI N
LinkedIn: https://www.linkedin.com/in/thanga-eswari
You can also DM us on LinkedIn for any help or customization.