---
title: ChartHop
slug: charthop
docTags: rl7p3XLQknqPB1UQ70cu_,pnTugMDqVVXgkHZy0AYvk
createdAt: 2025-07-10T11:42:30.303Z
---

The ChartHop \<> Ashby integration supports creating new openings from new open ChartHop jobs. Once a candidate is hired in Ashby, Ashby pushes their information back to ChartHop in the corresponding position. This guide covers setting up and using the integration to streamline your headcount planning workflow.

:::hint{type="warning"}
**Prerequisites:** Disable your ChartHop integration with your legacy applicant tracking system (ATS) before enabling this one.

The Ashby app's access within ChartHop needs to be Org Editor.

This integration requires using Ashby Openings, which are currently available to Plus and Enterprise plans (see [Openings Management](docId\:KsXxWI1zugAw8lRp8jwXZ) for more information).
:::

# Permissions & access

ChartHop is available on the Legacy Plus, Plus, and Enterprise plans:

| Foundations | Legacy Plus | Plus | Enterprise |
| ----------- | ----------- | ---- | ---------- |
| ❌           | ✅           | ✅    | ✅          |

# Integration overview

Once configured, this integration creates new Ashby Openings (see [Openings Management](docId\:KsXxWI1zugAw8lRp8jwXZ)) from ChartHop jobs and pushes hire information back to corresponding jobs in ChartHop.

# Set up the integration

1. Generate an API token in ChartHop:

   1. Navigate to **Apps & Bundles**.
   2. Install the Ashby app.
   3. Configure the API token.

   ![Screenshot of the ChartHop Apps & Bundles page with the Ashby app installed](https://cdn.zappy.app/20ef2b3c290ed45925983b78663824aa.png)
2. Add the API token to Ashby:

   1. Navigate to **Admin > Integrations > ChartHop**.

   ![Screenshot of the Ashby Admin Integrations page showing the ChartHop integration tile](https://api.archbee.com/api/optimize/0p8tQ--ZZOxRtkVp6Qr-e/TBcYPE3f7kjANWfZXM3eE_charthopfind.png)

   2. Enable the integration.

   ![Screenshot of the ChartHop integration settings page in Ashby with the Enable Charthop button highlighted.](https://cdn.zappy.app/30d7d0935f002bd470d06b8a84f2c42d.png)

   3. Paste the key into the **API Key** field and click the checkbox.

::Image[Screenshot of the ChartHop integration API Key field in Ashby]{src="https://cdn.zappy.app/d461343ac9edbd69883393b190db847c.png" size="100" isUploading="false" width="809" height="247" darkWidth="809" darkHeight="247" showCaption="false" alt="Screenshot of the Charthop integration tile with the API Key field highlighted." indent="1"}

3. Sync fields:
   1. There are some fields that sync by default. More on this below at [What default fields are synced?](docId\:nxDTIcvaBtdzqhWqFEJEr)
   2. Click `Sync` to pull Offer and Opening custom fields from ChartHop.
   3. Check the fields you'd like synced. If you prefer, complete this for both openings and offers.

::Image[Screenshot of the ChartHop field sync settings in Ashby showing selectable opening and offer fields]{src="https://api.archbee.com/api/optimize/0p8tQ--ZZOxRtkVp6Qr-e/NXsJAqZ-VywcjChz9_c24_charthopcheckboxes.png" size="100" isUploading="false" width="637" height="486" darkWidth="637" darkHeight="486" showCaption="false" alt="The screenshot shows the Charthop integration settings with the fields that can be synced." indent="1"}

# Using the integration

*Watching the video below is optional. You can follow the steps in this section instead.*

::loom{url="https://www.loom.com/embed/3111f5c6c39a498180bc58c189d95846"}

## Create new Ashby openings from ChartHop jobs

When you set a job to `Active` or `Passive` in ChartHop, Ashby creates an opening. Ashby sets the opening's Ashby Identifier to the Req ID, unless an existing opening already uses the same Req ID as its Ashby Identifier.

:::hint{type="warning"}
This integration does not create jobs in Ashby. This ensures your team can use template jobs and link automatically created openings to them as needed.
:::

Ashby checks ChartHop for new jobs on a schedule, so Ashby creates a new opening on the next sync after you set the job's recruiting status to `Active` or `Passive` in ChartHop. If the ChartHop job already has a Req ID set, Ashby uses it as the opening's Ashby Identifier. If it doesn't, Ashby generates an identifier and sends it back to ChartHop as the job's Req ID during the next sync.

:::hint{type="info"}
If you activate a job just after a sync has run, this can take up to 15 minutes.

If you need the Req ID as soon as a job is activated, set a unique Req ID on the ChartHop job before it syncs to Ashby, and Ashby uses it for the opening. To get the best results:

- Check that no existing Ashby opening already uses the same identifier. If one does, Ashby creates a separate opening with an auto-generated identifier instead.
- Use a prefix (for example, ENG-1234) for best results in Ashby.
- To bring the opening into Ashby sooner, click `Sync` on the ChartHop tile.
:::

## Push hire data to ChartHop jobs

Once a candidate is hired, Ashby pushes their data back to the corresponding job in ChartHop. You have the option to send the data automatically or push it manually.

:::hint{type="info"}
If the opening the candidate is filling was synced from ChartHop, this creates the candidate in ChartHop and assigns them to that job automatically. Otherwise, Ashby creates the candidate in ChartHop, and you must manually assign them to the correct job.
:::

## Determine whether to push hires manually or automatically

- If manually: when a candidate is hired, you see an activity on their profile to push their data over.
  - This option is ready upon enabling the integration.
- If automatically: when a candidate is hired, Ashby pushes their data to ChartHop automatically.
  - You can enable this option on the [HRIS Integrations Settings](https://app.ashbyhq.com/admin/integrations/hris) page in **Admin** (contact Support if you don't find this page in your Admin Settings).

## Adding internal transfers and rehires to ChartHop from Ashby

When a person has been hired by your company before, you need to map their existing ChartHop Employee ID on their candidate profile in Ashby. This prevents the creation of a new candidate profile. This is only required for internal transfers and rehires.

1. Before pushing them to Ashby, retrieve their Employee ID from ChartHop. Their Employee ID is the alphanumeric value listed after `person/` in the URL when you visit their profile.

![Screenshot of a ChartHop employee profile URL with the Employee ID alphanumeric value visible after 'person/'](https://cdn.zappy.app/799de198405c88d43b05903342b8232f.png)

2. Paste the ID into the **Employee ID** candidate custom field on the **Summary** tab of their candidate profile in Ashby.

![Screenshot of the candidate profile Summary tab in Ashby showing the Employee ID custom field](https://cdn.zappy.app/5e3d07175bfa1766dc84ebdef874a5b1.png)

3. Once the ID is added to their profile, proceed with pushing them to ChartHop:
   - If they have never been pushed to ChartHop in Ashby in the past, use the `Add Candidate to ChartHop` option in the center of their home page.
   - If they have been pushed to ChartHop in the past, select `More` > `Add to HRIS` to manually push them to ChartHop. There is a warning that this person has been pushed before. You can ignore this and proceed.
4. In ChartHop, the person moves to their new job and their previous job becomes inactive.

# FAQs

### How often are new jobs synced as openings in Ashby?

Ashby runs a full sync every 10 minutes. To start a sync manually, go to the ChartHop tile within **Integrations > Integrations** and click `Sync`. The sync takes a few minutes to complete.

### What happens if I already have an Ashby opening using the same ID as a ChartHop Req ID?

If an opening already exists in Ashby with an opening ID that matches a ChartHop job's Req ID, the integration does not detect or merge with the existing opening. Instead, Ashby creates a new, separate opening with a different, auto-generated Ashby ID.

Re-triggering a sync does not correct this; there's no way to force the new opening to take on the intended Req ID after the fact. To resolve this, you need to:

- Manually rename the ID on your existing (pre-existing) opening.
- Manually update the newly-created, synced opening's ID to the correct Req ID.
- To avoid this, before connecting the integration, do not create or import openings in Ashby that use the same identifiers as your ChartHop Req IDs. Setting Req IDs on your ChartHop jobs is fine.

### Is there a way to test the integration? What would happen if I imported all openings from ChartHop prematurely? Is there an undo?

Reach out to your Customer Success Manager (CSM) about testing in a sandbox environment.

### What should I do if I already have some openings in Ashby? Is there a way to merge duplicates?

We don't support automated deduplication or merging of openings, but we can delete duplicates on the backend. Contact Support for assistance if this is required.

### What default fields are synced?

- Title → Ashby Description
- Req Code → Ashby identifier (if the ChartHop job doesn't have a Req ID, Ashby generates one and sends it back to ChartHop)
- ChartHop Department → Ashby Team (we highly recommend configuring your Ashby teams hierarchy to match the departments setup configured in ChartHop to ensure this information is synced correctly)
- Employment Status → Employment Type
- Target Start Date
- Is Backfill?
- Location
- Salary
- Grant Shares
- Variable Comp Type
- Variable Comp Amount
- Recruiter & Hiring Manager
  - We also support Sourcer if it's created as a custom ChartHop field

### Are assessment results synced?

No, we do not support syncing over assessment results.

### Can I edit fields that were synced from ChartHop?

ChartHop is the source of truth, meaning you cannot edit fields that ChartHop has updated. Make those updates in ChartHop, and Ashby syncs them.
