How does Auto Merge work?

Duplicate applications exist in a lot of different forms in Greenhouse, but they can all cause confusion and significantly more work for your users. Auto-merging will allow Greenhouse to programmatically look at new candidates and prospects who are entering the system and merge the profiles, which should drastically cut down on the amount of merging your Site Admins need to do on a daily basis. This feature does not work retroactively, so any duplicates currently in your account will still need to be merged manually.

To enable auto-merging, a Site Admin can navigate to the Configure > Organization page and toggle the feature on. Only candidates and prospects with identical email addresses will be merged. If an email matches two different unmerged profiles, we will assess the names of each one to see if there is an identical match with the new applicant's name and merge with this one. If both the old profiles have identical email addresses and identical names (or identical emails and names that don't match the new applicant at all), the profile that has the most recent activity (emailed, moved stages, rejected, etc.) will be chosen.

When deciding which criteria to use when combining profiles, we identified a number of ambiguous cases where merging seemed like it would cause more pain and frustration than it saved, so we opted not to automatically merge in these situations.

Cases Where We Do Not Merge

  • A candidate or prospect is created by the bulk import tool or a third-party integration (like Entelo, Hired, or Connectifier).
  • Since we don't know how each and every third-party integration might be adding candidates and prospects to your account, any profiles created via the Candidate Ingestion API will not be evaluated by Auto-Merge. Please Note: If you've given a Job Board API key to an integration partner, candidates they import could be merged automatically. This API works just like your job board, so we don't make a distinction between candidates they add and candidates who apply directly. This is an uncommon setup, but one we see every once in a while. You can see which API keys you've given out on the Configure > Dev Center > API Credential Management page.
  • A candidate or prospect matches a candidate who is only on one or more confidential jobs.
  • Because many users might not know that a confidential job even exists, we don't want to risk merging the profiles automatically and giving users insights that they shouldn't have about the candidate or the others jobs he or she might be on.
  • An agency recruiter submits a candidate 
  • Since there could be questions about whether the agency should get credit for a duplicate candidate, we've decided not to merge in this case. Furthermore, some agency recruiters prefer to list their own email addresses instead of the addresses of their candidates, and it would be chaotic if every candidate from a particular agency was inadvertently merged into one giant, messy profile. 
  • A user submits a referral to Job A and they match someone else on Job A.
  • Much like with the agency recruiter situation above, there could be implications - (financial or otherwise) for one of your users losing credit for a referral. If two users submit the same referral, we've decided it's safer for one of your users to manually decide which one should get credit rather than simply picking one. 
  • A user submits a referral to Job A and they match someone else on Job B
  • When a user submits a referral, they normally receive an email notification informing them of the successful submission. As a safeguard against the referrer being notified of the candidate applying to another job, we've decided that this should be a decision by one of your users to merge the profiles. 
  • A candidate applies or is added manually and matches a private candidate or prospect
  • Because the concept of a private candidate applies to every job they're on, we want to protect against a case where a new candidate applies and is only accessible by a few select people. In this case we'll leave the two profiles separate so an Admin can determine whether they should have the same privacy settings or not.


Understanding the Greenhouse Data Model

Before we get into the different auto-merge cases, it might be helpful to identify which information is candidate-specific and which information is application-specific to better explain how we decide what to keep during a merge. 

Candidate-specific information includes fields that can only have one value, no matter how many jobs a single candidate might be on:

  • Name
  • Previous Company
  • Previous Title
  • Recruiter
  • Coordinator
  • Candidate Custom Fields

Application-specific information includes fields that can be different for each job a candidate is on:

  • Stage
  • Source
  • Status
  • Application Questions
  • Attachments

Bear in mind, information is never deleted in an auto-merge, so any deprecated fields will always be listed on the Activity Feed after a merge. Furthermore, a separate Activity Feed entry will let you know that a candidate or prospect was auto-merged in the first place. 

Let's say James Bond applies online and matches the email of a candidate named Harry Potter. Greenhouse can only choose one name to display, so the other one will be removed and added to the Activity Feed for posterity. If they applied to different jobs, though, each one could have a separate source associated with each job. For fields that support many entries, like phone number or address, we will simply save everything in a big list and let you decide which one to use later.


Different-Job Merge Cases

The easiest and most straightforward merge is done by combining candidates on two different jobs. While we still have to choose Candidate-specific information that will apply to both profiles after the merge, all of the application-specific data will be preserved on each profile separately. 

  • A candidate is Active on Job A, then applies online for Job B.
  • The two applications will be merged, with the Candidate-specific information from Job A listed on the merged profile. This ensures that the hiring team from the older profile won't lose track of a candidate that they might already be working with.
  • A candidate is Rejected on Job A, then applies online for Job B.
  • The two applications will be merged, with the Candidate-specific information from Job B listed on the merged profile. Since the old hiring team won't be dealing with this candidate anymore, the new team is assigned and will see that the candidate was previously rejected while in Application Review.
  • A candidate is Hired on Job A, then applies online for Job B.
  • The two applications will be merged, with the Candidate-specific information from Job B listed on the merged profile. This might be common for internal applicants who are transferring to a different team or department. Rather than assign the team who initially hired them, the information from the new position will take precedence. Note: If the Hired candidate on Job A is private, the two profiles will be kept separate.


Same-Job Merge Cases

When a duplicate is flagged for the same job, candidate- and application-specific information is sometimes merged into one profile, meaning a candidate applying to the same job 10 times from 10 sources could only end up with one listed on their source tab while the rest will be deprecated on the Activity Feed. 

  • A candidate is Active on Job A, then applies online for Job A. (Note: This will also apply to a Prospect who matches an active Prospect or any Candidate)
  • The two applications will be merged, with the Candidate-specific information from the older one listed on the merged profile. Any new information will be absorbed into the older profile and they will continue to be managed like they never applied a second time.
  • A candidate is Rejected or Hired on Job A, then applies online for Job A
  • In this case, the two profiles will be merged, but every application will be preserved for your records. 
  • A candidate applies and matches any prospect.
  • The Name and Source will be taken from the older, prospect profile, but the rest of the information will be added to a secondary prospect application on the same person


Manually-Created Candidates/Prospects

There's one more case we haven't talked about quite yet. If a candidate or prospect is created via the prospecting plugin or the 'Add a Candidate' page, we handle things a little differently. For Basic Users, Interviewers, and Job Admins, the new person will be added normally, then the appropriate auto-merge rule will be applied behind the scenes.

For Site Admins, they will see the same merge warning that appears now. If they choose not to merge the profiles, the profiles will not be merged at all.



Keywords: [automerge, auto merge]

Have more questions? Submit a request


  • Avatar
    Elvira Schuurman

    This is so exciting! Could you please let us know how often this script is activated? Is it once a day, week or every hour, minute? Thanks!

  • Avatar
    Jeffrey Swartwout

    Hi Elvira,

    It's not so much a script as much as it is logic that is run when an applicant applies. So it should be instantaneous.


  • Avatar
    Elvira Schuurman

    Hi Jeff,

    even better, thanks for the explanation!

  • Avatar
    Allison Macur

    Is there any kind of notification we can see on the candidate profile if an auto-merge has taken place? For example, a case I'm referring to would be if a prospect exists in the system and then an agency submits the same candidate, we would want the prospect information to remain the master profile, and not give the agency credit for the submittal given we have been in contact with the candidate.

  • Avatar
    Rachel Renninger

    Hi Allison,

    Great question! If you have a prospect already in the system, then an agency recruiter submits the same candidate the system won't merge these candidates. However, when merges do take place an entry will appear on the activity feed for the candidate.

    Please reach out if you have any further questions!


  • Avatar
    Lauri Armstrong

    Is there a log of merges? So that I can check to see if this is working in such a way that we can leave it on? I'd like to turn it on and see how it works for us before deciding to leave it on indefinitely.

  • Avatar
    Mallory Mazer

    AMAZING! So excited for this.

  • Avatar
    Lucia Hoang

    Hi @Lauri, all the merge information will be found in the candidates' Activity Feed. However, there's no central location/log to see all the merges. I will definitely forward this feedback to our product team! Thanks for the suggestion! :)

    @Mallory, great to hear you're excited about it as much as we are! :D

  • Avatar
    Jidapha Yiamsawas

    Hi @Lucia Hoang, Is are any update for central location/log to see all the merges?

  • Avatar
    Olivia Hirsch

    Hi Jidapha,

    Happy to help here! Currently, we are not able to filter for candidates who have been merged. I can resurface this request to our product team!

    Let us know if you have any additional questions!