Skip to main content
Use the @bijection/connectors/bullhorn entrypoint to declare Bullhorn resources.

Availability

This page describes the pinned source package. Published availability is unestablished for this artifact. Source build and package availability.

Resources and modes

Declare a resource in application code, then bind deployment-specific settings and credentials. See typed resources, connections and source inspection.

Entities

pull: dateLastModified keyset with a carried position, isDeleted withdrawal

The following example matches configuration standard.

Configuration: standard

Case: bullhorn/records/pull/standard. Connection and resource configuration are declared by this exact case. Credential kind: bullhorn. Keep credential material in the private credential inventory.
Native admission analysis is available for this exact declaration. Collection: records
Recorded checks Hosted qualification: unestablished for this catalog configuration. Installed connections report their own identity, authority and current status.

Event subscription

consume: Destructive event reads recovered by requestId

The following example matches configuration standard.

Configuration: standard

Case: bullhorn/events/consume/standard. Connection and resource configuration are declared by this exact case. Credential kind: bullhorn. Keep credential material in the private credential inventory.
Native admission analysis is available for this exact declaration. Collection: events
Recorded checks Hosted qualification: unestablished for this catalog configuration. Installed connections report their own identity, authority and current status.

Provider guidance

Compiled declaration examples and configuration details are published in the connector reference. Setup restUrl is the corporation’s REST URL, which the login answer names. The credential is a managed oauth_refresh envelope whose token protocol logs each refreshed access token in (POST /rest-services/login?version=2.0 &access_token=) and presents the answered BhRestToken in the BhRestToken header. The host refuses a login answer whose restUrl is not the connection’s base URL, and on a rejected session renews once. Bullhorn’s token endpoint takes its fields in the query, and its refresh tokens rotate on every use:
Bullhorn states no session lifetime; lifetime_seconds is how long the host reuses one session, and Bullhorn limits login rates, so it should not be short. records.pull reads query/<Entity> with where=dateLastModified>=<millis> ordered by dateLastModified. dateLastModified is an epoch-millisecond JSON integer: it is the record version (its decimal text), and each page resumes from the largest stamp the previous page returned, which the host derives. Boundary rows are re-read and deduplicate; more rows in one millisecond than a page holds fail the pass. A finished pass carries the largest stamp and the next starts five minutes before it. isDeleted: true withdraws a record, so the entity must have isDeleted. Search entities (Candidate, ClientContact, ClientCorporation, JobOrder, Lead, Note, Opportunity, Placement, Task) are refused: query does not serve them and search’s date-range syntax is not documented. No account identity and no write (updates document no precondition). events.consume reads one event subscription the operator created (PUT event/subscription/&#123;id&#125;; setup subscriptionId), each event a record keyed by its eventId with its entity, event type, timestamp, updated properties and the acting person. A read purges what it returns, and only a re-read by requestId returns a batch again, so every page first asks lastRequestId: a batch issued after the last committed one was read and lost before its page committed, and is re-read by id; only when the two agree is a new batch consumed (100 events at most). The committed requestId is carried from pass to pass, so a crash between Bullhorn’s answer and the commit loses nothing within Bullhorn’s re-read retention, which Bullhorn does not state. A lastRequestId behind the committed one means the subscription was recreated, and the pass fails. Two readers of one subscription consume each other’s events. What Bullhorn answers for an empty queue is not documented; a non-JSON answer fails the pass. Events refresh no entity record. Nothing here has run against Bullhorn.

Provider references

Provider references and prerequisites are maintained in the connector guidance above. No separate provider-documentation review date is recorded.

Source and evidence

Canonical connector source, native analysis and check receipts. Connector artifact: 905888ea276a2a28e36981a79e8142b2547ea451c3e63162cb6915ad4a7d1305. The resource declaration examples above are compiled and compared with exact catalog declarations. Recorded checks apply only to their source, declaration and runtime identities. Configure a connection and inspect its status to establish deployment-specific readiness.