Build Public Forms
Create workflows that are accessible to anyone via a public URL — no login required. Users fill in a form, the workflow runs, and results are displayed back to them.
How It Works
Two nodes in the Human category create the form interface:
| Node | Purpose |
|---|---|
| Input (📝) | Pause the workflow and collect user input via a form field |
| Output (📊) | Display a message or result to the user |
The public form is automatically rendered at a URL like:
https://your-server/w/{workflow-slug}
The Input Node
Drag an Input node from the Human category onto the canvas. Configure it in Step Settings:
Input Types
| Type | What it shows |
|---|---|
| textbox | Single-line text input |
| textarea | Multi-line text input |
| number | Numeric input with optional min/max |
| date | Date picker |
| select | Dropdown with predefined options |
| radio | Radio button group |
| checkbox | Single checkbox |
| file | File upload (max 5 MB by default) |
| form | Multiple fields in one form |
Key Fields
| Field | Description |
|---|---|
| Prompt | The question or instruction shown to the user |
| Form Title | Optional heading at the top of the form |
| Variable Name | The flow variable that stores the user's input (default: userInput) |
| Required | Whether the user must provide a value before submitting |
| Placeholder | Hint text inside the input field |
| Default Value | Pre-filled value |
For number inputs: set min and max to constrain the range.
For select/radio inputs: enter the list of options.
For file inputs: set the accepted file types (e.g., image/*, .pdf) and the maximum file size.
Accessing the Input in Later Nodes
After the user submits the form, the input is available as the variable you configured (default: {userInput}).
Use it in subsequent nodes:
{userInput}
{customerName}
{uploadedFile}
The Output Node
Drag an Output node from the Human category onto the canvas. It displays a message or data result to the user.
Output Types
| Type | Styling |
|---|---|
info | Neutral blue |
success | Green |
warning | Orange |
error | Red |
message | Plain text |
Key Fields
| Field | Description |
|---|---|
| Prompt | The message to display to the user |
| Title | Optional heading above the message |
| Data | Optional additional data to display (reference variables using {varName}) |
| Data Type | How to render the data: text, json, markdown, or table |
| Dismissible | Whether the user can close the output panel |
Markdown support: Set Data Type to markdown and include formatted content with headers, bullet points, and links.
Table support: Set Data Type to table if {result} is a JSON array — it renders as an HTML table.
Building a Simple Form Workflow
Here is the pattern for a basic form workflow:
Start → Input (collect data) → AI Agent (process) → Output (show result) → End
Example: "Summarize My Text" form
- Start — no configuration needed
- Input — type:
textarea, prompt: "Paste your text here:", variableName:userText - AI Agent — prompt:
Summarize the following text in 3 bullet points: {userText} - Output — prompt:
Here is your summary:, data:{result}, dataType:markdown - End — no configuration needed
Publishing and Sharing
A workflow must be published before it can be shared publicly.
- Save the workflow (Ctrl+S)
- Click Publish (rocket icon) in the toolbar
- Click Share (link icon) in the toolbar
The Share dialog opens:
| Option | Description |
|---|---|
| Enable Chat Mode | Display the workflow as a chat interface instead of a step-by-step form |
| Share | Publish the workflow publicly and generate the URL |
| Configure | Open advanced sharing settings |
Click Share. After a moment, the dialog shows the public URL:
https://your-server/w/my-workflow
Click Copy to copy the URL. Share it with anyone — no login is required to access the form.
Chat Mode
Enable Chat Mode in the Share dialog to turn the workflow into a conversational interface rather than a linear form. Users type messages in a chat box, and the AI Agent's responses stream in as chat messages.
Chat mode works best when the AI Agent has Stream to Chat enabled in its Step Settings, and Wait for User Response is enabled to allow back-and-forth conversation.
File Uploads
Use the file input type to let users upload files. After upload:
- A file reference is stored in the variable you configured
- The file can be passed to an AI Agent for processing or to a storage node
By default, files up to 5 MB are accepted. Set maxFileSize and accept in the Input node's Step Settings to change these limits.
Multiple Input Steps
A workflow can have multiple Input nodes — each one pauses execution and shows a form to the user in sequence. This creates a multi-step form:
Start → Input (step 1) → Input (step 2) → AI Agent → Output → End
Each Input node stores its result in its configured variable. All variables are available to subsequent nodes.