Bullhorn icon

Bullhorn

Interact with Bullhorn CRM API

Placement → Create

AI-generated

Summary

Creates a placement in Bullhorn CRM. If a placement with the same candidate and jobOrder already exists (even if soft-deleted), the node restores and updates it before creating a new record, avoiding IMPROPERLY_STRUCTURED_ASSOCIATION errors.

Inputs

  • candidate (required) — Candidate ID (number). Required field for create operation.
  • jobOrder (required) — Job Order ID (number). Required field for create operation.
  • status (required) — Status (string). Required field for create operation. Defaults to 'Placed'.
  • dateBegin (required) — Date Begin (dateTime). Required field for create operation. Represents the start date of the placement.
  • payRate (required) — Pay Rate (number). Required field for create operation. Hourly or unit pay rate.
  • clientBillRate (required) — Client Bill Rate (number). Required field for create operation.
  • dateEnd — Date End (dateTime). Optional field. End date of the placement.
  • salary — Salary (number). Optional field.
  • salaryUnit — Salary Unit (string). Optional field. e.g. 'Per Year', 'Per Hour'.
  • fee — Fee (number). Optional field.
  • jobSubmission — Job Submission ID (number). Optional field.
  • additionalFields — Additional Fields (collection, placeholder 'Add Field'). Optional. Contains optional fields: dateEnd, salary, salaryUnit, fee, jobSubmission, customFields (json).
  • customFieldValues — Custom Fields (fixedCollection, multipleValues). Optional. Set custom fields by their display name; only shows fields with user-assigned labels. Each entry has a fieldName (loaded via getCustomFields) and a fieldValue (string, auto-coerced to number if numeric).

Output shape

The created or restored placement entity data as returned by the Bullhorn API (PUT to entity/Placement). Includes all written fields and system-generated metadata.

On conflict (existing candidate+jobOrder pair), the node first checks for an active (non-deleted) record and updates it; if only a deleted record exists, it restores and updates that; otherwise, a new record is created.

Examples

Example 1: Create a new placement

Set candidate=123, jobOrder=456, status='Placed', dateBegin='2024-01-15', payRate=25, clientBillRate=50. Leave other optional fields at defaults.

Links

Discussion