Execution Parameters

In addition to the CreateInputVariable method, the Request contains a number of properties that controls how the robot executes on RoboServer.

MaxExecutionTime This property controls the maximum number of seconds the robot can execute. When this time has elapsed the robot will be stopped by RoboServer. The timer doesn't start until the robot begins to execute, so if the robot is queued on RoboServer this is not taken into account.
StopOnConnectionLost This property (true by default) controls if RoboServer will stop the robot if it discovers that the connection to the client application has been lost. You should have a very good reason for setting this value to false - if your code is not written to handle this, your application will not perform as expected.

This property (true by default) instructs RoboServer to stop the robot when the first API exception is raised. By default most steps in a Robot will raise an API exception if the step fails to execute - this is configured on the steps error handling tab.

When set to false, the robot will continue to execute regardless of API exceptions, however unless your application is using a IRobotResponseHandler for streaming the results, an exception will still be thrown by Execute(), so be extremely careful when setting this to false.

Username, Password These properties are used to set the credentials. This is used when RoboServer is configured to require authentication. When this option is enabled, the client must provide credentials or RoboServer will reject the request.
RobotLibrary This property is used to assign a RobotLibrary to the request. A robot library instructs RoboServer where to find the robot identified in the request. Later examples will explore the various robot library types and when/how to use them.
ExecutionId Allows you to set the executionId for this request. If you don't provide one, RoboServer will generate one automatically. The execution ID is used for logging, and also needed if your client needs to be able to stop the robot programmatically. The ID must be globally unique (over time). If two robots use the same execution ID, the logs will be inconsistent.

Setting this is useful if your robots are part of a larger workflow and you already have a unique identifier in your client application, as this allows you to easily join the robot logs with the rest of the system.


This is used solely for logging purposes. The Management Console uses this field to link log messaged to project, so the log views can filter by project.

If your application is not using the RepositoryRobotLibrary you should probably set this value to inform the RoboServer logging system which project (if any) this robot belongs to.

Execution control properties on Request