🎬 Detect duplicate candidates from Gmail to Slack using Google Sheets

⚡ 321 views · 🎬 Content Creation & Video

💡 Pro Tip — HTTP Request scraping tends to break when sites update their markup. If you’re scraping a major platform, check if ScraperNode covers it — it has maintained scrapers for LinkedIn, Instagram, TikTok, YouTube, and 20+ other platforms that return structured data.

View All Scrapers

Description

Detect duplicate candidates by email/phone from Gmail to Slack using Google Sheets

This workflow automatically detects duplicate job applicants by checking incoming emails from Gmail against existing records in Google Sheets. If a candidate’s email is already found in the sheet, it sends an alert to Slack; otherwise, it adds the candidate to the sheet.

Who’s it for

How it works

  1. Triggers every few minutes via the Schedule Trigger node
  2. Fetches recent emails labeled “applicant” from Gmail
  3. Extracts candidate details from the email body using regex
  4. Reads all existing rows from the Google Sheet
  5. Compares the candidate’s email with existing entries
  6. If duplicate → Sends a Slack alert
  7. If new → Appends to the Google Sheet

How to set up

  1. Label candidate emails in Gmail with a label like applicant

  2. Connect Gmail, Google Sheets, and Slack credentials in n8n

  3. Create a Google Sheet with these columns:

    • candidate_name, candidate_email, candidate_phone, role_applied, years_of_experience, recruiter, resume_url, source_email
  4. Import the workflow JSON

  5. Update:

    • Gmail label ID
    • Google Sheet ID
    • Slack channel or user
  6. Activate the workflow

Requirements

How to customize

Add‑ons

Use Case Examples

Use CaseDescription
Resume deduplicationAvoid processing the same applicant twice
Auto Slack alertInstantly notify recruiter of repeat candidates
Centralized trackingKeep candidate records in Sheets for filtering/export
Passive sourcingRun hourly checks on labeled Gmail inboxes

Common troubleshooting

IssuePossible CauseSolution
Slack message not sentInvalid Slack token / channel not selectedReauthorize Slack connection and select correct user/channel
Google Sheet not updatedSheet ID or tab name is incorrectDouble-check the Sheet URL and worksheet tab
Email data not extractedEmail body format doesn’t match regexAdjust regex in the “Code” node
Nothing happensGmail label or date filter is too strictEnsure emails exist with the right label in the last X minutes

Need Help?

Need help setting it up or tweaking regex for your custom email format? We’re happy to help — just ask!

Want to add phone number duplication checks or auto-resume upload to Google Drive? Our Automation team at WeblineIndia can guide you step-by-step.

đź”— Nodes Used

Google Sheets, Slack, Gmail, Schedule Trigger

📥 Import

Download workflow.json and import into n8n: Workflow menu → Import from File

📖 Importing guide · 🔑 Credential setup