Skip to the content
Menu: Event catalogue

Webhook events

What each webhook tells you, generated from the event catalogue. A webhook is a signal: fetch what you need with a key holding the right scope, where the same privacy rules apply.

The four classes of field

  • Structure: ids, statuses, times, counts and codes: always sent.
  • Contact details: only on leads, bookings and hand-offs, only what the visitor gave with consent, never an under-18 visitor's.
  • Results: only for released results; never for a candidate, a practice attempt, or a held or voided result.
  • Conversation: only to a webhook with includeConversation, and never from a minor's, a candidate's or a safety-flagged session.

A field the rules hold back is sent as null (or an empty list), never with other words in it.

Live sessions

session.started

A live session started: an API session, or a member's session on a portal (never its plan).

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionpersonaIdidentityworkspaceNameselfportalIdkindfocusdifficultybootstrapassignments
The fields of data (SessionStartedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • personaIdstring | null
  • identitystring | null
  • workspaceNamestring | null
  • selfboolean | null
  • portalIdstring | null
  • kindstring | null
  • focusstring | null
  • difficultystring | null
  • bootstrapboolean | null
  • assignmentsstring[] | null

session.ended

A session ended, once: its length and minutes. Its summary only with includeConversation, where allowed.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionpersonaIddurationSecondsbilledMinutesreasonminutessecondsstatuscompletedAssignmentsselfwithheldwithdrawnincompleteunverifiedreapedvoided
Results
score
Conversation
summary
The fields of data (SessionEndedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • personaIdstring | null
  • durationSecondsnumber | null
  • billedMinutesnumber | null
  • reasonstring | null
  • minutesnumber | null
  • secondsnumber | null
  • statusstring | null
  • completedAssignmentsstring[] | null
  • scorenumber | null
  • selfboolean | null
  • withheldboolean | null
  • withdrawnboolean | null
  • incompleteboolean | null
  • unverifiedboolean | null
  • reapedboolean | null
  • voidedboolean | null
  • summarystring | null

transcript.final

One finished turn of a session the API started, with its words. Needs includeConversation.

Needs includeConversationOnly when named
Structure
sessionIdrolets
Conversation
text
The fields of data (TranscriptFinalData)
  • sessionIdstring | null
  • role"user" | "assistant" | null
  • textstring | null
  • tsnumber | null

memory.written

The platform noted something for a person's next session (what kind, never the note).

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionkindsourceskillchars
The fields of data (MemoryWrittenData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • kindstring | null
  • sourcestring | null
  • skillstring | null
  • charsinteger | null

practice.started

A person started a practice attempt.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNameportalId
The fields of data (PracticeStartedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • portalIdstring | null

learner.signed_in

A learner signed in to a portal.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionmethodportalId
The fields of data (LearnerSignedInData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • methodstring | null
  • portalIdstring | null

visitor.session.ended

A website visitor's conversation ended (never a candidate's interview).

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNameminutessecondsstatusscreeningtypedrestartedwithdrawnunverifiedreapedhandoffbookingresolved
The fields of data (VisitorSessionEndedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • minutesnumber | null
  • secondsnumber | null
  • statusstring | null
  • screeningboolean | null
  • typedboolean | null
  • restartedboolean | null
  • withdrawnboolean | null
  • unverifiedboolean | null
  • reapedboolean | null
  • handoffboolean | null
  • bookingboolean | null
  • resolvedboolean | null

conversation.rated

A visitor rated a conversation (the comment only with includeConversation). Never a candidate's.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionrating
Conversation
comment
The fields of data (ConversationRatedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • ratingnumber | null
  • commentstring | null

session.transcript_ready

A session's whole transcript can be read with GET /v1/sessions/{id}/transcript (ids only; only where the API may read it).

Since 2026-10-01
Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionpersonaId
The fields of data (SessionTranscriptReadyData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • personaIdstring | null

Results

score.recorded

A released score for a person's session.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersion
Results
scorescores
The fields of data (ScoreRecordedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • scorenumber | null
  • scoresmap of number | null

mastery.updated

A person's level on a skill moved.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionskilltopicbeforeafterconfidence
The fields of data (MasteryUpdatedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • skillstring | null
  • topicstring | null
  • beforenumber | null
  • afternumber | null
  • confidencenumber | null

report.produced

A session's report is ready: numbers once released; its words only with includeConversation, where allowed. Never for a candidate.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamekindpracticescenarioscenario.idscenario.titlequestionSetquestionSet.idquestionSet.titledifficultyheldscreeningprovisionalfinalreportreport.kindreport.visitorreport.visitor.intentreport.visitor.consentreport.visitor.handoffreport.visitor.handoff.neededreport.visitor.handoff.departmentreport.visitor.bookingreport.visitor.booking.statusreport.visitor.leadScorereport.visitor.resolvedreport.visitor.pointsreport.visitor.forgottenreport.criticalreport.critical[].idreport.critical[].labelreport.practiceNotereport.omittedreport.scenarioreport.scenario.idreport.scenario.titlereport.questionSetreport.questionSet.idreport.questionSet.titlereport.difficulty
Results
overallscorepassedpercentreport.scoresreport.overallreport.masteryreport.mastery[].skillreport.mastery[].topicreport.mastery[].levelreport.deliveryreport.delivery.learnerWordsreport.delivery.avatarWordsreport.delivery.talkSharereport.delivery.questionsAskedreport.delivery.fillerWordsreport.delivery.fillerPerHundredreport.delivery.longestTurnWordsreport.delivery.turnsreport.delivery.paceWpmreport.delivery.topFillersreport.delivery.topFillers[].wordreport.delivery.topFillers[].countreport.assessmentreport.assessment.passedreport.assessment.percentreport.assessment.marksreport.assessment.outOfreport.assessment.passMarkreport.assessment.practicereport.assessment.reviewreport.assessment.humanReviewreport.assessment.certificatereport.assessment.criticalFailreport.assessment.itemsreport.assessment.items[].nreport.assessment.items[].questionIdreport.assessment.items[].verdictreport.assessment.items[].marksreport.assessment.items[].outOfreport.assessment.items[].redFlagreport.assessment.items[].hintsreport.outcomereport.outcome.agreedreport.outcome.scorereport.outcome.issuesreport.outcome.issues[].idreport.outcome.issues[].labelreport.outcome.issues[].unitreport.outcome.issues[].valuereport.outcome.issues[].scorereport.outcome.issues[].beyondWalkAway
Conversation
summaryreport.summaryreport.strengthsreport.workOnreport.nextreport.betterreport.visitor.topicsreport.visitor.answeredreport.visitor.answered[].qreport.visitor.answered[].areport.visitor.handoff.reasonreport.visitor.unansweredreport.critical[].quote
The fields of data (ReportProducedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • kindstring | null
  • summarystring | null
  • overallnumber | null
  • scorenumber | null
  • practiceboolean | null
  • passedboolean | null
  • percentnumber | null
  • scenarioobject | null
    • idstring | null
    • titlestring | null
  • questionSetobject | null
    • idstring | null
    • titlestring | null
  • difficultystring | null
  • heldboolean | null
  • screeningboolean | null
  • provisionalboolean | null
  • finalboolean | null
  • reportobject | null
    • kindstring | null
    • summarystring | null
    • scoresmap of number | null
    • overallnumber | null
    • strengthsstring[] | null
    • workOnstring[] | null
    • nextstring | null
    • betterstring[] | null
    • masteryobject[] | null
    • deliveryobject | null
    • assessmentobject | null
    • visitorobject | null
    • outcomeobject | null
    • criticalobject[] | null
    • practiceNotestring | null
    • omittedstring[] | null
    • scenarioobject | null
    • questionSetobject | null
    • difficultystring | null

assessment.completed

A scored attempt completed; the final result once a person has decided it.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNameoutOfpassMarkquestionSetquestionSet.idquestionSet.titlehumanReviewreviewdifficultyfinaldecisionvoidedreviewed
Results
passedpercentmarkscriticalFailaiai.passedai.percentai.marks
The fields of data (AssessmentCompletedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • passedboolean | null
  • percentnumber | null
  • marksnumber | null
  • outOfnumber | null
  • passMarknumber | null
  • questionSetobject | null
    • idstring | null
    • titlestring | null
  • humanReviewboolean | null
  • reviewboolean | null
  • criticalFailboolean | null
  • difficultystring | null
  • finalboolean | null
  • aiobject | null
    • passedboolean | null
    • percentnumber | null
    • marksnumber | null
  • decisionstring | null
  • voidedboolean | null
  • reviewedboolean | null

review.requested

A result waits for a person's review (why, never the score).

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamereasonpassMark
The fields of data (ReviewRequestedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • reasonstring | null
  • passMarknumber | null

review.completed

A person decided a result under review.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamedecisionvoidedoutOfpassMarkreviewerIdreportIdcontestedfinalincomplete
Results
passedpercentmarksaiai.passedai.percentai.marksbefore
The fields of data (ReviewCompletedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • decisionstring | null
  • passedboolean | null
  • voidedboolean | null
  • percentnumber | null
  • marksnumber | null
  • outOfnumber | null
  • passMarknumber | null
  • aiobject | null
    • passedboolean | null
    • percentnumber | null
    • marksnumber | null
  • reviewerIdstring | null
  • reportIdstring | null
  • contestedboolean | null
  • beforeboolean | null
  • finalboolean | null
  • incompleteboolean | null

result.contested

A person asked for their result to be looked at again.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamequestionSetquestionSet.idquestionSet.title
Results
percentpassed
The fields of data (ResultContestedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • percentnumber | null
  • passedboolean | null
  • questionSetobject | null
    • idstring | null
    • titlestring | null

certificate.revoked

A certificate was withdrawn (a fixed reason).

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamecertificateIdreason
The fields of data (CertificateRevokedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • certificateIdstring | null
  • reason"Attempt voided after review" | "Result changed after review" | null

attestation.recorded

A person confirmed an attestation before a completion.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamequestionSetquestionSet.idquestionSet.titleversiondocumentIds
The fields of data (AttestationRecordedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • questionSetobject | null
    • idstring | null
    • titlestring | null
  • versioninteger | null
  • documentIdsstring[] | null

certificate.issued

A certificate was issued (its number, never the holder's name).

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNameidsubjectissuedAtversionvalidUntiltitlelevelissuershowScoresetId
Results
percent
The fields of data (CertificateIssuedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • idstring | null
  • subjectstring | null
  • percentnumber | null
  • issuedAtstring | null
  • versioninteger | null
  • validUntilstring | null
  • titlestring | null
  • levelstring | null
  • issuerstring | null
  • showScoreboolean | null
  • setIdstring | null

completion.recorded

A completion record was written for a confirmed pass.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamekindpassMarkversionsetIdsetTitleattemptstartedAtendedAtcompletedAtdocumentsdocuments[].iddocuments[].titledocuments[].hashdocumentsHashreviewedreviewerIddecisiondecidedAt
Results
percent
The fields of data (CompletionRecordedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • kindstring | null
  • percentnumber | null
  • passMarknumber | null
  • versioninteger | null
  • setIdstring | null
  • setTitlestring | null
  • attemptinteger | null
  • startedAtstring | null
  • endedAtstring | null
  • completedAtstring | null
  • documentsobject[] | null
  • documentsHashstring | null
  • reviewedboolean | null
  • reviewerIdstring | null
  • decisionstring | null
  • decidedAtstring | null

completion.withdrawn

A completion was withdrawn (a fixed reason).

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamereason
The fields of data (CompletionWithdrawnData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • reason"Attempt voided after review" | "Result changed after review" | null

attempt.granted

A person was given one more scored attempt.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamereportIdincomplete
The fields of data (AttemptGrantedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • reportIdstring | null
  • incompleteboolean | null

certificate.expiring

A certificate is close to its valid-until date.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamecertificateIdsubjecttitlevalidUntilrenewalAssignmentId
The fields of data (CertificateNoticeData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • certificateIdstring | null
  • subjectstring | null
  • titlestring | null
  • validUntilstring | null
  • renewalAssignmentIdstring | null

certificate.expired

A certificate is past its valid-until date.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamecertificateIdsubjecttitlevalidUntilrenewalAssignmentId
The fields of data (CertificateNoticeData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • certificateIdstring | null
  • subjectstring | null
  • titlestring | null
  • validUntilstring | null
  • renewalAssignmentIdstring | null

Assigned work

assignment.created

Work was assigned.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionassignmentIdtitlelearnersdueAtminutesskillsfocusfocus.kindfocus.idfocus.titledifficultytarget
The fields of data (AssignmentCreatedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • assignmentIdstring | null
  • titlestring | null
  • learnersinteger | null
  • dueAtstring | null
  • minutesnumber | null
  • skillsstring[] | null
  • focusobject | null
    • kindstring | null
    • idstring | null
    • titlestring | null
  • difficultystring | null
  • targetnumber | null

assignment.started

A person started assigned work.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionassignmentId
The fields of data (AssignmentStartedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • assignmentIdstring | null

assignment.completed

A person completed assigned work.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionassignmentIdtitleminutespass
The fields of data (AssignmentCompletedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • assignmentIdstring | null
  • titlestring | null
  • minutesnumber | null
  • passboolean | null

Candidate screening

candidate.screened

A candidate's first-round interview was screened (ids and status only; scores never by webhook).

Structure
eventIdstatuscandidateIdsessionIdinviteIdroleIdroleportalIddecisionrecommendationreasonbyreviewerIdofferIdslotIdtimingstartAtopensAtlateAtdeadlineAtrescheduledoccurredAtexternalIdresent
The fields of data (CandidateWebhookData)
  • eventIdstring | nullrequired
  • statusstring | nullrequired
  • candidateIdstring | nullrequired
  • sessionIdstring | nullrequired
  • inviteIdstring | null
  • roleIdstring | nullrequired
  • rolestring | null
  • portalIdstring | null
  • decisionstring | null
  • recommendationstring | null
  • reasonstring | null
  • by"team" | "candidate" | null
  • reviewerIdstring | null
  • offerIdstring | null
  • slotIdstring | null
  • timingstring | null
  • startAtstring | null
  • opensAtstring | null
  • lateAtstring | null
  • deadlineAtstring | null
  • rescheduledboolean | null
  • occurredAtstring | nullrequired
  • externalIdstring | null
  • resentboolean | null

candidate.decided

The hiring team decided on a candidate (the decision and a reason code).

Structure
eventIdstatuscandidateIdsessionIdinviteIdroleIdroleportalIddecisionrecommendationreasonbyreviewerIdofferIdslotIdtimingstartAtopensAtlateAtdeadlineAtrescheduledoccurredAtexternalIdresent
The fields of data (CandidateWebhookData)
  • eventIdstring | nullrequired
  • statusstring | nullrequired
  • candidateIdstring | nullrequired
  • sessionIdstring | nullrequired
  • inviteIdstring | null
  • roleIdstring | nullrequired
  • rolestring | null
  • portalIdstring | null
  • decisionstring | null
  • recommendationstring | null
  • reasonstring | null
  • by"team" | "candidate" | null
  • reviewerIdstring | null
  • offerIdstring | null
  • slotIdstring | null
  • timingstring | null
  • startAtstring | null
  • opensAtstring | null
  • lateAtstring | null
  • deadlineAtstring | null
  • rescheduledboolean | null
  • occurredAtstring | nullrequired
  • externalIdstring | null
  • resentboolean | null

candidate.erased

A candidate's data was erased.

Structure
eventIdstatuscandidateIdsessionIdinviteIdroleIdroleportalIddecisionrecommendationreasonbyreviewerIdofferIdslotIdtimingstartAtopensAtlateAtdeadlineAtrescheduledoccurredAtexternalIdresent
The fields of data (CandidateWebhookData)
  • eventIdstring | nullrequired
  • statusstring | nullrequired
  • candidateIdstring | nullrequired
  • sessionIdstring | nullrequired
  • inviteIdstring | null
  • roleIdstring | nullrequired
  • rolestring | null
  • portalIdstring | null
  • decisionstring | null
  • recommendationstring | null
  • reasonstring | null
  • by"team" | "candidate" | null
  • reviewerIdstring | null
  • offerIdstring | null
  • slotIdstring | null
  • timingstring | null
  • startAtstring | null
  • opensAtstring | null
  • lateAtstring | null
  • deadlineAtstring | null
  • rescheduledboolean | null
  • occurredAtstring | nullrequired
  • externalIdstring | null
  • resentboolean | null

candidate.invited

A candidate was invited (or invited again: resent).

Structure
eventIdstatuscandidateIdsessionIdinviteIdroleIdroleportalIddecisionrecommendationreasonbyreviewerIdofferIdslotIdtimingstartAtopensAtlateAtdeadlineAtrescheduledoccurredAtexternalIdresent
The fields of data (CandidateWebhookData)
  • eventIdstring | nullrequired
  • statusstring | nullrequired
  • candidateIdstring | nullrequired
  • sessionIdstring | nullrequired
  • inviteIdstring | null
  • roleIdstring | nullrequired
  • rolestring | null
  • portalIdstring | null
  • decisionstring | null
  • recommendationstring | null
  • reasonstring | null
  • by"team" | "candidate" | null
  • reviewerIdstring | null
  • offerIdstring | null
  • slotIdstring | null
  • timingstring | null
  • startAtstring | null
  • opensAtstring | null
  • lateAtstring | null
  • deadlineAtstring | null
  • rescheduledboolean | null
  • occurredAtstring | nullrequired
  • externalIdstring | null
  • resentboolean | null

candidate.invite_cancelled

A candidate's invite was cancelled (a reason code).

Structure
eventIdstatuscandidateIdsessionIdinviteIdroleIdroleportalIddecisionrecommendationreasonbyreviewerIdofferIdslotIdtimingstartAtopensAtlateAtdeadlineAtrescheduledoccurredAtexternalIdresent
The fields of data (CandidateWebhookData)
  • eventIdstring | nullrequired
  • statusstring | nullrequired
  • candidateIdstring | nullrequired
  • sessionIdstring | nullrequired
  • inviteIdstring | null
  • roleIdstring | nullrequired
  • rolestring | null
  • portalIdstring | null
  • decisionstring | null
  • recommendationstring | null
  • reasonstring | null
  • by"team" | "candidate" | null
  • reviewerIdstring | null
  • offerIdstring | null
  • slotIdstring | null
  • timingstring | null
  • startAtstring | null
  • opensAtstring | null
  • lateAtstring | null
  • deadlineAtstring | null
  • rescheduledboolean | null
  • occurredAtstring | nullrequired
  • externalIdstring | null
  • resentboolean | null

candidate.reviewed

One person on the hiring team reviewed a candidate (their recommendation, never ratings or notes).

Structure
eventIdstatuscandidateIdsessionIdinviteIdroleIdroleportalIddecisionrecommendationreasonbyreviewerIdofferIdslotIdtimingstartAtopensAtlateAtdeadlineAtrescheduledoccurredAtexternalIdresent
The fields of data (CandidateWebhookData)
  • eventIdstring | nullrequired
  • statusstring | nullrequired
  • candidateIdstring | nullrequired
  • sessionIdstring | nullrequired
  • inviteIdstring | null
  • roleIdstring | nullrequired
  • rolestring | null
  • portalIdstring | null
  • decisionstring | null
  • recommendationstring | null
  • reasonstring | null
  • by"team" | "candidate" | null
  • reviewerIdstring | null
  • offerIdstring | null
  • slotIdstring | null
  • timingstring | null
  • startAtstring | null
  • opensAtstring | null
  • lateAtstring | null
  • deadlineAtstring | null
  • rescheduledboolean | null
  • occurredAtstring | nullrequired
  • externalIdstring | null
  • resentboolean | null

candidate.interview_offered

A candidate was offered times for a human interview.

Structure
eventIdstatuscandidateIdsessionIdinviteIdroleIdroleportalIddecisionrecommendationreasonbyreviewerIdofferIdslotIdtimingstartAtopensAtlateAtdeadlineAtrescheduledoccurredAtexternalIdresent
The fields of data (CandidateWebhookData)
  • eventIdstring | nullrequired
  • statusstring | nullrequired
  • candidateIdstring | nullrequired
  • sessionIdstring | nullrequired
  • inviteIdstring | null
  • roleIdstring | nullrequired
  • rolestring | null
  • portalIdstring | null
  • decisionstring | null
  • recommendationstring | null
  • reasonstring | null
  • by"team" | "candidate" | null
  • reviewerIdstring | null
  • offerIdstring | null
  • slotIdstring | null
  • timingstring | null
  • startAtstring | null
  • opensAtstring | null
  • lateAtstring | null
  • deadlineAtstring | null
  • rescheduledboolean | null
  • occurredAtstring | nullrequired
  • externalIdstring | null
  • resentboolean | null

candidate.interview_booked

A candidate booked a human interview.

Structure
eventIdstatuscandidateIdsessionIdinviteIdroleIdroleportalIddecisionrecommendationreasonbyreviewerIdofferIdslotIdtimingstartAtopensAtlateAtdeadlineAtrescheduledoccurredAtexternalIdresent
The fields of data (CandidateWebhookData)
  • eventIdstring | nullrequired
  • statusstring | nullrequired
  • candidateIdstring | nullrequired
  • sessionIdstring | nullrequired
  • inviteIdstring | null
  • roleIdstring | nullrequired
  • rolestring | null
  • portalIdstring | null
  • decisionstring | null
  • recommendationstring | null
  • reasonstring | null
  • by"team" | "candidate" | null
  • reviewerIdstring | null
  • offerIdstring | null
  • slotIdstring | null
  • timingstring | null
  • startAtstring | null
  • opensAtstring | null
  • lateAtstring | null
  • deadlineAtstring | null
  • rescheduledboolean | null
  • occurredAtstring | nullrequired
  • externalIdstring | null
  • resentboolean | null

candidate.interview_cancelled

A human interview was cancelled.

Structure
eventIdstatuscandidateIdsessionIdinviteIdroleIdroleportalIddecisionrecommendationreasonbyreviewerIdofferIdslotIdtimingstartAtopensAtlateAtdeadlineAtrescheduledoccurredAtexternalIdresent
The fields of data (CandidateWebhookData)
  • eventIdstring | nullrequired
  • statusstring | nullrequired
  • candidateIdstring | nullrequired
  • sessionIdstring | nullrequired
  • inviteIdstring | null
  • roleIdstring | nullrequired
  • rolestring | null
  • portalIdstring | null
  • decisionstring | null
  • recommendationstring | null
  • reasonstring | null
  • by"team" | "candidate" | null
  • reviewerIdstring | null
  • offerIdstring | null
  • slotIdstring | null
  • timingstring | null
  • startAtstring | null
  • opensAtstring | null
  • lateAtstring | null
  • deadlineAtstring | null
  • rescheduledboolean | null
  • occurredAtstring | nullrequired
  • externalIdstring | null
  • resentboolean | null

candidate.invite_opened

A candidate opened their invite.

Since 2026-10-01
Structure
eventIdstatuscandidateIdsessionIdinviteIdroleIdroleportalIddecisionrecommendationreasonbyreviewerIdofferIdslotIdtimingstartAtopensAtlateAtdeadlineAtrescheduledoccurredAtexternalIdresent
The fields of data (CandidateWebhookData)
  • eventIdstring | nullrequired
  • statusstring | nullrequired
  • candidateIdstring | nullrequired
  • sessionIdstring | nullrequired
  • inviteIdstring | null
  • roleIdstring | nullrequired
  • rolestring | null
  • portalIdstring | null
  • decisionstring | null
  • recommendationstring | null
  • reasonstring | null
  • by"team" | "candidate" | null
  • reviewerIdstring | null
  • offerIdstring | null
  • slotIdstring | null
  • timingstring | null
  • startAtstring | null
  • opensAtstring | null
  • lateAtstring | null
  • deadlineAtstring | null
  • rescheduledboolean | null
  • occurredAtstring | nullrequired
  • externalIdstring | null
  • resentboolean | null

candidate.invite_expired

A candidate's invite expired unused.

Since 2026-10-01
Structure
eventIdstatuscandidateIdsessionIdinviteIdroleIdroleportalIddecisionrecommendationreasonbyreviewerIdofferIdslotIdtimingstartAtopensAtlateAtdeadlineAtrescheduledoccurredAtexternalIdresent
The fields of data (CandidateWebhookData)
  • eventIdstring | nullrequired
  • statusstring | nullrequired
  • candidateIdstring | nullrequired
  • sessionIdstring | nullrequired
  • inviteIdstring | null
  • roleIdstring | nullrequired
  • rolestring | null
  • portalIdstring | null
  • decisionstring | null
  • recommendationstring | null
  • reasonstring | null
  • by"team" | "candidate" | null
  • reviewerIdstring | null
  • offerIdstring | null
  • slotIdstring | null
  • timingstring | null
  • startAtstring | null
  • opensAtstring | null
  • lateAtstring | null
  • deadlineAtstring | null
  • rescheduledboolean | null
  • occurredAtstring | nullrequired
  • externalIdstring | null
  • resentboolean | null

Website visitors and the inbox

knowledge.gap

The assistant couldn't answer some questions (the questions only with includeConversation).

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamesourcereference
Conversation
questions
The fields of data (KnowledgeGapData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • sourcestring | null
  • referencestring | null
  • questionsstring[] | null

handoff.requested

A website visitor asked for a person: their contact details, what they need and their consent. The summary and reason only with includeConversation.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamereferencepromisedueAtdepartmentverifiedportalIdintentinboxItemId
Contact details
contactcontact.namecontact.emailcontact.phonecontact.companycontact.rolecontact.preferredTimecontact.locationcontact.referenceconsentconsent.purposeconsent.marketingconsent.textconsent.versionconsent.atconsent.given
Conversation
summaryneedbudgettimelinereason
The fields of data (HandoffRequestedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • referencestring | null
  • summarystring | null
  • needstring | null
  • budgetstring | null
  • timelinestring | null
  • contactobject | null
    • namestring | null
    • emailstring | null
    • phonestring | null
    • companystring | null
    • rolestring | null
    • preferredTimestring | null
    • locationstring | null
    • referencestring | null
  • consentobject | null
    • purposestring | null
    • marketingboolean | null
    • textstring | null
    • versioninteger | null
    • atstring | null
    • givenboolean | null
  • promisestring | null
  • dueAtstring | null
  • departmentstring | null
  • verifiedboolean | null
  • portalIdstring | null
  • reasonstring | null
  • intentstring | null
  • inboxItemIdstring | null

handoff.updated

A website visitor's request for a person gained their contact details after it was sent (they agreed and said how to reach them later in the conversation): the same fields as handoff.requested, with the same reference.

Since 2026-10-01
Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamereferencepromisedueAtdepartmentverifiedportalIdintentinboxItemId
Contact details
contactcontact.namecontact.emailcontact.phonecontact.companycontact.rolecontact.preferredTimecontact.locationcontact.referenceconsentconsent.purposeconsent.marketingconsent.textconsent.versionconsent.atconsent.given
Conversation
summaryneedbudgettimelinereason
The fields of data (HandoffUpdatedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • referencestring | null
  • summarystring | null
  • needstring | null
  • budgetstring | null
  • timelinestring | null
  • contactobject | null
    • namestring | null
    • emailstring | null
    • phonestring | null
    • companystring | null
    • rolestring | null
    • preferredTimestring | null
    • locationstring | null
    • referencestring | null
  • consentobject | null
    • purposestring | null
    • marketingboolean | null
    • textstring | null
    • versioninteger | null
    • atstring | null
    • givenboolean | null
  • promisestring | null
  • dueAtstring | null
  • departmentstring | null
  • verifiedboolean | null
  • portalIdstring | null
  • reasonstring | null
  • intentstring | null
  • inboxItemIdstring | null

lead.captured

A website visitor left their details as a lead: contact details, the lead's band and their consent. The summary only with includeConversation.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamereferencepromisedueAtdepartmentverifiedportalIdleadBandpointsinboxItemId
Contact details
contactcontact.namecontact.emailcontact.phonecontact.companycontact.rolecontact.preferredTimecontact.locationcontact.referenceconsentconsent.purposeconsent.marketingconsent.textconsent.versionconsent.atconsent.given
Conversation
summaryneedbudgettimelineanswers
The fields of data (LeadCapturedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • referencestring | null
  • summarystring | null
  • needstring | null
  • budgetstring | null
  • timelinestring | null
  • contactobject | null
    • namestring | null
    • emailstring | null
    • phonestring | null
    • companystring | null
    • rolestring | null
    • preferredTimestring | null
    • locationstring | null
    • referencestring | null
  • consentobject | null
    • purposestring | null
    • marketingboolean | null
    • textstring | null
    • versioninteger | null
    • atstring | null
    • givenboolean | null
  • promisestring | null
  • dueAtstring | null
  • departmentstring | null
  • verifiedboolean | null
  • portalIdstring | null
  • leadBandstring | null
  • pointsnumber | null
  • answersmap of string | null
  • inboxItemIdstring | null

booking.requested

A website visitor asked for a booking: contact details, the service and time asked for, and their consent.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamereferencepromisedueAtdepartmentverifiedportalIdstatusinboxItemId
Contact details
contactcontact.namecontact.emailcontact.phonecontact.companycontact.rolecontact.preferredTimecontact.locationcontact.referenceconsentconsent.purposeconsent.marketingconsent.textconsent.versionconsent.atconsent.givenservicewhen
Conversation
summaryneedbudgettimeline
The fields of data (BookingRequestedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • referencestring | null
  • summarystring | null
  • needstring | null
  • budgetstring | null
  • timelinestring | null
  • contactobject | null
    • namestring | null
    • emailstring | null
    • phonestring | null
    • companystring | null
    • rolestring | null
    • preferredTimestring | null
    • locationstring | null
    • referencestring | null
  • consentobject | null
    • purposestring | null
    • marketingboolean | null
    • textstring | null
    • versioninteger | null
    • atstring | null
    • givenboolean | null
  • promisestring | null
  • dueAtstring | null
  • departmentstring | null
  • verifiedboolean | null
  • portalIdstring | null
  • servicestring | null
  • whenstring | null
  • statusstring | null
  • inboxItemIdstring | null

lead.updated

A lead moved on in the inbox (its status, and who moved it).

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamereferencerequeststatuspreviousbyby.typeby.id
The fields of data (InboxMoveData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • referencestring | null
  • requeststring | null
  • statusstring | null
  • previousstring | null
  • byobject | null
    • type"user" | "api_key" | null
    • idstring | null

booking.updated

A booking request moved on in the inbox (its status, and who moved it).

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamereferencerequeststatuspreviousbyby.typeby.id
The fields of data (InboxMoveData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • referencestring | null
  • requeststring | null
  • statusstring | null
  • previousstring | null
  • byobject | null
    • type"user" | "api_key" | null
    • idstring | null

handoff.joined

Someone from your team joined a website visitor's live conversation as themselves (their user id, how they joined).

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamereferenceportalIdstaffUserIdviastaffCount
The fields of data (HandoffJoinedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • referencestring | null
  • portalIdstring | null
  • staffUserIdstring | null
  • via"console" | "email" | "api" | null
  • staffCountinteger | null

handoff.left

Someone from your team left a website visitor's live conversation: how long they were in it, and whether the assistant carried on or the conversation ended.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNamereferenceportalIdstaffUserIdsecondsnext
The fields of data (HandoffLeftData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • referencestring | null
  • portalIdstring | null
  • staffUserIdstring | null
  • secondsinteger | null
  • next"stayed" | "resumed" | "ended" | null

visitor.detail_removed

A website visitor asked for details to be forgotten: which fields to delete from your systems.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionfields
The fields of data (VisitorDetailRemovedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • fieldsstring[] | null

case_link.opened

A customer started a conversation from a case link you sent them (the link, your reference and customer id, the opens so far). The case summary only with includeConversation.

Since 2026-10-01
Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionportalIdcaseLinkIdcaseReferencekindcustomerIdopensmaxOpenschannel
Conversation
summary
The fields of data (CaseLinkOpenedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • portalIdstring | null
  • caseLinkIdstring | null
  • caseReferencestring | null
  • kindstring | null
  • customerIdstring | null
  • opensinteger | null
  • maxOpensinteger | null
  • channel"voice" | "chat" | null
  • summarystring | null

People

consent.recorded

Consent was recorded for a membership (who recorded it, never their address).

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionby
The fields of data (ConsentRecordedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • bystring | null

member.added

Someone was added to the organisation.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionrolemethodgradeBandstatus
The fields of data (MemberAddedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • rolestring | null
  • methodstring | null
  • gradeBandstring | null
  • statusstring | null

member.removed

Someone was removed.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionrolescoperolesteamsaccountDeactivated
The fields of data (MemberRemovedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • rolestring | null
  • scopestring | null
  • rolesstring[] | null
  • teamsstring[] | null
  • accountDeactivatedboolean | null

member.updated

A member's role or unit changed.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionmembershipIdfromfrom.rolefrom.unitIdtoto.roleto.unitId
The fields of data (MemberUpdatedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • membershipIdstring | null
  • fromobject | null
    • rolestring | null
    • unitIdstring | null
  • toobject | null
    • rolestring | null
    • unitIdstring | null

member.disabled

A member (or one of their places) was switched off.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionscoperolesmembershipIdrole
The fields of data (MemberStateData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • scopestring | null
  • rolesstring[] | null
  • membershipIdstring | null
  • rolestring | null

member.enabled

A member (or one of their places) was switched on again.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionscoperolesmembershipIdrole
The fields of data (MemberStateData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • scopestring | null
  • rolesstring[] | null
  • membershipIdstring | null
  • rolestring | null

unit.created

A unit was created.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionnamekindparentIdleaderUserId
The fields of data (UnitCreatedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • namestring | null
  • kindstring | null
  • parentIdstring | null
  • leaderUserIdstring | null

unit.updated

A unit was moved or changed.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionparentIdsortOrdergradeBand
The fields of data (UnitUpdatedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • parentIdstring | null
  • sortOrdernumber | null
  • gradeBandstring | null

unit.renamed

A unit was renamed.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionfromtoduplicateName
The fields of data (UnitRenamedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • fromstring | null
  • tostring | null
  • duplicateNameboolean | null

unit.disabled

A unit was switched off, with everything below it.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionnameunitsBelowstillOffBecauseOfAParent
The fields of data (UnitSwitchData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • namestring | null
  • unitsBelowinteger | null
  • stillOffBecauseOfAParentboolean | null

unit.enabled

A unit was switched on again.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionnameunitsBelowstillOffBecauseOfAParent
The fields of data (UnitSwitchData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • namestring | null
  • unitsBelowinteger | null
  • stillOffBecauseOfAParentboolean | null

unit.deleted

A unit was deleted.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionnamemovedTosubTeamsportalssubjectsassignmentsmembershipsRemoved
The fields of data (UnitDeletedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • namestring | null
  • movedTostring | null
  • subTeamsinteger | null
  • portalsinteger | null
  • subjectsinteger | null
  • assignmentsinteger | null
  • membershipsRemovedinteger | null

Portals, subjects and settings

setting.changed

A switch changed.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionkeyscopeTypescopeIdfromtolocked
The fields of data (SettingChangedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • keystring | null
  • scopeTypestring | null
  • scopeIdstring | null
  • fromstring | number | boolean | null
  • tostring | number | boolean | null
  • lockedboolean | null

workspace.created

A subject was created.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionnameblueprintKey
The fields of data (WorkspaceCreatedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • namestring | null
  • blueprintKeystring | null

workspace.published

A subject's version went live.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionversion
The fields of data (WorkspacePublishedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • versioninteger | null

portal.created

A portal was created.

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionportalIdnameslugsubjectsvia
The fields of data (PortalCreatedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • portalIdstring | null
  • namestring | null
  • slugstring | null
  • subjectsstring[] | null
  • viastring | null

portal.updated

A portal changed (which fields).

Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionportalIdpersonaIdfieldsstatusviaaddedremoveddomaindomainVerifiedallowedOriginsloginMethodstool
The fields of data (PortalUpdatedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • portalIdstring | null
  • personaIdstring | null
  • fieldsstring[] | null
  • statusstring | null
  • viastring | null
  • addedstring | null
  • removedstring | number | boolean | null
  • domainstring | null
  • domainVerifiedstring | null
  • allowedOriginsstring[] | null
  • loginMethodsstring[] | null
  • toolstring | null

subject.draft_saved

A subject's draft version was saved.

Since 2026-10-01
Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNameversionvia
The fields of data (SubjectDraftSavedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • versioninteger | null
  • viastring | null

widget.updated

A persona's website widget was switched on or off, or changed.

Since 2026-10-01
Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionpersonaIdonlive
The fields of data (WidgetUpdatedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • personaIdstring | null
  • onboolean | null
  • liveboolean | null

job.completed

A long-running job finished (the drafts it wrote, by id).

Since 2026-10-01
Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionjobIdtypestatussubjectIds
The fields of data (JobCompletedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • jobIdstring | null
  • typestring | null
  • statusstring | null
  • subjectIdsstring[] | null

Knowledge and voices

voice.clone.completed

A cloned voice is ready to use.

Structure
voiceIdname
The fields of data (VoiceCloneCompletedData)
  • voiceIdstring | null
  • namestring | null

knowledge.document.processed

A knowledge document was read and is ready.

Structure
documentIdknowledgeBaseIdchunkCount
The fields of data (KnowledgeDocumentProcessedData)
  • documentIdstring | null
  • knowledgeBaseIdstring | null
  • chunkCountinteger | null

knowledge.document.failed

A knowledge document could not be read; errorCode says why.

Structure
documentIdknowledgeBaseIderrorerrorCode
The fields of data (KnowledgeDocumentFailedData)
  • documentIdstring | null
  • knowledgeBaseIdstring | null
  • error"The document could not be read. Check that it is a readable PDF, Word, text, Markdown or CSV file." | "No text was found in the document. If it is a scan or a picture, upload a version with text you can select." | "Processing the document took too long. Try a smaller file." | "Document processing is unavailable right now. Try again later." | "The document could not be processed." | null
  • errorCode"unreadable" | "empty" | "timeout" | "unavailable" | "failed" | null

Account and webhooks

usage.threshold

The organisation's minutes crossed a warning level.

Structure
thresholdminutesLeftplanMinutesplanUsedPercentrenewsOn
The fields of data (UsageThresholdData)
  • thresholdstring | null
  • minutesLeftnumber | null
  • planMinutesnumber | null
  • planUsedPercentnumber | null
  • renewsOnstring | null

webhook.test

A test ping, sent only to the webhook it was asked for.

Since 2026-10-01Sent to one webhook
Structure
eventIdwebhookId
The fields of data (WebhookTestData)
  • eventIdstring | null
  • webhookIdstring | null

Other

escalation.completed

A conversation your text chat handed to the video avatar ended: where it came from, your chat tool's ids, how long and the outcome. The summary only with includeConversation, where allowed.

Since 2026-10-01
Structure
eventIdorganizationIdworkspaceIdunitIduserIdsessionIdblueprintVersionworkspaceNameescalationIdportalIdsourceexternalRefcustomerRefstatusminutessecondsturnsHandedOverreferencestartedAtendedAt
Results
outcomeresolved
Conversation
summary
The fields of data (EscalationCompletedData)
  • eventIdstring | null
  • organizationIdstring | null
  • workspaceIdstring | null
  • unitIdstring | null
  • userIdstring | null
  • sessionIdstring | null
  • blueprintVersioninteger | null
  • workspaceNamestring | null
  • escalationIdstring | null
  • portalIdstring | null
  • source"api" | "intercom" | "zendesk" | "widget" | null
  • externalRefstring | null
  • customerRefstring | null
  • status"completed" | "abandoned" | null
  • minutesnumber | null
  • secondsnumber | null
  • turnsHandedOverinteger | null
  • referencestring | null
  • startedAtstring | null
  • endedAtstring | null
  • outcome"resolved" | "handoff" | "booking" | "lead" | "unresolved" | "no_conversation" | null
  • resolvedboolean | null
  • summarystring | null

connection.failed

One of your connected systems started failing (its id, kind, an error code and the HTTP status): its actions tell visitors they can't do that just now. Never its key or anything it sent back.

Since 2026-10-01
Structure
connectionIdkinderrorCodestatus
The fields of data (ConnectionFailedData)
  • connectionIdstring | null
  • kindstring | null
  • errorCodestring | null
  • statusinteger | null

Never sent

Recorded in the organisation's activity log only. A webhook can't subscribe to them: POST /v1/webhooks refuses their names.

  • turn.userLive turns and cards stay in the session.
  • turn.personaLive turns and cards stay in the session.
  • card.shownLive turns and cards stay in the session.
  • card.answeredLive turns and cards stay in the session.
  • visitor.session.startedRecorded for the activity log and audit only.
  • candidate.flaggedKept for the hiring team's audit trail; a candidate's conduct, recordings and reviews never go by webhook.
  • candidate.recording_viewedKept for the hiring team's audit trail; a candidate's conduct, recordings and reviews never go by webhook.
  • safety.flaggedSafety flags never leave Zentiq: the organisation's own people are told by email and in the portal.
  • support.view_asThe account's own records.
  • billing.account_openedThe account's own records.
  • billing.plan_changedThe account's own records.
  • billing.minutes_grantedThe account's own records.
  • billing.grant_reversedThe account's own records.
  • billing.terms_updatedThe account's own records.
  • billing.session_limit_changedThe account's own records.
  • guide.actionRecorded for the activity log and audit only.
  • disclosure.recordedRecorded for the activity log and audit only.
  • ai_label.attestedRecorded for the activity log and audit only.
  • setup.customRecorded for the activity log and audit only.
  • setup.avatarRecorded for the activity log and audit only.
  • preview.session.startedRecorded for the activity log and audit only.
  • duo.createdThe duo builder's own records.
  • duo.updatedThe duo builder's own records.
  • duo.deletedThe duo builder's own records.
  • duo.publishedThe duo builder's own records.
  • duo.liveThe duo builder's own records.
  • duo.needs_changesThe duo builder's own records.
  • assessment.acknowledgedRecorded for the activity log and audit only.
  • assessment.incompleteRecorded for the activity log and audit only.
  • candidate.openedKept for the hiring team's audit trail; a candidate's conduct, recordings and reviews never go by webhook.
  • candidate.review_requestedKept for the hiring team's audit trail; a candidate's conduct, recordings and reviews never go by webhook.
  • candidate.legal_holdKept for the hiring team's audit trail; a candidate's conduct, recordings and reviews never go by webhook.
  • candidate.outcome_emailedKept for the hiring team's audit trail; a candidate's conduct, recordings and reviews never go by webhook.
  • candidate.data_copiedKept for the hiring team's audit trail; a candidate's conduct, recordings and reviews never go by webhook.
  • candidate.notice_givenKept for the hiring team's audit trail; a candidate's conduct, recordings and reviews never go by webhook.
  • candidate.deletion_requestedKept for the hiring team's audit trail; a candidate's conduct, recordings and reviews never go by webhook.
  • candidate.alternative_requestedKept for the hiring team's audit trail; a candidate's conduct, recordings and reviews never go by webhook.
  • candidate.request_resolvedKept for the hiring team's audit trail; a candidate's conduct, recordings and reviews never go by webhook.
  • candidate.deletion_pausedKept for the hiring team's audit trail; a candidate's conduct, recordings and reviews never go by webhook.
  • candidate.demographicsKept for the hiring team's audit trail; a candidate's conduct, recordings and reviews never go by webhook.
  • hiring.role_complianceRecorded for the activity log and audit only.
  • hiring.bias_auditRecorded for the activity log and audit only.
  • hiring.export_madeRecorded for the activity log and audit only.
  • safety.resolvedSafety flags never leave Zentiq: the organisation's own people are told by email and in the portal.
  • guardian.linkedRecorded for the activity log and audit only.
  • action.calledRecorded for the activity log and audit only.
  • customer.token_mintedRecorded for the activity log and audit only.
  • action.secret_rotatedRecorded for the activity log and audit only.
  • app.tool_calledThe organisation's own audit trail of connected AI apps, shown under Connected apps.
  • app.disconnectedThe organisation's own audit trail of connected AI apps, shown under Connected apps.
  • escalation.createdRecorded for the activity log and audit only.
  • case_link.createdRecorded for the activity log and audit only.
  • case_link.revokedRecorded for the activity log and audit only.
  • connection.createdRecorded for the activity log and audit only.
  • connection.deletedRecorded for the activity log and audit only.