Overview
This node creates dynamic, customizable web forms with advanced features such as conditional field visibility, validation, and various input types. It supports defining form structure either via a UI builder or JSON schema. The node serves the form via a webhook GET request and processes form submissions via POST requests, validating required fields and returning success or error messages. It is useful for collecting user input in workflows, surveys, registrations, or any scenario requiring flexible form data collection.
Use Case Examples
- Creating a customer feedback form with conditional questions based on previous answers.
- Building a registration form with file uploads and rating inputs.
- Generating a survey form with dynamic visibility of fields depending on user selections.
Properties
| Name | Meaning |
|---|---|
| formTitle | Title displayed at the top of the form. |
| formDescription | Description text shown below the title. |
| definitionMode | How to define the form structure, either via UI Builder or JSON Schema. |
| formFields | The fields to include in the form when using UI Builder mode. |
| jsonSchema | JSON array defining the form fields when using JSON Schema mode. |
| submitButtonText | Text for the submit button. |
| successMessage | Message shown after successful form submission. |
| enableConditional | Whether to enable conditional visibility for fields. |
| customCss | Custom CSS styles for the form. |
Output
JSON
json- Submitted form data as key-value pairs.headers- HTTP headers from the form submission request.params- URL parameters from the form submission request.query- Query parameters from the form submission request.
Troubleshooting
- Ensure the JSON schema is valid JSON when using JSON Schema mode; invalid JSON will cause an error.
- Required fields must be filled; otherwise, the form submission returns a 400 error with a list of missing fields.
- Conditional visibility depends on correct configuration of conditions; misconfigured conditions may cause fields to be hidden or shown incorrectly.
- File uploads are handled as standard file inputs; ensure the receiving workflow can process file data if needed.
Links
- HTML Form Element - MDN - Reference for HTML form elements and attributes used in the generated form.
- JavaScript Promises - MDN - Explanation of asynchronous form submission handling with fetch API.