input_schema and an output_schema. They have the same shape on every node type, regardless of handler_class.
process says how a step does its work. The schemas say what it takes in and hands on. A node needs both.
Use this page when building nodes for Create a Workflow or Update a Workflow.
Schema
object
required
The variables, keyed by variable ID. Each value is a Variable Definition.
boolean
default:"true"
Whether new variables may be added to this schema later.
Variable Definition
string
required
Variable ID. Must match the key this definition is stored under.
string
required
The name your code and prompts refer to
string
Human-readable label. Defaults to an empty string.
array
required
The types this variable may hold — at least one. Each entry is an Allowed Type.
string
Which of
allowed_types is currently active.When set it must name a type present in allowed_types, or the request is rejected. When omitted, the first entry in allowed_types is used.any
Value used when none is supplied
string
What this variable holds
boolean
default:"false"
Whether the variable may be null
array
Permitted values, when the variable is a fixed choice. Defaults to empty.
array
Extra key/value context, each
{ variable_name, value, description }. Defaults to empty.string[]
Fields that may not be edited later. Values are field names such as
variable_name, display_name, description, is_nullable, tags, options, allowed_types.boolean
default:"true"
Whether the variable may be removed
Allowed Type
string
required
One of the supported data types. Defaults to
str.object
The inner shape, for types that have one. What it holds depends on
type:object— a map of variable name to a nested variable definitionarray— a single nested variable definition, describing every elementdate— a date format string
boolean
default:"false"
Whether
type_definition is enforced at runtimestring[]
Functions the executor applies to resolve the value at runtime. Currently
now is supported, for date variables.Supported Data Types
There is no
array_files type. Multiple files are an array whose type_definition is a variable definition with a single allowed type of file.Date Formats
Whentype is date, type_definition names the format:
Connecting Variables Between Nodes
An edge says two nodes are connected. A mapping says which variable flows across it. Mappings live on the node’smappings field, keyed by the receiving variable’s ID.
string
default:"output"
Where the value comes from. One of
input, output, env or node.string
ID of the node the value comes from
string
Path to the value within the origin — use dotted notation to reach into an
objectobject
Fallback mappings, keyed the same way, used when the primary does not resolve
mappings
Fixed Values
To pin a variable to a constant rather than map it from another node, useset_values:
object
Fixed input values, keyed by variable ID. Each is
{ value, type }.object
Fixed output values, keyed by variable ID. Each is
{ value, type }.