Implementing ChartHop
...
Greenhouse
ChartHop as the source of trut...

Using ChartHop to open jobs



In an outbound job data flow, ChartHop serves as the primary source of truth for open jobs. Depending on the status of a job in ChartHop, it translates to a specific status for the same job in Greenhouse.

Only one Hiring Manager and Recruiter can be chosen in ChartHop and thus be synced into Greenhouse.

As a workaround, if Hiring Manager and/or Recruiter is blank in ChartHop, but multiple exist in Greenhouse, syncs do not overwrite what’s in Greenhouse.

Group fields cannot be custom mapped. For example a Department in ChartHop can not be mapped to a custom Greenhouse field, and a custom field in ChartHop can not be mapped to Greenhouse Department.

Greenhouse job field values default to ChartHop’s if any changes are made, therefore changing an open role must be done in ChartHop to be accurately reflected in Greenhouse.

 

However there is an exception for Hiring Manager and Recruiter fields where the integration will not override those fields if they are left empty in ChartHop. This is to accommodate Greenhouse’s ability to have multiple hiring managers and recruiters.

Outbound job status mappings

ChartHop job statuses map to Greenhouse job statuses in the following way:

ChartHop Status 

Data flow

Greenhouse Opening Status

Active

Open

Passive

Closed

Inactive

Closed

Pending

<-

Offer Accepted

Offer

Does nothing

Remove Job

Opening Deleted

Charthop Jobs only change the status of Greenhouse Openings directly. That being said, if all Openings underneath a Greenhouse Job are deleted or closed, the Greenhouse Job will automatically turn to Closed.

Create a job

When conducting your headcount planning in ChartHop, you can add new hires and new direct reports as you normally would, but with the added functionality of the outbound data flow which triggers the moment you set a specific new role(s) Recruiting status to Active.

Setting a job as Active triggers the outbound data flow.
Setting a job as Active triggers the oubound data flow.


To create a new job in ChartHop under an outbound job data flow, follow these steps:

  1. From the left sidebar, select Org Chart.
  2. In the Org Chart, create a new job by either: 
    • Adding a direct report by selecting Add a direct report under a pre-existing person or role.
    • Creating a new job by selecting New hire under a pre-existing person or role.
  3. In the Create job dialog enter your information for the new role under the following tabs:
    • Structure - General information about the role, including title, department, and location.
    • Compensation - Compensation information about the role, including salary and bonuses.
    • Recruiting - Recruiting information about the role, including hiring status and start date.
    • Description - A general description about the role.

The outbound job data flow kicks in the moment you set the Recruiting status for your newly created role is set to Active.

Job hiring status

Any open roles with a Recruiting status set to Active in ChartHop flow from ChartHop to Greenhouse. New open jobs in ChartHop with an Active recruiting status close in Greenhouse if the job is set back to an Inactive or Passive status in ChartHop. Deleting a job in ChartHop removes the same job in Greenhouse.

ChartHop job status

Result in Greenhouse

Active

A req is automatically created in Greenhouse either as a new Greenhouse job or opening, or as a new opening underneath an existing Greenhouse job.

Inactive or Passive

The job opening is closed in Greenhouse.



A created ChartHop Job set as Inactive or Passive does not sync over to Greenhouse during the initial Greenhouse Job/Opening creation unless it is set to Active.

Removed job

The job opening is deleted in Greenhouse.

If the job in ChartHop is the only opening beneath a Greenhouse job, and if the opening is set to Closed in Greenhouse, if the ChartHop job is set to Inactive or Passive, then the job in Greenhouse is automatically closed.

Job templates

When a new job is created in ChartHop, it copies the job posting from the matching job template configured in the Greenhouse integration job template settings. Learn more

Job matching 

With Match Jobs by Job Code enabled in the Greenhouse integration settings, all ChartHop jobs match with their respective Greenhouse jobs according to the Greenhouse job’s Requisition ID

New jobs created in ChartHop with a Job Code are reflected in Greenhouse with the Job Code's name (Settings > Groups > Job Codes) instead of the job's title.

If Match Jobs By Job Code is disabled, no job codes exist, or if no match is found via job codes, the initial mappings are then determined by your Group Job Openings settings (for example Title, Title and Location, or None).

For example, if Title is selected, then a ChartHop Job is created as a Greenhouse opening underneath a Greenhouse job that has the same Title. Once the initial mappings are set, the job in ChartHop is tied to the job in Greenhouse through the Greenhouse Job ID (greenhouseId) field in ChartHop.

ChartHop stores both the job id and opening id in the Greenhouse Job ID (greenhouseId) field, separated by a slash.

For example, if greenhouseId has a value of 123/456, that means the job id has a value of 123 and the opening id has a value of 456.

Creating a job generates the greenhouseId denoted as jobid/openingid.
Creating a job generates the greenhouseId denoted as jobid/openingid.


The Opening ID is NOT the Opening ID field in the Greenhouse UI. It is the API-assigned Opening ID. If no “Req Code” is provided in ChartHop, ChartHop automatically sets the Opening ID in the Greenhouse UI to the API-assigned Opening ID. However, changing the Opening ID in the Greenhouse UI will not change the API-assigned Opening ID, so manually changing the greenhouseId in ChartHop is not recommended.

Job matching when merging roles to primary in a scenario

When managing an outbound data flow in a ChartHop scenario, you should be aware of the logic used in order to match the jobs.

Once you create a new job in ChartHop or update the job to Active through the Org chart, or using a merged scenario, the new job information migrates to Greenhouse.

If a job match can't be found in Greenhouse, a new Greenhouse job is created via the job’s template. The job post tied to the newly created Greenhouse job is the job post specified according to the job’s assigned job template in the Greenhouse integration app’s settings.

As a recruiter, after an initial sync, you can navigate to Greenhouse and update all of the pertinent information pertaining to a role that is not updated in ChartHop, such as the job’s description. With this done, you can begin actively recruiting for the open role.

Reconcile data

During a sync, you may run into inconsistencies with your data due to sync failures or changes in the custom field mappings. To handle these cases, you can enable the Greenhouse integration app's Reconciliation feature. 

With Run Daily enabled in the Greenhouse integration app configuration settings, reconciliations are triggered on a daily basis. You may also manually trigger the reconciliation by selecting the Sync Greenhouse Jobs button located at the base of the Greenhouse integration app settings page.

Reconciliations are only available for outbound job data flows.

Select the Run a One Time Sync button to manually trigger a reconciliation.
Select the Run a One Time Sync button to manually trigger a reconcilliation.


To manually run a data sync reconciliation:

  1. From the left sidebar, select Apps & Bundles.
  2. From the sub-menu, select Apps.
  3. Select the Installed Apps tab.
  4. Scroll the list down to the Greenhouse app.
  5. Select the Greenhouse app.
  6. From the ChartHop Greenhouse app settings page, scroll down to the bottom of the settings page.
  7. Select Sync Greenhouse Jobs.