PrompteryxBeta
    ⌘K
    PlatformSupport
    Menu
    IntroductionInstall Desktop & extensionQuick StartPlatform Overview
    OverviewWhat you can makeAI Browser Agent in the chatModels and AutoConnectorsSchedulesProjectsExplore and publishingShare linksMemory and SkillsPersonal agent (beta)Welcome, settings and skinsPlans, credits and top-upsPrompteryx DesktopGroups (pilot)Phone app (early access)
    OverviewCreating WorkflowsTesting & DebuggingScheduling
    OverviewGetting StartedCommandsRecordingSettingsStructured OutputParallel AgentsTips & Best Practices
    OverviewInstallationSidebar AgentUsing Attached FilesExecute on Current TabExporting to Visual Studio
    Overview
    OverviewOpen PageClickClick CoordinatesFillExtract TextScreenshotWaitPress KeyFocus ElementBlur ElementSelect TextHighlight ElementSet ViewportGet Bounding BoxScrollHoverSelect OptionAssertionsCookiesEvaluate JavaScriptExample Workflows
    OverviewPrompteryx Browser AgentOpenAI
    OverviewSchedule TriggerWebhook Trigger
    OverviewGoogle SheetsGoogle CalendarConnect Hub (3,000+ apps)Example Workflows
    AI Vision SettingsChrome Automation ProfilesCloud BrowserBrowser Profiles & Persistent ContextVideo RecordingExecution LogsSharing & CollaborationEdit History
    Selectors GuideVariables
    Start hereGet an API keyRun the AI browser agentDrive a cloud browserRun workflows from anywhereUse connected apps (Connect Hub)SDK (TypeScript)CLIMCP for AI assistants
    REST APIWebhooksMCP toolsCloud Browser APICloud Browser quickstartMigrate from Browserbasen8nZapierMake.com

    Need help? Contact Support

    1. Documentation
    2. Nodes
    3. Browser Actions
    4. Fill Form

    Fill Form

    Browser Node

    Fill 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 fill
    JSON 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: 30000

    Usage 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.

    Related Documentation

    Fill Node

    Fill a single field

    Apply to Each

    Fill one form per spreadsheet row

    Select Option

    Choose from dropdown menus

    Selectors Guide

    Master element selection