n8n Form Trigger icon

n8n Form Trigger

Custom n8n Forms

n8n Form Trigger

AI-generated

Summary

Serves HTML form via GET webhook and processes submissions via POST, returning form data to workflow.

Inputs

  • path (required) — Final segment of the form's URL for test and production.
  • formFields — Collection of form elements (fields, types, options, conditional visibility, required status, etc.).
  • authentication — Authentication method. Options: 'none' (default) or 'basicAuth' (validates against httpBasicAuth credentials).
  • responseMode — When to respond to the form submission. Options: 'onReceived' (default, responds immediately), 'lastNode' (when workflow finishes), 'responseNode' (requires a Respond to Webhook node).
  • respondWithOptions — Fixed collection configuring the response format when responseMode is 'responseNode'. Includes 'respondWith' (text/redirect), completion page header/title/message, and redirect URL.
  • ignoreBots — When true, rejects requests from bot user-agents (link previewers, web crawlers) with a 403 status.
  • useWorkflowTimezone — When true, uses the workflow timezone in the 'submittedAt' field instead of UTC.
  • customCss — Override default styling of the public form interface with CSS (version >= 2.3).
  • buttonLabel — Label of the submit button in the form. Default: 'Submit'.
  • appendAttribution — When true (default), includes the link 'Form automated with n8n' at the bottom of the form.
  • progressSavingOptions — Fixed collection for auto-saving form data as the user types. Includes progress query parameter, and save/load webhook URLs.

Output shape

workflowData with one execution item containing json.{submittedAt, formMode, formQueryParameters, } and optionally binary file data.

GET requests return the rendered HTML form with no workflow data advancement (noWebhookResponse: true). POST requests return the submission data; the timing of the actual response to the user is controlled by the responseMode parameter.

Examples

Example 1: Basic form trigger with no authentication

path: 'my-form'; responseMode: 'onReceived'; all other parameters at defaults.

Example 2: Form with basic authentication and file uploads

authentication: 'basicAuth'; progressSavingOptions configured with progressQueryParam and webhook URLs; formFields includes file type elements.

Links

Discussion