Workflow: Googledocs Googledrivetool Monitor

Workflow Details

Download Workflow
{
    "id": "2ddwHvuidKc6lZia",
    "meta": {
        "instanceId": "5b12f258e7b8845a7e4d948aaf2096c942ee796fa3f6edf443a06fe951a6e6e2",
        "templateCredsSetupCompleted": true
    },
    "name": "AI Agent - Cv Resume - Automated Screening , Sorting , Rating and Tracker System",
    "tags": [],
    "nodes": [
        {
            "id": "92b75a8f-da03-4545-91ef-da29b88f1cef",
            "name": "GDocs - Get Job Desc",
            "type": "n8n-nodes-base.googleDocs",
            "position": [
                220,
                120
            ],
            "parameters": {
                "operation": "get",
                "documentURL": "https:\/\/docs.google.com\/document\/d\/12dv1AXaotpJ3ST1nUI-QgCoi5SJjM52zeHmjhwZUtvs\/edit?usp=sharing"
            },
            "credentials": {
                "googleDocsOAuth2Api": {
                    "id": "k7j5KUAvAzARmxTu",
                    "name": "Google Docs account"
                }
            },
            "typeVersion": 2
        },
        {
            "id": "213712d5-f7ef-4c49-bfa6-da02be76a213",
            "name": "Google Drive - Resume CV File Created",
            "type": "n8n-nodes-base.googleDriveTrigger",
            "position": [
                -540,
                120
            ],
            "parameters": {
                "event": "fileCreated",
                "options": [],
                "pollTimes": {
                    "item": [
                        {
                            "mode": "everyHour"
                        }
                    ]
                },
                "triggerOn": "specificFolder",
                "folderToWatch": {
                    "__rl": true,
                    "mode": "list",
                    "value": "17g2HGxLieONy6EWfsPADvA9IXDp5nJ8p",
                    "cachedResultUrl": "https:\/\/drive.google.com\/drive\/folders\/17g2HGxLieONy6EWfsPADvA9IXDp5nJ8p",
                    "cachedResultName": "Unfiltered"
                }
            },
            "credentials": {
                "googleDriveOAuth2Api": {
                    "id": "i0k4QgJ8YgVPNgF7",
                    "name": "Google Drive account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "31075389-e8c5-431a-b5e1-807422dbcd5f",
            "name": "Download Resume File From Gdrive",
            "type": "n8n-nodes-base.googleDrive",
            "position": [
                -220,
                120
            ],
            "parameters": {
                "fileId": {
                    "__rl": true,
                    "mode": "id",
                    "value": "={{ $json.id }}"
                },
                "options": {
                    "fileName": "={{ $json.name }}"
                },
                "operation": "download"
            },
            "credentials": {
                "googleDriveOAuth2Api": {
                    "id": "i0k4QgJ8YgVPNgF7",
                    "name": "Google Drive account"
                }
            },
            "typeVersion": 3
        },
        {
            "id": "367d4e61-a73c-4e47-bd73-690b2a63e0ae",
            "name": "AI Agent",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "position": [
                720,
                -400
            ],
            "parameters": {
                "text": "=You are expert backend principal engineer specialize in python. You will compare job description and candidate profile.\n\nThen you will response with decision [REJECTED\/KIV\/SHORTLISTED].\n, provide a reason and give a score rating\n{ decision, reason , score}\n\nAfter you identify a decision, used the tool in sequence.\n1. Use the relevant tool to move the candidate resume file accordingly to the right folder GoogleDrive:MoveFileToReject or GoogleDrive:MoveFileToShortlisted or GoogleDrive:MoveFileToKIV\n2. Use the Gsheet:UpdateTracker tool to update the tracker status.\n3. Use the Gmail:NotificationTool to infor the candidate name, role, decision and reason\n\n==[JOB-DESC]===\n{{ $json.content }}\n==[\/JOB-DESC]===\n\n==[CANDIDATE-DESC]===\n{{ $('Extract from File').item.json.text }}\n \n==[\/CANDIDATE-DESC]===\n\n",
                "options": {
                    "systemMessage": "You are expert backend principal engineer specialize in python. You will compare job description and candidate profile.\n\nThen you will response with decision [REJECTED\/KIV\/SHORTLISTED].\nand provide a reason.\n{ decision, reason}\n\nAfter you identify a decision, used the tool \n1. Use the relevant tool to move the candidate resume file accordingly to the right folder GoogleDrive:MoveFileToReject or GoogleDrive:MoveFileToShortlisted or GoogleDrive:MoveFileToKIV\n2. Use the Gsheet-UpdateTracker tool to update the tracker status.\n"
                },
                "promptType": "define"
            },
            "typeVersion": 1.899999999999999911182158029987476766109466552734375
        },
        {
            "id": "f2a16cf3-0404-4791-b7d4-64f1909e02c2",
            "name": "Extract from File",
            "type": "n8n-nodes-base.extractFromFile",
            "position": [
                -40,
                120
            ],
            "parameters": {
                "options": [],
                "operation": "pdf"
            },
            "typeVersion": 1
        },
        {
            "id": "98af749e-d4ee-4f9b-bacc-f78a47525077",
            "name": "Gmail:Notification",
            "type": "n8n-nodes-base.gmailTool",
            "position": [
                1760,
                120
            ],
            "webhookId": "ed0f09b9-4b16-4bf1-af47-208f1e8e3761",
            "parameters": {
                "sendTo": "aiix.space.noreply@gmail.com",
                "message": "={{ \/*n8n-auto-generated-fromAI-override*\/ $fromAI('Message', ``, 'string') }}",
                "options": [],
                "subject": "={{ \/*n8n-auto-generated-fromAI-override*\/ $fromAI('Subject', ``, 'string') }}",
                "descriptionType": "manual",
                "toolDescription": "Gmail:NotificationTool - This tool will notify the candidate name, job role, and status of [shortlisted\/kiv\/rejected]"
            },
            "credentials": {
                "gmailOAuth2": {
                    "id": "1cn2wligOf77izLL",
                    "name": "Gmail account"
                }
            },
            "typeVersion": 2.100000000000000088817841970012523233890533447265625
        },
        {
            "id": "343f7f0f-d505-448f-a95d-0fc7d3c14730",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                500,
                -60
            ],
            "parameters": {
                "color": 4,
                "width": 660,
                "height": 400,
                "content": "## 1. Move candidate cv to folder\n "
            },
            "typeVersion": 1
        },
        {
            "id": "9941231e-7cfb-442e-9593-aed21fe86cf8",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                1220,
                -60
            ],
            "parameters": {
                "color": 4,
                "width": 320,
                "height": 400,
                "content": "## 2. Update tracker\n "
            },
            "typeVersion": 1
        },
        {
            "id": "bfd181ec-cf79-4320-9acd-f3e35fb499c5",
            "name": "Sticky Note2",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                1640,
                -60
            ],
            "parameters": {
                "color": 4,
                "width": 320,
                "height": 400,
                "content": "## 3. Send email notification\n "
            },
            "typeVersion": 1
        },
        {
            "id": "60fd65e7-6e8a-4092-9fce-2dd97e35b236",
            "name": "Sticky Note3",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -280,
                -60
            ],
            "parameters": {
                "color": 2,
                "width": 380,
                "height": 400,
                "content": "## Download and read candidate CV Resume\n "
            },
            "typeVersion": 1
        },
        {
            "id": "d5d3cf16-d84d-4e7d-af75-f5341af20f59",
            "name": "Sticky Note4",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                100,
                -60
            ],
            "parameters": {
                "color": 2,
                "width": 380,
                "height": 400,
                "content": "## Read Job Description\n "
            },
            "typeVersion": 1
        },
        {
            "id": "0ee07985-b24b-492b-a394-2f7097254911",
            "name": "Sticky Note5",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -2040,
                -80
            ],
            "parameters": {
                "color": 6,
                "width": 620,
                "height": 1040,
                "content": "# AI-Agent : Automated CV Resume Screening Evaluate Rating System\n\n## What is this for?\n### Let AI agent intelligently analyze and rate your Candidate's cv resumes based on your job description. This will help ensure a fast and accurate screening process.\n\n### The Screening AI automatically organizes resumes into appropriate folders, updates statuses and scores in your tracking system, and sends timely notifications\u2014saving you valuable time and effort. \n\n\n### Let AI Agent and automation handle the heavy lifting while you focus on making the best hiring decisions!\n\n\n```\n```\n\n## Prerequisite\n\n### Please follow official n8n integration document on how setup your gdrive,gmail,gdoc,gsheet credentials. \n\n \n```\n```\n\n## How it works?\n\n### Each time you place a new pdf resume in the 'Unfiltered' folder , you will automatically get screening results in the tracker for the candidate. \n\nThe AI agent will help notify email and do CV sorting into appropriate folder.\n\n "
            },
            "typeVersion": 1
        },
        {
            "id": "aa43af12-fae1-4a98-9cad-7859051baf48",
            "name": "Sticky Note6",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -620,
                -60
            ],
            "parameters": {
                "color": 2,
                "width": 260,
                "height": 400,
                "content": "## Add candidate CV Resume into folder\n "
            },
            "typeVersion": 1
        },
        {
            "id": "7ad2b8a9-3720-4713-a8dd-af8f6745f95d",
            "name": "Gdrive:Move-To-Reject-Folder",
            "type": "n8n-nodes-base.googleDriveTool",
            "position": [
                580,
                120
            ],
            "parameters": {
                "fileId": {
                    "__rl": true,
                    "mode": "id",
                    "value": "={{ $('Google Drive - Resume CV File Created').item.json.id }}"
                },
                "driveId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "My Drive",
                    "cachedResultUrl": "https:\/\/drive.google.com\/drive\/my-drive",
                    "cachedResultName": "My Drive"
                },
                "folderId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "16BR7dhzd4-6i_kHYRStJd5UdqNWhpXKA",
                    "cachedResultUrl": "https:\/\/drive.google.com\/drive\/folders\/16BR7dhzd4-6i_kHYRStJd5UdqNWhpXKA",
                    "cachedResultName": "REJECTED"
                },
                "operation": "move",
                "descriptionType": "manual",
                "toolDescription": "GoogleDrive:MoveFileToReject\nUse this tool to move rejected candidate profile to reject folder\n "
            },
            "credentials": {
                "googleDriveOAuth2Api": {
                    "id": "i0k4QgJ8YgVPNgF7",
                    "name": "Google Drive account"
                }
            },
            "typeVersion": 3
        },
        {
            "id": "921a0561-9733-47fe-a6ee-191abf30ac37",
            "name": "Gdrive:Move-To-KIV-Folder",
            "type": "n8n-nodes-base.googleDriveTool",
            "position": [
                800,
                120
            ],
            "parameters": {
                "fileId": {
                    "__rl": true,
                    "mode": "id",
                    "value": "={{ $('Google Drive - Resume CV File Created').item.json.id }}"
                },
                "driveId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "My Drive",
                    "cachedResultUrl": "https:\/\/drive.google.com\/drive\/my-drive",
                    "cachedResultName": "My Drive"
                },
                "folderId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "1KLfykacUhwtO0-wgYs6WsrcxbCHHKJ7o",
                    "cachedResultUrl": "https:\/\/drive.google.com\/drive\/folders\/1KLfykacUhwtO0-wgYs6WsrcxbCHHKJ7o",
                    "cachedResultName": "KIV"
                },
                "operation": "move",
                "descriptionType": "manual",
                "toolDescription": "GoogleDrive:MoveFileToKIV\nUse this tool to move KIV candidate profile to KIV folder"
            },
            "credentials": {
                "googleDriveOAuth2Api": {
                    "id": "i0k4QgJ8YgVPNgF7",
                    "name": "Google Drive account"
                }
            },
            "typeVersion": 3
        },
        {
            "id": "0b32131c-3811-406f-a50d-875750781906",
            "name": "Gdrive:Move-To-Shortlisted-Folder",
            "type": "n8n-nodes-base.googleDriveTool",
            "position": [
                1000,
                120
            ],
            "parameters": {
                "fileId": {
                    "__rl": true,
                    "mode": "id",
                    "value": "={{ $('Google Drive - Resume CV File Created').item.json.id }}"
                },
                "driveId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "My Drive",
                    "cachedResultUrl": "https:\/\/drive.google.com\/drive\/my-drive",
                    "cachedResultName": "My Drive"
                },
                "folderId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "1m8vrejmyPWpGsjJc6amnWfSXBRESlpfO",
                    "cachedResultUrl": "https:\/\/drive.google.com\/drive\/folders\/1m8vrejmyPWpGsjJc6amnWfSXBRESlpfO",
                    "cachedResultName": "SHORTLISTED"
                },
                "operation": "move",
                "descriptionType": "manual",
                "toolDescription": "GoogleDrive:MoveFileToShortlisted\nUse this tool to move  Shortlisted candidate profile to Shortlisted folder"
            },
            "credentials": {
                "googleDriveOAuth2Api": {
                    "id": "i0k4QgJ8YgVPNgF7",
                    "name": "Google Drive account"
                }
            },
            "typeVersion": 3
        },
        {
            "id": "98a656c7-bb17-4808-abf8-ef4e23716b60",
            "name": "Gsheet: Update Candidate Tracker",
            "type": "n8n-nodes-base.googleSheetsTool",
            "position": [
                1340,
                120
            ],
            "parameters": {
                "columns": {
                    "value": {
                        "AI Score": "={{ \/*n8n-auto-generated-fromAI-override*\/ $fromAI('AI_Score', ``, 'string') }}",
                        "AI Reason": "={{ \/*n8n-auto-generated-fromAI-override*\/ $fromAI('AI_Reason', ``, 'string') }}",
                        "AI Verdict": "={{ \/*n8n-auto-generated-fromAI-override*\/ $fromAI('AI_Verdict', ``, 'string') }}",
                        "Candidate Name": "={{ \/*n8n-auto-generated-fromAI-override*\/ $fromAI('Candidate_Name__using_to_match_', ``, 'string') }}"
                    },
                    "schema": [
                        {
                            "id": "Candidate Name",
                            "type": "string",
                            "display": true,
                            "removed": false,
                            "required": false,
                            "displayName": "Candidate Name",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Current Role",
                            "type": "string",
                            "display": true,
                            "removed": true,
                            "required": false,
                            "displayName": "Current Role",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Role Scope",
                            "type": "string",
                            "display": true,
                            "removed": true,
                            "required": false,
                            "displayName": "Role Scope",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "AI Score",
                            "type": "string",
                            "display": true,
                            "removed": false,
                            "required": false,
                            "displayName": "AI Score",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "AI Verdict",
                            "type": "string",
                            "display": true,
                            "required": false,
                            "displayName": "AI Verdict",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "AI Reason",
                            "type": "string",
                            "display": true,
                            "required": false,
                            "displayName": "AI Reason",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Status",
                            "type": "string",
                            "display": true,
                            "removed": true,
                            "required": false,
                            "displayName": "Status",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Referral",
                            "type": "string",
                            "display": true,
                            "removed": true,
                            "required": false,
                            "displayName": "Referral",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Due date",
                            "type": "string",
                            "display": true,
                            "removed": true,
                            "required": false,
                            "displayName": "Due date",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Notes",
                            "type": "string",
                            "display": true,
                            "removed": true,
                            "required": false,
                            "displayName": "Notes",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Human verdict",
                            "type": "string",
                            "display": true,
                            "removed": true,
                            "required": false,
                            "displayName": "Human verdict",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        }
                    ],
                    "mappingMode": "defineBelow",
                    "matchingColumns": [
                        "Candidate Name"
                    ],
                    "attemptToConvertTypes": false,
                    "convertFieldsToString": false
                },
                "options": [],
                "operation": "appendOrUpdate",
                "sheetName": {
                    "__rl": true,
                    "mode": "list",
                    "value": 843593464,
                    "cachedResultUrl": "https:\/\/docs.google.com\/spreadsheets\/d\/1SwnbH_dnqPMho7SqX1LKAjFMc0YvLBGok4I1AdgrJjE\/edit#gid=843593464",
                    "cachedResultName": "main"
                },
                "documentId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "1SwnbH_dnqPMho7SqX1LKAjFMc0YvLBGok4I1AdgrJjE",
                    "cachedResultUrl": "https:\/\/docs.google.com\/spreadsheets\/d\/1SwnbH_dnqPMho7SqX1LKAjFMc0YvLBGok4I1AdgrJjE\/edit?usp=drivesdk",
                    "cachedResultName": "ResumeScreening- Candidate Tracker"
                },
                "descriptionType": "manual",
                "toolDescription": "Gsheet:UpdateTracker\nThis tool help update relevant candidate status"
            },
            "credentials": {
                "googleSheetsOAuth2Api": {
                    "id": "fqYZ5O9pQ89v3SAp",
                    "name": "Google Sheets account"
                }
            },
            "typeVersion": 4.5
        },
        {
            "id": "c9eb92a0-f3bc-4226-835e-602a2f808e4c",
            "name": "Sticky Note7",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -1340,
                -80
            ],
            "parameters": {
                "color": 6,
                "width": 600,
                "height": 1300,
                "content": "\n## Folder & File Setup\n### 1. Create a google-drive folder like this\n \n[View directory example](https:\/\/drive.google.com\/drive\/folders\/1Uh7VdJORE03YBJkCmvr1TXg_esbiNnTV?dmr=1&ec=wgc-drive-hero-goto)\n\n![Directory EXAMPLE](https:\/\/github.com\/dragonjump\/n8n-ai-agent-screening\/blob\/main\/screenshot1.png?raw=true)\n\n### 2. Create a job description like this\n \n[View file example](https:\/\/docs.google.com\/document\/d\/12dv1AXaotpJ3ST1nUI-QgCoi5SJjM52zeHmjhwZUtvs\/edit?usp=drive_link)\n\n![Directory EXAMPLE](https:\/\/github.com\/dragonjump\/n8n-ai-agent-screening\/blob\/main\/screenshot2.png?raw=true)\n\n\n### 3. Configure a tracker like this\n \n[View file example](https:\/\/docs.google.com\/spreadsheets\/d\/1SwnbH_dnqPMho7SqX1LKAjFMc0YvLBGok4I1AdgrJjE\/edit?gid=843593464#gid=843593464)\n\n![Directory EXAMPLE](https:\/\/github.com\/dragonjump\/n8n-ai-agent-screening\/blob\/main\/screenshot3.png?raw=true)"
            },
            "typeVersion": 1
        },
        {
            "id": "e0d419d7-dcc1-40c5-afb1-5bda110e681c",
            "name": "Sticky Note8",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -560,
                20
            ],
            "parameters": {
                "color": 7,
                "width": 150,
                "height": 80,
                "content": "UNFILTERED FOLDER"
            },
            "typeVersion": 1
        },
        {
            "id": "d9034b09-41f9-4f27-8d9d-e40f8603e1ea",
            "name": "Groq - llama 4 AI MODEL",
            "type": "@n8n\/n8n-nodes-langchain.lmChatGroq",
            "position": [
                680,
                -200
            ],
            "parameters": {
                "model": "meta-llama\/llama-4-maverick-17b-128e-instruct",
                "options": []
            },
            "credentials": {
                "groqApi": {
                    "id": "RBCtAUywXbI6hFmr",
                    "name": "Groq account -bbflight"
                }
            },
            "typeVersion": 1
        }
    ],
    "active": true,
    "pinData": [],
    "settings": {
        "executionOrder": "v1"
    },
    "versionId": "adba9994-2c2e-40f2-9a73-8a57b48b3bc4",
    "connections": {
        "AI Agent": {
            "main": [
                []
            ]
        },
        "Extract from File": {
            "main": [
                [
                    {
                        "node": "GDocs - Get Job Desc",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Gmail:Notification": {
            "ai_tool": [
                [
                    {
                        "node": "AI Agent",
                        "type": "ai_tool",
                        "index": 0
                    }
                ]
            ]
        },
        "GDocs - Get Job Desc": {
            "main": [
                [
                    {
                        "node": "AI Agent",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Groq - llama 4 AI MODEL": {
            "ai_languageModel": [
                [
                    {
                        "node": "AI Agent",
                        "type": "ai_languageModel",
                        "index": 0
                    }
                ]
            ]
        },
        "Gdrive:Move-To-KIV-Folder": {
            "ai_tool": [
                [
                    {
                        "node": "AI Agent",
                        "type": "ai_tool",
                        "index": 0
                    }
                ]
            ]
        },
        "Gdrive:Move-To-Reject-Folder": {
            "ai_tool": [
                [
                    {
                        "node": "AI Agent",
                        "type": "ai_tool",
                        "index": 0
                    }
                ]
            ]
        },
        "Download Resume File From Gdrive": {
            "main": [
                [
                    {
                        "node": "Extract from File",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Gsheet: Update Candidate Tracker": {
            "ai_tool": [
                [
                    {
                        "node": "AI Agent",
                        "type": "ai_tool",
                        "index": 0
                    }
                ]
            ]
        },
        "Gdrive:Move-To-Shortlisted-Folder": {
            "ai_tool": [
                [
                    {
                        "node": "AI Agent",
                        "type": "ai_tool",
                        "index": 0
                    }
                ]
            ]
        },
        "Google Drive - Resume CV File Created": {
            "main": [
                [
                    {
                        "node": "Download Resume File From Gdrive",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

High-Level Service Page SEO Blueprint Report
View
AI-Powered Research with Jina AI Deep Search
View
Limit Webhook Automation Webhook
View
Create, update, and get an entry in Strapi
View
Create a new card in Trello
View
Manual Zohocrm Automate Triggered
View
piepdrive-test
View
Voice RAG Chatbot with ElevenLabs and OpenAI
View
Schedule Wordpress Automate Scheduled
View
General 3D Presentation
View