Off Limits Policies: Job Role
Overview
When a Job A job (vacancy, position, role) is an opening for which a customer's client needs a placement. Role A job (vacancy, position, role) is an opening for which a customer's client needs a placement. Policy is created, the selected Job Role becomes Off Limits. This means that if a is assigned that Job Role, an Off Limit Line Item (or badge) is created and the is tagged as Off Limits. This article covers how to configure a Job Role so it displays the Off Limit line item (or badge) as well as other important information for this Off Limits policy.
The topics in this article are as follows:
- Creating an Off Limit Job Role Policy
- Configuration
- Executive and Non-Executive Jobs
- Use Cases
- Off Limit Recalculation Global Method
Contacts A contact (or client contact) is the person who the recruiter is working with at a Company. In Talent Rover a Contact can be either a Client Contact or a Candidate Contact. Both types of Contacts are stored in the same object (Contact). assigned to the Job Role prior to activation are not impacted by new Off Limit Line Item creation. See Off Limit Recalculation Global Method to bypass this logic using an API API, or Application Programming Interface, is used by customers to create custom career portals or to take advantage of Data Mirror/DataMart. Bullhorn prefers to use REST API..
Creating an Off Limit Job Role Policy
There are two scenarios where Contacts are NOT considered Off Limits even if they meet the criteria of an Off Limit Job Role Policy:
-
When Contacts become Off Limits because of a Job Role Policy, they become Off Limits for all jobs A job (vacancy, position, role) is an opening for which a customer's client needs a placement. except the current Job where they are assigned a Job Role.
- Jobs marked as "Non-Executive Search Jobs" are excluded from Off Limits logic.
Narrowing Down the Job Role Policy Criteria
Users have the option of narrowing down the Job Role policy criteria by configuring a Job Status and a Job Record Type in the Off Limit Job Role Policy.
The Job Status field and Job Record Type field on a Job Role Policy record function like filters for the policy that is being configured. Changing the value of these fields does not trigger any recalculation. Some examples of this are as follows:
- Job Role Policy is created with Job Role = Jury Member: Any on any Job assigned the Jury Member Job Role becomes Off Limits.
- Job Role Policy is created with Job Role = Jury Member and Job Status = Open: Any on any Open Job assigned the Jury Member Job Role becomes Off Limits.
- Job Role Policy is created with Job Role = Jury Member, Job Status = Open and Job Record Type = Permanent: Any on any open Permanent Job assigned the Jury Member Job Role becomes Off Limits.
Choosing the Duration
The Duration field on an Job Role Policy determines the period of time that a
remains Off Limits because of the policy.Leaving Duration blank is not supported.
The Duration (expressed in number of days) entered on the policy record is used by
to determine the Off Limit Line Item’s Duration (how long the will be Off Limits):- The Start Date is the date when the is moved to the relevant stage and the Off Limit Line Item is created.
- The End Date is calculated by adding Start Date + Duration.
There are a number of events that can take place before the Duration expires that can affect the enforcement of the Off Limits attribute:
- The is moved to a different Job Role.
- The Job is closed.
- The Job is closed for a specific Closed Reason.
For those scenarios options can be configured at policy level to let the user decide on the Duration Behavior when a Off Limit Policy Extension.
is moved to a different Job Role before the Duration is expired. A second layer of configuration can be used to control what happens to the Off Limits constraint when the Job is closed or closed with a specific Closed Reason before the Duration has expired. For more details, see the sectionA
is Moved Off the Job Role before Duration ExpiresTo decide what happens to the Off Limit Line Item in this scenario, you can choose one of the following options when creating the policy:
- Do Nothing: Off Limits duration runs its course regardless of the change of Job Role.
- Disable: Off Limit Line Item is disabled the moment the is assigned a different Job Role. The Off Limit Line Item’s end date is populated with the date of Job Role change.
- Update: An extension, for a set amount of days, is added to the duration set on the policy. After selecting this option, users need to enter a value in the Additional Days on Role Update field. This is effectively the new duration. The event looks like this:
Configuration
When a Job Role Policy is created and marked as active or deactivated, only future Job Roles A job (vacancy, position, role) is an opening for which a customer's client needs a placement. assignments will be considered for Off Limit line item creation.
General
Field Name | API Name | Field Type | Description | Supports Updates? |
---|---|---|---|---|
Description | TR1__Description__c | Text(255) | General description of the policy | Yes |
Rank | TR1__Rank__c | Number(4, 0) | The value in this field determines the order/priority of enforced policies | Yes |
Reason | TR1__Reason__c | Text(255) | The name/short description of this policy. Important: please note that this field is required at database level and must always be populated. If not, even when removed from the layout, users will not be able to save the policy. The value in this field is shown in the Off Limits warning/block ‘popup’ to inform users why the Contact they selected is Off Limit | Yes |
Legal Reason | TR1__Legal_Reason__c | Text(255) | Legal reason for enforcing this policy, if relevant | Yes |
Type | TR1__Type__c | Picklist |
The behavior enforced at ‘checkpoints’ when an Off Limits Contact is selected for some actions. The options are:
|
Yes. If the value is changed on an existing policy, the change is only propagated to Line Items created afterwards. |
Active | TR1__Active__c | Checkbox |
Flag that shows if the policy is active. If unchecked, the policy and all related Off Limits line items are disabled. |
Yes |
Job Role | TR1__Job_Role__c | Text(255) | Job Role that, if assigned to a Contact, renders them Off Limits. | No |
Job Record Type | TR1__Job_Record_Type__c | Text(255) | Job Record Type that the Job Role policy applies to. | No |
Job Status | TR1__Job_Status__c | Text(255) | Job Status Type that the Job Role policy applies to. | No |
Duration | TR1__Duration__c | Number(18, 0) | This field determines the period of time that Contacts remain Off Limits when a policy applies to them. | Yes |
Behavior on Role Change | TR1__Behavior_on_Role_change__c | Picklist |
For Job Role Policies only. The value chosen in the picklist determines what happens to the Line Item Duration when a Contact is assigned a different Job Role. These are the OOTB values:
|
No |
Additional Days on Role Update | TR1__Additional_Days_on_Role_Update__c | Number(18, 0) | Days added to Off Limit Duration after triggering the update behavior on Job Role change. The ‘clock’ starts on the Job Role change date, so effectively the value in this field is the ‘new’ Duration. | Yes |
Disable Off Limits On Policy Disable | N/A | Checkbox | Unselected out of the box: the default behavior is that when a Job Role Policy is disabled, all active related Off Limit line items remain enabled until their Duration expires. Select this checkbox if you want all active Off Limit line items to be disabled when the related Job Role Policy is disabled. | Yes |
Off Limit Policy Extension
As mentioned, further configuration can be added to control what happens to the Off Limits constraint when the Job is closed or closed with a specific Closed Reason before the Duration has expired.
If no ‘Off Limit Policy Extension’ record is configured and linked to a Job Role policy, the ‘Duration’ of the Off Limit Job Role Policy and related Line Items is decided exclusively by what’s configured on the policy. The configuration of an Off Limit Policy Extension record determines the following:
-
What Job Changes (Job Fields updates) can trigger a change of Duration:
-
Job Status change
-
Closed Reason change
-
-
What happens to Off Limit Line Items ‘Duration’ when we register such a change
-
Do Nothing: Off limits duration runs its course regardless of the change of Job Status/Closed Reason
-
Disable: Off Limit Line Items are disabled the moment BH4SF registers a change of Job Status/Closed Reason
-
Update: An extension (in a set amount of days) is added to the Duration set for the Off Limit Line Item.
-
If selecting this option, users need to enter a value in the Additional Days field. This is effectively the new duration (Start Date is the date when the change is registered. End Date= new Start Date + value entered in Additional Days field).
-
-
Here are a list of fields for the Off Limit Policy Extension object:
Executive and Non-Executive Jobs
The Off Limits logic does not apply to non-executive jobs. Actions performed with
s assigned Job Roles for a non-executive job will not trigger any Off Limits functionality.Through configuration, it is possible to ensure that BH4SF recognizes non-executive Search jobs and ignores any Off Limits constraints for
s and Candidates associated with such jobs.Recruiting agencies specializing in executive searches may also routinely deal with non-executive jobs. Both types of Job records may be present in the same Org. The Off-Limits logic will not apply to the non-executive jobs, unless it is specially configured.
Use Cases
Conditions Met | Situation | Outcome |
---|---|---|
|
C is assigned Job Role X. | C becomes Off Limit for “N“ Days starting from when they are assigned Job Role X. |
|
C is assigned Job Role Y for same Job. | C is no longer Off Limits because Behavior on Role Change = "Disable". |
|
C is assigned Job Role X | C becomes Off Limit for "N" Days starting from when they are assigned Job Role X. |
|
C is assigned different Job Role for same Job. | C remains Off Limits and the Duration becomes "N1". |
|
C is assigned Job Role X. | C becomes Off Limit for "N" Days starting from when they are assigned Job Role X. |
|
C is assigned different Job Role for same Job. | C remains Off Limits till Duration ends. |
|
“C“ is moved from Job Role "X" to Job Role "Y" (for same Job) after five days. |
|
|
C Job Role is changed from Job Role "Y" to Job Role "X" after give days and they are now again affected by the Job Role Policy for Job Role X. |
|
|
C Job Role is changed again: from Job Role "X" to Job Role "Z" (of same Job) after five days. |
|
Off Limit Recalculation Global Method
OffLimitRecalculator is a global apex class with a global method that makes it possible to run Off Limit recalculations for given
records or for given Off Limit ATS Stage Policy records/Off Limit Job Role Policy records.There are two main use cases for adding this API:
- A New Off Limit ATS Stage/ Job Role Policy is Created: As previously stated, when an ATS Stage Policy is created and marked active or deactivated, only FUTURE stage changes are considered for line items creation: but an API call can trigger recalculations and generate line items for candidates in the associated stages/ Job Roles.
- Data Migration: when triggers are disabled, Off Limit line items etc will not be created, so this API will allow the Data Migration Team/Professional Services Team to generate them without hitting governor limits.
Global Methods
About | Method |
---|---|
Method runs Off Limit recalculation for records based on the Ids provided in contactIds attribute.Method recalculates all policy types:
This method executes recalculation in asynchronous transactions. |
TR1.OffLimitRecalculator.recalculatePoliciesForContact(Set<Id> contactIds); |
Method runs Off Limit recalculation for a Off Limit Policy record based on the Off Limit Policy Id provided in policyId attribute. Method supports only Off Limit Policy records with ATS Stage or Job Role. |
TR1.OffLimitRecalculator.recalculateATSOrJobRolePolicy(Id policyId); |
Examples
Use Developer Console to Open Execute Anonymous Window for the following scenarios:
-
In this scenario,"003Ox000002chwOIAQ" is a Contact Id.
CopyOff Limit recalculation for Contact records script:Set<Id> contactIds = new Set<Id>();
contactIds.add('003Ox000002chwOIAQ');
TR1.OffLimitRecalculator.recalculatePoliciesForContacts(contactIds);
-
In this scenario, "a2OOx000000FsBNMA0" is an ATS Stage or Job Role Off limit Policy Id.
CopyOff Limit recalculation for a Off Limit Policy record script:
TR1.OffLimitRecalculator.recalculateATSOrJobRolePolicy('a2OOx000000FsBNMA0');