Job ke liye apply kar diya, aur saat din baad follow-up mail yaad rakhna kaafi logon se chhoot jaata hai. Is guide mein ek chhota n8n workflow hai: tumhari tracker Sheet mein jin applications ka Status "Applied" hai aur jinko saat din ya zyada ho gaye, unke liye Gmail mein follow-up ka DRAFT ban jaata hai. Bhejna tumhare haath mein hai: workflow sirf draft rakhta hai. Saath mein tracker Sheet ke columns aur teen mail drafts bhi hain.
- Schedule Trigger roz subah (starter mein eight baje) workflow chalata hai.
- Google Sheets (Get Row(s)) tumhari tracker Sheet se sirf wahi rows laata hai jinka Status = Applied hai.
- If node dekhta hai ki "Applied on" se aaj tak kam se kam 7 din hue ya nahi. Haan to aage, nahi to us row ke liye kuch nahi hota.
- Gmail (Create a draft) us row ki company aur role ke saath ek polite follow-up mail DRAFT mein rakhta hai. Mail bheji nahi jaati.
- Google Sheets (Append or Update Row) us company ka Status "Followed up" kar deta hai, taaki wahi row dobara draft na banaye.
- Humne ye workflow kisi account par chalaya nahi hai: ye starter hai. Credentials tum jodoge, ek test se check karoge, phir publish karoge.

Reel mein jo applications (Acme Pvt Ltd, Orbit Labs, Nova Tech), unke "kitne din pehle" aur draft ka text dikha, wo banaya hua example hai: koi asli company ya asli mail nahi.
Tracker Sheet: columns
| Column | Kya likhna hai | Example (banaya hua) |
|---|---|---|
| Company | Company ka naam (har row ke liye alag, kyunki Status update isi se match karta hai) | Acme Pvt Ltd |
| Role | Jis post ke liye apply kiya | Data Analyst |
| Applied on | Apply karne ki date, hamesha ek hi tareeke se: YYYY-MM-DD (saal-mahina-din) | YYYY-MM-DD |
| HR email | Recruiter ka email address jo tumhare paas pehle se hai | hr@acme-pvt.example |
| Status | Applied, Followed up, Interview, Rejected, Offer: workflow sirf "Applied" wali rows uthata hai | Applied |
Node by node (n8n ke official docs ke hisaab se)
| Node (canvas par naam) | n8n node | Kya karta hai | Tumhe kya set karna hai |
|---|---|---|---|
| Every Morning | Schedule Trigger | Docs: schedule trigger ke liye workflow ko save aur publish karna zaroori hai. | Days Between Triggers 1, hour jab chalana ho. Timezone workflow ya instance ka chalta hai. |
| Get Applications | Google Sheets > Get Row(s) | Docs: Sheet ki rows padhta hai. Filters mein Column aur Value de sakte ho. | Document aur Sheet chuno; Filters: Column = Status, Value = Applied. |
| 7 Days Passed? | If | Docs: comparison ke hisaab se workflow ko true / false mein baantta hai. Number ke liye "is greater than or equal to" milta hai. | Left value expression (neeche), operator: Number > is greater than or equal to, right value 7. |
| Follow-up Draft | Gmail > Draft > Create a draft | Docs: Gmail mein draft banata hai. Subject, Message, Email Type aur Options mein "To Email". | To Email = HR email column, Subject aur Message apne hisaab se. |
| Mark Followed Up | Google Sheets > Append or Update Row | Docs: row hai to update, nahi to nayi row. "Column to Match On" se row dhoondhta hai. | Column to Match On = Company, Status = Followed up. |
"Saat din ho gaye?" ka expression
n8n docs ke hisaab se $now ek Luxon object hai (abhi ka time, DateTime.now() ke barabar) aur DateTime.fromISO se ISO tareekh wali string ko Luxon date banaya jaata hai. Din ka fark Luxon ke .diff(..., "days") aur .days se nikalta hai. Isliye If node ke left value mein ye expression use kiya gaya hai:
={{ $now.diff(DateTime.fromISO($json['Applied on']), 'days').days }}Ye expression humne apne design se likha hai, run karke nahi dekha. Isliye pehle ek row ke saath test karo. "Applied on" column mein date ISO form (YYYY-MM-DD) mein honi chahiye aur Sheet mein asli date hona behtar hai, "kal" ya "pichhle hafte" jaise shabd nahi: warna ginti galat aayegi.
Kya chahiye
- n8n: apne server par self-host (Community Edition) ya n8n Cloud (free trial). Kharche ka section neeche hai. Schedule trigger tabhi chalega jab n8n chalta ho aur workflow publish ho.
- Google account: Sheets aur Gmail dono ke credentials ke liye (neeche steps).
- Tracker Sheet jisme asli dates hon, aur recruiter ke email address jo tumhare paas pehle se hain.
Google credentials (n8n docs ke hisaab se)
- n8n Cloud par docs ke hisaab se kuch Google nodes (Gmail aur Google Sheets samet) ke liye "Sign in with Google" ek click ka managed OAuth hai: Google Cloud Console mein kuch set nahi karna padta.
- Self-hosted par ye option nahi hai: tumhe Google Cloud Console mein ek project banana, Gmail API aur Google Sheets API enable karna, OAuth consent screen set karna, OAuth client ID banana aur Client ID / Client Secret n8n credential mein daalna padta hai.
- Docs ke hisaab se agar consent screen External hai aur Publishing status Testing hai, to consent aur tokens saat din mein expire ho jaate hain. Aisa ho to n8n ke credentials mein apna Google account dobara connect karo.
Step by step
- n8n kholo (Cloud trial ya apna self-host) aur ek naya workflow banao.
- Neeche wala starter workflow Import from File se laao (download button upar hai), ya JSON copy karke canvas par paste karo.
- Pehle Sheet banao jisme upar wale columns hon aur 2-3 test rows daalo (ek row ki "Applied on" 7 din se purani rakho).
- Get Applications aur Mark Followed Up node mein apna Google Sheets credential, Document aur Sheet chuno. Follow-up Draft mein Gmail credential jodo.
- Workflow ko manual test karo: Get Applications se chalao, dekho kaun si rows aage gayi, Gmail mein draft bana ya nahi, aur Sheet mein Status badla ya nahi.
- Sab theek lage to Save aur Publish karo. Schedule trigger ke liye save aur publish zaroori hai.
{
"name": "Job Follow-up Draft Starter",
"nodes": [
{"id": "1", "name": "Every Morning", "type": "n8n-nodes-base.scheduleTrigger", "typeVersion": 1.2, "position": [0, 0],
"parameters": {"rule": {"interval": [{"field": "days", "daysInterval": 1, "triggerAtHour": 8, "triggerAtMinute": 0}]}}},
{"id": "2", "name": "Get Applications", "type": "n8n-nodes-base.googleSheets", "typeVersion": 4.5, "position": [300, 0],
"parameters": {"resource": "sheet", "operation": "read", "documentId": {"__rl": true, "mode": "id", "value": ""}, "sheetName": {"__rl": true, "mode": "name", "value": "Applications"}, "filtersUI": {"values": [{"lookupColumn": "Status", "lookupValue": "Applied"}]}, "options": {}}},
{"id": "3", "name": "7 Days Passed?", "type": "n8n-nodes-base.if", "typeVersion": 2.2, "position": [600, 0],
"parameters": {"conditions": {"options": {"caseSensitive": true, "typeValidation": "loose", "version": 2}, "combinator": "and", "conditions": [{"id": "c1", "leftValue": "={{ $now.diff(DateTime.fromISO($json['Applied on']), 'days').days }}", "rightValue": 7, "operator": {"type": "number", "operation": "gte"}}]}, "options": {}}},
{"id": "4", "name": "Follow-up Draft", "type": "n8n-nodes-base.gmail", "typeVersion": 2.1, "position": [900, 0],
"parameters": {"resource": "draft", "operation": "create", "subject": "=Follow-up: {{ $json['Role'] }} application", "message": "=Hello,\n\nI applied for the {{ $json['Role'] }} role at {{ $json['Company'] }} about a week ago and wanted to follow up politely on my application. I am still very interested in the role. Please let me know if you need anything more from my side.\n\nThank you,\n(your name)", "emailType": "text", "options": {"sendTo": "={{ $json['HR email'] }}"}}},
{"id": "5", "name": "Mark Followed Up", "type": "n8n-nodes-base.googleSheets", "typeVersion": 4.5, "position": [1200, 0],
"parameters": {"resource": "sheet", "operation": "appendOrUpdate", "documentId": {"__rl": true, "mode": "id", "value": ""}, "sheetName": {"__rl": true, "mode": "name", "value": "Applications"}, "columns": {"mappingMode": "defineBelow", "value": {"Company": "={{ $('7 Days Passed?').item.json['Company'] }}", "Status": "Followed up"}, "matchingColumns": ["Company"], "schema": []}, "options": {}}}
],
"connections": {
"Every Morning": {"main": [[{"node": "Get Applications", "type": "main", "index": 0}]]},
"Get Applications": {"main": [[{"node": "7 Days Passed?", "type": "main", "index": 0}]]},
"7 Days Passed?": {"main": [[{"node": "Follow-up Draft", "type": "main", "index": 0}]]},
"Follow-up Draft": {"main": [[{"node": "Mark Followed Up", "type": "main", "index": 0}]]}
}
}Is JSON mein credentials nahi hain aur Document / Sheet khali hain: tumhe khud bharna hai. Draft ka text aur subject humne apne hisaab se likha hai, apni language mein badlo.
3 mail drafts (copy karke apna banao)
Subject: Follow-up: [Role] application Hello [Name or Hiring Team], I applied for the [Role] position at [Company] about a week ago and wanted to follow up politely on my application. I am still very interested in the role. Please let me know if you need anything more from my side. Thank you, [Your name]
Subject: Following up: [Role] at [Company] Hello [Name], I wanted to check once more on my application for the [Role] position. If the role has moved forward or been filled, no problem at all: I would still appreciate being considered for future openings. Thank you for your time, [Your name]
Subject: Follow-up after interview: [Role] Hello [Name], Thank you again for speaking with me about the [Role] position. I wanted to ask if there is any update on the next steps. I remain very interested and happy to share anything more you need. Regards, [Your name]
- Ye workflow sirf DRAFT banata hai. Har draft padho, company aur role check karo, apna naam daalo, tab hi send dabao.
- Bahut saari auto follow-up mails spam jaisi lag sakti hain aur tumhare chance kam kar sakti hain. Ek application par ek hi follow-up kaafi hai.
- Ye reminder hai, job ya reply ki guarantee nahi.
Aam galtiyan
- Workflow publish nahi kiya: Schedule Trigger ke docs ke hisaab se save aur publish zaroori hai.
- "Applied on" column mein alag-alag tareeke ki dates: ek hi format (YYYY-MM-DD) rakho.
- Do rows mein ek hi company naam: Status update ke liye "Column to Match On" Company hai, to dono row ek saath update ho sakti hain. Naam alag likho (jaise "Acme Pvt Ltd - Analyst").
- Gmail credential mein galat account jodna: draft usi account ke Drafts mein banega.
- Pehli baar bahut saare drafts: pehle test row se chalao, phir poori Sheet par.
Kharcha (plans badalte rehte hain, official page dekho)
| Option | Official pages ke hisaab se |
|---|---|
| Self-host (Community Edition) | n8n docs: Community edition free hai, lagbhag poora feature set. Apna server / PC chahiye jo chalta rahe. |
| n8n Cloud | Pricing page: free trial, phir paid plans. Prices yahan nahi likhe: page dekho. |
| Gmail aur Google Sheets | Tumhare Google account se; Google ki apni limits aur terms lagte hain. |
- Schedule Trigger -> Google Sheets (Applied rows) -> If (7 din?) -> Gmail Create a draft -> Google Sheets (Followed up).
- Starter workflow hai: credentials khud jodo, ek test, phir publish. Date ek hi format mein.
- Draft banta hai, bhejna tumhare haath mein. Ye guarantee nahi, sirf reminder hai.