⚡ 5-Minute Quickstart
This is the fastest path from "I just signed up" to "I'm placing candidates."
- Register your company on the sign-up page. You'll be auto-logged in as the Admin.
- Invite 1–2 team members from Account → Teams.
- Add your first job from the sidebar: Jobs → New Job. Fill out title, location, and a short description.
- Add candidates three ways: manually, by uploading a resume (fields auto-fill), or via CSV import.
- Submit candidates to the job from a candidate's profile or directly from the job page.
- Move them through stages by dragging cards or clicking a stage on the candidate row.
💡 Tip: The dashboard's "My Day" widget surfaces stale candidates, interviews this week, and open submissions awaiting feedback. Check it once a day.
First login
After registering, you land on the Dashboard. The sidebar has the four core modules:
| Module | What it's for |
|---|---|
| Candidates | Your talent pool — every person you've interviewed, sourced, or placed |
| Jobs | Open requisitions (internal or client roles) |
| Submissions | The pipeline view — candidates × jobs × stage |
| Reports | Team activity, conversion, time-to-fill, recruiter performance |
Invite your team
From Account → Teams, click Invite User. They'll get an email with a one-click join link.
User roles & permissions
| Role | Can do | Can't do |
|---|---|---|
| Admin | Everything — billing, teams, all candidates | — |
| Account Manager | All candidates and jobs across the company | Billing, team management |
| Recruiter | Only candidates/jobs assigned to them | See other recruiters' data, billing |
| Viewer | Read-only — for clients, hiring managers | Add, edit, or delete anything |
🔒 Roles are enforced server-side on every API call. A user can't unlock functions just by inspecting the page HTML.
👤 Candidates
A candidate is a person in your talent pool. Each profile contains contact info (encrypted at rest), resume file (preserved with extracted text for search), work experience, location with lat/lng for radius search, skills & tags, source, visa status, and a complete activity log.
Adding candidates
1. Manual entry
Candidates → New Candidate opens a multi-tab modal. Only first name and email are required.
2. Auto-fill from resume
- Click Choose File and pick a PDF, DOCX, RTF, or TXT (10 MB max)
- Click Auto-Fill from Resume
- NexivoHR extracts text and parses out: name, email, phone, LinkedIn, current title, education, location, years of experience
- Review and click Save
💡 PDFs are extracted client-side using PDF.js (the engine Firefox uses for its built-in PDF viewer), so even rare encodings work. Falls back to a pure-PHP parser if the browser can't load PDF.js.
3. Bulk CSV import
From Candidates → Import CSV, paste or upload a CSV with these columns (any subset works):
first_name,last_name,email,phone,current_title,linkedin,city,state,zip,country,years_experience,visa_status,skills,source,notes
We support imports from Bullhorn, Greenhouse, Lever, JobDiva, Ceipal, Workable, and Recruit CRM. Contact us for free migration help.
💼 Jobs
Creating a job
- Basics — title, location, employment type, seniority
- Description — rich text with bullets, headings, links
- Pay range — min/max + currency + period
- Required skills — tag-style entry, drives match scoring
- Client & recruiter assignment — for agency workflows
Pipeline stages
| Stage | Meaning | Typical time |
|---|---|---|
| Submitted | Candidate sent to client/hiring manager | 1–3 days |
| Screening | Recruiter or HM phone screen | 3–7 days |
| Interview | Formal interview scheduled or completed | 1–3 weeks |
| Offer | Offer extended, awaiting acceptance | 3–7 days |
| Placed / Hired | Accepted and started | Terminal |
| Rejected / Withdrawn | Closed out with reason code | Terminal |
Drag cards between columns on the kanban board, or click the stage badge on any submission row. Every move is logged with timestamp + user.
🔍 Boolean Search
Syntax
| Operator | Effect | Example |
|---|---|---|
AND | Both terms must match | python AND django |
OR | Either term matches | react OR vue |
NOT | Excludes a term | java NOT junior |
"…" | Exact phrase | "machine learning" |
(…) | Grouping | (python OR django) AND ml |
Operators are case-sensitive (always upper-case). Terms are not.
Real-world examples
# Senior Python engineer who knows ML, not a manager
(python OR pyspark) AND ("machine learning" OR "deep learning") NOT (manager OR director)
# AWS DevOps with K8s, 5+ years
aws AND kubernetes AND (terraform OR ansible) AND devops
# Healthcare RN looking for night shift
"registered nurse" AND (RN OR BSN) AND (night OR PRN) AND NOT travel
# Mid-career React dev open to remote
react AND (typescript OR javascript) AND remote NOT (intern OR junior)
Geo / radius search
The filter panel on the right side of the boolean search page includes location filters:
- ZIP code — auto-resolves to city/state
- City + State — typed manually
- Radius — 10, 25, 50, 100, 200, or 500 miles
Results sort by distance with a "X mi away" badge. Uses the Haversine formula on stored lat/lng coordinates, so it's fast even with 100k+ candidates.
Saved searches & history
Every search runs against your full company pool and is automatically saved. From Search History in the sidebar you can re-run, star, or see team-wide searches (admins only).
🔌 Integrations
Job portals
Configure portal accounts under Account → Portal Profiles:
| Portal | What we sync | Plan |
|---|---|---|
| Dice | Candidate sourcing, job posting, applicant import | Pro+ |
| Monster | Resume database access, applicant import | Pro+ |
| JobDiva | Full bi-directional candidate & submission sync | Enterprise |
| Ceipal | Bulk export/import via API | Pro+ |
Email setup (SMTP)
From Account → Email Settings (admin only):
| Field | Example |
|---|---|
| Host | smtp.sendgrid.net |
| Port | 587 (TLS) or 465 (SSL) |
| Username | apikey (SendGrid) or full email |
| Password | API key or app password |
| From email | jobs@yourcompany.com |
Tested with: SendGrid, Mailgun, Postmark, Amazon SES, Gmail (app passwords), Office 365, SMTP2GO.
⚠️ If your host blocks outbound SMTP, use an HTTP-based provider like SendGrid or Mailgun.
Billing & payments
Under Account → Billing: see current plan, upgrade (immediate proration), downgrade (end of cycle), pay with Stripe / PayPal / Razorpay, download invoice PDFs, update billing info. Custom invoicing or volume pricing: contact sales.
🛠 Troubleshooting
Resume upload fails or text is garbled
Most PDFs extract perfectly. If a specific PDF returns empty text, it's likely image-based (scanned from paper). The file uploads fine — you'll just fill the fields manually. Visit /debug.php as admin to verify your PHP environment.
Email isn't being sent
Check Account → Email Settings credentials, then send a test. If tests fail, check your SMTP provider's logs. Common causes: wrong port, wrong app password, sender domain not verified.
Boolean search returns no results
Operators must be upper-case. Try without quotes first. Check that filters aren't too restrictive.
"Plan limit reached" error
You've hit the user/job/candidate cap. Upgrade from Account → Plans.
Can't log in after password reset
Resets invalidate other active sessions. Verify the reset email is the most recent — links expire after 60 minutes.
Need more help?
Can't find what you're looking for? Search our support center or contact us.
Visit Support Contact Us