Form Triggers
Form triggers let you create hosted forms that trigger a workflow when submitted. QuickFlo includes a full drag-and-drop form builder with live preview, field validation, branding options, and optional password protection — no external form tools needed.
Each form gets a unique public URL that you can share with anyone. When someone submits the form, QuickFlo starts the workflow with the submitted values as input data.
Adding a Form Trigger
Section titled “Adding a Form Trigger”-
Open a workflow in the builder
-
In the Library sidebar under Triggers, click Form
-
A form trigger node appears on the canvas — click it to configure
Once added, you should provide a unique form name. QuickFlo will generate a unique URL for the form using the name you provide. Click the trigger node to see the URL, edit the form, or open it in a new tab.
| Field | Description |
|---|---|
| Name | Human-readable identifier for the trigger (optional) |
| Form URL | The public URL where the form is hosted — share this with users |
| Title | The form title shown at the top of the page |
| Fields | Summary of configured fields |
Click Edit Form to open the form builder.
The Form Builder
Section titled “The Form Builder”The form builder is a visual drag-and-drop editor with three panels:
Fields palette (left) — drag field types onto the form:
| Category | Field Types |
|---|---|
| Basic Inputs | Text, Long Text, Number, Email, Phone, Password |
| Selection | Dropdown, Multi-Select, Checkbox |
| Special | File Upload, Date |
Form layout (center) — arrange fields, set labels, mark fields as required, and configure field IDs. The field ID is the key used to access the value in your workflow (e.g., a field with ID first_name is accessed as {{ initial.first_name }}).
Live preview (right) — see exactly what the form looks like to end users as you build it. The preview updates in real-time as you add and configure fields.
Configuring Fields
Section titled “Configuring Fields”Click any field in the form layout to configure it:
- Label — the display name shown to users
- Field ID — the key used in template expressions (auto-generated from the label, or set manually)
- Required — whether the field must be filled before submission
- Placeholder — hint text shown inside the input
- Default value — pre-filled value (optional)
For Dropdown and Multi-Select fields, you also define the list of options.
Form Settings
Section titled “Form Settings”Click the settings gear icon in the form builder toolbar to open Form Settings.
Branding
Section titled “Branding”Customize the look of your hosted form page:
| Field | Description |
|---|---|
| Logo URL | URL of an image displayed at the top of the form |
| Page Title | Custom browser tab title (defaults to the form title) |
| Favicon URL | Custom favicon for the hosted form page |
Success and Error Messages
Section titled “Success and Error Messages”- Success message — shown to users after a successful submission (or use a Return step to control the response dynamically)
- Error message — custom message shown when submission fails
Data Import
Section titled “Data Import”Enable bulk upload mode to let users upload a CSV file to submit multiple entries at once. Each row in the CSV becomes a separate workflow execution.
Error Handling
Section titled “Error Handling”Toggle Expose detailed error messages to control whether users see the actual error message from the workflow or a generic error. Keep this off in production to avoid leaking internal details.
Password Protecting Forms
Section titled “Password Protecting Forms”By default, forms are public — anyone with the URL can submit them. To restrict access, you can require users to sign in with credentials before seeing the form.
Step 1: Create a Form Auth Connection
Section titled “Step 1: Create a Form Auth Connection”Form users are managed as Form Auth connections. Each connection represents a username/password credential.
-
Navigate to Connections in the QuickFlo sidebar
-
Click New Connection and select Form Auth
-
Fill in the credentials:
Field Description Username The user’s identifier (email, username, etc.) Password Password for form access Metadata Optional key-value pairs passed to the workflow on submission (e.g., department, role, permissions) -
Click Save
You can create as many Form Auth connections as you need — each represents a different user who can access the form.
Step 2: Enable Authentication on the Form
Section titled “Step 2: Enable Authentication on the Form”-
Open the form builder and click the settings gear icon
-
Under Access Control, change Authentication to Require credentials
-
In Authorized Users, select the Form Auth connections that should have access
-
Optionally add a Login Hint — a message displayed on the sign-in screen (e.g., “Use your company email and the password provided by your admin”)
-
Close settings and save the workflow
Now when someone visits the form URL, they’ll see a login screen before the form loads. Only users with matching Form Auth credentials can access it.
Accessing Form Data in Workflows
Section titled “Accessing Form Data in Workflows”When a form is submitted, the field values are available in the workflow via {{ initial.* }}:
{{ initial.first_name }}{{ initial.email }}{{ initial.group }}The form context object provides submission metadata:
{{ initial.form.formName }}{{ initial.form.submittedAt }}{{ initial.form.triggerId }}For authenticated forms, the user’s identity is also available:
{{ initial.form.authenticatedUser.username }}{{ initial.form.authenticatedUser.connectionName }}{{ initial.form.authenticatedUser.metadata.department }}Responding to Submissions
Section titled “Responding to Submissions”By default, users see a generic success message after submitting. To customize the response, add a Return step to your workflow — the step editor shows a Form Response tab when the workflow has a form trigger.
Response Fields
Section titled “Response Fields”| Field | Description | Example |
|---|---|---|
| Response Type | The visual style of the response screen | Success, Error, Warning, Info |
| Message | Main heading shown to the user — supports templates | Thanks, {{ initial.name }}! Your submission was received. |
| Description | Optional subtitle below the heading | We'll review your submission and get back to you shortly. |
| Redirect URL | If set, redirects the user instead of showing a message — supports templates | https://example.com/thank-you?ref={{ initial.email }} |
All text fields support template expressions, so you can personalize the response with the submitted form data or values from earlier workflow steps.
Response Types
Section titled “Response Types”The Response Type dropdown controls the icon and color theme of the response screen:
| Type | Icon | Use Case |
|---|---|---|
| Success | Green checkmark | Submission processed successfully |
| Error | Red exclamation | Submission failed or was rejected |
| Warning | Yellow triangle | Submission accepted with caveats |
| Info | Blue info | Informational acknowledgment |
Response Details
Section titled “Response Details”Add key-value pairs that are displayed below the message as a structured data table. This is useful for showing the user results from the workflow — like a reference number, a summary of what was processed, or data fetched from an API.
| Label | Value |
|---|---|
leads | {{ http-get-leads.body }} |
Reference ID | {{ $util.uuid }} |
Click + Add Detail to add more rows. Objects and arrays are rendered as formatted tables automatically.
Action Buttons
Section titled “Action Buttons”Add buttons to the response screen for follow-up actions. Each button has a label, URL, mode, and style.
| Field | Description |
|---|---|
| Label | Button text — supports templates |
| URL | The target URL — supports templates (e.g., https://my-crm.com/orders/{{ http-create-order.body.orderId }}) |
| Mode | Open Link opens the URL in a new tab. Send Request fires an HTTP request to the URL without navigating away — useful for triggering another webhook or workflow. |
| Style | Primary (filled button) or Outline (bordered button) |
Click + Add Action Button to add more. Buttons appear at the bottom of the response screen in the order you define them.
What the User Sees
Section titled “What the User Sees”Successful submission — the response screen shows the message, response details as a formatted table, action buttons, and a “Make Another Submission” link:
Failed submission — if the workflow errors and “Expose detailed error messages” is enabled in form settings, the user sees the error message along with the execution ID for debugging: