The Start node defines the input parameters for a workflow, while the End node configures the final output content returned to the user. Every workflow automatically includes exactly one Start node and one End node—these cannot be added or removed.
The Start and End nodes are mandatory components of every workflow. They are automatically included upon workflow creation and do not require manual addition. Neither node can be deleted, nor can additional Start or End nodes be added via the node library.
The Start node defines the workflow’s input parameters—including both system-provided built-in variables and user-defined custom variables.
Bailian Workflows provide the following built-in variables to handle user input and maintain conversation history:
Custom variables are structured input parameters defined per workflow needs. They accept external data during workflow testing or API invocation and can be referenced in downstream nodes.
The End node defines the workflow’s output—the final result returned to the user. In the output configuration editor, typing
Yes. The Start node supports multiple outgoing connections, enabling parallel execution across branches.
Yes. The End node accepts outputs from multiple upstream nodes. In Text Output mode, you can type
Adding the Node
The Start and End nodes are mandatory components of every workflow. They are automatically included upon workflow creation and do not require manual addition. Neither node can be deleted, nor can additional Start or End nodes be added via the node library.
Core Configuration
Start Node
The Start node defines the workflow’s input parameters—including both system-provided built-in variables and user-defined custom variables.
Built-in Variables
Bailian Workflows provide the following built-in variables to handle user input and maintain conversation history:
| Variable Name | Type | Description |
|---|---|---|
query | String | Receives the user’s raw text input. This variable appears directly in the Start node configuration panel and cannot be edited, deleted, or renamed. |
historyList | Array | A list of conversation history entries used to preserve context across multi-turn dialogues. Not displayed in the Start node panel; must be referenced via Custom Cache in memory-enabled nodes (e.g., LLM or Intent Classification nodes). |
imageList | Array | A list of uploaded images, supporting image analysis and multimodal interactions. Not displayed in the Start node panel; must be referenced via Custom Cache in memory-enabled nodes. |
Custom Variables
Custom variables are structured input parameters defined per workflow needs. They accept external data during workflow testing or API invocation and can be referenced in downstream nodes.
| Field | Requirement | Description |
|---|---|---|
| Name | Required | Must contain only letters, digits, and underscores (_). Cannot start with a digit and must be unique among all variables. |
| Type | Required | Supports String, Number, Boolean, Object, File, and Array (whose elements may be String, Number, Boolean, Object, or File). |
| Description | Optional | A brief description of the variable’s purpose. |
End Node
The End node defines the workflow’s output—the final result returned to the user. In the output configuration editor, typing / allows you to reference any upstream node’s output variable (e.g., LLM/result).
| Output Mode | Use Case | Configuration Method |
|---|---|---|
| Text Output | Direct display | Enter static text or variable references in the template. Typing / opens a variable selector. |
| JSON Output | API calls or system integrations | Configure output fields using a table: each row specifies a field name, reference path, and value. |
| Streaming Output | Progressive display (text mode only) | When enabled, LLM and App Component nodes output content character-by-character (typewriter effect). When disabled, full responses render only after generation completes. Streaming is only supported in Text Output mode—not available for JSON Output. |
Common Patterns
| Paired Nodes | Typical Usage |
|---|---|
| Start → LLM | Pass query as the user question into the LLM node. |
| Start → Knowledge Base → LLM | Use query for knowledge retrieval; feed both the retrieved results and query into the LLM node to generate answers. |
| Start → Intent Classification | Pass query into the Intent Classification node to route execution down different branches based on classification results. |
| LLM → Code → End | Format or transform the LLM’s output in a Code node before passing it to the End node for return. |
Frequently Asked Questions
Can the Start node connect to multiple downstream nodes?
Yes. The Start node supports multiple outgoing connections, enabling parallel execution across branches.
Can the End node receive outputs from multiple upstream nodes?
Yes. The End node accepts outputs from multiple upstream nodes. In Text Output mode, you can type / to select and combine multiple variables for composite output.