Match Gmail job vacancies to your CV with OpenAI and Pinecone

Go to Workflow
0 views
Built by Khadija Naeem Khadija Naeem
Created on August 09, 2026

Description

Quick overview
This workflow monitors Gmail for incoming job-related emails, extracts job details (including PDF attachments), compares each vacancy to a candidate CV stored in Pinecone using OpenAI, and sends a WhatsApp notification when the job’s match score passes a defined threshold.

How it works
Triggers every minute when a new email arrives in Gmail and downloads any attachments.
Checks whether the email has an attachment and extracts text from the first PDF attachment when present.
Uses an OpenAI chat model to classify the email content into job-related categories.
Uses an OpenAI-powered agent to analyze the vacancy text and retrieve relevant candidate profile context from a Pinecone vector index.
Sends the analysis output to OpenAI to return a single numeric fit score from 0–10.
If the score is above the configured threshold, sends a WhatsApp message asking whether to apply; otherwise, the workflow stops.

Setup
Connect credentials for Gmail, OpenAI, Pinecone, Google Drive, and WhatsApp Cloud API.
Upload your CV to Google Drive, select its file ID in the Google Drive download step, and ensure it is ingested into your own Pinecone index.
Create/select a Pinecone index and set it in both the insert and retrieve steps (ensure embedding dimensions match the OpenAI embeddings configuration).
Set your WhatsApp phone number ID and recipient phone number in the WhatsApp send steps.
Adjust the match-score threshold condition and (optionally) the Gmail label ID used to mark relevant emails as IMPORTANT.

Nodes Used (10)

AI Agent
@n8n/n8n-nodes-langchain.agent
Default Data Loader
@n8n/n8n-nodes-langchain.documentDefaultDataLoader
Embeddings OpenAI
@n8n/n8n-nodes-langchain.embeddingsOpenAi
Gmail
n8n-nodes-base.gmail
Google Drive
n8n-nodes-base.googleDrive
OpenAI
@n8n/n8n-nodes-langchain.openAi
OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi
Pinecone Vector Store
@n8n/n8n-nodes-langchain.vectorStorePinecone
Text Classifier
@n8n/n8n-nodes-langchain.textClassifier
WhatsApp Business Cloud
n8n-nodes-base.whatsApp