How do I connect Bullhorn to Ascen?
Last updated: November 10, 2026
Applies to: Staffing partners who use Bullhorn as their applicant tracking system (ATS).
Summary: Connect Bullhorn from the Integrations page with a dedicated Bullhorn API user. After that, each approved contract placement becomes an assignment in Ascen on its own, and your recruiters see the Ascen status, what is still needed and each milestone on the placement in Bullhorn.
What the integration does
From Bullhorn to Ascen: an approved contract placement becomes an assignment, with its client, worker, job, work location, pay and bill rates, overtime rates, timesheet approvers, billing contact, purchase order and commission users. Later changes to the placement update the assignment. Placements that are still submitted are checked early, so gaps are flagged before the start date.
From Ascen to Bullhorn: the placement shows the Ascen status, what Ascen still needs, onboarding progress and the Ascen assignment ID, and gets a note at each milestone. When an assignment ends in Ascen, the placement is set to Completed (or Terminated), and rate and date changes made in Ascen are written back. You can turn the write back off.
Before you start
A dedicated Bullhorn API user. Ask your Bullhorn admin or Bullhorn Support for an API user just for Ascen. Don't use a recruiter's own login. The user needs read access to placements, candidates, client corporations, client contacts, job orders and workers' compensation, update access to placements (and to candidates, if you pick candidate fields for Ascen to fill in), permission to add notes, and access to event subscriptions.
You don't need your own OAuth client ID. All you enter is the API user's username and password. If Bullhorn issued your company its own client ID and secret, you can enter those instead.
Your role: the Integrations page is in the menu under your name for account Owners. Owners and Managers can change the Bullhorn settings.
How to connect Bullhorn
Open the menu under your name, choose Integrations, and click Connect on the Bullhorn card. The Bullhorn page opens on its Settings tab.
Enter the API username and API password of your Bullhorn API user.
Click Save and connect. The page shows Connected and opens the Integration log tab.
Back on Settings, which now shows the rest of the settings, set a Default workers comp code (and, if you keep codes in a custom Bullhorn field, pick it as the Workers comp code field). Check which placements come to Ascen (your statuses and contract employment types), and pick the Bullhorn fields Ascen should keep up to date, such as Ascen status and what Ascen needs. Fields are listed with your own Bullhorn labels. Click Save; leave the password blank to keep the saved one.
Which placements become assignments
A placement becomes an assignment when all of these are true:
Its employment type is one of your contract types (by default Contract and Contract To Hire). Direct hire placements are skipped.
Its status is one of the statuses that create an assignment (by default Approved), and, if you use a "Send to Ascen" field, that field says Yes.
It has a pay rate, a bill rate at least equal to the pay rate, and a start date. Per Hour pay works as is. Per Day works only if you turn on Convert day rates to hourly. Per Year works only if salaried assignments are enabled for your account.
The candidate has an email address that nobody else in Ascen uses. Their onboarding invite goes there.
The job has a title and is linked to a client company.
Ascen looks for records that already exist before creating new ones, so the same client, worker or job is not added twice. New assignments are sent to Ascen for approval, just like ones you create yourself.
Workers' comp code: Ascen uses the first of these that is set: the code from Bullhorn's workers' compensation rates on the placement or job, the custom field you picked, your default code in the Bullhorn settings, and last the client's default code.
What the Ascen status on a placement means
Ascen status | What it means |
|---|---|
Needs info | Something is missing or wrong. The note and the "what Ascen needs" field say exactly what to fix in Bullhorn. |
Ready for Ascen | A submitted placement has everything Ascen needs. It is sent as soon as it is approved. |
Pending approval | The assignment was created and is waiting for Ascen to approve it. |
Onboarding | Approved. The worker has been invited and is completing onboarding. |
Ready to start | Onboarding is done and the start date is still ahead. |
Active | The worker is working through Ascen. |
Ended | The assignment has ended in Ascen. |
Denied | The assignment was not approved. Your Ascen team will be in touch about why. |
When an approved placement can't become an assignment, Owners and Managers on your account also get an email listing what to fix. Fix it in Bullhorn and Ascen picks it up again on its own, or import it right away from the Import tab.
If a placement is held for review
If the candidate may already be one of your workers in Ascen (same email address, or same first and last name), the placement is held instead of creating a second worker, and Owners and Managers on your account get an email titled "Bullhorn placement held for review". On the Bullhorn page's Import tab, choose Link to existing to attach it to the worker (and, if you like, one of their assignments), or Create anyway. Nothing is created until you choose.
Placements made before you connected
On the Import tab, click Find placements to list active contract placements that aren't in Ascen yet. Each one says whether it is ready or what to fix first, and the ready ones are selected for you: click Import selected. To check one placement, enter its Bullhorn placement ID and click Preview to see what Ascen would create, without changing anything.
Watching the sync
The Integration log tab lists every record exchanged with Bullhorn, newest first, with its result (success, skipped or failed), the reason and a link to the assignment. Ascen checks Bullhorn for changes regularly; click Sync now if you don't want to wait. Records created from Bullhorn show their Bullhorn ID in Ascen, for example the Bullhorn Placement ID on the assignment.
Troubleshooting
You see | What to do |
|---|---|
"Unable to log in to Bullhorn" when connecting | Check the API user's username and password, and that the user isn't locked. If you entered your own client ID, check it and its secret. |
A placement doesn't appear | Check that it's an approved contract placement with a supported pay unit, then click Sync now. Look for its ID in the integration log: a skipped row says why. |
"Day rates aren't supported yet" | Turn on Convert day rates to hourly in Settings, or change the pay unit to Per Hour. |
A commission user is missing | The recruiter's Bullhorn email must match a user on your Ascen team, and the commission's Bullhorn role must be mapped under Commission splits. |
An email saying "Bullhorn is disconnected from Ascen" | Bullhorn no longer accepts the API user's login, for example after a password change. Enter the API user's current password on the Settings tab and save. Nothing syncs until you do. |
Need help?
Email Ascen at support@ascen.com with the Bullhorn placement ID and what you see in the integration log.