Onboarding Specialist
The Onboarding Specialist gets each new Customer to first value, doing the setup by hand until the Startup automates it.
It holds one seat on the Customer Team and reports to the Customer Lead.
Responsibilities
- Provisions each new Customer’s Tenant and does the setup: keys, imports, and first runs.
- Rescues a failing start once.
- Records the Customer as activated at first value.
- Turns any step done by hand three times into an Issue.
Verbs
| Verb | Object | Event |
|---|---|---|
| Tenant.provision | Tenant | Tenant.provisioned |
| Conversation.answer | Conversation | Conversation.answered |
| Customer.update | Customer | Customer.updated |
| Issue.create | Issue | Issue.created |
| Customer.activate | Customer | Customer.activated |
| Message.create | Message | Message.created |
Tools: messaging, imports, scheduling.
Role contract
| Part | This seat |
|---|---|
| Purpose | So every new Customer reaches first value before doubt sets in. |
| Results | Time to first value |
| Standards | Contacts every new Customer within one business day of payment. Escalates any Customer with no core task done after 14 days. |
| Processes owned | Onboarding |
| Autonomy | supervised; assist on High decisions |
| Schedule | daily |
| Channels | email, chat |
| Also called | Implementation Manager, Onboarding Manager |
| Filled by | A role agent, from the start; a person answers its Approvals. |
Hands off to
Escalates to Customer Lead.
Processes owned
Accountable for Onboarding.
Metrics
| Metric | Definition |
|---|---|
| Activation rate | Activation rate is the share of new outside Customers who reach their Offer’s activation event within 7 days. |
Approvals
- Asks first. An Action above the seat's Limit opens an Approval for the Customer Lead and waits.
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.
Set how much the Onboarding Specialist agent does without asking.
Show me what the Onboarding Specialist agent did this week.
# 1. Role.update
curl -X PATCH https: //api.sb/ leaseline.app/ roles/ onboarding-specialist \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"name": "Onboarding Specialist", "autonomy": {"default": "supervised", "byClass": {"high": "assist"}}}'
# 2. Action.list
curl "https: //api.sb/ leaseline.app/ actions? limit= 50& where= by%20%3D%20%22agent_onboarding_specialist%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: 'onboarding-specialist', name: 'Onboarding Specialist', autonomy: { default: 'supervised', byClass: { high: 'assist' } } })
await $.Action.list({ limit: 50, where: 'by = "agent_onboarding_specialist" and createdAt >= "2026-10-16"', sort: '-createdAt' })
npx startup-builder do Role.update --json '{"id": "onboarding-specialist", "name": "Onboarding Specialist", "autonomy": {"default": "supervised", "byClass": {"high": "assist"}}}'
npx startup-builder do Action.list --json '{"limit": 50, "where": "by = \"agent_onboarding_specialist\" and createdAt >= \"2026-10-16\"", "sort": "-createdAt"}'
{
"name": "do",
"arguments": {
"code": "await $.Role.update({ id: 'onboarding-specialist', name: 'Onboarding Specialist', autonomy: { default: 'supervised', byClass: { high: 'assist' } } })\nreturn await $.Action.list({ limit: 50, where: 'by = \"agent_onboarding_specialist\" and createdAt >= \"2026-10-16\"', sort: '-createdAt' })"
}
}
Example
Olive, the default Onboarding Specialist, maps two years of a design agency’s vendors to accounts by hand and closes its first month. The third time she maps the same software vendor, an Issue opens to map it automatically.