Debug
The current message object or variable data is displayed in the Output panel beneath the Flow Designer during execution. Additionally, if the robot is initiated from the Command Prompt/Terminal, the data will also appear there. Alternatively, the data can be directed to DEBUG logs.
How It Works
- The node checks if the "Active" option is enabled; if disabled, it passes through without logging
- If a specific variable or message field is configured, it extracts that data from the current message or variable scope
- The node automatically redacts sensitive credentials (passwords, tokens) before displaying data
- Internal fields (like
__fsfor loop scope) are removed from the output - Based on configuration, the debug data is sent to one or more destinations:
- Output panel in Flow Designer (always when active)
- System console (if OptSysConsole is enabled)
- Debug log files (if OptLogDebug is enabled)
- The message passes through unchanged to the next node
Requirements
- Node must be set to "Active" to produce any output
- For variable debugging, the variable must exist in the specified scope (Message, Flow, or Global)
- For log file output, the logs directory must be writable
Error Handling
| Error Code | Description | Cause |
|---|---|---|
Core.Programming.Debug.ErrOnCreate | Config parse error | Invalid node configuration during creation |
Core.Programming.Debug.OnMessage (Message parse error) | Message parse error | Invalid message format received |
Core.Programming.Debug.OnMessage (does not exist) | Message field does not exist | The specified message field path is not present in the current message |
Core.Programming.Debug.OnMessage (Variable is not selected) | Variable not selected | Variable name is "_" (unselected) |
Core.Programming.Debug.OnMessage (Variable does not exist) | Variable does not exist | The specified Flow or Global variable is not found |
Core.Browser.GetValue.ErrOutputMarshal | Output marshaling error | Failed to convert debug data to JSON format |
Common Properties
- Name - The custom name of the node.
- Color - The custom color of the node.
- Delay Before (sec) - Waits in seconds before executing the node.
- Delay After (sec) - Waits in seconds after executing node.
- Continue On Error - Automation will continue regardless of any error. The default value is false.
If ContinueOnError property is true, no error is caught when the project is executed even if Catch node is used.
Options
- Active - Turn on or off the Debug node
- System Console - Write debug dumps into the Command Prompt (Windows) or the Terminal (Mac / Linux) only if the robot is started from the command line
- Log Debug - Write debug dumps into the logs folder
- Debug Data - Specify a specific variable or message field to debug (optional)
- Additional Fields - List of additional variables or message fields to include in debug output
Usage Examples
Example 1: Debug Entire Message Object
HTTP Request
└─ Debug (Active: true, System Console: true)
└─ Process Response
View the complete HTTP response in the Output panel and system console to inspect all fields returned by the API.
Example 2: Debug Specific Variable
Set Variable (userName = "John Doe")
└─ Debug (Active: true, Debug Data: userName, Log Debug: true)
└─ Continue Flow
Log only the userName variable value to the debug log file for troubleshooting.
Example 3: Debug Multiple Fields
Excel Read Row
└─ Debug (Active: true, Debug Data: msg.Name, Additional Fields: [msg.Email, msg.Status])
└─ Send Email
Inspect specific fields (Name, Email, Status) from an Excel row before processing.
Example
You can use the Debug node to view the value of a variable or the message object during runtime. Set "Active" to "true" to view debug information. Choose "System Console" for displaying information in the Command Prompt/Terminal and "Log Debug" for storing information in a text file under C:/Users/username/AppData/Local/Robomotion/logs/ on Windows or $HOME/.config/robomotion/logs on Mac/Linux.
Usage Notes
- The Debug node automatically redacts password fields for security - sensitive data won't appear in logs
- Internal message properties (like
__fs) are hidden from debug output - Debug nodes can be left in production flows - simply set "Active" to false to disable
- When debugging message fields, use dot notation for nested objects:
msg.data.field - Array elements can be accessed with bracket notation:
msg.items[0].name - Setting "Continue On Error" to true will suppress all errors, even if using Catch nodes
Tips
- Use multiple Debug nodes at different points in your flow to trace data transformations
- Turn off "Active" in production to avoid performance overhead and log clutter
- Enable "Log Debug" for scheduled/unattended robots to review execution later
- Use "System Console" during development for real-time debugging
- Add meaningful node names to Debug nodes (e.g., "Debug - After API Call") for easier log interpretation
- Debug specific fields instead of entire messages for cleaner, more focused output