Offer & Onboarding · Prototype review

The Onboarding Agent

After a candidate is offered, an agent collects every required document, chases the candidate automatically, validates what comes in, and only escalates the exceptions. Recruiters watch progress instead of working a checklist.

Maigrate · Treetop · screens captured from the running prototype
Why

The problem we're removing

Recruiter home

The fleet view

➚ click to zoomOnboarding fleet view
Case · exception path

The agent flags what needs a human

➚ click to zoomCase detail, needs you
Case · in-flight path

The agent is chasing, on its own

➚ click to zoomCase detail, agent handling
Admin config

Per-tenant requirements: Settings › Hire requirements

➚ click to zoomHire requirements settings
The model

Requirements are resolved, not fixed

required_docs, gates = resolve(state × role × payer × location × setting)

For example, across a few of Treetop's states:

StateWho they hireInsuranceWhat's different there
TexasRBTTricareTricare clearance before they can work
GeorgiaRBTTricareTricare-credentialed techs in Savannah, Columbus, Hinesville
North CarolinaRBT & 40-hourMedicaid, TricareExtra state background check (DHSR)
ArizonaBehavior TechnicianBCBS, UHC, AetnaClinic staff also need TB test + fingerprinting
UtahRBTTricareTB test and fingerprinting for everyone

A sample of the 10 states. See the full requirements ›

Honest status

Real vs. seeded vs. not built

Requirements resolver · config · admin screen · data model · recruiter UIBuilt & tested
Agent lifecycle + activity shown on screenSeeded fixtures
Sending SMS/email · scheduled follow-ups · doc validation (LLM/OCR) · inbound captureNot built yet

The brain is built; the body (reach out → chase → ingest → validate → escalate) is not. The working document-check + comms agents already exist in the Python production app, the reference to port.

For discussion

Decisions to make

Full requirements document › the complete state-by-state rules behind these questions.

To make it real

Build outline

  1. Trigger: create a case when an offer is accepted
  2. Request: agent sends the doc request per resolved requirement
  3. Follow-up loop: scheduled nudges on cadence (STOP/hours aware)
  4. Ingest: inbound attachment → stored document → queued
  5. Validate: LLM/OCR classify + extract → accept or flag
  6. Escalate + recompute: flags surface in Needs you; gates rerun
  7. Writeback: push accepted docs to Lumary / Rippling

Prereqs: real Twilio/Resend clients (only fakes today) · scheduler/queue worker · laravel/ai wired · inbound attachment handling.

Next step

We'd love the team's read on this

If the direction feels right, let's talk through the open questions together and get aligned on what to build first. The natural starting point is the piece that helps most: the agent reaching out and following up on its own.

Full requirements document ›

← → or space to navigate