You can share candidate interactions that occur in your software.This provides hirers with a consolidated view of interactions across your software and SEEK:Changes to candidate interaction history within your software should be reflected in the SEEK API within 60 seconds.Individual interactions are represented by a The The
CandidateProcessHistoryItem
type.
Each item is associated with the CandidateProfile
of an uploaded candidate and listed under the seekProcessHistory
field.An interaction may occur outside of the context of a particular position:JSON
Copy
{
"action": {
"code": "Note",
"name": "Contact again later",
"description": "Candidate not currently looking for work, try again in six months. Keen to stay in Melbourne."
},
"actionDate": "1999-07-26T23:48:58.775Z",
"idempotencyId": "00000000-0000-0000-0000-000000000001",
"primaryParties": [
{
"person": {
// For interaction history, `communication` fields are not displayed in
// SEEK Talent Search
// They can be omitted or set to empty arrays
"communication": {
"email": [],
"phone": []
},
"name": {
"formattedName": "Terry A",
"given": "Terry",
"family": "Astley"
}
}
}
]
// `positionProfile` and `seekSource` are omitted for a general interaction
// `status` is omitted for a non-`CandidateWorkflowTransition` action
}
action
has a freeform name, description and one of the following codes:CodeDefinitionAgencySubmission
A candidate was sent by an agency to the hirer for general considerationDocument
A document was attachedEmail
An email was sentNote
A note was addedPhoneCall
A phone call was madePostPlacementActivity
A post-placement activity occurred, e.g. a satisfaction surveyScreening
A screening activity occurred, e.g. an interviewVerificationActivity
A verification activity occurred, e.g. a police checkStatusChange
The availability of the candidate has changedOther
Any other action that doesn’t fit into the other bucketsname
is the hirer-visible name for the workflow step. For example, the hirer might have defined a “Second interview” step that maps to the SEEK API’sScreening
action code.
JSON
Copy
{
"action": {
"code": "CandidateWorkflowTransition",
"name": "Initial offer",
"description": "Progressed to offer stage"
},
"actionDate": "1999-12-26T12:31:43.185Z",
"idempotencyId": "00000000-0000-0000-0000-000000000002",
"primaryParties": [
{
"person": {
"communication": {
"email": [],
"phone": []
},
"name": {
"formattedName": "Hayden R",
"given": "Hayden",
"family": "Robinson"
}
}
}
],
// `positionProfile` and `seekSource` are required for placement information
"positionProfile": {
"profileId": "globalPublicTest:positionProfile:unposted:QnwpqZfzXu1NRmZw5tjswn"
},
"seekSource": {
"name": "Recruitment Agency"
},
// `status` is required for a `CandidateWorkflowTransition` action
"status": {
"code": "Offer"
}
}
action
may use any of the prior codes, with one addition:CodeDefinitionCandidateWorkflowTransition
The status of the candidate for this opportunity has changedseekSource
indicates the initial source of the candidate in the context of this opportunity. The same value should be resent for each item in the process.status
must be provided for aCandidateWorkflowTransition
action, following a rough order of progression:CodeDefinitionApplication
Initial state in the hiring processAgencyShortlist
Shortlisted internally by an agency prior to submission to the hirerAgencySubmission
Sent by an agency to the hirer for consideration for this opportunityHirerShortlist
Shortlisted by the hirerInterview
Interviewing/interviewed for the opportunityTestingOrQualificationsCheck
Completing/completed tests or verification of their qualificationsReferenceCheck
Having/had their references checkedOffer
Offered the positionSuccessful
Accepted the positionUnsuccessful
No longer being considered for the position
createCandidateProcessHistoryItem
mutation adds a record of an interaction between the candidate and a SEEK hirer.To avoid unintentional duplication of data, SEEK enforces uniqueness on a partner-provided idempotencyId
.
A request to create an existing item will receive a CreateCandidateProcessHistoryItemPayload_Conflict
result.
The existing item will not be updated; you can select its details from the conflict result.Keep track of the IDs assigned to the process history item to perform subsequent update and delete operations.mutation ($input: CreateCandidateProcessHistoryItemInput!) {
createCandidateProcessHistoryItem(input: $input) {
... on CreateCandidateProcessHistoryItemPayload_Success {
candidateProcessHistoryItem {
id {
value
}
}
}
... on CreateCandidateProcessHistoryItemPayload_Conflict {
conflictingCandidateProcessHistoryItem {
id {
value
}
}
}
}
}
updateCandidateProcessHistoryItem
mutation replaces a candidate process history item in its entirety:mutation ($input: UpdateCandidateProcessHistoryItemInput!) {
updateCandidateProcessHistoryItem(input: $input) {
candidateProcessHistoryItem {
id {
value
}
}
}
}
deleteCandidateProcessHistoryItem
mutation removes a candidate process history item from the candidate profile.