Flow Definition Reference
This page documents the YAML schema for Flow definitions used with the Flows TF Provider.
Flowยป
The root object for a flow definition.
Syntaxยป
1 2 3 4 5 6 7 8 9 10 | |
Propertiesยป
appInstallationsยป
Type: Map of String to AppInstallation
App installations used by blocks in this flow. Keys are references used by app blocks.
dataTablesยป
Type: Map of String to DataTable
Data tables used by blocks in this flow. Keys are references used by Data Table blocks.
agentPoolsยป
Type: Map of String to AgentPool
Agent pools used by HTTP Request blocks. Keys are local references used by block configs. Each entry identifies a pool by its name or agent pool ID.
blocksยป
Type: Array of Block
List of blocks in the flow.
notesยป
Type: Array of Note
Sticky notes on the canvas.
Blockยป
A block in the flow.
Syntaxยป
1 2 3 4 5 6 7 8 9 10 11 12 | |
Propertiesยป
nameยป
Type: String
The name of the block. Unique within the flow.
descriptionยป
Type: String
Optional description of what this block does.
alternativeLookupStrategyยป
Type: BlockLookupStrategy
Alternative strategy for looking up an existing block (useful when renaming blocks).
typeยป
Type: BlockType
Block type specification. Either a core block or an app block.
positionยป
Type: Position
Canvas position as [x, y] coordinates.
configยป
Type: One of: HTTPEndpointBlockConfig (for httpEndpoint), ScheduleBlockConfig (for schedule), MCPToolBlockConfig (for mcpTool), AppBlockConfig (for app blocks), SpaceliftBlockConfig (for spacelift), DataTableCreateRowConfig (for dataTableCreateRow), DataTableGetRowConfig (for dataTableGetRow), DataTableUpdateRowConfig (for dataTableUpdateRow), DataTableQueryRowsConfig (for dataTableQueryRows), DataTableDeleteRowConfig (for dataTableDeleteRow), DataTableSetRowAssignedUsersConfig (for dataTableShareRow)
Block-specific configuration. Structure depends on the block type.
inputsยป
Type: One of: CoreBlockInputs (for core blocks), AppBlockInputs (for app blocks), SpaceliftBlockInputs (for spacelift), ConcurrencyGroupBlockInputs (for concurrencyGroup), GroupBlockIOConfig (for group blocks)
Input connections and configuration.
outputsยป
Type: One of: CustomizableBlockOutput (for most blocks), GroupBlockIOConfig (for group blocks)
Output configuration and customization.
errorHandlerยป
Type: String
Name of the block to receive error events.
dynamicOutputKeysยป
Type: Array of String
Output keys to pre-create for blocks with dynamically managed outputs.
groupยป
Type: String
Name of the group this block belongs to.
Noteยป
A sticky note on the canvas.
Syntaxยป
1 2 3 4 | |
Propertiesยป
bodyยป
Type: String
Markdown content of the note.
positionยป
Type: Position
Canvas position as [x, y] coordinates.
styleยป
Type: NoteStyleMetadata
Visual style settings for the note.
alternativeLookupStrategyยป
Type: NoteLookupStrategy
Alternative strategy for looking up an existing note.
AppInstallationยป
Describes an app installation referenced by blocks.
Syntaxยป
1 2 3 | |
Propertiesยป
appNameยป
Type: String
The name of the app.
appVersionยป
Type: String
Version of the app.
idยป
Type: String (UUID)
Installation ID (UUID format).
Expressionยป
Expressions are values or JavaScript code snippets that are evaluated at runtime.
You can use a raw value, as simple as this:
1 | |
To use a dynamic expression, prefix with !expr:
1 2 3 | |
Expressions have access to:
- outputs: Values from connected block outputs (e.g.,
outputs.myBlock.someField) - config: Block configuration values
- event (for input config fields): The current event being processed
- Standard JavaScript operators and functions
DataTableยป
Describes a data table referenced by blocks.
Syntaxยป
1 2 3 | |
Propertiesยป
idยป
Type: String (UUID)
Data table ID (UUID format).
nameยป
Type: String
The name of the data table.
schemaยป
Type: DataTableSchema
Schema of the data table.
DataTableSchemaยป
The columns a data table holds.
Syntaxยป
1 2 | |
Propertiesยป
columnsยป
Type: Array of DataTableSchemaColumn
List of columns in the data table.
DataTableSchemaColumnยป
A single data table column.
Syntaxยป
1 2 3 | |
Propertiesยป
nameยป
Type: String
The name of the column.
typeยป
Type: String (string, integer, float, boolean, datetime, json, row_ref)
The type of the column. One of string, integer, boolean, datetime, json, float, object, row_ref.
dataTableRefยป
Type: String
The slug of the data table this column references.
AgentPoolยป
Identifies an agent pool by name or ID, for blocks that run through a private agent pool.
Syntaxยป
1 2 | |
Propertiesยป
nameยป
Type: String
The name of the agent pool.
idยป
Type: String (UUID)
Agent pool ID (UUID format). If both id and name are provided, id takes precedence.
BlockTypeยป
Specifies whether the block is a core block or an app block. Exactly one must be set.
Syntaxยป
1 2 3 | |
Propertiesยป
appBlockยป
Type: AppBlockType
App block type specification.
coreBlockยป
Type: String (condition, sleep, transform, httpRequest, explode, collect, memorySet, memoryGet, memoryList, schedule, httpEndpoint, mcpTool, handleError, group, dataTableCreateRow, dataTableUpdateRow, dataTableGetRow, dataTableQueryRows, dataTableDeleteRow, dataTableShareRow, formOpened, showForm, concurrencyGroup, spacelift)
Core block type name.
kindยป
Type: String
Sub-block of a core block family (required for coreBlock: spacelift, e.g. triggerRun).
AppBlockTypeยป
Specification for an app block.
Syntaxยป
1 2 3 | |
Propertiesยป
blockยป
Type: String
The block type name within the app.
appInstallationยป
Type: String
Reference to an app installation key defined in appInstallations.
schemaยป
Type: Object (app block schema)
Inline block schema (typically not used when appInstallation is set). Filled out automatically when exporting flows.
HTTPEndpointBlockConfigยป
Configuration for HTTP Endpoint blocks.
Syntaxยป
1 2 3 4 | |
Propertiesยป
pathยป
Type: String
URL path pattern. Can include parameters like /hello/{name}.
methodsยป
Type: Array of String
HTTP methods to accept (GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS).
audienceยป
Type: String (world, organization, project)
Who can access this endpoint. Values: world, organization, project.
ScheduleBlockConfigยป
Configuration for Schedule blocks.
Syntaxยป
1 | |
Propertiesยป
definitionยป
Type: ScheduleDefinition
Schedule definition (cron or frequency-based).
MCPToolBlockConfigยป
Configuration for MCP Tool blocks.
Syntaxยป
1 | |
Propertiesยป
inputSchemaยป
Type: MCPToolInputSchema
JSON Schema defining the tool's input parameters.
AppBlockConfigยป
Configuration for app blocks.
Type: Map of String to Expression
DataTableCreateRowConfigยป
Configuration for Data Table Create Row blocks.
Syntaxยป
1 | |
Propertiesยป
tableยป
Type: String
Reference to a data table key defined in dataTables.
DataTableGetRowConfigยป
Configuration for Data Table Get Row blocks.
Syntaxยป
1 | |
Propertiesยป
tableยป
Type: String
Reference to a data table key defined in dataTables.
DataTableUpdateRowConfigยป
Configuration for Data Table Update Row blocks.
Syntaxยป
1 | |
Propertiesยป
tableยป
Type: String
Reference to a data table key defined in dataTables.
DataTableQueryRowsConfigยป
Configuration for Data Table Query Rows blocks.
Syntaxยป
1 2 | |
Propertiesยป
tableยป
Type: String
Reference to a data table key defined in dataTables.
limitยป
Type: Number
Maximum number of rows to return.
DataTableDeleteRowConfigยป
Configuration for Data Table Delete Row blocks.
Syntaxยป
1 | |
Propertiesยป
tableยป
Type: String
Reference to a data table key defined in dataTables.
DataTableSetRowAssignedUsersConfigยป
Configuration for Data Table Share Row blocks.
Syntaxยป
1 | |
Propertiesยป
tableยป
Type: String
Reference to a data table key defined in dataTables.
CoreBlockInputsยป
Input configuration for core blocks.
Syntaxยป
1 | |
Propertiesยป
defaultยป
Type: CoreBlockInput
The default input.
CoreBlockInputยป
A single input with links and configuration.
Syntaxยป
1 2 3 | |
Propertiesยป
linksยป
Type: Array of BlockIOLink
Connections from other block outputs.
configยป
Type: One of: ConditionBlockInputConfig (for condition), SleepBlockInputConfig (for sleep), TransformBlockInputConfig (for transform), HTTPRequestBlockInputConfig (for httpRequest), HTTPEndpointBlockInputConfig (for httpEndpoint), ExplodeBlockInputConfig (for explode), CollectBlockInputConfig (for collect), MemorySetBlockInputConfig (for memorySet), MemoryGetBlockInputConfig (for memoryGet), MemoryListBlockInputConfig (for memoryList), MCPToolBlockInputConfig (for mcpTool), ConcurrencyGroupBlockInputConfig (for concurrencyGroup), DataTableCreateRowInputConfig (for dataTableCreateRow), DataTableGetRowInputConfig (for dataTableGetRow), DataTableUpdateRowInputConfig (for dataTableUpdateRow), DataTableQueryRowsInputConfig (for dataTableQueryRows), DataTableDeleteRowInputConfig (for dataTableDeleteRow), DataTableSetRowAssignedUsersInputConfig (for dataTableShareRow)
Input-specific configuration. Structure depends on the block type.
AppBlockInputsยป
Input configuration for app blocks.
Type: Map of String to AppBlockInput
AppBlockInputยป
A single app block input with links and configuration.
Syntaxยป
1 2 3 4 | |
Propertiesยป
linksยป
Type: Array of BlockIOLink
Connections from other block outputs.
configยป
Type: Map of String to Expression
Input-specific configuration expressions.
SpaceliftBlockConfigยป
Block-level configuration for Spacelift blocks, resolved once when saved rather than per event.
Type: Map of String to Expression
SpaceliftBlockInputsยป
Input configuration for Spacelift blocks, keyed by socket name.
Type: Map of String to SpaceliftBlockInput
SpaceliftBlockInputยป
A single Spacelift input socket, with links and the configuration the block's kind declares on it.
Syntaxยป
1 2 3 4 | |
Propertiesยป
linksยป
Type: Array of BlockIOLink
Connections from other block outputs.
configยป
Type: Map of String to Expression
Input-specific configuration expressions.
ConcurrencyGroupBlockInputsยป
Input configuration for Concurrency Group blocks, which take events on two sockets.
Syntaxยป
1 2 | |
Propertiesยป
acquireยป
Type: CoreBlockInput
Events to queue in the concurrency group.
releaseยป
Type: CoreBlockInput
Release input to mark the active item as processed.
GroupBlockIOConfigยป
Input/output configuration for Group blocks.
Type: Map of String to GroupBlockIOLinks
GroupBlockIOLinksยป
Configuration for a single group input/output socket.
Syntaxยป
1 2 3 4 5 6 | |
Propertiesยป
nameยป
Type: String
Name of the socket.
linksยป
Type: Array of BlockIOLink
Connections for this socket.
outputCustomizationยป
Type: Expression
Expression to transform the output value.
sensitivePathsยป
Type: Array of String
JSONPath expressions marking sensitive parts of the output.
ConditionBlockInputConfigยป
Input configuration for Condition blocks.
Syntaxยป
1 | |
Propertiesยป
conditionยป
Type: Expression
JavaScript expression that evaluates to a boolean.
SleepBlockInputConfigยป
Input configuration for Sleep blocks.
Syntaxยป
1 | |
Propertiesยป
sleepยป
Type: Expression
Duration to sleep in seconds.
TransformBlockInputConfigยป
Input configuration for Transform blocks.
HTTPRequestBlockInputConfigยป
Input configuration for HTTP Request blocks.
Syntaxยป
1 2 3 4 5 6 | |
Propertiesยป
urlยป
Type: Expression
The URL to send the request to.
methodยป
Type: String
HTTP method (GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS).
bodyยป
Type: Expression
Request body expression.
headersยป
Type: Map of String to Expression
HTTP headers as key-value expressions.
agentPoolยป
Type: String
Reference to an agent pool key defined in agentPools.
HTTPEndpointBlockInputConfigยป
Input configuration for HTTP Endpoint blocks (response configuration).
Syntaxยป
1 2 3 4 | |
Propertiesยป
statusCodeยป
Type: Expression
HTTP response status code.
bodyยป
Type: Expression
Response body expression.
headersยป
Type: Map of String to Expression
Response headers as key-value expressions.
ExplodeBlockInputConfigยป
Input configuration for Explode blocks.
Syntaxยป
1 2 | |
Propertiesยป
itemsยป
Type: Expression
Expression that evaluates to an array to explode into individual events.
emittedLimitยป
Type: Number
Maximum number of items to emit. Maximum of 1024.
CollectBlockInputConfigยป
Input configuration for Collect blocks.
Syntaxยป
1 2 3 4 5 | |
Propertiesยป
groupยป
Type: Expression
Expression to group items by.
countยป
Type: Expression
Trigger based on number of items to collect before emitting.
emitยป
Type: Expression
Customized trigger to decide if the group is ready to be emitted.
itemยป
Type: Expression
Expression to extract the item value from each input event.
delayยป
Type: Number
Trigger based on delay in seconds before emitting after last item received.
MemorySetBlockInputConfigยป
Input configuration for Memory Set blocks.
Syntaxยป
1 2 3 4 | |
Propertiesยป
keyยป
Type: Expression
Key to store the value under.
collectionยป
Type: String
Collection name for organizing keys.
valueยป
Type: Expression
Value to store.
ttlยป
Type: Expression
Time-to-live in seconds (optional).
MemoryGetBlockInputConfigยป
Input configuration for Memory Get blocks.
Syntaxยป
1 2 | |
Propertiesยป
keyยป
Type: Expression
Key to retrieve the value for.
collectionยป
Type: String
Collection name for organizing keys.
MemoryListBlockInputConfigยป
Input configuration for Memory List blocks.
Syntaxยป
1 2 3 | |
Propertiesยป
collectionยป
Type: String
Collection name to list keys from.
limitยป
Type: Expression
Maximum number of keys to return. Maximum of 100.
startingKeyยป
Type: Expression
Key to start listing from (for pagination).
MCPToolBlockInputConfigยป
Input configuration for MCP Tool blocks (response configuration).
Syntaxยป
1 | |
Propertiesยป
responseBodyยป
Type: Expression
Expression for the MCP Tool response body.
ConcurrencyGroupBlockInputConfigยป
Input configuration for a Concurrency Group block's sockets.
Syntaxยป
1 2 | |
Propertiesยป
groupKeyยป
Type: Expression
Expression to compute the group key. Null means all events share one group.
itemKeyยป
Type: Expression
Expression to compute the item key. Used to match releases to active items.
DataTableCreateRowInputConfigยป
Input configuration for Data Table Create Row blocks.
Syntaxยป
1 2 | |
Propertiesยป
rowยป
Type: Expression
Row object to be added to the table.
ttlยป
Type: Expression
Time to live in seconds. The row will expire after this duration.
DataTableGetRowInputConfigยป
Input configuration for Data Table Get Row blocks.
Syntaxยป
1 | |
Propertiesยป
rowIDยป
Type: Expression
Expression for the row ID to retrieve.
DataTableUpdateRowInputConfigยป
Input configuration for Data Table Update Row blocks.
Syntaxยป
1 2 3 | |
Propertiesยป
rowIDยป
Type: Expression
Expression for the row ID to update.
rowยป
Type: Expression
Row object with updated fields.
ttlยป
Type: Expression
Time to live in seconds. The row will expire after this duration.
DataTableQueryRowsInputConfigยป
Input configuration for Data Table Query Rows blocks.
Syntaxยป
1 2 3 | |
Propertiesยป
filterยป
Type: Expression
Expression for the query filter.
queryOrdersยป
Type: Expression
Expression for the query sort orders.
continuationTokenยป
Type: Expression
Continuation token for paginated queries.
DataTableDeleteRowInputConfigยป
Input configuration for Data Table Delete Row blocks.
Syntaxยป
1 | |
Propertiesยป
rowIDsยป
Type: Expression
Expression for the row IDs to delete.
DataTableSetRowAssignedUsersInputConfigยป
Input configuration for Data Table Share Row blocks.
Syntaxยป
1 2 | |
Propertiesยป
rowIDยป
Type: Expression
Expression for the row ID to assign users to.
assigneesยป
Type: Expression
Expression for user emails to assign. Can use 'stored' variable.
CustomizableBlockOutputยป
Output configuration for blocks that support output customization.
Type: Map of String to CoreBlockOutput
CoreBlockOutputยป
Configuration for a single block output.
Syntaxยป
1 2 3 | |
Propertiesยป
outputCustomizationยป
Type: Expression
Expression to transform the output value.
sensitivePathsยป
Type: Array of String
JSONPath expressions marking sensitive parts of the output.
BlockIOLinkยป
A connection from another block's output.
Syntaxยป
1 2 | |
Propertiesยป
blockยป
Type: String
Name of the source block.
outputยป
Type: String
Name of the output on the source block.
BlockLookupStrategyยป
Strategy for looking up an existing block (useful when renaming).
Syntaxยป
1 2 | |
Propertiesยป
idยป
Type: String (UUID)
Block ID to look up directly.
nameยป
Type: String
Previous block name to look up by.
NoteLookupStrategyยป
Strategy for looking up an existing note.
Syntaxยป
1 | |
Propertiesยป
idยป
Type: String (UUID)
Note ID to look up directly.
Positionยป
Canvas position as [x, y] coordinates.
Syntaxยป
1 2 | |
Propertiesยป
xยป
Type: Number
Horizontal coordinate of the position.
yยป
Type: Number
Vertical coordinate of the position.
ScheduleDefinitionยป
Schedule definition. Either cron-based or frequency-based.
Syntaxยป
1 2 3 | |
Propertiesยป
typeยป
Type: String (cron, frequency)
Type of the schedule definition.
cronยป
Type: ScheduleDefinitionCron
Cron schedule definition. Required when type is 'cron'.
frequencyยป
Type: ScheduleDefinitionFrequency
Frequency schedule definition. Required when type is 'frequency'.
ScheduleDefinitionCronยป
Cron-based schedule configuration.
Syntaxยป
1 2 | |
Propertiesยป
expressionยป
Type: String
Cron expression defining the schedule.
locationยป
Type: String
IANA time zone name defining the schedule's time zone, e.g., 'America/Los_Angeles'. Defaults to 'UTC'.
ScheduleDefinitionFrequencyยป
Frequency-based schedule configuration.
Syntaxยป
1 2 | |
Propertiesยป
intervalยป
Type: Number
Interval between scheduled runs, in the given unit.
unitยป
Type: String (seconds, minutes, hours)
Unit of time for the interval; defaults to 'seconds'.
NoteStyleMetadataยป
Visual style settings for notes.
Syntaxยป
1 2 3 | |
Propertiesยป
widthยป
Type: Number
Width of the note.
heightยป
Type: Number
Height of the note.
colorยป
Type: String
Color of the note, in hex format (e.g. #18181b).
MCPToolInputSchemaยป
Input schema for MCP tools. Maps parameter names to their definitions.
Type: Map of String to MCPToolInputProperty
MCPToolInputPropertyยป
Definition of a single MCP tool input parameter.
Syntaxยป
1 2 | |
Propertiesยป
requiredยป
Type: Boolean
Whether this input is required.
typeยป
Type: Object (JSON Schema)
The JSON schema document defining this input.