Fill Form
Browser NodeFill many form fields in one step from a simple list
Overview
The Fill Form node fills several fields on a page at once. Instead of adding a separate Fill node for every input, you give it one list of "which field, what value" pairs and it types each value into the matching field in order. It's the fastest way to complete sign-up forms, checkout pages, and data-entry screens.
Great inside a loop
Put Fill Form inside an "Apply to Each" loop and use
{{ row.ColumnName }} as the values to fill one form per row of a spreadsheet. This uses the loop's Current Item Variable name — set it to row, or with the default name write {{ item.ColumnName }} instead.Parameters
Configuration options for this node
Fields to fillJSON List
Required
One entry per field, written as { "selector": "the input", "value": "what to type" }. Selectors can be a CSS selector or an #id. Values can use variables. Add "optional": true to any field so the node skips it quietly if that input isn't on the page.
Example:
[ { "selector": "#email", "value": "{{ row.Email }}" } ]Timeout (ms)Number Input
How long to wait for each field to appear before giving up.
Default:
30000Usage Example
Fill a sign-up form
Enter a name, email, and phone number together
[
{ "selector": "#name", "value": "{{ row.Name }}" },
{ "selector": "#email", "value": "{{ row.Email }}" },
{ "selector": "#phone", "value": "{{ row.Phone }}", "optional": true }
]Best Practices
Tip: Pick selectors with the crosshair
Use the element picker to grab a reliable selector for each field, then paste it into the list. This avoids typos and keeps your form filling stable.
Tip: Mark risky fields optional
If a field only appears sometimes (like a coupon box), add
"optional": true so a missing field never stops the whole workflow.Keep sensitive data safe
Don't paste passwords or private details directly into the list. Pull them from a variable or your spreadsheet instead.