ATS IntegrationGreenhouseZoho RecruitAI Recruiting

Bidirectional ATS Sync: Keep Your ATS, Add an AI Layer

You don't have to rip out Greenhouse or Zoho Recruit to use AI. 100Networks syncs both ways — your ATS stays the system of record while Pilot screens, interviews, and writes verdicts back.

Aryan Vasishta· Co-founder, 100Networks··2 min read

You don't have to replace your ATS to add AI to hiring. 100Networks runs bidirectional sync with Zoho Recruit and Greenhouse: it pulls your jobs and candidates, runs AI screening and interviews, and pushes the verdicts back into your ATS — which stays the system of record. No migration, no parallel database your recruiters have to remember to check.

This matters because the #1 reason teams stall on adopting AI hiring tools is the fear of a rip-and-replace. Bidirectional sync removes that fear entirely.

What "bidirectional" actually means

Plenty of tools claim an "integration" that's really a one-way export. Bidirectional means data flows both directions:

  • In: 100Networks pulls your open jobs and incoming candidates from the ATS.
  • Work: Pilot screens resumes, runs AI interviews, grades take-homes, and scores each candidate.
  • Out: the verdict is written back into the ATS, onto the candidate record your recruiters already work in.

So your ATS is never stale, and nobody has to babysit two systems.

How it works per ATS

Zoho Recruit Greenhouse
Auth OAuth 2.0, multi-region Harvest API
What syncs in Jobs + candidates Jobs + candidates
Where the verdict lands Written back as custom fields Written back as activity-feed notes
Real-time updates Webhooks (HMAC-verified) Webhooks (HMAC-verified)

The webhooks are HMAC-SHA256 verified, so the sync is secure — your ATS only accepts updates that are cryptographically proven to come from 100Networks.

More integrations — Lever, Ashby, Keka, BambooHR, and Workable — are on the roadmap.

Why "system of record" matters

When you bolt an AI tool onto hiring, you create a risk: two sources of truth that drift apart. Bidirectional sync is specifically designed to prevent that. Your ATS stays canonical. 100Networks is a layer on top — it does the screening, interviewing, and automation work, then reports back. If you ever turned 100Networks off, your ATS would still have every candidate, every stage, and every AI score it wrote.

That's a very different proposition from "migrate everything to our platform."

What this unlocks

  • Adopt AI without a migration project. Connect the integration, point Pilot at a role, and the results appear on your existing candidate records.
  • Your recruiters keep their workflow. They don't learn a new ATS — the AI screen and interview scores show up where they already look.
  • Compliance and reporting stay intact. Your ATS remains the audit trail.

It's the same philosophy as the rest of 100Networks: do the heavy lifting with AI, keep a human (and your existing system) in control. See how it fits with Pilot and AI interviews, or compare the approach to a traditional ATS like Greenhouse.

Frequently asked questions

What does bidirectional ATS sync mean?
It means data flows both ways. 100Networks pulls your jobs and candidates from your ATS, runs AI screening and interviews, and pushes the results back into the ATS — so your existing system stays current and remains the source of truth.
Which ATSes does 100Networks integrate with?
Zoho Recruit (OAuth 2.0, multi-region) and Greenhouse (via the Harvest API) today, with Lever, Ashby, Keka, BambooHR, and Workable on the roadmap.
Where do the AI results show up in my ATS?
The 100Networks verdict is written back as custom fields in Zoho Recruit and as activity-feed notes in Greenhouse, so your recruiters see the AI screen and interview scores right on the candidate record they already use.
Do I have to switch ATSes to use 100Networks?
No. That's the point of bidirectional sync — your ATS stays the system of record. 100Networks adds an AI screening, interview, and automation layer on top without forcing a migration.
    Bidirectional ATS Sync: Keep Your ATS, Add an AI Layer — 100Networks Blog