Skip to main content
The Input Text node types text into form fields, text areas, and other editable elements.

Parameters

ParameterTypeRequiredDescription
textstringYesThe text to type into the field
executionstringYesExecution type: STATIC (UI: “Static”), LLM_VISION (UI: “AI (Screenshot)”), or COORDINATES (UI: “Coordinates”)
selectorstringNoXPath selector (for STATIC) or JSON coordinates (for COORDINATES)
promptstringNoNatural language description of the input field (for LLM_VISION)
wait_timenumberNoMaximum time (ms) to wait for the element. Default: 15000
do_not_clearbooleanNoIf true, append text without clearing existing content. Default: false
submit_after_inputbooleanNoIf true, press Enter after typing. Default: false
selector_error_messagestringNoCustom error message if element is not found
human_modebooleanNoIf true, use more human-like typing behavior

Examples

Basic Text Input

Type into a text field:
{
  "id": "abc123",
  "name": "Enter username",
  "action": "INPUT_TEXT",
  "parameters": {
    "execution": "STATIC",
    "selector": "//input[@id='username']",
    "text": "[email protected]"
  }
}

Using Input Variables

Type dynamic values from workflow inputs:
{
  "id": "abc123",
  "name": "Enter search query",
  "action": "INPUT_TEXT",
  "parameters": {
    "execution": "STATIC",
    "selector": "//input[@name='search']",
    "text": "{{context.inputs.search_term}}"
  }
}

Submit After Input

Type and press Enter to submit:
{
  "id": "abc123",
  "name": "Search and submit",
  "action": "INPUT_TEXT",
  "parameters": {
    "execution": "STATIC",
    "selector": "//input[@type='search']",
    "text": "{{context.inputs.query}}",
    "submit_after_input": true
  }
}

Append Text Without Clearing

Add text to existing content:
{
  "id": "abc123",
  "name": "Append notes",
  "action": "INPUT_TEXT",
  "parameters": {
    "execution": "STATIC",
    "selector": "//textarea[@id='notes']",
    "text": " - Additional note added by automation",
    "do_not_clear": true
  }
}

Using LLM_VISION

Type into a field identified by AI:
{
  "id": "abc123",
  "name": "Enter email",
  "action": "INPUT_TEXT",
  "parameters": {
    "execution": "LLM_VISION",
    "prompt": "The email input field in the registration form",
    "text": "{{context.inputs.email}}"
  }
}

Data Transformation

Transform data before typing using JSONata:
{
  "id": "abc123",
  "name": "Type formatted date",
  "action": "INPUT_TEXT",
  "parameters": {
    "execution": "STATIC",
    "selector": "//input[@id='date']",
    "text": "{{$fromMillis($toMillis(context.inputs.date, \"[Y0001]-[M01]-[D01]\"), \"[M01]/[D01]/[Y0001]\")}}"
  }
}
This converts a date from YYYY-MM-DD format to MM/DD/YYYY format.

Notes

  • By default, the input field is cleared before typing new text
  • Use do_not_clear: true when you need to append to existing content
  • The submit_after_input option is useful for search fields that trigger on Enter
  • You can use JSONata expressions for data transformation
  • For prepending text or custom handling of existing input content, first extract the current value using an ExtractDatamodel node, then combine it with your new text in the Input Text node (e.g., "{{context.inputs.prefix}}{{context.existing_value}}").