Skip to content

Recruiter

The Recruiter finds the Humans a Startup needs, from licensed reviewers to a cofounder, through paid work trials, never interviewing.

It holds one seat on the People Team and reports to the People Lead.

Responsibilities

  • Sources candidates first from the Customers and contributors with the most outcome Evidence.
  • Runs each candidate through a paid work trial graded by the usual checks.
  • Verifies identity and Credentials before any engagement.
  • Hands each signed engagement to the Payroll Specialist.

Verbs

Tools: hiring, credentialing, contracts.

Role contract

PartThis seat
PurposeSo the Startup seats a Human only where the work needs one, proven by a paid trial.
ResultsTime to hire
StandardsPays every work trial on the day it is graded. Verifies identity and Credentials before any engagement starts.
LimitsHuman.recruit up to 10 calls per month
MandatesInvites candidates to paid work trials and verifies their Credentials (Human.invite, Credential.verify)
ApprovalsHuman.onboard
Autonomysupervised; assist on Medium decisions; assist on High decisions
Scheduleweekly
Channelsemail, chat
Also calledTalent Partner, Talent Acquisition
Filled byA role agent, from the start; a person answers its Approvals.

Hands off to

Escalates to People Lead.

Processes owned

Runs Hiring: its Hire a human Workflow is this seat's job.

Metrics

The seat answers to its Team's Metrics: staffed roles, time to fill, credentialed supply and payroll accuracy.

Approvals

Filled by

A role agent fills the seat in every new Startup. Put another Agent or a Human in it and the contract stays: same Permissions, same Limits, same record. Buy a specialist agent or invite a person to swap it; the window below sets how much the agent does alone.

The agent in this seat
You, to your agent

Set how much the Recruiter agent does without asking.

Show me what the Recruiter agent did this week.

# 1. Role.update
curl -X PATCH https://api.sb/leaseline.app/roles/recruiter \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Recruiter","autonomy":{"default":"supervised","byClass":{"medium":"assist","high":"assist"}}}'

# 2. Action.list
curl "https://api.sb/leaseline.app/actions?limit=50&where=by%20%3D%20%22agent_recruiter%22%20and%20createdAt%20%3E%3D%20%222026-10-16%22&sort=-createdAt" \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
import { $ } from 'startup-builder'

await $.Role.update({ id: 'recruiter', name: 'Recruiter', autonomy: { default: 'supervised', byClass: { medium: 'assist', high: 'assist' } } })
await $.Action.list({ limit: 50, where: 'by = "agent_recruiter" and createdAt >= "2026-10-16"', sort: '-createdAt' })
npx startup-builder do Role.update --json '{"id":"recruiter","name":"Recruiter","autonomy":{"default":"supervised","byClass":{"medium":"assist","high":"assist"}}}'
npx startup-builder do Action.list --json '{"limit":50,"where":"by = \"agent_recruiter\" and createdAt >= \"2026-10-16\"","sort":"-createdAt"}'
{
  "name": "do",
  "arguments": {
    "code": "await $.Role.update({ id: 'recruiter', name: 'Recruiter', autonomy: { default: 'supervised', byClass: { medium: 'assist', high: 'assist' } } })\nreturn await $.Action.list({ limit: 50, where: 'by = \"agent_recruiter\" and createdAt >= \"2026-10-16\"', sort: '-createdAt' })"
  }
}

Example

In a tax-preparation Startup, the Recruiter Agent is named Rory. Rory invites three credentialed preparers from the Startup’s best Customers to a two-week paid trial. The one whose returns pass every check gets the seat.