RPA Input and Output Actions
Input actions send data into an application — typing text, clicking buttons, selecting from dropdowns, uploading files. Output actions read data from an application — getting text from a field, scraping a table, reading a label, or capturing a value from a screen. Together, input and output actions form the communication layer between your bot and any software it works with.
Input Actions
Type Into (Keyboard Input)
The Type Into activity sends keystrokes to a text field. It works like you pressing keys on the keyboard. You specify the target field using a selector and the text to type — which is usually a variable rather than a hardcoded value.
Type Into [Username Field] Text: in_Username ← value comes from a variable Type Into [Amount Field] Text: invoiceAmount.ToString() ← convert number to text before typing
Send Hotkey
Send Hotkey simulates keyboard shortcuts. Use it for actions like pressing Tab to move between fields, Enter to submit a form, or Ctrl+S to save a document.
Send Hotkey: [Tab] → Move to next field Send Hotkey: [Enter] → Submit form or confirm dialog Send Hotkey: [Ctrl] + [A] → Select all text in a field Send Hotkey: [Ctrl] + [S] → Save current document
Click
The Click activity moves the mouse to a screen element and performs a left-click. You can configure it for left-click, right-click, or double-click. The target is identified by a selector.
Click [Submit Button] → Standard left-click Click [Menu Item] → Single click to open Double Click [File] → Open a file in Explorer Right Click [Cell] → Open context menu
Select Item
Select Item picks a value from a dropdown list. You specify the dropdown element and the value to select — either by the visible text or by the item's index position.
Select Item [Country Dropdown] Value: "India" → The dropdown now shows "India" as selected Select Item [Month Dropdown] Index: 3 → Selects the third item in the list
Check / Uncheck
This activity interacts with checkboxes and radio buttons. You set the desired state: checked (True) or unchecked (False).
Check [Terms and Conditions checkbox] State: True → Box is now ticked Check [Newsletter Subscription] State: False → Box is now unticked
Set Text / Clear Field
Set Text replaces the existing content of a field with new text immediately, without simulating keystrokes. Clear Field removes all content from a text field before typing new data.
Output Actions (Reading Data)
Get Text
Get Text reads the visible text from a UI element and stores it in a variable. Use it to capture labels, confirmation messages, error text, or any value displayed on screen.
Get Text [SAP Confirmation Message] Output → sapMessage (variable) Example value: "Document 1900034521 was posted."
Get Value
Get Value reads the value property of a form field — such as the content typed into a text box or the currently selected dropdown option.
Get Value [Amount Field] Output → currentAmount (variable) Result: "1500.75"
Get Attribute
Get Attribute reads a specific property (attribute) of a UI element. Useful for checking whether a button is enabled or disabled, or reading a hidden value like an element's ID.
Get Attribute [Submit Button] Attribute: "IsEnabled" Output → isButtonEnabled (Boolean variable) Result: True or False
Find Element / Element Exists
Element Exists checks whether a specific element is present on the screen and returns True or False. Find Element waits for an element to appear before the bot continues. Both are used to synchronise the bot with the application.
Element Exists [Error Message Label]
Output → hasError (Boolean)
IF hasError = True THEN
Get Text [Error Message Label] → errorText
Handle exception...
Screenshot
The Screenshot activity captures an image of the current screen state. Use it for logging evidence of what the bot saw at a given moment, particularly during error handling.
Input/Output Action Flow Example
Here is a complete example showing input and output actions working together in a login and data capture sequence:
GOAL: Log into a web portal, find a customer account,
and read the current balance.
1. OUTPUT: Element Exists [Login Page] → wait for page to load
2. INPUT: Type Into [Username Field] → in_Username variable
3. INPUT: Type Into [Password Field] → in_Password variable
4. INPUT: Click [Login Button]
5. OUTPUT: Element Exists [Dashboard] → confirm login succeeded
6. INPUT: Type Into [Search Field] → customerAccountNo variable
7. INPUT: Click [Search Button]
8. OUTPUT: Get Text [Balance Label] → currentBalance variable
9. OUTPUT: Get Text [Last Transaction Date] → lastTxnDate variable
10. INPUT: Click [Logout Button]
11. STORE: Write currentBalance + lastTxnDate to Excel log row
Handling Input Timing Issues
Applications sometimes take time to respond — a page loads, a field becomes available, or a dialog appears. If the bot types or clicks before the element is ready, the action fails. Use these strategies to handle timing:
- WaitForReady: Set this property to "Complete" on Click and Type Into activities to make the bot wait until the application is idle before acting.
- Element Exists with Timeout: Wait up to a defined number of seconds for an element to appear before proceeding.
- Delay Activity: Insert a fixed wait (use sparingly — variable delays are preferable to hardcoded ones).
Input Method Types in UiPath
| Input Method | How It Works | Best For |
|---|---|---|
| Default | Simulates real mouse/keyboard events | Most standard applications |
| Window Messages | Sends messages directly to the window handle | Desktop apps (faster, works in background) |
| Simulate | Injects values directly into the element | Web apps (fastest, no focus needed) |
Summary
Input actions send data to applications — through typing, clicking, selecting, and hotkeys. Output actions read data from applications — through Get Text, Get Value, Get Attribute, and Element Exists. Every meaningful bot workflow combines both: reading data from one place and writing it somewhere else. Proper timing management using WaitForReady and Element Exists prevents the most common input/output failures in production bots.
