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.
Label candidate emails in Gmail with a label like applicant
Connect Gmail, Google Sheets, and Slack credentials in n8n
Create a Google Sheet with these columns:
candidate_name, candidate_email, candidate_phone, role_applied, years_of_experience, recruiter, resume_url, source_emailImport the workflow JSON
Update:
Activate the workflow
chat:write scope| Use Case | Description |
|---|---|
| Resume deduplication | Avoid processing the same applicant twice |
| Auto Slack alert | Instantly notify recruiter of repeat candidates |
| Centralized tracking | Keep candidate records in Sheets for filtering/export |
| Passive sourcing | Run hourly checks on labeled Gmail inboxes |
| Issue | Possible Cause | Solution |
|---|---|---|
| Slack message not sent | Invalid Slack token / channel not selected | Reauthorize Slack connection and select correct user/channel |
| Google Sheet not updated | Sheet ID or tab name is incorrect | Double-check the Sheet URL and worksheet tab |
| Email data not extracted | Email body format doesn’t match regex | Adjust regex in the "Code" node |
| Nothing happens | Gmail label or date filter is too strict | Ensure emails exist with the right label in the last X minutes |
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.