At Innovatrix Infotech, we are a 12-person engineering team. We do not have an HR department. We do not have an HR manager. What we do have is an n8n instance that handles job application processing, leave management, and onboarding — and it costs us less than ₹2,000/month to run.
If you are a startup founder or operations lead spending 8-12 hours per week on HR administration, this guide is for you. We are going to build three complete automation pipelines that eliminate the most time-consuming parts of HR management.
What You Will Learn
- Pipeline 1: Automated hiring workflow (application intake → AI screening → interview scheduling)
- Pipeline 2: Leave management via Slack (request → approval → calendar update)
- Pipeline 3: New employee onboarding automation (account creation → channel invites → checklist email)
- Real cost comparison: manual HR admin vs. automated
- Complete n8n workflow configurations you can replicate
Prerequisites
- An n8n instance (self-hosted or cloud)
- Google Workspace (for Calendar, Sheets, and optionally Admin SDK)
- Slack workspace
- An OpenAI API key (for the AI screening component)
- A form tool (Tally, Typeform, or Google Forms)
Pipeline 1: Automated Hiring Workflow
The hiring process at most startups looks like this: job posting goes live, applications come in via email or a form, someone manually reviews each CV, shortlists candidates, sends interview invitations one by one, and tracks everything in a spreadsheet. At 50-100 applications per role, this consumes 15-20 hours of founder time.
Here is how we automated it:
Step 1: Application Intake
We use Tally (free tier) for job application forms. The form collects: name, email, phone, years of experience, portfolio/GitHub link, and a CV upload.
When someone submits the form, Tally sends a webhook to our n8n instance:
Tally Form Submission → Webhook Trigger (n8n)
The webhook payload contains all form fields plus a link to the uploaded CV.
Step 2: AI-Powered CV Screening
This is where the automation gets interesting. Instead of manually reading every CV, we use GPT-4o to extract structured data and score candidates against the job description.
// System prompt for CV screening
const systemPrompt = `You are an HR screening assistant for a software
development company. Given a job description and candidate application,
extract the following and return JSON:
{
"skills_match_score": 0-100,
"experience_years": number,
"key_skills": ["skill1", "skill2"],
"red_flags": ["any concerns"],
"recommendation": "shortlist" | "maybe" | "reject",
"reasoning": "2-3 sentence explanation"
}
Job Description: ${jobDescription}
Evaluate fairly. Do not discriminate based on name,
gender, or educational institution. Focus on skills,
experience relevance, and portfolio quality.`;
The AI returns a structured score. We route candidates based on the recommendation:
AI Score > 70 → Add to Airtable/Sheets "Shortlisted" → Send Calendly link
AI Score 50-70 → Add to "Maybe" list → Flag for manual review
AI Score < 50 → Send polite rejection email (template)
Step 3: Automated Interview Scheduling
For shortlisted candidates, n8n sends an email with a Calendly link (or Cal.com link — we use Cal.com ourselves). The email is personalized:
Subject: Innovatrix Infotech — Interview Invitation for {role_name}
Hi {candidate_name},
Thank you for applying for the {role_name} position.
We have reviewed your application and would like to
schedule a conversation.
Please book a time that works for you: {calendly_link}
Looking forward to speaking with you.
Best,
Rishabh Sethia
Founder, Innovatrix Infotech
Important ethical note: We always have a human review the AI screening results before sending rejections for senior roles. The AI is a filter, not a final decision-maker. For junior roles with high application volumes (100+), we do rely more heavily on AI scoring, but every shortlisted candidate is reviewed by a human.
Pipeline 2: Leave Management via Slack
Before automation, our leave request process was: employee sends a WhatsApp message to the founder, founder checks their calendar, approves or denies, manually updates a Google Sheet, and manually blocks the calendar. Five touchpoints for something that should be two.
Here is the automated version:
Step 1: Slack Slash Command
We created a custom Slack slash command: /leave-request
When an employee types /leave-request 2025-11-20 to 2025-11-22 family event, Slack sends a webhook to n8n with the user ID, dates, and reason.
Step 2: n8n Processing
The workflow does the following:
- Parse the dates and reason from the slash command payload
- Check leave balance in Google Sheets (each employee has a row with total leaves, used leaves, and remaining balance)
- Check for conflicts — query Google Calendar to see if anyone else on the same team is already on leave for those dates
- Send approval request to the manager via Slack with interactive buttons (Approve / Deny)
Slack Slash Command
→ Parse dates + reason
→ Google Sheets: Check leave balance
→ IF balance > 0:
→ Google Calendar: Check team conflicts
→ Slack: Send approval message to manager
→ Manager clicks Approve:
→ Google Sheets: Deduct leave balance
→ Google Calendar: Block dates
→ Slack: Notify employee "Approved"
→ Manager clicks Deny:
→ Slack: Notify employee "Denied" with reason
→ IF balance = 0:
→ Slack: Notify employee "No leaves remaining"
Step 3: Calendar Integration
When approved, n8n creates a Google Calendar event titled "{employee_name} — On Leave" for the requested dates, marked as "Out of Office." This ensures the entire team can see who is available at a glance.
Total time for an employee to request leave: 10 seconds. Total time for a manager to approve: one button click. No spreadsheet updates needed. No calendar management.
Pipeline 3: New Employee Onboarding
Onboarding a new team member used to take our founder 3-4 hours: creating Google Workspace accounts, adding to Slack channels, sharing documentation links, setting up project access, and sending a welcome email with the onboarding checklist.
The automated version:
Trigger
When a new row is added to our "Team Roster" Google Sheet (columns: Name, Personal Email, Role, Start Date, Team), the n8n workflow triggers.
Automated Steps
New row in Team Roster (Google Sheets Trigger)
→ Create Google Workspace account via Admin SDK
(first.last@innovatrixinfotech.com)
→ Add to Slack workspace via Slack API
→ Add to relevant Slack channels based on Role:
- All: #general, #announcements
- Developers: #engineering, #code-review, #deployments
- Designers: #design, #ux-feedback
→ Send welcome email with onboarding checklist:
- Company handbook link
- Project documentation
- Tool access guide (GitHub, Figma, Jira)
- IT setup instructions
→ Create 30-day check-in reminder (Google Calendar event)
→ Notify manager via Slack: "{name} has been onboarded"
The Google Workspace Admin SDK step requires a service account with domain-wide delegation. This is a one-time setup that takes about 30 minutes but saves hours on every subsequent hire.
Cost Comparison: Manual vs. Automated HR
For a 10-15 person startup:
Manual HR administration (founder or office manager):
- Leave management: ~2 hours/week
- Hiring pipeline management (when actively hiring): ~6-8 hours/week
- Onboarding (per new hire): ~3-4 hours
- Ongoing HR record keeping: ~1-2 hours/week
- Total: approximately 8-12 hours/week when actively hiring
At a founder's time value of ₹5,000-10,000/hour (opportunity cost), that is ₹40,000-1,20,000/week in lost productive capacity.
Automated HR with n8n:
- n8n VPS hosting: ₹800-1,200/month
- OpenAI API for CV screening (~50 applications/month): ₹500-1,000/month
- Exception handling (manual review of edge cases): ~1 hour/week
- Total: approximately ₹1,500-2,500/month + 1 hour/week
The automation does not eliminate human judgment from HR. It eliminates the mechanical, repetitive work that surrounds human judgment.
Common Issues and Fixes
Problem: Slack slash command not triggering n8n Fix: Ensure your n8n webhook URL is publicly accessible with HTTPS. Slack requires SSL. Use Cloudflare or your VPS provider's SSL.
Problem: Google Admin SDK returning permission errors
Fix: The service account needs domain-wide delegation enabled in Google Admin Console. Scopes required: https://www.googleapis.com/auth/admin.directory.user
Problem: AI screening scores are inconsistent Fix: Make your job description criteria as specific as possible. Vague JDs produce vague scoring. Include concrete requirements: "3+ years Node.js experience" rather than "experienced developer."
Problem: Calendar events not showing as "Out of Office"
Fix: Set the event's transparency to opaque and add attendees with responseStatus: accepted in the Calendar API call. Also set eventType: outOfOffice if using Google Calendar API v3.
For more n8n workflow patterns, check our n8n workflow templates guide. If you need help building custom HR automation for your team, our AI automation service covers exactly this type of implementation. We also offer managed services for companies that want end-to-end automation management.
Frequently Asked Questions
Written by

Founder & CEO
Rishabh Sethia is the founder and CEO of Innovatrix Infotech, a Kolkata-based digital engineering agency. He leads a team that delivers web development, mobile apps, Shopify stores, and AI automation for startups and SMBs across India and beyond.
Connect on LinkedIn