# uip maestro case triggers, sticky-notes, edges

> Syntax, options, and JSON field reference for `uip maestro case triggers`, `sticky-notes`, and `edges`.

A case management definition is a graph, edited in place as a JSON schema file (the same file `uip maestro case init` scaffolds). **Triggers** are the entry points that start a case; **sticky notes** are free-floating annotations on the diagram canvas; **edges** are the directed connections between nodes (triggers, stages, and other elements) that define the case's flow. See the [Case Management overview](./uip-maestro-case.md) for the shared concepts (project layout, the JSON schema file, `init`) that apply here too.

Triggers, sticky notes, and edges are added, edited, or removed by hand in `caseplan.json`'s node/edge arrays, then validated with [`uip maestro case validate`](./uip-maestro-case.md#uip-maestro-case-validate). There is no `triggers get` verb; `sticky-notes get` and `edges get` are documented below.

## Synopsis

```text
uip maestro case sticky-notes get <file> <note-id>
uip maestro case edges get <file> <edge-id>
```

---

## uip maestro case triggers

Trigger nodes are the entry points that start a case — three types exist (manual, timer, connector-event). Inspect, add, or edit a trigger by editing `caseplan.json`'s `nodes[]` array directly (see the `uipath-maestro-case` skill's `references/plugins/` for the exact per-type node shape), then validate.

---

## uip maestro case sticky-notes

Free-floating text annotations on the case diagram canvas. Purely cosmetic — they carry no runtime behavior.

### uip maestro case sticky-notes get

#### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<file>` | yes | Path to the case management JSON file. |
| `<note-id>` | yes | ID of the sticky note to retrieve. |

#### Example

```bash
uip maestro case sticky-notes get case.json StickyNote_a1b2c3d4
```

#### Data shape (`--output json`)

```json
{ "Code": "StickyNoteFound", "Data": { "StickyNote": { "id": "StickyNote_a1b2c3d4", "type": "case-management:StickyNote", "position": { "x": 0, "y": 0 }, "data": { "label": "TODO" } } } }
```

`StickyNote` is the raw node object as stored on disk — use this shape as a reference when hand-editing `caseplan.json` to add, edit, or remove a sticky note.

---

## uip maestro case edges

Directed connections between nodes in the case diagram — the same graph-edge concept as [`uip maestro flow edge`](./uip-maestro-flow-node-edge.md#uip-maestro-flow-edge-add), but scoped to case management's own node types (triggers and stages) and JSON schema shape.

### uip maestro case edges get

#### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<file>` | yes | Path to the case management JSON file. |
| `<edge-id>` | yes | ID of the edge to retrieve. |

#### Example

```bash
uip maestro case edges get case.json edge_a1b2c3d4
```

#### Data shape (`--output json`)

```json
{
  "Code": "EdgeFound",
  "Data": {
    "Edge": {
      "id": "edge_a1b2c3d4",
      "type": "case-management:Edge",
      "source": "Stage_1",
      "target": "Stage_2",
      "sourceHandle": "Stage_1____source____right",
      "targetHandle": "Stage_2____target____left",
      "data": { "label": "Next" }
    }
  }
}
```

`Edge` is the raw edge object as stored on disk — a trigger-sourced edge has `type: "case-management:TriggerEdge"` instead of `case-management:Edge`. Use this shape as a reference when hand-editing `caseplan.json`'s `edges[]` array.

Edges are not the recommended way to model case flow — keep `caseplan.json`'s `edges` array as `[]` and model transitions with [stage entry/exit conditions](./uip-maestro-case-conditions.md) instead, then run `uip maestro case validate <file>`.

## See also

- [Case Management overview](./uip-maestro-case.md)
- [`uip maestro case cases` / `stages`](./uip-maestro-case-cases-stages.md)
- [`uip maestro case conditions`](./uip-maestro-case-conditions.md) — the recommended replacement for edge-based flow modeling.
- [Global options](./global-options.md)
- [Exit codes](./exit-codes.md)
