# Role.staffed

URL: /business/events/Role.staffed · Id: `event:Role.staffed`

> Emitted each time a Role is staffed.

[Role.staff](/business/nouns/role/staff) emits `Role.staffed` when it completes on a [Role](/business/nouns/role).

| Property | Value |
| --- | --- |
| Emitted by | [Role.staff](/business/nouns/role/staff) |
| Noun | [Role](/business/nouns/role) |
| Moves | [Agent](/business/nouns/agent) `standby` to `seated` when the Worker who fills the Role is this Agent; [Agent](/business/nouns/agent) `seated` to `standby` when another Worker fills the last Role this Agent held; [Role](/business/nouns/role) `vacant` to `filled` |
| Wakes | [Onboard into a Role](/workflows/processes/staffing/onboard-into-role) |

### Payload
Each delivery is an [Event](/business/nouns/event) record. `data` holds what [Role.staff](/business/nouns/role/staff) returns, and `previous` holds the state it left.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | `string` | Yes | `Role.staffed`. |
| `at` | `datetime` | Yes | When it happened. |
| `seq` | `integer` | No | Its position in the namespace, one more than the Event before; any seq is a cursor into the history. |
| `data` | `json` | Yes | The Thing as the Action left it. |
| `data.role` | [Role](/business/nouns/role) | Yes | The staffed Role. |
| `data.role.name` | `string` | Yes | The title of the seat. |
| `data.role.responsibilities` | `text` | No | The work the seat owns. |
| `data.role.status` | `string` | Yes | One of `vacant` or `filled`. |
| `data.role.autonomy` | `json` | No | How much its agent does without asking: a rung, `assist`, `supervised` or `full`, with another rung per decision class where it differs. |
| `data.previous.status` | `string` | Yes | The `status` before this Event: `vacant`. |

### Example
```json
{
  "$id": "https://api.sb/kilnbakery.com/events/event_1",
  "$type": "Event",
  "name": "Role.staffed",
  "at": "2026-10-22T12:00:00Z",
  "data": {
    "role": {
      "$id": "https://api.sb/kilnbakery.com/roles/role_1",
      "$type": "Role",
      "name": "Kiln Bakery",
      "responsibilities": "Example responsibilities",
      "status": "filled",
      "autonomy": {
        "default": "supervised",
        "byClass": {
          "high": "assist"
        }
      }
    },
    "previous": {
      "status": "vacant"
    }
  },
  "seq": 1
}
```