Human resources and operations
# HR Date Management Automation - Complete Setup Guide ## **How It Works** This n8n workflow transforms your HR department from reactive to proactive by automatically monitoring 5 critical employee timelines and generating smart alerts before deadlines hit. ### **Core Components** 1. **Data Input** – Employee information (hire dates, contracts, certifications) 2. **Date Analysis Engine** – Calculates days until critical events 3. **Smart Categorization** – Sorts employees by urgency level 4. **Reminder Scheduler** – Creates proactive notifications 5. **Multi-Format Export** – Sends alerts to your preferred systems ### **Business Value** - **Prevents compliance violations** ($5K-50K+ in fines) - **Reduces HR workload** (15-20 hours/month saved) - **Improves employee experience** (no missed reviews/renewals) - **Provides management visibility** (dashboard reporting) ----- ## **Quick Start Guide** ### **1. Import the Workflow** 1. Download the `Javascript_Hr.json` file 2. Open n8n and click "Import from file" 3. Select the downloaded JSON file 4. Click "Import" ### **2. Test with Sample Data** 1. Click the "Execute Workflow" button 2. Review the sample output in each node 3. Check the final export data format **What you'll see:** - 5 sample employees with different scenarios - Calculated days until contract/certification expiry - Priority levels (high/medium/low) - Scheduled reminders with recipient emails - Export data in multiple formats ----- ## **Real-World Integration Setup** ### **Option 1: Google Sheets Integration (Most Popular)** #### **Step 1: Prepare Your Employee Data** Create a Google Sheet with these columns: ``` | Employee ID | Name | Email | Department | Hire Date | Contract End | Certification Expiry | Last Review | Probation End | Vacation Days | Status | ``` **Sample data format:** ``` | 1 | John Smith | john@company.com | IT | 2024-01-15 | 2025-12-31 | 2025-03-20 | 2024-06-15 | 2024-07-15 | 20 | active | ``` #### **Step 2: Replace Sample Data Generator** 1. Delete the "Sample Data Generator" node 2. Add "Google Sheets" node 3. Connect to your Google account 4. Configure these settings: - **Operation**: Read - **Document**: Your employee spreadsheet - **Sheet**: Employee data sheet - **Range**: A1:K100 (adjust for your data size) - **Options**: Include RAW data, Include Header row #### **Step 3: Map Your Data** Add a "Set" node after Google Sheets to standardize field names: ```javascript // Map your sheet columns to workflow format { id: {{ $json["Employee ID"] }}, name: {{ $json["Name"] }}, email: {{ $json["Email"] }}, department: {{ $json["Department"] }}, hiredOn: {{ $json["Hire Date"] }}, contractEndDate: {{ $json["Contract End"] }}, certificationExpiry: {{ $json["Certification Expiry"] }}, lastReviewDate: {{ $json["Last Review"] }}, probationEndDate: {{ $json["Probation End"] }}, vacationDays: {{ $json["Vacation Days"] }}, status: {{ $json["Status"] }} } ``` ### **Option 2: HRIS Integration (BambooHR Example)** #### **Step 1: BambooHR API Setup** 1. Get your BambooHR API key from Settings > API Keys 2. Note your company subdomain (e.g., `yourcompany.bamboohr.com`) #### **Step 2: Replace Sample Data Generator** 1. Delete the "Sample Data Generator" node 2. Add "HTTP Request" node 3. Configure these settings: - **Method**: GET - **URL**: `https://api.bamboohr.com/api/gateway.php/[SUBDOMAIN]/v1/employees/directory` - **Authentication**: Basic Auth - **Username**: Your API key - **Password**: x (leave as "x") - **Headers**: `Accept: application/json` #### **Step 3: Transform BambooHR Data** Add a "Code" node to transform the API response: ```javascript // Transform BambooHR response to workflow format const employees = []; for (const employee of $input.all()) { const emp = employee.json; employees.push({ id: emp.id, name: `${emp.firstName} ${emp.lastName}`, email: emp.workEmail, department: emp.department, hiredOn: emp.hireDate, contractEndDate: emp.terminationDate || "2025-12-31", // Default if not set certificationExpiry: emp.customCertDate || "2025-12-31", lastReviewDate: emp.customReviewDate || null, probationEndDate: emp.customProbationDate || null, vacationDays: emp.paidTimeOff || 20, status: emp.employeeStatus || "active" }); } return employees.map(emp => ({ json: emp })); ``` ### **Option 3: CSV File Upload** #### **Step 1: Prepare CSV File** Create a CSV with the same structure as the Google Sheets format. #### **Step 2: Use CSV Parser** 1. Replace "Sample Data Generator" with "Read Binary File" node 2. Add "CSV Parser" node 3. Configure settings: - **Include Headers**: Yes - **Delimiter**: Comma - **Skip Empty Lines**: Yes ----- ## **Output Integration Setup** ### **Email Notifications** #### **Step 1: Add Email Node** 1. Add "Email" node after "Reminder Scheduler" 2. Connect to your email provider (Gmail/Outlook)
Streamline your work attendance tracking by using location-based triggers to automatically log check-in and check-out times in Google Sheets.
Enhance your HR support by automating policy retrieval through Slack, utilizing Amazon S3 for document storage and OpenAI for intelligent responses.
Enhance your team's efficiency by logging, updating, and deleting Clockify time entries directly from Slack. This workflow leverages AI for seamless interactions and accurate time management.
Streamline your user onboarding process by automatically importing new signups from your database, enrolling them in a Saleshandy email sequence, and logging their activity in Google Sheets for tracking and analytics.
Streamline your recruitment process with an automated workflow that manages candidate feedback, communication, and onboarding using Slack, DocuSign, Trello, and Gmail.
This workflow creates a project in Clockify that any user can track time against. Syncro should be set up with a webhook via Notification Set for ticket - created (for anyone). > This workflow is part of an MSP collection. The original can be found here: https://github.com/bionemesis/n8nsyncro
Streamline your recruitment process by automatically classifying emails and extracting structured data from job applications using OpenAI's GPT-4o.
Automatically create When I Work users for new contacts in HubSpot CRM, streamlining employee onboarding.
This workflow automates the process of creating new users in When I Work based on responses collected from a Google Form, ensuring efficient and timely user management.
Automatically send offer letters via PandaDoc to accepted candidates and rejection emails to others, while adding them to Mailchimp, triggered by updates in Airtable.
Transforms Reddit user pain points into emotionally resonant comic-style ads using GPT-4o for analysis and Dumpling AI for visuals, automating from discovery to Google Drive upload.
Streamline Git operations by automating file addition, committing changes with a message, retrieving commit logs, and pushing to a remote repository using n8n's Git node.
Automates HubSpot deal updates to 'paid' status upon Stripe invoice payments and notifies team via Slack, ensuring CRM sync and team awareness.
Make will watch your BambooHR employees at regular intervals and create identical ones in your Zoho People.
This workflow offers several additional features for time tracking with **Awork**: - Check whether time has been tracked when closing a task. If not, the task is reopened and the user is notified. This can be restricted to specific tasks using tags. - Enforce a minimum time entry for tasks to comply with at least 15-minute intervals are billed policies. This can also be limited to specific tasks by using tags. - Clean up time entries to match billing intervals. - Add a start time to time entries if it is missing. This workflow does not use the Awork community nodes package, as the package does not support all required API calls and is therefore not used here. If you prefer to use that package, you can find more information at [awork integration guide](https://support.awork.com/en/articles/9826591-n8n-integration) and replace the API nodes with the corresponding community nodes where applicable. **How it works** - Triggered via Awork Webhook call on status change of tasks and new time entries **Set up steps** - Add webhook call to Awork (please see in-workflow notes regarding webhook configuration) - Configure Awork API credentials - Set up workflow configuration via setup node, e.g., user notification text, tags, enabled features, etc.
This workflow automates the creation of new users in FogBugz by monitoring a Google Sheets spreadsheet for new entries. It streamlines user management by ensuring that new data entries are promptly reflected in FogBugz.
Workaround to access OpenRouter's diverse LLM models in n8n versions before 1.78 using the OpenAI node with a custom base URL.
Automatically generate a Calendly scheduling link for new employees in BambooHR and send it via email. Streamline the onboarding process with this efficient workflow.
Streamline the process of sending Google Forms for performance reviews to team leaders every quarter, ensuring timely completion.
Streamline your onboarding process by automatically creating Innform users for new employees added to BambooHR.
This workflow automates the process of enriching candidate profiles by integrating Calendly, Humantic AI, and Notion. It triggers when an interview is scheduled, analyzes the candidate's LinkedIn profile, and stores the enriched data in Notion.
Automatically create Okta accounts for new users added to your Google Workspace organization, streamlining user management and access control.
Streamline the process of anonymizing and reformatting resumes using AI, Google Sheets, and Apps Script for privacy and consistency.
Our automation experts build tailored workflows for your exact stack and process.