3.1 Job hub

This article explains how to configure job mapping and synchronization between Salesforce and Jobrock. The process involves using the Sync Record Apex class, reviewing the job mapping, configuring the Jobrock hub, and troubleshooting. We'll also cover the most common issues and how to test the mappings and ensure synchronization is working correctly.

IN THIS ARTICLE
Sync record apex class
Review job mapping
Sync logic from Job object
Case overview
Jobrock hub configuration
Verification & troubleshooting

Job synchronization

Sync record apex class

The Sync Record Apex class is available to synchronize Job records between Salesforce and Jobrock. By executing the Sync Record Apex class, changes made to Job records in one system can be updated in the other. This ensures that data remains consistent across both platforms and reduces the risk of errors or discrepancies in the data.


You can use this to sync all types of records. In this case, you will need to pass “Vacancy” in the “JR Object Type”.


The following three Apex class triggers are recommended:

  1. Creating a new job in Salesforce
  2. Updating a job in Salesforce
  3. Closing a job in Salesforce

NOTE: When multi-brand is enabled, make sure to pass the Client Code too.

Available:

In the managed package: 1.59

Action name Sync records Required
Apex Class Sync records Required
JR Object Type Vacancy Required
RecordId Record id Required
ClientCode ClientCode Required in case of multibrand
Action Upsert, Delete Required

NOTE: The "Upsert" parameter is used to either "update" or "insert" a job. This action is determined by the existence of the job in the system. If the job is already present, JR will perform an update; if not, JR will insert a new job.


If a job is received as offline, JR does not generate a job at that moment.

Review job mapping


Step 1: Log in with Jobrock admin user

Go to accounts.jobrock.com and log in with the admin user, received from Jobrock.


Step 2: Go to the Vacancy object settings

Go to the Admin page and navigate to “Integrations”, “ATS”, “ATS Object” (step 4), and “Vacancy”.

Step 3: Select the ATS object name for Job

Select “Job” from the ATS Object name drop-down to map against the correct Jobrock object.

Step 4: Review mapping settings and add new fields

Choose the correct field names that you want to map against the Jobrock fields.


Note: It can happen that you don’t have a dynamic value that you want Jobrock to synchronize from Salesforce for a particular mandatory field (i.e.: in case you work without teams).

In this scenario, you can simply add a default static value and do not select any ATS field name.

Sync logic from Job object

Don't forget to establish the mapping for the Status field dropdown and synchronize the job statuses. For instance, in this scenario, when a job has an "Open" status in Salesforce, it should be associated with the "Online" status in JR. Similarly, if a job is marked as "Closed" in Salesforce, it should be associated with the "Offline" status in JR.

Understanding the job 'statuses':

Open:

  • Based on mapping the job is open/online.

Closed:

  • Based on the mapping the job is closed/offline.

Delete (archived):

  • Job is removed from the database.

Step 5: Enable synchronization

There are 4 options to choose from when you configure the ‘Sync direction’.

For each field name select the sync direction. 

Step 6: Save settings

As a Salesforce admin, you can save your settings by clicking on the "Save" button in the page's top right corner. This will ensure that any changes you have made to the settings are saved and applied to your Salesforce account.


Step 7: Test mapping configuration

Salesforce admins should test mapping configurations on the job object with an existing record ID to ensure accuracy and compatibility with existing data. By doing so, they can verify that the changes made to field mappings do not cause errors or inconsistencies and that SF users are working with reliable and accurate data.


Step 1: Test mapping via JR ATS dashboard with an existing SF record ID

Are all the fields coming?

To verify correct mapping, modify some data in the job object and re-run the test mapping to confirm that the changes are reflected.


Cases overview

The case overview is a page in Jobrock where all (from Salesforce) synched vacancies (active or inactive) will be listed with their respective unique ATSId’s.


These vacancies can be filtered on the assigned team or owner name. By default, the list shows vacancies filtered by the active user.


Jobrock hub configuration

Hub widget

After synchronizing a job to Jobrock, Jobrock marketing tools (for example automations, appointments, canvas landing pages, campaigns, and more) can be applied to this particular job. All these can be configured to the Salesforce vacancy by using the Jobrock hub widget feature.


Each synchronized Salesforce feature shows a Jobrock hub widget in which a “Go to hub” link can be found. This link will redirect a user to the Jobrock hub page of the vacancy to configure flows, create pages, campaigns, and more.


Aside from the direct “Go to hub” link, there are also links to add flows/ pages, etc for each Jobrock feature. These will open Jobrock and directly open the selected configuration.

Whenever a user configures a Jobrock feature for a vacancy, this will be visible in the Jobrock widget on the Salesforce vacancy page.


The hub widget populates the data from Jobrock using the Salesforce object Id which is mapped with the “ATSId” field in the mapping screen (Jobrock admin -> Integrations -> ATS -> ATS Object (step 4) -> Vacancy -> ATSId (field).

READ MORE: Check the documentation here to see how you can configure single-select on vacancy level in a multi-brand org.

Verification & troubleshooting

There are several steps to verify and troubleshoot the configuration in case of issues, find them below.

The expected outcome is always that the JR hub widget shows all the relevant options on a Salesforce job, if that is verified, the configuration has been done correctly for the widget.

Common problem:

A common mistake made during the configuration of the JR hub is the incorrect setup of the Sync Records apex class in multi-brand environments. When the 'ClientCode' parameter is not passed, all records are synced to the parent level instead of the intended child level.

Step 1: Logs

The logs are stored automatically for 30 days. If all the sync requests for a job are executed without errors, you can verify it by making a change to the job in Salesforce and then visiting https://hub.jobrock.com/loggingRequest?objectType=Vacancy.

Any errors encountered will be shown in the error log, while the request log will display all the executed requests.

Step 2:

Check the Jobrock Case Overview page to ensure that all synchronized vacancies from Salesforce to Jobrock are displayed.


Step 3:

After the job has been synchronized from Salesforce to Jobrock, each corresponding vacancy in Salesforce will show the Jobrock hub widget with the "Go to hub" link. Clicking on this link will open the Jobrock hub page of the vacancy, indicating that the configuration has been processed correctly.