Bullhorn

Early Access: This integration is provided as an Open Authorization API (OAA) connector package. Contact our support team for more information.

Bullhorn Connector for Veza

The Veza connector for Bullhorn enables users to import Bullhorn User entitlements into Veza. Users are imported along with the entitlements summary to show the Bullhorn User Type for each user and the permissions that the user type is entitled to.

Application Mappings

The Bullhorn connector uses the OAA Custom Application model. The following table shows how Veza Custom Application entities correspond to Bullhorn entities.

BullhornVeza

Instance

Application

User

Local User

User Type

Local Role

Entitlement

Permission

Properties

The following entity properties are imported:

EntityPropertyDescription

User

primary id

User's login

User

is_active

Boolean if User is active

User

email

Primary email configured for user

User

additional_emails

List of any additional emails configured

User

user_id

Bullhorn unique user ID

User

master_user_id

Bullhorn master user ID

User

title

User's title configured in Bullhorn

User

primary_department

User's primary department

User

additional_departments

List of any additional departments

User

user_type

String of User's type

Running the Importer

Bullhorn does not currently provide the necessary API endpoints to extract the authorization information programmatically. Identity and authorization information is imported through CSV data that can be collected from Bullhorn.

The importer takes in a parameter --name, this name will appear in the name of the Application entity in Veza as Bullhorn - {name} and will be used for the Veza data source name. The name must remain consistent for subsequent imports. After the initial run, if --name does not match a previously used name the importer will stop. To create new instances run with --create once to create the new data source.

Bullhorn

  1. Export the User list from Bullhorn and convert to CSV file. The exported data should include the following required headers. Additional columns are ignored:

Master UserID,UserID,Login Name,First Name,Last Name,Email,Additional Email Addresses,Title,Enabled?,UserType,Primary Department,Additional Departments
  1. Request an export of the User Type entitlements from Bullhorn support. The provided data should be converted to CSV if not already in CSV format. Expected format is Entitlements as rows and User Types as columns with Type and Entitlement columns.

Veza

  1. Generate a Veza user API key by navigating to Administration -> API Keys. Choose Add New. Give the key a name and copy the token, which will only be shown once.

Running the Connector

Command Line

  1. Install the requirements:

    pip3 install -r requirements.txt
  2. Set the secrets:

    export VEZA_API_KEY="ZXldTcj...JCWGU3Qlo1OHR3RTBfc00yN3lfSFk="
  3. Run the connector:

    ./oaa_bullhorn.py --veza-url https://<your-org>.vezacloud.com --users <user_export.csv> --entitlements <entitlements_export.csv> --name "Prod"

Parameters

CLI ParameterEnvironment VariableDescription

--veza-url

VEZA_URL

URL of Veza system

VEZA_API_KEY

API key for Veza connection

-u/--users

Path to user list export CSV file

-e/``--entitlements

Path to user type entitlements export CSV file

-n/--name

Name of Bullhorn instance for managing multiple instances

--create

Create new datasource for name if doesn't already exist

--debug

Enable verbose debug output

--save-json

Save OAA Payload as local JSON file before upload

Last updated