How to deal with HR candidates in Salesforce?

By

4 minutes de lecture

How to deal with HR candidates in Salesforce?

We have recently worked on an HR application for a professional service client based on the Salesforce platform. We had to face two main challenges: how to manage candidates? What is the best place to store them in Salesforce?

We have identified four relevant options: Lead, Contact, Person accounts or Custom object.

Each option has pros and cons depending on the way you implement your business process and the features available.

We will quickly explore each solution and explain the pros and cons of each one.

Lead

According to Salesforce, a lead is “a potential customer that is not yet associated with an opportunity or account.”[1] A lead is often compared to a business card, because there is only a first name and a last name. But in our case, candidates who apply for a consulting job send their résumés or their LinkedIn profile, which come with many information like experiences or skills. So far, we have here enough information to consider them more than leads.

You should also keep in mind that Salesforce leads cannot easily fit in a master-detail relationship, unlike the other standard object. According to Salesforce: “You can define master-detail relationships between custom objects or between a custom object and a standard object. However, the standard object cannot be on the detail side of a relationship with a custom object. In addition, you cannot create a master-detail relationship in which the User or Lead objects are the master.” [2]

It becomes very challenging when you want to relate your leads with some custom object. A lookup or a junction object can be sufficient for records updates through visual workflow, but it is a lot of workaround for not much added value.

Person accounts

This feature sounds interesting at first sight because candidates are not business contacts, so we do not need to create a contact and an account separately.

Yet person accounts have quite a few limits. First of all, they cannot be disable once they are enable and thus things can become awkward if big changes occur in the company. In addition, reporting is limited, and Lightning for Outlook is not supported yet.

Custom object

Another solution is to create a “Candidate” object to avoid the

limits of the features described previously. Indeed, it might be a good response to our problem. There is no need to find a workaround about master-detail relationship, or to enable definitely some feature which sounds great.

But actually, you lose many things by using a custom object. Basically, all the core Salesforce features are not available anymore.

For instance, you cannot find your “Candidates” through the Salesforce panel in your Gmail or Outlook inbox, because email sync is not fully supported as “person” in Lightning for Outlook for custom object. Also, campaigns and mass-emailing are also lost. Even worth, Pardot campaigns are natively linked to leads. If you create a custom object, you will also have to develop a custom connector, which is complicated. Finally, many third-party app on the AppExchange rely on Salesforce standard object such as Contacts or leads.

Contact

Contact seems to be the most adequate option for me. You keep the core Salesforce functionalities as:

  • Email synchronization
  • Event invitation
  • Mass-mailing
  • Compatibility with 3rd party app like MailChimp (for mass-mailing)

And you can relate Contact to your custom objects to build easily your data model.

We recommend using the Contact object in Salesforce instead of a custom object or person account. You will keep all the core features and you will get more adherence with the frequent Salesforce release and your future business needs involving 3rd party application for instance.

But we support Shell Black’s opinion[3] that a new “People” feature would be a huge improvement to deal with specific cases where neither standard nor custom object could be a solution. And this new object could benefit from the same features as Contact like mass-mailing or email sync without having mixing them with business contacts.

References:

[1] https://www.salesforce.com/products/30daytrial/links/create-lead.jsp

[2] https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/relationships_among_objects.htm

[3] https://www.shellblack.com/consulting/people-are-people-in-salesforce/

Read more posts

Enforce code standards with PMD

Developers working on a project usually set coding rules to have a standardized codebase. It is an important piece of the code maintainability, and it can be very easy …
March 2023
Advices
Scratch orgs

Uncovering Salesforce Settings: A Step-by-Step Guide for Scratch Orgs

Today, it’s pretty easy to build your Scratch Org definition file when you know what Settings you want to activate, as they are mapped with the same setting names …
February 2023
Advices
Business Analyst

Core qualities of a Business Analyst?

A common definition we are used to hear is that being a Business Analyst means to have a combination of both hard skills and soft skills. What does a …
June 2022
Advices
Image d'illustration d'une employée travaillant sur un ordinateur portable

Process builder and workflow make way to Flows (½)

Overview “If you can do it with a Workflow, then do it with a Process Builder, because everything a Workflow does, a Process Builder does it better”. If you …
March 2022
Advices

Day 22 : Salesforce new “Migrate To Flow tool” in Spring 22

As most of you already know, the workflow rules and process builders are planned to be retired in 2023 (no precise date defined so far). Today, I’m going to …
December 2021
Advices

Day 18 : Fake callout responses for test classes !

Hello everybody ! Today let’s talk about Apex tests classes in Salesforce. Everyone loves a good test class, and Salesforce makes it official by requiring to have a minimum …
December 2021
Advices