CandidateApplicationCreated
events are emitted when candidates submit applications.
You will receive events for SEEK hirers you have an ApplicationExport
relationship with at the time of application submission.You will need to request candidate application details from the GraphQL endpoint in response to these events.
For more details, see:CandidateApplicationCreated
event does not indicate that a candidate modified their application.
A candidate may submit multiple applications for a given job ad on the SEEK job board,
but each application is modelled as its own object.A candidate application will remain for 180 days after the close date of its associated job ad.
Your software must store any data that it needs to access after the 180 day period.A significant number of SEEK hirers have workflows that require posting job ads directly on the SEEK employer website.
On the SEEK employer website , there is a job reference field that hirers can provide during posting if they intend for the applications to arrive in their ATS.In order to support the workflows of these hirers, SEEK strongly recommends that you appropriately handle CandidateApplicationCreated
events from job ads posted outside of your software.
Otherwise, hirers will need to use the SEEK employer website to manage applications for these job ads.To associate an application from a job ad with the appropriate position in your software, use the PostedPositionProfile.seekHirerJobReference
field.
Your software will not have a record of position identifiers for job ads posted outside the SEEK API, so associating applications based on known position identifiers will fail.If the design of your software prohibits it from handling job ads posted from another source,
you can implement the following logic:PostedPositionProfile.seekCreatedBySelfIndicator
field for the job ad.true
indicates that the job ad was posted by your software.
You should triage this job ad as your software may have omitted a reference field.false
indicates that the job ad was posted outside of your software.
You may discard this job ad and its associated applications at the expense of workflow flexibility for your hirers.
If you received the application via webhook,
you should still respond with a 2xx
status to allow the SEEK API to halt retries and mark the application as delivered.CandidateApplicationCreated
events:{
"events": [
{
"id": "seekAnzPublicTest:event:events:5cKZnRzXas97fyUAhpiAV1",
"type": "CandidateApplicationCreated",
"createDateTime": "2019-09-13T22:16:10.593Z",
"candidateApplicationProfileId": "seekAnzPublicTest:candidateProfile:apply:7DtW6Q68gk2R4okNGhvg1Y",
"candidateId": "seekAnzPublicTest:candidate:feed:5PGXAHysiXhtA9JUqhyM8hhzMuWMPA",
// This is only available for signed webhook subscriptions
"hirerId": "seekAnzPublicTest:organization:seek:93WyyF1h"
},
{
"id": "seekAnzPublicTest:event:events:WBmJMt4uEbj72ZVMhGi2hS",
"type": "CandidateApplicationCreated",
"createDateTime": "2019-09-08T20:32:12.479Z",
"candidateApplicationProfileId": "seekAnzPublicTest:candidateProfile:apply:4QM5fWQbdekL9gPtPZrzex",
"candidateId": "seekAnzPublicTest:candidate:feed:5PGXAHysjZdkQYwZghfL4bRCqvZ7ZM",
// This is only available for signed webhook subscriptions
"hirerId": "seekAnzPublicTest:organization:seek:93WyyF1h"
}
],
"subscriptionId": "seekAnzPublicTest:webhookSubscription:events:BoJiJ9ZWFVgejLXLJxUnvL",
"url": "https://example.com/webhook"
}
candidateApplicationProfileId
to query the candidate’s application using the candidateProfile
query.See the webhooks section for more information.Receiving candidate application events via polling with the SEEK API:CandidateApplicationCreated
events since the previous cursor:query ($after: String!, $filter: EventsFilterInput!, $schemeId: String!) {
events(after: $after, filter: $filter, schemeId: $schemeId) {
edges {
node {
typeCode
... on CandidateApplicationCreatedEvent {
candidate {
person {
name {
formattedName
}
}
}
candidateApplicationProfile {
associatedPositionProfile {
positionUri
}
}
}
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
Event
.See the polling section for more information.