Recruiter System Connect - Developer FAQs

Note

This FAQ is meant for your development purposes only. There is a separate FAQ wiki that Partner can share with their Customers post-production.

Product Questions

- Integration Phase

  1. How do I learn more about LinkedIn product integration?
  2. How do I get started developing?
  3. What will I need to do to integrate Recruiter System Connect if I had integrated with LinkedIn Referrals? [Only for partners who had supported LinkedIn Referrals]
  4. Can I choose to enable certain features of RSC and not others?
  5. Is there a minimum threshold of historical candidates, applications, jobs records that customers must send during the initial setup?

- Data Privacy

  1. Does the Recruiter System Connect integration require our customers to update their privacy policies and acquire acceptance for all candidates in their system?

- Customer Setup

  1. How do customers turn on the integration?
  2. How do I delete middleware ATS data when a customer changes an ATS?
  3. How does a customer deactivate RSC?
  4. What Seat Type will have access to RSC features?

- Product Functionality: One-Click Export

  1. How should partners manage duplicate records if email address is not provided?
  2. Why might a customer not be able to One-Click Export a member from LI Recruiter?
  3. What would you recommend if one wants to export a user but not associate it to a requisition?
  4. Will the Job Req drop down list “all open jobs” for the customer?
  5. What is the call limit?
  6. How can ATS validate the authenticity of a request received on its registered CallBack URL?
  7. When we One-Click Export a candidate, the jobs list preview sometimes displays the "externalJobPostingId" and sometimes it displays the "companyJobCode" instead. What is the reason for this behavior?

- Product Functionality: Misc

  1. How does LinkedIn handle jobs that are posted in multiple languages?
  2. How frequently should candidate, application, job data be sent?
  3. In our ATS, job requisition end-dates are optional, but LinkedIn job expire after 30 days? How do we address this?
  4. In our ATS, some job requisitions have no location or multiple locations. How do we address this?
  5. Can LI use the existing LI Limited Posting requisition XML feed to ingest the customer’s requisitions?
  6. Does LI support multiple ATS integrations for the same customer?
  7. Is there any way to send/view InMail within the profile widget?
  8. What does "Update me" in profile widget do?
  9. Closed Candidate Endpoint does not return closed profiles. Why?

- Certification

  1. Are all the features of RSC required to launch?

Technical Questions

  1. What are the data requirements for customers to enable RSC?
  2. What if First Name and Last Name are either not available or the names are concatenated?
  3. What if Email Address is missing from Candidate data?
  4. What is the maximum amount of data we can bulk push?
  5. What would be the outcome if we always push all the data for a client every single time the ATS syncs with LinkedIn? (Are the update endpoints idempotent?)
  6. How soon should the Partner ATS platform create the candidate and application in the ATS when a user uses the One-Click Export function?
  7. ATS Integration Configuration Plugin - if there is a network error will the user be able to enable it again?
  8. How are people in the ATS matched to LinkedIn profiles? What happens if the matching made is incorrect?
  9. When posting multiple jobs to simpleJobPostings, the response is an array of results and associated task ids, these task ids can then be used to check the creation status of the job. How do we associate the task id to the job we posted? For example, if a job fails how do we know which job in the batch failed?
  10. Is the onboarding widget responsive?
  11. The attribute of "description" in Sync Job APIs has the following notes: String Minimum 100 characters & required. Is there any upper character limit? If yes, what is it?
  12. What should the ATS do when Linking/Unlinking happens for any profile via the LinkedIn profile widget that is surfaced in the ATS?
  13. What should be done if profile plugin scripts fails to load widgets in iFrame in case of single page application?
  14. When are developer contracts renewed?
  15. How can we test InMail functionality on a test account?
  16. Does the existing RSC ACL allow security groups for only jobs or even for candidates, application etc

Product FAQs

Integration Phase

How do I learn more about LinkedIn product integration?

Please reference RSC developer documentation

How do I get started developing?

Reach out to LinkedIn Business Development to fill out the Onboarding Request Form and follow steps in the RSC developer documentation.

What will I need to do to integrate Recruiter System Connect if I had integrated with LinkedIn Referrals? [Only for partners who had supported LinkedIn Referrals]

New Talent Solutions integrations like Recruiter System Connect are built on the Middleware Platform, which means you should manage job applications via the /atsApplications and /atsCandidates endpoint instead of /simpleJobApplications. If you’ve previously integrated with LinkedIn Referrals, you’ll need to switch to using the Middleware Platform for submitting job applications.

Can I choose to enable certain features of RSC and not others?

No. The minimum product and technical requirements for RSC are indicated in this document and partners may not elect to enable a subset.

Is there a minimum threshold of historical candidates, applications, jobs records that customers must send during the initial setup?

We require all historical candidate, applications, and jobs records to ensure LinkedIn Recruiter is as valuable as possible for your customers [i.e. the “Rediscovered Candidates” Spotlight, ‘In-ATS Indicator’]

Data Privacy

Does the Recruiter System Connect integration require our customers to update their privacy policies and acquire acceptance for all candidates in their system?

Many customers will not need to do so if their privacy policies allows them to share candidate data to their third party partners. However, customers will need to consult their own legal teams regarding this prior to activating RSC. Some partners include a disclaimer in the onboarding widget that requires the customer to authorize the sharing of ATS data with LinkedIn.

Customer Setup

How do customers turn on the integration?

Customers will be able to turn on all their middleware integrations via a widget in the ATS and in their Recruiter dashboard. See technical docs

How do I delete middleware ATS data when a customer changes an ATS?

  • If the customer wants to delete candidate records: Partner should call Delete End Points highlighted in developer docs for Sync Candidates, Notes, Interview Notes, Applications
  • If the customer wants to delete all their data for an ATS (including Jobs): Partner should contact ltsatsintegrations@linkedin.com
  • Note: Once delete is processed, all copies of data will be deleted within 30 days

How does a customer deactivate RSC?

Customers must email the Partner and LinkedIn support notifying us they would like to deactivate RSC. Customer can contact LinkedIn support at ltsatsintegrations@linkedin.com

What seat type will have access to RSC features?

Rcorp (Recruiter Corporate), RPS (Recruiter Professional Services), and Recruiter SMB

Product Functionality One-Click Export

How should partners manage duplicate records if email address is not provided?

The ATS partner can confirm the duplication was handled in the ATS when LI passes back the PersonURN (Member ID) to the ATS Partner

Why might a customer not be able to One-Click Export a member from LI Recruiter?

LinkedIn members that don't have their privacy settings set to share their profile with third parties will not have One-Click Export functionality enabled.

What would you recommend if one wants to export a user but not associate it to a requisition?

Customer can create a standard "dummy req" field in the drop down that Recruiter will be able to export the candidate to if they do not want to associate the candidate with a Job Req. ATS can then conduct any matching required on their end. However, customers will need to consult their legal team to determine if they can export data unassociated with a requisition.

Will the Job Req drop down list “all open jobs” for the customer?

Yes it will show all open jobs that the user has permissions to see based on Security Groups. If a Partner has not enabled Security Groups, all open jobs will be seen by all users. Customers can search for jobs based on type head

What is the call limit?

Call volume for One-Click Export is 300 calls per Recruiter seat per month. LinkedIn reserves the right to change rate limits including to prevent abuse and protect privacy and security.

How can ATS validate the authenticity of a request received on its registered CallBack URL?

ATS will validate this push event against the signature in the request, outlined in our documentation.

When we One Click Export a candidate, the jobs list preview sometimes displays the `externalJobPostingId` and sometimes it displays the `companyJobCode` instead. What is the reason for this behavior?

This is an expected behavior, when companyJobCode exist, it takes precedence over externalJobPostingId

Product Functionality Misc

How does LinkedIn handle jobs that are posted in multiple languages?

LI will post jobs based on the language that the customer posts in. If the job requires multiple languages, the customer should have separate listings for each language.

How frequently should candidate, application, job data be sent?

The preferred integration is to send in real-time

In our ATS, job requisition end-dates are optional, but LinkedIn job expire after 30 days? How do we address this?

Jobs will default to 180 days if there is no expiration date passed in.

In our ATS, some job requisitions have no location or multiple locations. How do we address this?

For jobs with multiple locations, the current solution is to post one requisition per location. Or, send only the primary location if that designation exists. For jobs with no location (e.g. virtual jobs), you may either:

  1. Not send these jobs, or

  2. Default to a specific location (for example, headquarter). Jobs will not be posted without a location

Can LI use the existing LI Limited Posting requisition XML feed to ingest the customer’s requisitions?

No, the way the middleware platform is architected, it needs to be through the Simple Job Posting API.

Does LI support multiple ATS integrations for the same customer?

Yes, LinkedIn integrations are set up at the contract level, so customers can have separate integrations for any of their contracts. Recruiter users can switch between contracts, and each contract can be associated with one or more integrations. Partners must be able to support multiple contracts for the same customer.

Is there any way to send/view InMail within the profile widget?

There is an “Send InMail” button in the profile widget that allows sending InMails.

What does "Update me" in profile widget do?

It sends a notification to the ATS user in LinkedIn Recruiter when there are profile updates for the relevant candidate.

Closed Candidate Endpoint does not return closed profiles. Why?

If a candidate deletes their LinkedIn account, they can reactivate it within 21 days. After 21 days, we purge the deleted accounts and populate that information within the Closed Candidates Endpoint. Our ATS partners must query this endpoint periodically (at least once in 30 days) and purge the accounts (that appear within this endpoint) from their records.

Certification

Are all the features of RSC required to launch?

Yes, it's an all-or-nothing integration (with the exception of the feature that enables the sending of Interview Notes and Feedback to LinkedIn Recruiter, which is optional) ; however partners can test and certify each module along the way prior to launch.

Technical FAQs

What are the data requirements for customers to enable RSC?

The requirements are laid out in the developer and required fields documentation.

What if First Name and Last Name are either not available or the names are concatenated?

First name and last name are used as part of our matching algorithm, though the fields are optional. The preference would be to split firstName and lastName if you have it

What if Email Address is missing from Candidate data?

  • Email is required when available.
  • The only instance when email address may be omitted for a Candidate is via One-Click Export as documented here.

What is the maximum amount of data we can bulk push?

The throttling is based on the number of API calls being made. We don't have any maximum limits of how much data can be synced by customers.

What would be the outcome if we always push all the data for a client every single time the ATS syncs with LinkedIn? Are the update endpoints idempotent?

The Sync API will consider any data after the initial push as an update. As long as you are sending the correct fields and values against it, there should be no problem.

How soon should the Partner ATS platform create the candidate and application in the ATS when a user uses the One-Click Export function?

This varies across our ATS partners, however we generally see this reflected within a few minutes. Ideally this should be as real-time as possible.

ATS Integration Configuration Plugin - if there is a network error will the user be able to enable it again?

Yes, the button should show up if there was a network error. Once the request is sent, the button changes to Notify Partner, after this you should be able to call /atsIntegrations API.

How are people in the ATS matched to LinkedIn profiles? What happens if the matching made is incorrect?

People are matched on the basis of email first and then phone number, subject to the relevant member’s privacy settings. If the matching made is incorrect or cannot be found, LinkedIn allows the Customer to manually match in the Profile Widget. Refer to this API. This updates the 'manualMatchedMember' attribute for synced candidates. It is advised that if the value for the manualMatchedMember field is present then ATS should always use that instead of the values present in the 'matchedMembers' attribute.

When posting multiple jobs to simpleJobPostings, the response is an array of results and associated task ids, these task ids can then be used to check the creation status of the job. How do we associate the task id to the job we posted? For example, if a job fails how do we know which job in the batch failed?

The jobs are sent in a sequence and also returned back in a sequence. So you would be keeping track of the sequence and able to match it accordingly.

Is the onboarding widget responsive?

No.

The attribute of "description" in Sync Job APIs has the following notes: String Minimum 100 characters & required. Is there any upper character limit? If yes, what is it?

The minimum character length is to ensure this is a genuine job and not spam. We accept only quality jobs so that is why we have the restriction. If the description is within 10K characters, this should be fine.

What should the ATS do when Linking/Unlinking happens for any profile via the LinkedIn profile widget that is surfaced in the ATS?

Within the widget there is a callback function parameter which on link / unlink allows your system to add or update the appropriate person URN to update and store. The person URN connects the candidate to the job post and all other information related to the candidate including notes, job application status, etc.

What should be done if profile plugin scripts fails to load widgets in iFrame in case of single page application?

Use in.parse() to reload the widget on a single page application.

When are developer contracts renewed?

The Linkedin LTS Partner Operations (PO) team proactively renews contracts. This is a monthly activity and we renew your contract once its near expiry. This gives a seamless LinkedIn RSC experience without the need to raise a ticket for contract renewal.

How can we test InMail functionality on a test account?

It is recommended to test the InMail functionality for RSC Integrations by sending InMails to your first degree connections. One can send unlimited inMails because there is no restriction to it. To be able to test this feature, the users should be connected to the developers of our team.

Does the existing RSC ACL allow security groups for only jobs or even for candidates, application etc?

Through ACL, we control the visibility of any jobs to only user(s). ACLs consist of two parts - atsEntityAcls for groups and atsEntityAclAssignees for members who can view the jobs.