
How to Automate Your Recruitment Pipeline (Without an ATS You Can't Afford)
Table of Contents
- What Your Recruitment Pipeline Needs
- Step 1: Build the Application Form
- Step 2: Set Up the Candidate Tracking Table
- Step 3: Build the Screening Workflow
- Step 4: Set Up the Email Templates
- Step 5: Manage the Interview Stage
- Step 6: The Offer Stage (With Human Approval)
- The Full System for a 20-Person Startup
- Tips for a Better Hiring Pipeline
Greenhouse costs $6,000+ per year. Lever starts around $3,000. Workable runs $149/month per job slot. These are fine products if you're a 500-person company hiring 50 people a year.
But if you're a 20-person startup hiring your first 5 employees? Spending $250-500 per month on an applicant tracking system is absurd. You don't need AI resume parsing, compliance audit trails, or EEOC reporting integrations. You need a system that collects applications, lets you track candidates through stages, sends the right emails at the right time, and doesn't require you to spend a week configuring it.
The alternative isn't going back to managing candidates in a spreadsheet and your inbox. The alternative is building your own recruitment pipeline with no-code tools — one that does exactly what you need, nothing you don't, and costs a fraction of a purpose-built ATS.
Here's how to build the whole thing from application form to offer letter.
What Your Recruitment Pipeline Needs
Strip away the enterprise features and a recruitment pipeline has six stages:
- Application — Candidates submit their information and resume
- Tracking — You see all candidates organized by stage
- Screening — Automated filtering separates strong candidates from noise
- Communication — Application received, rejection, interview invite emails go out automatically
- Interview scheduling — Coordinating times without 15 back-and-forth emails
- Decision and offer — Human-in-the-loop approval before sending the offer
Most of this can be automated. The parts that can't — reading a candidate's portfolio, conducting the actual interview, making the hire/no-hire decision — stay human. Automation handles the logistics so your team spends time evaluating people, not managing spreadsheets.
Step 1: Build the Application Form
Your application form is the candidate's first interaction with your company. A clunky, 30-field monster tells them everything they need to know about your organization's priorities (bureaucracy over people).
In TinyForms, build an application with these fields:
Essential:
- Full Name (short text)
- Email (email field with verification)
- Phone (phone field)
- Position applied for (dropdown — list your open roles)
- Resume/CV (file upload — accept PDF and DOCX)
- LinkedIn profile URL (URL field)
Role-specific (use conditional logic):
- If "Engineering" is selected → Portfolio/GitHub link, years of experience, primary programming languages (multi-select)
- If "Design" is selected → Portfolio link (required), design tools proficiency (multi-select: Figma, Sketch, Adobe)
- If "Sales" is selected → Years in SaaS sales, largest deal closed, CRM experience
Screening questions:
- "Why are you interested in this role?" (long text — cap at 500 characters to force conciseness)
- "What's your salary expectation?" (number field or range dropdown)
- "When could you start?" (date field)
- "Are you authorized to work in [country]?" (yes/no)
Practical tips for application forms:
Keep it under 10 fields (including the conditional ones). Every field beyond that reduces completion rates. You can get more details later from candidates who make it past screening.
Don't ask for a cover letter. Nobody reads them, and requiring one eliminates strong candidates who don't bother. The "Why are you interested?" question gets you the same signal in less time.
Enable save-and-resume. Candidates applying from their phone might need to come back later to upload their resume from a computer.
Add your company culture statement or a short paragraph about what it's like to work at your company at the top of the form. This is your first impression — use it.
Step 2: Set Up the Candidate Tracking Table
When applications come in, they land in a TinyTable. Here's the structure:
Columns from the form (auto-mapped):
- Name, Email, Phone, Position, Resume (file attachment), LinkedIn, Screening Answers
Tracking columns (you add these):
- Stage (single select): Applied, Screening, Phone Screen, Interview, Final Round, Offer, Hired, Rejected
- Rating (number 1-5): Quick gut-feel score after reviewing the application
- Assigned Reviewer (person/user field): Who's responsible for this candidate
- Interview Date (date field)
- Notes (long text): Free-form notes from interviews and conversations
- Source (single select): Job board, referral, LinkedIn, website, other
- AI Summary (AI column — explained below)
The AI Summary column saves your team hours of resume review:
`
Summarize this candidate's application in 3 bullet points:
- Key qualifications and relevant experience based on their resume
- Fit for the {Position} role based on their screening answers
- Any flags (salary mismatch, start date too far out, missing required skills)
Be direct and concise. Focus on information that helps a hiring manager
decide whether to move this candidate to a phone screen.
`
This runs automatically on every new application. Instead of opening 50 resumes to figure out which 10 are worth a phone call, your team reads 50 three-line summaries. The full resume is still there when they want to go deeper.
Switch to Kanban view. Group by the Stage column. Now you have a visual pipeline:
| Applied | Screening | Phone Screen | Interview | Final Round | Offer | Hired |
|---|
Drag candidate cards between columns as they progress. Anyone on your team can open the board and immediately see where every candidate stands. No "where are we with that backend developer?" Slack messages. The board is the answer.
Also set up a Calendar view filtered to the Interview Date column. Your hiring managers see their upcoming interviews without checking a separate calendar app.
Step 3: Build the Screening Workflow
This is where automation eliminates the manual busywork. Create a TinyWorkflow triggered by new rows in your candidate table.
Immediate actions (within seconds of application):
- Send "Application Received" email via TinyEmails. (Template below.)
- Check work authorization. If the answer is "No" and the role doesn't offer visa sponsorship, send a polite rejection email and update the stage to "Rejected." Don't waste anyone's time.
Automated screening check (run 1 minute after submission):
- Use an if/else node to check basic qualifications. This depends on the role, but common checks:
- Salary expectation within your published range? (If you listed $120-150K and they want $200K, auto-flag.)
- Required experience level met? (If you need 3+ years for an engineering role, check.)
- Start date within acceptable window?
- If all checks pass → Update stage to "Screening," assign to the relevant hiring manager (based on Position field), send Slack notification: "New qualified applicant for {Position}: {Name}. AI Summary: {AI Summary}"
- If checks fail → Update stage to "Rejected," send a rejection email.
Why automate rejection emails? Because the alternative is silence. Candidates who never hear back tell their friends, write Glassdoor reviews, and remember your company negatively. An automated, prompt rejection email is more professional than ghosting, and it takes zero ongoing effort from your team.
Human-in-the-loop for borderline cases: Add an approval step. If a candidate's salary expectation is 10-20% above range (not wildly off, just slightly high), don't auto-reject. Instead, send the hiring manager a Slack message: "Candidate {Name} expects {Salary} for {Position} (our range is {Range}). Approve to continue or reject?" The workflow pauses until someone clicks approve or reject.
Step 4: Set Up the Email Templates
You need five email templates. Build them in TinyEmails:
1. Application Received
- Subject: "We got your application, {{first_name}}"
- Body: Confirm you received their application for the {{position}} role. Set expectations: "We review applications within 5 business days. If your background is a match, we'll reach out to schedule a phone screen." Include a link to your careers page or team page so they can learn more.
- Tone: Warm, professional, brief.
2. Rejection (Screening)
- Subject: "Update on your application to [Company]"
- Body: Thank them for applying. Be direct but kind: "After reviewing your application, we've decided to move forward with other candidates whose experience more closely matches what we're looking for." Wish them well. Mean it.
- Don't: Give specific reasons (legal risk). Use "unfortunately" more than once. Make it longer than 4 sentences.
3. Phone Screen Invitation
- Subject: "Next steps: Phone screen for {{position}} at [Company]"
- Body: Express interest. Propose 2-3 time windows. Include what to expect: "This will be a 20-minute call with {{interviewer_name}} to discuss your background and the role." Include a calendar booking link if you use one.
4. Interview Invitation
- Subject: "Interview invitation: {{position}} at [Company]"
- Body: Congratulate them on moving forward. Include: date/time, format (video/in-person), who they'll meet, how long it'll take, how to prepare. Attach any relevant documents (company overview, role description).
5. Offer Email
- Subject: "We'd like to offer you the {{position}} role"
- Body: This one should feel personal. Lead with excitement. Reference something specific from their interview. Include key terms (title, compensation, start date) and next steps for accepting. Attach the formal offer letter.
All templates use merge fields that pull from your TinyTable. {{first_name}}, {{position}}, {{interviewer_name}} — no manual mail merge, no copy-pasting names into email drafts.
Step 5: Manage the Interview Stage
When a hiring manager moves a candidate to "Phone Screen" or "Interview" stage in the Kanban board, trigger another workflow:
- Send the appropriate invitation email (phone screen or interview template)
- Create a calendar event (TinyWorkflows integrates with Google Calendar)
- 24 hours before the interview, send the interviewer a Slack message with candidate details: name, resume link, AI summary, screening answers, notes from previous stages
- After the interview, send the interviewer a TinyForm to capture structured feedback: technical skill rating (1-5), culture fit rating (1-5), communication rating (1-5), recommendation (strong hire, hire, no hire, strong no hire), notes
The feedback form responses go directly into the candidate's row in TinyTables. When multiple interviewers submit feedback, you have structured, comparable data — not scattered Slack messages and half-remembered impressions.
Step 6: The Offer Stage (With Human Approval)
When a candidate reaches the "Final Round" stage and all interview feedback is positive, the workflow builds the offer:
- Compile all feedback into a summary
- Send to the hiring manager and whoever has final approval (CEO, VP, department head) via Slack or email
- Include a TinyForms approval form: Approve offer / Request changes / Reject
- The workflow pauses here. This is a human-in-the-loop step. No offer goes out without explicit human approval.
- On approval → Send the offer email template, update stage to "Offer," set a follow-up reminder for 3 business days if no response
- On rejection → Update stage to "Rejected," send rejection email
This approval gate is critical. Automated systems should never send offer letters without human sign-off. The automation handles the logistics — compiling feedback, routing the approval, sending the email — but the decision stays with a person.
The Full System for a 20-Person Startup
Let's put this in context. You're a 20-person startup hiring a frontend developer, a customer success manager, and three sales reps.
Setup time: One afternoon. Build the application form (30 minutes), set up the TinyTable with columns and views (20 minutes), create the five email templates (45 minutes), build the screening and routing workflows (60 minutes).
Ongoing effort: Your hiring managers drag cards on a Kanban board, review AI summaries instead of reading 50 full resumes, submit structured interview feedback via forms, and approve offers with one click. The system handles confirmation emails, rejection emails, interview reminders, feedback collection, and Slack notifications.
Cost:
| Solution | Monthly Cost | Setup Time |
|---|---|---|
| Greenhouse | $500+/mo | Days to weeks |
| Lever | $250+/mo | Days |
| Workable | $149/mo per slot | Hours to days |
| TinyCommand Pro | $49/mo | One afternoon |
You're saving $100-450/month and getting a system tailored to exactly how your team works. No features you'll never use. No seats you're paying for but nobody logs into. No procurement process for a tool you might outgrow in a year.
Tips for a Better Hiring Pipeline
Review your rejection email quarterly. Read it as if you're the candidate. Does it feel respectful? Is it honest without being hurtful? Your rejection email shapes your employer brand more than your careers page.
Track time-in-stage. If candidates sit in "Screening" for 10 days, you're losing good people to faster companies. Set up a TinyWorkflow alert: if any candidate has been in the same stage for more than 5 business days, notify the assigned reviewer. Speed is a competitive advantage in hiring.
Don't over-automate the interviews. The screening stage benefits enormously from automation. The interview stage benefits from structure (forms, reminders, feedback collection) but not from removing humans. The conversation between an interviewer and a candidate is where hiring decisions are actually made.
Use the Gantt view for hiring timelines. If you're hiring multiple roles simultaneously, switch your TinyTable to Gantt view to see how timelines overlap. This helps you plan interview panels and avoid scheduling conflicts across roles.
Build a talent pool. When you reject a strong candidate who's just not right for the current role, don't lose them. Tag them as "Talent Pool" instead of "Rejected." Set up a TinyWorkflow that emails your talent pool when you post new roles. You've already vetted them — don't start from scratch next time.
Add a candidate experience survey. After the process ends (whether they were hired or rejected), send a 3-question TinyForm: "How would you rate your experience? What did we do well? What could we improve?" This feedback loop makes your pipeline better with every hire.
You don't need an enterprise ATS to run a professional hiring process. You need a form to collect applications, a board to track progress, workflows to handle the logistics, and email templates that treat candidates like humans. Everything else is overhead.
Build the system in an afternoon. Hire the team that builds your company.
Try TinyCommand Free
Forms, tables, workflows, emails, and AI agents — all in one platform. No credit card required.
- Unlimited form submissions
- 50+ integrations
- AI-powered automation
- Visual workflow builder
- Data enrichment built-in
- AI agents with 7 LLM options