Integration

Bullhorn integration: agents that work your reqs and write submissions back

SyncTalent.ai reads requirements and candidates out of Bullhorn and writes submissions back into it through Merge.dev. Bullhorn stays the system of record and recruiters keep working in the ATS they already know; the agents work alongside it rather than asking anyone to move.

● Live in production

What Bullhorn is

Bullhorn is the applicant tracking and CRM system most US IT staffing agencies already run. It holds candidates, contacts, companies, job orders, submissions, and the activity history behind each.

SyncTalent.ai does not replace any of that and does not want to. The agents need to know which requirements are open and who is on the bench, and they need somewhere authoritative to record a submission. Bullhorn is both.

What syncs, and which direction

Bullhorn sync coverage: object, direction, and detail
ObjectDirectionDetail
Job orders / requirementsReadOpen job orders are pulled in and parsed into the canonical requirement model — skills, work authorization, tax term, rate, end client, duration.
CandidatesReadCandidate records and résumés feed the bench-first shortlist and Deep Semantic Match scoring.
Candidate work authorizationReadRead as a hard filter input. If the field is missing or ambiguous the candidate is excluded rather than assumed eligible.
SubmissionsWriteA submission created by the packaging agent is written back against the job order, so the ATS record stays complete.
Notes and activityWriteScreening outcomes and scorecard summaries are written as notes on the candidate and the submission.
Contacts and companiesReadUsed to resolve the end client on a requirement and to attribute vendor routes.

Setup

1. Authorise the connector

An admin authorises the Merge.dev link to your Bullhorn instance. Merge handles the OAuth handshake and token lifecycle; SyncTalent.ai never stores Bullhorn credentials directly.

2. Map the fields that matter

Work authorization, tax term, rate, and end client are the four fields the pipeline cannot run without. Most agencies keep at least two of them in custom fields, so this step is a short mapping conversation rather than a default.

3. Choose the sync scope

Pick which job-order statuses and which candidate segments are in scope. Starting with open reqs and the current bench keeps the first sync small and the first results legible.

4. Run read-only for a week

Write-back stays off while you compare what the agents produce against what the desk would have done. Turning write-back on is a deliberate second step, not part of onboarding.

Things worth knowing

Bullhorn remains the source of truth

Nothing is migrated. If SyncTalent.ai is switched off, the Bullhorn record is complete and unchanged in shape — submissions written by the agents look like submissions written by a recruiter.

Candidate PII stays out of logs and URLs

Records pulled from Bullhorn are handled under the same rule as everything else: no candidate PII in logs, no candidate identifiers in URLs, and every submission and consent action written to an immutable, hash-chained audit log.

Sync latency is real

A connector is not the same as living inside the record. Changes made in Bullhorn appear on our side on the connector’s polling interval, not instantly. For the work these agents do — triage, shortlist, screen, submit — that is fine, and we would rather say it than let you discover it.

Frequently asked

Does SyncTalent.ai replace Bullhorn?

No. Bullhorn stays the system of record. SyncTalent.ai reads requirements and candidates from it and writes submissions and notes back through Merge.dev.

Is this a migration?

No data is moved out of Bullhorn and nothing is re-keyed. It is a connector: read the objects the agents need, write submissions and notes back against the same records.

What if our work authorization data lives in a custom field?

That is the normal case and it is handled during field mapping at setup. If the field is missing or ambiguous on a candidate, that candidate is excluded from matching rather than assumed eligible — the filter has no permissive default.

Can we run read-only?

Yes, and we recommend starting that way. Write-back is off during the first week so you can compare agent output against your desk before anything reaches the ATS record.


Next steps

Schedule a demo and we will connect a sandbox instance and run your own open requirements through the pipeline. Read how the six agents work first if you want the shape of it before the call.

Other integrations