URL: /capabilities/agents/onboarding · Id: `page:/capabilities/agents/onboarding`

# Onboarding

> Gets each new customer from signed to first value: the setup, the import, the first run, and one rescue if it stalls.

Gets each new [customer](https://startupbuilder.dev/business/nouns/customer) from signed to first value: the setup, the import, the first run, and one rescue if it stalls.

- **File convention:** `agents/customer/onboarding-specialist.mdx`
- **Noun:** [`noun:role`](https://startupbuilder.dev/business/nouns/role)
- **Role:** [`role:onboarding-specialist`](https://startupbuilder.dev/agents/customer/onboarding-specialist)

```text title="Run it · Ask"
Mark Northgate Rentals activated on the Leaseline offer once its first ledger reconciles, and show me the check first.
```

```ts title="Run it · SDK"
import { $ } from 'startup-builder'

const result = await $.try.Customer.activate({ customer: 'customers/northgate-rentals', offer: 'offers/leaseline' })
```

```json title="Run it · Response"
{
  "mode": "try",
  "stored": false,
  "customer": {
    "$id": "customers/northgate-rentals",
    "activated": true,
    "activatedAt": "2026-10-31T17:20:00Z",
    "event": "Ledger.reconciled",
    "count": 1
  }
}
```

## Responsibilities
- Contacts every new customer within one business day of payment.
- Does the setup with them: keys, the first import and the first run.
- Records the customer as activated at first value, and rescues a failing start once.
- Turns any setup step done by hand three times into an Issue for the product.

## Verbs
| Verb | Object | Event |
| --- | --- | --- |
| `Tenant.provision` | [`noun:tenant`](https://startupbuilder.dev/business/nouns/tenant) | `Tenant.provisioned` |
| `Customer.activate` | [`noun:customer`](https://startupbuilder.dev/business/nouns/customer) | `Customer.activated` |
| `Conversation.answer` | [`noun:conversation`](https://startupbuilder.dev/business/nouns/conversation) | `Conversation.answered` |
| [`Meeting.book`](/code/apps/scheduling/book) | [`noun:meeting`](https://startupbuilder.dev/business/nouns/meeting) | `Meeting.booked` |
| [`Message.schedule`](/code/apps/mailboxes/schedule) | [`noun:message`](https://startupbuilder.dev/business/nouns/message) | `Message.scheduled` |
| `Issue.create` | [`noun:issue`](https://startupbuilder.dev/business/nouns/issue) | `Issue.created` |

## Role contract
| Part | This seat |
| --- | --- |
| Purpose | Get every new customer to first value before doubt sets in. |
| Results | Time to first value; Activation rate |
| Target | At least 70% of new customers activated within 14 days, read on 20 new customers, and every new customer contacted within 1 business day of payment ([Planning estimate](/strategy/numbers#assumptions)). |
| Standards | Contacts every new customer within one business day of payment. Escalates any customer with no core task done after 14 days. |
| Limits | One rescue per customer within its first 14 days; a second goes to you. The hub Onboarding Specialist Role sets no numeric limit |
| Schedule | Daily |
| Channels | `email`, `chat` |
| Also called | Implementation Manager, Onboarding Manager |
| Filled by | A role agent, from the start; you take the setup calls it books. |

## Hands off to
- [CSM](/capabilities/agents/csm): `Customer.activated` by day 14, or the customer turns at risk first.

## Processes owned
[`process:onboarding`](https://startupbuilder.dev/workflows/processes/onboarding) · [`workflow:onboard-customer`](https://startupbuilder.dev/workflows/processes/onboarding/onboard-customer)

## Metrics
[`metric:time-to-first-value`](https://startupbuilder.dev/agents/customer#time-to-first-value) · [`metric:activation-rate`](https://startupbuilder.dev/agents/product#activation-rate)

## Approvals
You see the plan and its price before anything runs. Sends and posts go out within the limits you set; one approval rule on a class such as `send` makes every action in it wait for you, and going over a limit always asks.

| It asks you | When | Answered by |
| --- | --- | --- |
| Rescue a failing start a second time | The customer has done no core task by day 14 and was rescued once | You |

Each class and its default amount: the hub’s [approvals](https://startupbuilder.dev/agents/approvals) page.

## Works with
It trades hand-offs with [AE](/capabilities/agents/ae) and [CSM](/capabilities/agents/csm).

## Example
Northgate Rentals signs on a Tuesday. The agent books a 20-minute setup call for Wednesday, imports the 140-unit rent roll, and marks Northgate activated when the first rent ledger reconciles on day 4.