> ## Documentation Index
> Fetch the complete documentation index at: https://botmesh.afaya.com.co/llms.txt
> Use this file to discover all available pages before exploring further.

# FlowGraphNode

> Interface exported by @botmesh/core.

Defined in: [flows/describe.ts:129](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L129)

A node of the flow graph. Ids are stable and identical to the Mermaid node ids.

## Properties

### id

```ts theme={null}
id: string;
```

Defined in: [flows/describe.ts:131](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L131)

Node id, e.g. `f0_in`, `f0_s3`, `f0_s3_o1_s0`, `f0_end`, `f1` (conversation), `x0` (missing target).

***

### kind

```ts theme={null}
kind: FlowGraphNodeKind;
```

Defined in: [flows/describe.ts:132](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L132)

***

### label

```ts theme={null}
label: string;
```

Defined in: [flows/describe.ts:134](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L134)

Full human-readable label (lines separated by `\n`; never truncated).

***

### flow?

```ts theme={null}
flow?: string;
```

Defined in: [flows/describe.ts:136](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L136)

Id of the owning [FlowGraphFlow](https://botmesh.afaya.com.co/api/core/interfaces/FlowGraphFlow.md); absent for `missing` nodes.

***

### group?

```ts theme={null}
group?: string;
```

Defined in: [flows/describe.ts:138](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L138)

Innermost inline sub-flow [FlowGraphGroup](https://botmesh.afaya.com.co/api/core/interfaces/FlowGraphGroup.md) containing this node.

***

### path?

```ts theme={null}
path?: string;
```

Defined in: [flows/describe.ts:140](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L140)

Step path inside the flow, e.g. `steps[3].options["tech"].then.steps[0]`.

***

### text?

```ts theme={null}
text?: string;
```

Defined in: [flows/describe.ts:142](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L142)

Literal text of a say/ask, or the prompt of a choose. Absent when computed at runtime.

***

### dynamic?

```ts theme={null}
dynamic?: boolean;
```

Defined in: [flows/describe.ts:144](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L144)

`true` when the say/ask text is a function evaluated at runtime.

***

### stateKey?

```ts theme={null}
stateKey?: string;
```

Defined in: [flows/describe.ts:146](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L146)

`c.state` key an ask/choose writes.

***

### timeoutMs?

```ts theme={null}
timeoutMs?: number;
```

Defined in: [flows/describe.ts:148](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L148)

Effective wait timeout of an ask/choose in ms (`0` = never expires). Absent when unparseable.

***

### timeoutSource?

```ts theme={null}
timeoutSource?: FlowGraphTimeoutSource;
```

Defined in: [flows/describe.ts:150](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L150)

Where [timeoutMs](#timeoutms) comes from.

***

### target?

```ts theme={null}
target?: string;
```

Defined in: [flows/describe.ts:152](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L152)

Target conversation of a `goto` / name of a `missing` node.

***

### options?

```ts theme={null}
options?: FlowGraphOption[];
```

Defined in: [flows/describe.ts:154](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L154)

Options of a `choose`, in menu order.

***

### media?

```ts theme={null}
media?: object;
```

Defined in: [flows/describe.ts:156](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L156)

What a `media` step sends (`type`: image, video, audio, voice, document, sticker, location).

#### source

```ts theme={null}
source: string;
```

#### caption?

```ts theme={null}
caption?: string;
```

#### type?

```ts theme={null}
type?: string;
```

***

### delayMs?

```ts theme={null}
delayMs?: number;
```

Defined in: [flows/describe.ts:158](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L158)

Pause before the step runs (`{ delay }` option, or a `.delay()` step), in ms.

***

### schema?

```ts theme={null}
schema?: boolean;
```

Defined in: [flows/describe.ts:160](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L160)

`true` when an `ask` validates its answer with a `schema`.

***

### redirect?

```ts theme={null}
redirect?: string;
```

Defined in: [flows/describe.ts:162](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L162)

Conversation a failing `guard` redirects to (absent: the conversation ends).

***

### message?

```ts theme={null}
message?: string;
```

Defined in: [flows/describe.ts:164](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L164)

Farewell text of a failing `guard`, when literal.

***

### subflow?

```ts theme={null}
subflow?: string;
```

Defined in: [flows/describe.ts:166](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L166)

Id of the sub-flow a `use` node runs inline.

***

### form?

```ts theme={null}
form?: FlowGraphFormInfo;
```

Defined in: [flows/describe.ts:168](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L168)

Fields of a `form` step, in order (the form id is in [text](#text), its `c.state` key in [stateKey](#statekey)).

***

### action?

```ts theme={null}
action?: string;
```

Defined in: [flows/describe.ts:170](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L170)

Name of the function behind a do/then/dynamic text, when it has a meaningful one.

***

### stepKind?

```ts theme={null}
stepKind?: string;
```

Defined in: [flows/describe.ts:172](https://github.com/andresayac/botmesh/blob/main/packages/core/src/flows/describe.ts#L172)

Raw step kind of an unknown (`step`) or explicit `end` step.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.