Ingestion
HubSpot contacts come in through the managed HubSpot connection, with the history of every property. A lead is graded as it stood when it became ready, so past leads are graded exactly as a new one would be.
- Connections
hubspot
An AI video company runs its lead scoring as code in its own SegmentStream workspace. A pipeline grades each demo request against standards written in plain language, and the sales team works the results in a dashboard with owners, statuses, notes and overrides.
HubSpot contacts come in through the managed HubSpot connection, with the history of every property. A lead is graded as it stood when it became ready, so past leads are graded exactly as a new one would be.
hubspotTwo calls to a decision model through the evaluation connection. The first turns the lead's own words and company facts, with no personal fields, into a profile of fixed categories. The second matches that profile against four grade standards written as plain prose, and returns a grade with a probability for each. The standards were written from what a year of past demo requests and their outcomes showed.
evaluationGrades stay in the warehouse. The ontology holds only what people decide: status, owner, notes, and a grade override with its reason, one review per HubSpot contact. Only invited members sign in to the dashboard, with an email code.
lead_reviewnotelead_review.setStatuslead_review.assignOwnerlead_review.addNotelead_review.overrideGradesalesscoringThe standards are configuration, not a model to retrain. Editing the text changes how the next lead is graded.
The team edits the grade standards: plain paragraphs, one per grade.
One command re-grades a date range from the stored profiles, without asking the first question again.
Every row records which version of the standards graded it, so old and new grades can be compared.
Trimmed. The review joins the warehouse by contact id; it never stores the grade itself.
export const LeadReview = entity("lead_review", { label: "Lead review", description: "What the team decided about one scored lead: where follow-up stands, " + "who owns it, and a grade override when the model's grade is wrong.", properties: { contactId: p.text({ unique: true, description: "The HubSpot contact id." }), status: p.select(STATUSES, { default: "open", managed: true }), gradeOverride: p.select(GRADES, { optional: true, managed: true }), }, relationships: { owner: rel.one(User, { optional: true }) },}).actions(() => ({ overrideGrade: action({ description: "Replace the model's grade, with the reason." }),}));Our engineers build the first version of your software in your own workspace, on your data, as code you own. Tell us what you run today and what you want to replace.
Not ready for a pilot? Send the form anyway with your question. An engineer will reply, not a sales rep.
How the pilot worksJoin the waitlist for self-serve:
Self-serve opens to the waitlist first.