Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Pipeline Stages should be sent via the Middleware Platform whenever a new stage is created or an existing stage is updated in your CRM. When a customer activates CRM Connect for the first time, you must sync all of their historical data to LinkedIn to power the integration.
Throttle Limits
Throttle Limits | Requests Per Day (UTC) | Records Per Minute |
---|---|---|
Pipeline stages maximum | 100,000 | 10,000 |
Note
Please submit batch calls grouped with no more than 100 records in sequential order.
Sync Pipeline Stages API Endpoint
https://api.linkedin.com/v2/tcrmPipelineStages
Sync Pipeline Stages API Query String Parameters
Parameter | Description | Type | Required |
---|---|---|---|
tcrmPipelineId | Pipeline identifier within external Talent CRM | String | Required |
tcrmStageId | Stage identifier within external Talent CRM | String | Required |
integrationContext | LinkedIn company URN provided during customer onboarding, e.g. urn:li:organization:1 |
String | Required |
dataProvider | Hardcoded, this value is always PARTNER |
String | Required |
Sync Pipeline Stages via Batch Update
Perform HTTP PUT
on the /tcrmPipelineStages
endpoint to send talent CRM pipeline stages to LinkedIn. Batch requests require the x-restli-method: batch_update
header. Multiple records can be sent in a single API request as indicated in the example below.
Sync Pipeline Stages API Request Body Fields
Fields | Description | Format | Required |
---|---|---|---|
stageCategory | Category of the pipeline stage. Possible stage categories:
|
ENUM | Required |
stageDetails | Details of the pipeline stage | String | Required |
tcrmCreatedAt | Time when this pipeline stage was created within external CRM. | UTC Epoch Milliseconds | Required |
Sample Sync Pipeline Stages API Request
curl -i -X PUT 'https://api.linkedin.com/v2/tcrmPipelineStages?ids%5B0%5D.tcrmPipelineId=tcrmPipelineid1000&ids%5B0%5D.integrationContext=urn:li:organization:1234567890&ids%5B0%5D.dataProvider=PARTNER&ids%5B0%5D.tcrmStageId=tcrmStageId1001&ids%5B1%5D.tcrmPipelineId=tcrmPipelineid2000&ids%5B1%5D.integrationContext=urn:li:organization:1234567890&ids%5B1%5D.dataProvider=PARTNER&ids%5B1%5D.tcrmStageId=tcrmStageId2002' \
--header 'x-restli-method: batch_update' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \
--data-raw '{
"entities": {
"tcrmPipelineId=tcrmPipelineid1000&dataProvider=PARTNER&integrationContext=urn:li:organization:1234567890&tcrmStageId=tcrmStageId1001": {
"stageCategory":"HIRED",
"stageDetails":"Candidate was hired",
"tcrmCreatedAt":1640995200000,
"tcrmLastModifiedAt":1640995200001
},
"tcrmPipelineId=tcrmPipelineid2000&dataProvider=PARTNER&integrationContext=urn:li:organization:1234567890&tcrmStageId=tcrmStageId2002": {
"stageCategory":"HIRED",
"stageDetails":"Candidate was hired",
"tcrmCreatedAt":1640995200000,
"tcrmLastModifiedAt":1640995200001
}
}
}
Sample Sync Pipeline Stages API Response
{
"results": {
"dataProvider=PARTNER&integrationContext=urn%3Ali%3Aorganization%3A1000&tcrmPipelineId=tcrmPipelineid1000&tcrmStageId=tcrmStageId1001": {
"status": 204
},
"dataProvider=PARTNER&integrationContext=urn%3Ali%3Aorganization%3A1000&tcrmPipelineId=tcrmPipelineid2000&tcrmStageId=tcrmStageId2002": {
"status": 204
}
},
"errors": {}
}
Delete Pipeline Stages
Perform HTTP DELETE
on the /tcrmPipelineStages
endpoint when a customer deletes pipeline stage records.
Sample Delete Pipeline Stages Request
curl -i -X DELETE "https://api.linkedin.com/v2/tcrmPipelineStages?ids%5B0%5D.tcrmPipelineId=tcrmPipelineid1000&ids%5B0%5D.integrationContext=urn:li:organization:1234567890&ids%5B0%5D.dataProvider=PARTNER&ids%5B0%5D.tcrmStageId=tcrmStageId1001&ids%5B1%5D.tcrmPipelineId=tcrmPipelineid2000&ids%5B1%5D.integrationContext=urn:li:organization:1234567890&ids%5B1%5D.dataProvider=PARTNER&ids%5B1%5D.tcrmStageId=tcrmStageId2002" \
-H 'Accept:application/json' \
-H 'X-RestLi-Protocol-Version:1.0.0' \
--header 'Authorization: Bearer {access_token}' \
Sample DELETE Pipeline Stages Response Body
A successful request will return a 200 OK
response code, and you will find the status of each entity in the response body.
{
"results": {
"dataProvider=PARTNER&integrationContext=urn%3Ali%3Aorganization%3A1000&tcrmPipelineId=tcrmPipelineid1000&tcrmStageId=tcrmStageId1001": {
"status": 204
},
"dataProvider=PARTNER&integrationContext=urn%3Ali%3Aorganization%3A1000&tcrmPipelineId=tcrmPipelineid2000&tcrmStageId=tcrmStageId2002": {
"status": 204
}
},
"errors": {}
}