Bullhorn provides customization of the user experience with custom tabs, custom cards, custom actions and more. In this repo are several examples for getting started building custom apps using Novo Elements.
Sample Name | Description | Readme |
---|---|---|
1.HelloCard | The hello world of custom cards that shows the data passed from Bullhorn. | View |
2.HelloTab | The hello world of custom tabs that shows the data passed from Bullhorn. | View |
3.HelloRecordAction | The hello world of custom record actions that shows how to connect to AppBridge as an action and see the data passed from Bullhorn. | View |
4.HelloListAction | The hello world of custom list actions that shows how to connect to AppBridge as an action and see the data passed from Bullhorn, which can include multiple entities selected from the list. | View |
5.HelloMenuItem | A placeholder for the hello world of custom menu items. | View |
6.ComparisonCard | A sample card for Job records that shows the current job compared to other jobs in a scatter plot. | View |
7.ForecastCard | A sample card for Job records that shows the current job compared to other jobs in a line chart forecasting into the future. | View |
8.ScoreCard | A sample card for Job records that shows the current job's score, a contrived score that is calculated by some scoring criteria as well as an expander and a list view. | View |
9.RelatedJobsTab | A sample tab for Job records that shows all jobs in the same state in a list view with the preview slideout and open window calls to jump to another job. | View |
10.CandidateEditTab | A sample tab for Candidate records that shows an edit form for specific fields as well as custom toasts and modal dialogs. | View |
-
NodeJS - version 10
-
Host File Hack (One Time Only)
In order to dev test the custom action that is running locally from within Bullhorn (which is running at https://bullhornstaffing.com) we must run a local server with https and match the domain.
Add the following line to your host file:
127.0.0.1 localhost local.bullhornstaffing.com
- Because this repo reuses the same shared files for each example project, symlinks are used to avoid duplication. See this guide for configuring your windows machine to allow unix symlinks.
- Alternatively, you can copy/paste the files from the shared folder to a sample extension, replacing the symlinks where needed.
Each extension can be locally served for development testing.
Since we are matching the secure https://
protocol of http://bullhornstaffing.com, we need to allow Chrome to open our app.
In a new browser card, navigate to https://local.bullhornstaffing.com:4201
and when the page
"Your connection is not private" is displayed, click the "Advanced" button.
On the advanced page, click "Proceed to local.bullhornstaffing.com" to allow the browser to open the app.
You can now view your locally running custom extension from within Bullhorn. In a window outside of a Bullhorn extension, you should see a screen that looks like this, since we check to see if Bullhorn has passed in query parameters to the extension.
To integrate the custom card on any record, login to www.bullhornstaffing.com as an admin user and go to Main Menu -> View Layout.
For non Novo enabled users, it looks like this:
For Novo enabled users, it looks like this:
On the View Layout screen, select your entity of choice, then select your custom extension type of choice and click the Add New button.
Here is what it looks like for Custom Cards:
Here is what it looks like for Custom Tabs:
Select "Add New" and fill in the following details for a Custom Card:
Title: Custom Card Dev (can be any name you like)
URL: https://local.bullhornstaffing.com:4201
User Types: (Novo Only) Include all user types that should have access to this card.
Or for a Custom Tab:
For Custom Tabs Only: you may need to create an individual custom tab for each track (ex: Job 1 - Job V) in order to get the custom tab to show up on different entity tracks.
For more information on adding custom tabs and menu actions, see the guide here.
If using firebase, then the package.json
deploy script is a handy way to build and deploy to firebase hosting in a single step.
In order to do this, firebase hosting must first be setup for this project, by Creating A Firebase Project.
npm run deploy
In order to enable customers to use your new extension, follow the same steps to add a new custom extension for a customer's instance of Bullhorn, and change the URL to the location of the deployed web app.