{"product_id":"n8n-time-off-request-automation-form-gmail-approval-sheets","title":"n8n Time Off Request Automation: Form, Gmail Approval \u0026 Sheets","description":"\u003ch3\u003eAutomate Time-Off Requests end-to-end in n8n—Form Intake, Gmail Manager Approval, and Google Sheets Balance Control\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow turns time-off requests into a fast, controlled process: employees submit details via an n8n Form, the workflow validates balance and overlapping absences using Google Sheets, and the manager approves in a two-click Gmail approval email. Approved requests automatically update balances, create Google Calendar events, and log outcomes back to Sheets.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cb\u003eReceives time-off requests\u003c\/b\u003e submitted through an \u003cb\u003en8n Form\u003c\/b\u003e (dates, absence type, employee email, and manager email).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eValidates employee records\u003c\/b\u003e by searching the \u003cb\u003e“Saldi”\u003c\/b\u003e tab in Google Sheets for the employee’s email; if not found, it emails HR via \u003cb\u003eGmail\u003c\/b\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eChecks date validity and working days\u003c\/b\u003e: counts requested days excluding \u003cb\u003eSaturday and Sunday\u003c\/b\u003e, and stops with a Gmail notice if dates are invalid or balance is insufficient.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eDetects overlap with approved absences\u003c\/b\u003e by reading the \u003cb\u003e“Richieste”\u003c\/b\u003e tab and flagging conflicting approved requests in the same department.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eSends manager approval\u003c\/b\u003e using a \u003cb\u003eGmail “Send and Wait for Response”\u003c\/b\u003e email featuring approve\/reject buttons (including an overlap warning when relevant).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eUpdates systems on outcome\u003c\/b\u003e:\n    \u003cul\u003e\n      \u003cli\u003eIf \u003cb\u003eapproved\u003c\/b\u003e: updates the employee’s remaining balance in \u003cb\u003eGoogle Sheets\u003c\/b\u003e, creates an \u003cb\u003eall-day absence event\u003c\/b\u003e in \u003cb\u003eGoogle Calendar\u003c\/b\u003e, and emails the employee a confirmation via \u003cb\u003eGmail\u003c\/b\u003e.\u003c\/li\u003e\n      \u003cli\u003eIf \u003cb\u003erejected or blocked\u003c\/b\u003e: notifies the employee via \u003cb\u003eGmail\u003c\/b\u003e and appends the request + outcome to the \u003cb\u003e“Richieste”\u003c\/b\u003e tab.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eCentralize time-off intake for a small HR\/PeopleOps team using an n8n Form instead of email threads.\u003c\/li\u003e\n  \u003cli\u003eEnforce remaining balance rules automatically with Google Sheets-backed “Saldi”.\u003c\/li\u003e\n  \u003cli\u003ePrevent staffing conflicts by detecting overlapping approved absences by department.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cb\u003eGoogle Sheets\u003c\/b\u003e tabs: \u003cb\u003e“Saldi”\u003c\/b\u003e (email, nome, reparto, giorni_residui) and \u003cb\u003e“Richieste”\u003c\/b\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eGoogle Calendar\u003c\/b\u003e all-day events for approved absences.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eGmail\u003c\/b\u003e notifications to employee, HR, and manager; manager uses \u003cb\u003eSend and Wait for Response\u003c\/b\u003e approval buttons.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003en8n Form trigger\u003c\/b\u003e, plus workflow logic nodes such as \u003cb\u003eif\u003c\/b\u003e, \u003cb\u003eset\u003c\/b\u003e, \u003cb\u003ecode\u003c\/b\u003e, and a \u003cb\u003esticky note\u003c\/b\u003e for guidance.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eSetup tip:\u003c\/b\u003e Create the Google Sheets file with tabs named exactly \u003cb\u003e“Saldi”\u003c\/b\u003e and \u003cb\u003e“Richieste”\u003c\/b\u003e to match the workflow.\u003c\/p\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45967633907891,"sku":"N8N-19248","price":17.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/Z3UT5O_HrhpVD-80Jc4wW_tfwrK6pC.png?v=1788686126","url":"https:\/\/buyflowscripts.com\/products\/n8n-time-off-request-automation-form-gmail-approval-sheets","provider":"N8N Commerce","version":"1.0","type":"link"}