# Workers

URL: /agents/workers · Id: `page:agents/workers`

> A Worker is a Human or an Agent in a Role; both call the same Verbs, take the same Tasks, and pass the same checks.

A [Worker](/business/nouns/worker) is whoever fills a [Role](/business/nouns/role): a [Human](/business/nouns/human) or an [Agent](/business/nouns/agent). Both perform the same [Verbs](/business/nouns/verb) through the same calls, so a Role changes hands without changing any code.

## One Verb set
All work in a [Startup](/business/nouns/startup) is a Verb on a [Noun](/business/nouns/noun): `Order.refund`, `Offer.publish`, `Issue.triage`. A Role holds [Permissions](/business/nouns/permission) to a set of those Verbs, and whoever fills it gets exactly that set.

No Verb exists only for people or only for models. A founder who refunds an [Order](/business/nouns/order) from an [App](/business/nouns/app) calls `Order.refund`, the Verb an Agent calls from code. The [Action](/business/nouns/action) record is the same, with a different `by`.

## Filling a Role
[Staff](/business/nouns/role/staff) seats a Worker in a Role. The seat is the grant: no separate membership record exists, so unseating a Worker removes every Permission it held there.

A Role can seat several Workers. A Human [invited](/business/nouns/human/invite) into a Role shares it with the Agent already there, and each [Task](/business/nouns/task) goes to one of them.

```ts
import { $ } from 'startup-builder'

// A person joins Sales; the Role's Agent keeps working beside them.
await $.Human.invite({ email: 'rosa@example.com', role: 'sales-lead' })

// Seat a different Agent as Customer Lead.
await $.Role.staff({ role: 'customer-lead', worker: 'worker_7' })
```

## Tasks and the worklist
Work waiting on a Worker is a Task: an Action paused with reason `awaitingWorker`, an assignee and a due time. [Assign](/business/nouns/task/assign) puts a Task in one worklist, [claim](/business/nouns/task/claim) takes one from a shared queue, and [complete](/business/nouns/task/complete) finishes it.

Humans read their worklist in an App, a [Mailbox](/business/nouns/mailbox) or a [Channel](/business/nouns/channel). Agents drain it through the [CLI](/code/cli) or [MCP](/code/mcp) with `next`, `claim`, `done` and `release`. A claim holds a 15-minute lease, so two Workers never do the same Task.

A Task closes when its checks pass, never on a Worker's word. A failed check reopens it to the Worker that claimed it, and after three failures it returns to the queue.

## The same checks for everyone
Every Action passes three checks in order: Permission, then [Limit](/business/nouns/limit), then [Guards](/business/nouns/guard). The checks run below every [Interface](/business/nouns/interface), so no Worker reaches a Verb around them.

A Verb outside the Role's Permissions starts as an Action already `refused`. A Verb over a Limit waits for an [Approval](/business/nouns/approval), whoever calls it: a person with a $100 refund Limit waits exactly as an Agent does.

## Where people differ
The law reserves some acts to people. A [Reserved Act](/business/nouns/reserved-act) belongs to the holder of a named [Credential](/business/nouns/credential), so the Agent prepares the work and a credentialed Human performs the act.

Humans also answer more slowly, so their Tasks carry longer due times and reach them where they already read. Beyond those two differences, the record treats every Worker alike.

Agents fill every Role by default. A Human joins where the law requires one or the founder wants one. No Human sits in the critical path of work an Agent can finish.

## Example
A tutoring [Marketplace](/products/templates/marketplace) seats its first Human, a former teacher, as [Supply Manager](/agents/operations/supply-manager) to interview tutors. The Agent in the Role keeps screening applications and books each finalist into her worklist. Her interviews and its screens sit on one record, each Action marked with its `by`.

## Next
- [Role agents](/agents/role-agents): the Agent every Role starts with.
- [Escalation and approvals](/agents/escalation-and-approvals): where work goes when a Worker stops.
- [Worker](/business/nouns/worker): the Noun, its fields and Verbs.