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:{
"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:Code | Definition |
---|---|
AgencySubmission | A candidate was sent by an agency to the hirer for general consideration |
Document | A document was attached |
Email | An email was sent |
Note | A note was added |
PhoneCall | A phone call was made |
PostPlacementActivity | A post-placement activity occurred, e.g. a satisfaction survey |
Screening | A screening activity occurred, e.g. an interview |
VerificationActivity | A verification activity occurred, e.g. a police check |
StatusChange | The availability of the candidate has changed |
Other | Any other action that doesn’t fit into the other buckets |
name
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’s Screening
action code.{
"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:Code | Definition |
---|---|
CandidateWorkflowTransition | The status of the candidate for this opportunity has changed |
seekSource
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 a CandidateWorkflowTransition
action,
following a rough order of progression:Code | Definition |
---|---|
Application | Initial state in the hiring process |
AgencyShortlist | Shortlisted internally by an agency prior to submission to the hirer |
AgencySubmission | Sent by an agency to the hirer for consideration for this opportunity |
HirerShortlist | Shortlisted by the hirer |
Interview | Interviewing/interviewed for the opportunity |
TestingOrQualificationsCheck | Completing/completed tests or verification of their qualifications |
ReferenceCheck | Having/had their references checked |
Offer | Offered the position |
Successful | Accepted the position |
Unsuccessful | 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.