Flow
Flow protocol schemas
Flow Node Types
Source: packages/spec/src/automation/flow.zod.ts
TypeScript Usage
import { FlowNode, FlowNodeAction, FlowVariable } from '@objectstack/spec/automation';
import type { FlowNode, FlowNodeAction, FlowVariable } from '@objectstack/spec/automation';
// Validate data
const result = FlowNode.parse(data);FlowNode
Properties
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | ✅ | Node unique ID |
| type | Enum<'start' | 'end' | 'decision' | 'assignment' | 'loop' | 'create_record' | 'update_record' | 'delete_record' | 'get_record' | 'http_request' | 'script' | 'screen' | 'wait' | 'subflow' | 'connector_action' | 'parallel_gateway' | 'join_gateway' | 'boundary_event'> | ✅ | Action type |
| label | string | ✅ | Node label |
| config | Record<string, any> | optional | Node configuration |
| connectorConfig | Object | optional | |
| position | Object | optional | |
| timeoutMs | integer | optional | Maximum execution time for this node in milliseconds |
| inputSchema | Record<string, Object> | optional | Input parameter schema for this node |
| outputSchema | Record<string, Object> | optional | Output schema declaration for this node |
| waitEventConfig | Object | optional | Configuration for wait node event resumption |
| boundaryConfig | Object | optional | Configuration for boundary events attached to host nodes |
FlowNodeAction
Allowed Values
startenddecisionassignmentloopcreate_recordupdate_recorddelete_recordget_recordhttp_requestscriptscreenwaitsubflowconnector_actionparallel_gatewayjoin_gatewayboundary_event
FlowVariable
Properties
| Property | Type | Required | Description |
|---|---|---|---|
| name | string | ✅ | Variable name |
| type | string | ✅ | Data type (text, number, boolean, object, list) |
| isInput | boolean | ✅ | Is input parameter |
| isOutput | boolean | ✅ | Is output parameter |