App In
Starts the automation when an instance is started from Robomotion Apps or when a Robomotion Assistant session is initiated from the browser.
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 the ContinueOnError property is true, no error is caught when the project is executed even if the Catch node is used.
Output
- Input - Message received from the started instance, it may contain the config parameters for the Bot and other information for the running instance, application and the user.
An example injected data into the flow looks like:
{
"id": "94de756b-89f4-43c8-b99c-80766ee83b92",
"payload": {
"app_id": "6254769d-45b1-49eb-aa27-54166274c76d",
"instance_id": "1dbe81f8-cd66-4f0f-b9ca-3707a8b0d413",
"run_id": "eb488754-4f45-4117-b0e5-fc7912a3a5cf",
"user_id": "160e3448-0d08-4a1b-a168-787ee791b7eb"
}
}
How It Works
The App In node is the entry point for automation flows triggered by Robomotion Apps or Assistant sessions. It waits for incoming requests and injects them into the flow. The execution follows these steps:
- Connection Establishment - On node creation, establishes connection to Robomotion application service
- Queue Listening - Starts a background goroutine that listens for incoming application/assistant requests
- Request Reception - When a request arrives:
- Creates a new message with a unique ID
- Extracts the session ID and stores it for later use
- Sets global variables:
$AppUserID$(and legacy$AppID$,$InstanceID$,$RunID$for older versions)
- Payload Processing - Parses the incoming payload and meta information from the request
- Message Injection - Injects the processed message into the flow, triggering downstream nodes
- Flow Execution - The automation flow proceeds with the injected data
- Log Upload - On node close, automatically uploads log files to Robomotion storage for debugging and auditing
The node runs continuously, processing multiple requests sequentially as they arrive.
Requirements
- Robomotion Deskbot - This node only works with Robomotion Deskbot
- Network Connection - Active internet connection to communicate with Robomotion service
- Application/Assistant Context - Must be triggered from Robomotion Apps or Assistant
- Authentication - Valid Robomotion credentials configured in Deskbot
Error Handling
| Error Code | Description | Common Cause |
|---|---|---|
Core.Application.AppIn.ErrOnCreate | Configuration parse error | Invalid node configuration or corrupted flow |
Core.Application.AppIn.ErrOnConnect | Connection error | Failed to connect to Robomotion application service |
Core.Application.AppIn.InvalidAppID | Application ID not found | Running outside of application context |
Core.Application.AppIn.InvalidInstanceID | Instance ID not found | Running outside of instance context |
Core.Application.AppIn.InvalidRunID | Run ID not found | Running outside of run context |
Usage Examples
Example 1: Basic App Entry Point
Use App In as the starting point for a Robomotion App:
Place App In node at the start of your flow
Connect it to your business logic nodes
Access input data from the Output variable
The injected data contains app_id, instance_id, run_id, and user_id for context.
Example 2: Assistant Bot
Create an assistant bot that responds to user messages:
App In → Process User Input → Generate Response → App Out
The payload contains the user's message and any attachments.
Example 3: Access User Information
Access the user ID who triggered the automation:
Use the global variable: {{$AppUserID$}}
Or access from the payload: {{input.payload.user_id}}
This allows personalizing automation based on the user.
Example 4: Process Configuration
Access configuration parameters passed to the app:
App In outputs data to a variable
Access payload properties: {{input.payload.customParam}}
Use these parameters in your automation logic
Configuration can include database connections, file paths, or business rules.
Usage Notes
- Single Instance - Only one App In node should be used per flow
- Flow Entry Point - Must be the first node in the flow for application/assistant triggered automations
- Global Variables - Automatically sets
$AppUserID$global variable - Session Context - Maintains session ID for use with other App nodes (Upload, Download, Out)
- Log Management - Automatically uploads log files when the flow completes
- Backward Compatibility - Supports legacy payload structures from older Robomotion versions
- Continuous Operation - Remains active to process multiple sequential requests
Tips
- Validate Input - Always validate the payload structure before processing
- Error Handling - Use Try-Catch nodes to handle errors gracefully and send appropriate responses
- Global Variables - Use the automatically set global variables for user-specific operations
- Session Management - The session ID is automatically managed for download/upload operations
- Logging - All logs are automatically uploaded, so use logging strategically for debugging
- Timeout Consideration - Keep automation execution time reasonable to avoid session timeouts
- Testing - Test your flow using the Robomotion Apps interface or Assistant chat
- Multiple Requests - Design your flow to handle multiple sequential requests efficiently
Related Nodes
- App Out - For sending responses back to the application or assistant
- App Download - For downloading files from the session
- App Upload - For uploading files to the session
- App Log - For sending log messages to the application
- App Push - For pushing real-time updates during execution