PersonaClassificationRun
One bulk run of the Persona classifier over a product's Contacts.
No Brand, unlike IcpClassificationRun: Personas are product-wide, so there is one series of runs per account and one can be in flight at a time.
type PersonaClassificationRun {
id: ID!
started_by: ID
reclassify_all: Boolean!
status: PersonaClassificationRunStatus!
contacts_total: Int!
classified: Int!
no_match: Int!
undetermined: Int!
from_cache: Int!
skipped: Int!
failed: Int!
started_at: DateTime
finished_at: DateTime
error_message: String
created_at: DateTime!
updated_at: DateTime!
}
Fields
PersonaClassificationRun.id ● ID! non-null scalar
PersonaClassificationRun.started_by ● ID scalar
PersonaClassificationRun.reclassify_all ● Boolean! non-null scalar
False: only Contacts never classified. True: every Contact, past the cooldown.
PersonaClassificationRun.status ● PersonaClassificationRunStatus! non-null enum
PersonaClassificationRun.contacts_total ● Int! non-null scalar
PersonaClassificationRun.classified ● Int! non-null scalar
Reached a verdict: a Persona, or a confident no-match.
PersonaClassificationRun.no_match ● Int! non-null scalar
Of those, how many were a confident no-match.
PersonaClassificationRun.undetermined ● Int! non-null scalar
Read the evidence and could not tell what the person does. NOT a failure — on an account that stores few job titles this is most of a run, and those Contacts stay eligible.
PersonaClassificationRun.from_cache ● Int! non-null scalar
Answered from a previous classification of the same job title, so cost no model call.
PersonaClassificationRun.skipped ● Int! non-null scalar
Not eligible: already classified inside the cooldown, or assigned by hand.
PersonaClassificationRun.failed ● Int! non-null scalar
PersonaClassificationRun.started_at ● DateTime scalar
PersonaClassificationRun.finished_at ● DateTime scalar
PersonaClassificationRun.error_message ● String scalar
PersonaClassificationRun.created_at ● DateTime! non-null scalar
PersonaClassificationRun.updated_at ● DateTime! non-null scalar
The heartbeat: saved after every Contact, so a run with no change for an hour is presumed dead.
Returned By
classifyProductContacts mutation ● personaClassificationRun query


