Amplify Verify Snippet Integration Guide
Amplify Verify is currently in Early Access. For more information, speak to your Bullhorn representative.
The Amplify Verify JavaScript snippet enables Amplify Verify to collect behavioral and session-level data from candidates as they complete a job application on your website. Installing the snippet on your job application website is the recommended way to get full signal coverage from Amplify Verify, including bot detection, human interaction patterns, and application velocity.
The snippet works by establishing a session in the background when a candidate loads your application page, then passing a session ID to Bullhorn when they submit. No personally identifying information is collected.
Before installing the snippet, make sure your organization's privacy policy reflects that non-identifiable data is collected during the application process and may be used for fraud detection purposes.
Prerequisites
Before you begin, you will need:
-
Your Bullhorn Corporation ID (customerId) or Corporation Token (corpToken)
-
Access to your job application website's source code
-
The Amplify Verify snippet URL provided by your Bullhorn integration team
If your job application website uses the Bullhorn Open Source Career Portal (OSCP), the Amplify Verify snippet is already included in the OSCP codebase as of April 2026. Pull the latest code from GitHub and no further installation steps are required.
Step 1: Import the Snippet
Import the Amplify Verify snippet like any standard JavaScript file. Add the <script> tag to the <head> or the bottom of the <body> on your job application page:
<script src="https://trust-snippet.bullhornstaffing.com/trust-snippet.min.js"></script>
Step 2: Start a Trust Session
Once the snippet is loaded, initialize a trust session by calling window.Trust.start(). Call this as early as possible when the page loads — ideally on DOMContentLoaded — so the session is established before the candidate submits.
window.Trust?.start({
candidateId: "123", // Optional: Bullhorn candidate ID (if available)
customerId: "8035" // Required: Bullhorn corporation ID
});Parameters
Parameter | Required? | Description |
|---|---|---|
or
| Required | Your Bullhorn Corporation ID or corpToken. One of these is required. This links the trust session to your Bullhorn account. |
| Optional | The Bullhorn Candidate ID, if known. In most application flows this won't be available since the candidate is not yet identified. |
Step 3: Send the Trust Session ID on Apply
When the candidate submits their application, include the trust session ID as a query parameter (trustSessionId) in your call to the Bullhorn REST Public Apply endpoint or authenticated REST API call:
const trustSessionId = window.Trust?.sessionId ?? "";
// Append trustSessionId as a query parameter on your apply request
const applyUrl = `/apply/<jobOrderId>/raw?trustSessionId=${trustSessionId}`;Always use optional chaining (?.) when accessing sessionId to gracefully handle cases where the snippet has not yet fully initialized.
Complete Integration Example
The following shows all three steps combined in a typical job application page:
<!-- 1. Import the snippet -->
<script src="https://trust-snippet.bullhornstaffing.com/trust-snippet.min.js"></script>
<script>
// 2. Start the trust session on page load
document.addEventListener('DOMContentLoaded', function () {
window.Trust?.start({
customerId: "8035" // Your Bullhorn corp ID
});
});
// 3. Include the session ID when the candidate submits
async function submitApplication(applicationData) {
const trustSessionId = window.Trust?.sessionId ?? "";
const applyUrl = `https://<your-rest-url>/apply/<jobOrderId>/raw
?trustSessionId=${trustSessionId}`;
await fetch(applyUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(applicationData)
});
}
</script>FAQ
When should I call start()?
Call start() as early as possible when the application page loads — not at submission time. This gives Amplify Verify enough time to establish a valid session and collect browser data before the candidate submits. Hooking into DOMContentLoaded is a reliable pattern.
What if the candidate ID isn't available?
The candidateId parameter is optional and can be omitted in most job application flows. Only include it if the Bullhorn Candidate ID is otherwise known at page load time.
What if sessionId is undefined?
window.Trust?.sessionId is null until the session has been established - i.e. until the Promise returned by start() resolves. Seeing null/undefined usually just means start() hasn't finished yet (or hasn't been called). The ?? "" fallback sends an empty trustSessionId, so the application proceeds without trust correlation.
If you would rather capture the ID directly than read Trust.sessionId later, start() resolves to it:
const sessionId = await window.Trust.start({ customerId: "8035" });If sessionId stays undefined indefinitely, the snippet may have failed to load - check the snippet URL is correct and the <script> tag is present.
Does this affect non-Bullhorn Apply flows?
The Amplify Verify snippet only applies to applications submitted via the Bullhorn REST Public Apply or specific authenticated REST API endpoints. It does not affect other application flows or third-party ATS integrations.
Which REST endpoints (authenticated) will the snippet work for?
For authenticated REST API calls to Bullhorn (using the oAuth method with clientId and clientSecret). The API endpoints that support the trustSessionId parameter being sent are:
PUT/POST{{resturl}}/entity/JobSubmissionPUT/POST{{resturl}}/entity/Candidate
We use the OSCP (Open Source Career Portal), do we need to do anything special?
The Amplify Verify snippet is included (as of April 2026) in the OSCP codebase by default. You will need to pull the latest code from github (https://github.com/bullhorn/career-portal). Once you have the latest code pulled, the trust platform snippet will be automatically included and initiated without any other steps necessary from your end.
Support
For questions or issues with this integration, contact your Bullhorn Product Representative.