Parameters
Keystroke Tokens
Thetext field can contain keystroke tokens, which are pressed as keys instead of being typed as characters. This lets one node mix typing with keyboard navigation, for example tabbing between fields or pressing Escape to close a dialog.
A node whose
text is only keystroke tokens still clicks its target first, unless omit_focus is set. Both forms are useful: keep the selector when the keys must land in a specific field (see Clearing a Stubborn Field), and set omit_focus when focus is already where you want it and clicking again would be wrong (see Typing Into the Focused Field). A {{ctrl+c}} node is the case to watch, since clicking the element first can discard the selection you meant to copy.
Keystroke tokens are not variables, even though both use
{{ }}. {{tab}} presses the Tab key, while {{context.inputs.username}} is replaced with a value. Only the tokens listed above are treated as keys. Any other {{ ... }} is handled as a variable or JSONata expression, exactly as it is anywhere else in this field.Examples
Basic Text Input
Type into a text field:Using Input Variables
Type dynamic values from workflow inputs:Submit After Input
Type and press Enter to submit:Append Text Without Clearing
Add text to existing content:Using LLM_VISION
Type into a field identified by AI:Moving Between Fields
Fill two fields in one node by tabbing between them:Clearing a Stubborn Field
Some fields ignore the normal clear, for example because they re-populate themselves or hold a formatted value. Select the contents and delete them first:Typing Into the Focused Field
When a preceding action already left focus where you want it, or clicking again would be wrong,omit_focus types into the focused element instead of resolving a selector and clicking it:
Slowing Down Typing
When an application drops or reorders characters because they arrive faster than it can process them, which usually shows up as a field holding only part of the value, slow the keystrokes down:100 a 400-character value takes about 40 seconds, where the default takes about two.
Entering Long Text
For a long body of text, pasting is far faster than typing it out character by character:Data Transformation
Transform data before typing using JSONata: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: truewhen you need to append to existing content - The
submit_after_inputoption is useful for search fields that trigger on Enter - You can use JSONata expressions for data transformation
- Pasting replaces the contents of the system clipboard. If the same workflow reads
{{clipboard}}with an ExtractDatamodel node, extract the value before any node that pastes paste_via_clipboardis ignored on a node whosetextcontains a keystroke token, so the text is typed instead. Put the paste in its own node if you need both- When the text begins with a keystroke token, the built-in clear is skipped automatically, so
{{ctrl+a}}{{backspace}}starts from the field’s existing contents typing_delay_ms,omit_focusandpaste_via_clipboardrequire native actions, which workflows use by default. On aSTATICnode in a workflow created withuse_native_actions: false, they are ignored- 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}}").

