BEGINNER SOLUTION

Project 1: Recruitment Tracker

Full build guide, day by day, no code required

Scenario recap: An HR team tracks job openings and candidates in spreadsheets. Your job is to build a Salesforce app that manages postings, candidates, and hiring stages end to end, using only clicks, no code.

Prerequisites: Basic Object Manager and Flow familiarity  |  Estimated time: ~1-2 hrs/day

Data Model

Two custom objects, connected by a lookup relationship.

  • Job Posting (custom object)  —  represents an open role
  • Candidate (custom object)  —  represents a person applying, with a lookup to Job Posting
Object Field Type
Job PostingTitleText (Name field)
Job PostingDepartmentPicklist
Job PostingStatusPicklist (Open, On Hold, Closed)
Job PostingHiring ManagerLookup (User)
CandidateFull NameText (Name field)
CandidateJob PostingLookup (Job Posting)
CandidateStagePicklist (Applied, Screening, Interview, Offer, Hired, Rejected)
CandidateEmailEmail
CandidateResume LinkURL

Day 1-2: Objects and Fields

  1. Setup → Object Manager → Create Custom Object → name it Job Posting
  2. Create the fields listed above (Department, Status, Hiring Manager)
  3. Create a second custom object Candidate
  4. Add a Lookup field on Candidate pointing to Job Posting
  5. Add Stage, Email, and Resume Link fields on Candidate
  6. Add both objects to the App Launcher via a custom Lightning App called "Recruitment Tracker"

Tip: Use a Lookup, not Master-Detail, between Candidate and Job Posting here. You want Candidates to survive independently of a Job Posting for reporting history, even if a posting is later closed.

Day 3-4: Layouts, Record Types, Validation

  1. Build a page layout for Candidate showing Stage prominently at the top
  2. Add a Validation Rule: Resume Link is required once Stage is not "Applied" (prevents reps from advancing candidates without a resume on file)
  3. Add a Validation Rule: cannot set Stage to "Hired" unless Job Posting Status is "Open"

Day 5-6: Record-Triggered Flow

Build a Flow that notifies the Hiring Manager whenever a Candidate's Stage changes.

  1. Setup → Flows → New Flow → Record-Triggered Flow
  2. Object: Candidate, Trigger: "A record is updated", Condition: Stage field is changed
  3. Add a Get Records element to fetch the related Job Posting's Hiring Manager
  4. Add a Send Email Action to notify that Hiring Manager with the candidate name and new stage
  5. Set the Flow to run in "After Save" (not needed to block the save, just notify)

Day 7-8: Screen Flow for Interview Scheduling

  1. Create a new Screen Flow launched from the Candidate record page (Lightning App Builder)
  2. Screen 1: date/time picker for Interview Date, dropdown for Interviewer
  3. Add an element to update the Candidate record with the interview date/time
  4. Add a Send Email action to confirm the interview with the candidate's email
  5. Embed the Flow as a Quick Action button on the Candidate page layout

Day 9: Dashboard

  1. Build a Report: "Candidates by Stage" (summary report grouped by Stage)
  2. Build a Report: "Open Positions by Department" (Job Postings, filtered Status = Open)
  3. Create a Dashboard with a donut chart for candidate pipeline and a bar chart for open roles by department

Day 10: Document and Demo

  • Write a one-page README: problem, data model diagram, automation logic, screenshots
  • Record a 3 minute Loom/screen recording walking through creating a posting, adding a candidate, advancing stages, and the dashboard updating live
  • Post it on LinkedIn tagging what you learned (Flow, Validation Rules, Reports)

Interview Prep: Questions You'll Get Asked

Q: Why Lookup and not Master-Detail between Candidate and Job Posting?
Because Candidates should be able to exist and be reported on even if their Job Posting record is deleted or archived; Master-Detail would cascade-delete children.

Q: Why a Record-Triggered Flow instead of a Workflow Rule?
Workflow Rules are legacy and Salesforce recommends Flow for all new automation; Flow also lets you traverse relationships (Get Records) in a single tool, which Workflow Rules can't do.

Q: How would you scale this for 10,000 candidates?
Ensure the Flow is bulk-safe (Flows are bulkified by default), add indexed fields for common filters, and consider a batch-based nightly digest instead of real-time emails if volume gets very high.

Next up: Project 2 — Automated Approval Engine

Back to all 5 projects
Testimonials

Real feedback from real candidates

People using SF Interview Pro to prepare for Salesforce interviews
★★★★★
"Crashed multiple interviews thanks to this. Better than the paid courses I tried."
SP
Salesforce Professional
Developer
★★★★★
"No signup, no paywall. The Apex Trigger series alone got me through two rounds."
AK
Aditya K.
Salesforce Admin
★★★★★
"LWC Zero to Hero is more practical than any paid course I found."
RM
Riya M.
LWC Developer
★★★★★
"Practice Zone MCQs matched my actual interview difficulty almost exactly."
PS
Priya S.
Business Analyst
★★★★★
"Started knowing nothing. Three weeks later I had two offers."
MK
Mohit K.
Salesforce Admin
★★★★★
"Company-wise Accenture prep was scarily accurate."
SN
Sneha N.
Consultant
★★★★★
"Explains identity resolution better than official Trailhead modules."
VR
Vikram R.
Data Cloud Consultant
★★★★★
"Free and better than the paid prep I bought earlier."
TJ
Tanvi J.
Fresher
★★★★★
"Reports and Dashboards guide made a tricky topic finally click."
KP
Karan P.
Salesforce Admin
★★★★★
"SOQL Part 2 questions came up almost word for word in my interview."
AN
Ananya N.
Developer
★★★★★
"Field Service Lightning guide is the only good free resource I found."
RD
Rohan D.
FSL Consultant