Start and End
1. Overview
- Start and End nodes are automatically added when creating a new workflow and are essential components that cannot be deleted
- All workflow branches must eventually connect to the start and end nodes either directly or indirectly
- Variables used throughout the workflow can be defined in the start node
Note: When workflows are integrated into various channels, user messages serve as input to the start node, and output from the node preceding the end node is returned to users.
2. Start Node Configuration
2.1 Default Variable Settings
1. Text Input: The text portion of user questions. When workflows are published to the marketplace, you can configure whether text variables are enabled and required. When workflows are integrated into channels, the "enabled" and "required" settings are ignored - this variable is used by default for user text messages sent through channels.

2. Image Input: Images uploaded/sent by users. When workflows are published to the marketplace, you can configure whether image variables are enabled and required. When workflows are integrated into channels, if image variables are enabled, the "required" setting is ignored. You can set trigger conditions for when images are sent:
- Workflow triggers when users send images through channels
- Workflow triggers when users send images followed by text questions through channels
Input images can only be used in "Image Recognition Plugin" nodes within workflows. See Feature Log.

3. File Upload: Files uploaded/sent by users. When workflows are published to the marketplace, you can configure whether file variables are enabled and required. When workflows are integrated into channels, if file variables are enabled, the "required" setting is ignored - workflows trigger when users send files through channels.
Input files can be used in "Content Summary Plugin", "LLM", "Channel Send", and other nodes. See Feature Log.

2.2 Custom Variable Settings
1. Text Variables: Add custom text-type variables (stored as strings). Variable names must be combinations of English letters or underscores and cannot be duplicated within the workflow. Display names can be customized - these are the field names users see in marketplace run forms. The "required" setting controls whether workflow variable fields are mandatory in marketplace run forms.

2. Single-Select Variables: Add custom single-select variables (stored as strings). Single-select variables can have configured option values with at least one option required. You can set default option values that are pre-selected when users fill out single-select variable fields in marketplace workflow forms.

2.3 System Variable Settings
System variables are built-in environment variables automatically assigned by the system before workflow execution and can be referenced in subsequent nodes. Currently supported system variables include:
- Current Time: Get current time information
- Sender Nickname: Get the nickname of users sending messages to the bot, supporting WeChat Work, WeChat, WeChat Customer Service, WeChat Work App, DingTalk, and Feishu channels
- Group Name: Get the name of group chats where users are located, supporting WeChat Work groups, WeChat groups, DingTalk groups, and Feishu groups

- When integrating WeChat channels:
- Using chatgpt-on-wechat project integration:
Sender Nickname
variable is the WeChat friend remark (or WeChat nickname if no remark is set) - Using LinkAI platform managed integration:
Sender Nickname
variable is the WeChat friend's WeChat nickname
- When integrating WeChat Work channels:
- In conversations with WeChat friends:
Sender Nickname
variable is the WeChat friend's WeChat nickname - In conversations with WeChat Work colleagues:
Sender Nickname
variable is the WeChat Work colleague's WeChat Work account name
When integrating WeChat Customer Service channels:
Sender Nickname
variable is the visiting user's WeChat nicknameWhen integrating WeChat Work App channels:
Sender Nickname
variable is the WeChat Work account name of users conversing with the WeChat Work appWhen integrating DingTalk channels:
Sender Nickname
variable is the DingTalk account nickname of users conversing with the DingTalk botWhen integrating Feishu channels:
Sender Nickname
variable is the Feishu account name of users conversing with the Feishu bot
2.4 Variable References
Both default and custom variables can be referenced in any workflow node as part of node inputs or outputs. Workflows can also accept custom variable parameters through API calls.
Examples:
- Set required variables in the start node:

- Reference variables in branch nodes for branch decisions:

- Reference variables in LLM nodes to provide dynamic text input:

- Start node Image Input default variable:
- Can be referenced in "Image Recognition Plugin" node inputs for image recognition
- Can be referenced in "Channel Send (managed integration channels only)" node inputs to directly send input images to WeChat Work or WeChat
- Start node File Input default variable:
- Can be referenced in "Content Summary Plugin" node inputs to summarize text content from PDF, Word, and other files
- Can be referenced in "LLM" node inputs to provide file text as context for model processing
- Can be referenced in "Channel Send (managed integration channels only)" node inputs to directly send input files to WeChat Work or WeChat
3. End Node Configuration

3.1 Voice Tone
After selecting a voice tone here, workflow responses can be played with voice in the selected tone during web-based workflow conversations. When integrated into channels supporting voice conversations (WeChat Work, WeChat, WeChat Work App, WeChat Customer Service, DingTalk, Feishu, Official Accounts), responses can be delivered with voice in the selected tone.
3.2 Segmented, Merged, and Delayed Responses
1. Segmented Response: Randomly split long generated responses into multiple segments for delivery
2. Merged Response: Combine multiple user questions input to the workflow within a specified time period (configured delayed response time) into a single question for response generation
3. Delayed Response: Can be used independently to delay responses to user questions. When used with "Merged Response," all questions from the user's first question until the delay time expires are combined into a single question for response generation
User Experience Examples
