Events
JOFI will send events to your webhook endpoint as participants progress through the process. See Webhooks to learn how to setup a webhook endpoint to receive events.
JOFI will call your webhook endpoint when the following events occur:
invitation.created
invitation.accepted
test_taker.created
test_taker.assessment_completed
career_navigation_profile.created
Need more events? Please let us know! We will add more events to meet your needs.
The event object
When JOFI calls your webhook endpoint, it will include an event object in the POST request body. The event object has a type which you can use to key off of to determine which event this is. The data.object value will contain data based on the event.
Delivered payloads may also include webhook_url and webhook_verification_method so your handler can confirm which endpoint and verification method JOFI used for the request.
For example, the event type of test_taker.created will include a test_taker object. The event type of invitation.created will include an invitation object. The event type of career_navigation_profile.created will include a career_navigation_profile object.
To see the shape of each object type, see:
- object:
invitation - object:
test_taker - object:
career_navigation_profile
Example event (test_taker.created)
{
"id": "evt_1a2b3c4d5e6f",
"type": "test_taker.created",
"object": "event",
"created_at": "2026-02-03T12:43:36.744Z",
"api_version": "2.3.0",
"data": {
"object": {
"object": "test_taker",
"id": 12345,
"first_name": "Linda",
"last_name": "Sample",
"email": "linda.sample@jofiscore.com",
"invitation_created_at": "2026-02-03T12:41:35.034681+00:00",
"assigned_assessments": [
{
"id": 11111,
"assessment": {
"id": 6,
"short_name": "Personality",
"display_name": "JOFI Personality Traits"
},
"created_at": "2026-02-03T12:43:24.598908+00:00",
"started_at": null,
"completed_at": null,
"progress_saved_at": null,
"is_used_for_scoring": true
},
{
"id": 22222,
"assessment": {
"id": 7,
"short_name": "Thinking",
"display_name": "JOFI Thinking Skills"
},
"created_at": "2026-02-03T12:43:24.598908+00:00",
"started_at": "2026-02-03T12:43:31.244+00:00",
"completed_at": null,
"progress_saved_at": "2026-02-03T12:43:35.455+00:00",
"is_used_for_scoring": true
},
{
"id": 33333,
"assessment": {
"id": 8,
"short_name": "Interests",
"display_name": "JOFI Career Interests"
},
"created_at": "2026-02-03T12:43:24.598908+00:00",
"started_at": null,
"completed_at": null,
"progress_saved_at": null,
"is_used_for_scoring": true
}
],
"invited_by_user": {
"id": 44444,
"email": "jane.recruiter@jofiscore.com",
"last_name": "Recruiter",
"first_name": "Jane"
},
"team": {
"id": 100,
"display_name": "Recruiting"
},
"account": {
"id": 200,
"display_name": "Example Company Inc"
},
"assessment_url": "https://www.jofiscore.com/welcome/a2f481c7-ea5e-4964-8673-e54933df8503",
"career_navigation_url": null,
"job_fit_summary_url": null,
"scorecard_url": "https://www.jofiscore.com/team/100/test-takers/12345/scorecard",
"career_options_spotlight_url": null,
"invitation_id": 12345,
"custom_id": "ABC123",
"person_id": "1bb2141c-4100-4b21-9cd2-a998b76cf736",
"career_navigation_profile_id": null,
}
}
}