Sync Integrations and Integration Configurations
The Middleware Platform powers a number of integrations with LinkedIn products. Once a customer enables an integration with your ATS via the ATS Integration Configuration Plugin , certain integration types require you to send various integration configuration data for the customer.
Each configuration has a unique key and a specific value data type as described below.
Integration Types
Type | Description | Product | Integration Context |
---|---|---|---|
APPLY_CONNECT | Used for the Apply Connect integration. | LinkedIn Recruiter | organization URN |
APPLY_WITH_LINKEDIN | Used for the Apply with LinkedIn integration. | LinkedIn Recruiter | organization URN |
CSA_API | Used to access recruiter data as part of Recruiter System Connect | LinkedIn Recruiter. | contract URN |
IN_ATS_INDICATOR | Used for the In-ATS Indicator feature within Recruiter System Connect. | LinkedIn Recruiter | organization URN |
ONE_CLICK_EXPORT | Used for the One-Click Export feature within Recruiter System Connect. | LinkedIn Recruiter | organization URN |
PROFILE_PLUGIN | Used for the Profile Plugin portion of Recruiter System Connect. | LinkedIn Recruiter | organization URN |
RECOMMENDED_MATCHES | Used for the Recommended Matches feature within Recruiter System Connect. | LinkedIn Recruiter | organization URN |
UNIFIED_SEARCH | Used for the Unified Search feature within Recruiter System Connect. | LinkedIn Recruiter | organization URN |
Integration Configuration Keys
Configuration Key | Description | Integration Types | Required | Program |
---|---|---|---|---|
CALLBACK_URL | Customer's HTTPS endpoint which will listen for candidate export events. The URL should be unique per customer. Value Format: string | ONE_CLICK_EXPORT | Yes | Recruiter System Connect |
JOB_POSTING_VIEWERS | Governs who may view job postings within the One-Click Export drop-down. Only valid value is "ALL_PRODUCT_USERS". Value Format: string | ONE_CLICK_EXPORT | Yes, if a customer will not be using ACLs or the ATS does not support Sync ACLs. | Recruiter System Connect |
APPLICATION_VIEWERS | Governs who may view job-related data (Interview Feedback, Notes, Applications, and Stages) within the In-ATS indicator. Only valid value is "ALL_PRODUCT_USERS". Value Format: string | IN_ATS_INDICATOR | Yes, if a customer will not be using ACLs or the ATS does not support Sync ACLs. | Recruiter System Connect |
Sync Integration Configurations
Upsert Integration Configurations
Once a customer creates an integration requiring configuration, you must create the configuration using the following API before they can enable the integration.
PUT https://api.linkedin.com/v2/atsIntegrations/integrationContext={integrationContext}&integrationType={integrationType}&tenantType={tenantType}&dataProvider=ATS/configurations?ids={configuration key}
Values for the atsIntegration key are obtained via the ATS Integration Configuration Plugin when a customer enables integrations.
Request Body Fields
Field | Description | Format | Required |
---|---|---|---|
configurationValue | The value of the specific configuration | Depends on the configuration key | Yes |
Sample Integration Configurations Upsert Request
URL:
PUT https://api.linkedin.com/v2/atsIntegrations/integrationContext=urn:li:organization:4gX03uw&integrationType=ONE_CLICK_EXPORT&tenantType=RECRUITER&dataProvider=ATS/configurations?ids=CALLBACK_URL&ids=JOB_POSTING_VIEWERS
Headers:
Authorization: Bearer {token}
x-restli-method: batch_update
Request Body:
{
"entities": {
"CALLBACK_URL": {
"configurationValue": {
"string": "https://customer.callback.com/goes/here"
}
},
"JOB_POSTING_VIEWERS": {
"configurationValue": {
"string": "ALL_PRODUCT_USERS"
}
}
}
}
Sample Integration Configurations Upsert Response
Returns 200 OK
, and you will find the status of each entity in the response body.
{
"results": {
"JOB_POSTING_VIEWERS": {
"status": 204
},
"CALLBACK_URL": {
"status": 204
}
},
"errors": {}
}
Delete Integration Configurations
DELETE https://api.linkedin.com/v2/atsIntegrations/integrationContext={integrationContext}&integrationType={integrationType}&tenantType={tenantType}&dataProvider=ATS/configurations?ids={configuration key}
Note
You can only delete the following configurations: JOB_POSTING_VIEWERS or APPLICATION_VIEWERS
Sample Integrations Configurations Delete Response
Returns 200 OK
response code, and you will find the status of each entity in the response body.
Sample Integrations Configurations Delete Response Body
{
"errors": {},
"results": {
"CALLBACK_URL": {
"status": 204
}
}
}
Note
Be sure to check the response for error statuses corresponding to individual entities you submit.
Verify Integration Configurations
After creating or updating integration configurations, use the following API to retrieve what was submitted.
GET https://api.linkedin.com/v2/atsIntegrations/integrationContext={integrationContext}&integrationType={integrationType}&tenantType={tenantType}&dataProvider=ATS/configurations?ids={config key}
Sample Integration Configurations Get Response
A successful request will return configuration values in the response body and a 200 OK
response code.
Sample Integration Configurations Get Response Body
{
"errors": {},
"results": {
"CALLBACK_URL": {
"configurationValue": {
"string": "https://customer.callback.com/goes/here"
}
}
}
}