How Calendly flags 30% of risky applicants before opening a resume

The problem
Recruiters were screening candidates who couldn't be hired
Calendly hires exclusively within the US. But at high volume, applicants were claiming US residency while applying from overseas, often behind VPNs and proxies, and it was nearly impossible to catch early.
Recruiters would read resumes, schedule first and sometimes second interviews, only to discover a location mismatch near offer stage. All that time: wasted.
"At our volume, recruiters were spending real time reading resumes and scheduling interviews, sometimes multiple rounds, before realizing the location didn't check out."
-- Alex Ngundji, Recruiting Ops / Systems Lead, Calendly
With spikes of up to 14,000 applicants in a single month and roughly 900 new applications in 24-48 hours from a single job posting, the problem wasn't theoretical. It was bleeding hours every day.
Why Abstract
One platform instead of stitching vendors together
Alex's team initially found IPQS through a Google search, but the pricing at their expected volume was too high. They also expected Greenhouse, their ATS, to expose geolocation data via API. It didn't.
When they found Abstract, they came for IP geolocation. What they got was more.
"We came for geolocation, but then realized Abstract also gave us phone and email: everything in one."
-- Alex Ngundji
Abstract gave them three signals in a single integration. That expanded the solution beyond location alone, without needing to stitch together multiple vendors.
What mattered in the decision
- Accuracy: must correctly identify risky candidates
- Value for money: pricing that works at 14,000 applicants/month
- Support: hands-on demos, walkthroughs, and onboarding help
- Bundled coverage: IP + phone + email risk in one place
How they built it
Three signals, one risk score
Alex's team triggers a Workato workflow every time someone applies in Greenhouse. The workflow captures four data points from the application:
- IP address
- Email address
- Phone number
- Self-declared location
All three identifiers are sent to Abstract. Each comes back with its own risk signal:
- IP Intelligence returns geolocation and proxy/VPN detection, revealing whether the candidate's actual location matches what they claimed
- Phone Validation flags VoIP numbers and other higher-risk phone characteristics
- Email Reputation returns a numeric risk score based on the email address's traffic reputation
A custom scoring layer then compares Abstract's signals against the candidate's self-declared location and outputs a single category: High risk, Moderate, or No risk.
"Is the email address within a special threshold? Is the location accurate? Are they using a VPN? All of that gives us a score."
-- Alex Ngundji
Where recruiters see it
The risk score shows up in two places:
- A private note in the Greenhouse candidate profile, visible only to the assigned recruiter
- A Slack notification with the risk category and a direct link to the candidate's Greenhouse profile
Recruiters see the signal before they open a resume. A Slack message tells them: this candidate came in, here's their risk level, click this link to see why.
"Via Slack, they can tell: this is high, this is low, maybe I should talk to this person."
-- Alex Ngundji
No auto-rejection (yet)
The team deliberately keeps recruiter discretion in the loop. Someone flagged as high risk could be traveling. The score informs the decision; it doesn't make it.
That said, some recruiters have started asking for auto-rejection on strictly US-only roles where company policy is clear. Alex is building that as a selective option for phase 2.
The result
Recruiters focus on candidates who can actually be hired
With Abstract running in their Workato pipeline, risk scores surface before a recruiter ever opens a resume. The signal is immediate, visible in Greenhouse and in Slack, and it's changed how the team operates.
MetricImpactTime saved~3 hours/day recovered from manual investigationCandidates flagged20-30% flagged as moderate/high risk in high-volume streamsScale handled14,000 applicants in December; 900 in 48 hours from a single posting
Trey, the recruiting manager who co-built the workflow with Alex, has been vocal about the impact internally. At a recent conference, he couldn't stop talking about it.
"Trey was very excited. He can't stop saying great things about it."
-- Alex Ngundji
What would have happened without it
Without the risk layer, recruiters would have to go through every application one by one. Read the resume. Schedule a first interview. Maybe a second. Only then discover the candidate isn't eligible.
At 900 applications in two days from a single posting, that's not a screening process. That's a time sink.
What's next
Phase 2: routing clean candidates into resume screening
Alex is building a resume keyword-matching workflow on top of the risk layer. The idea: only pass candidates categorized as "No risk" into a shortlist pipeline, then match them against job description keywords so recruiters see the most qualified, eligible candidates first.
"I'm going to tie the resume builder into the candidate risk detection, so only candidates that are no risk get passed into the resume builder."
-- Alex Ngundji
The team is also exploring selective auto-rejection for roles where US-only policy is strict, removing the manual step entirely for clear-cut cases.

