Manage Robots

A robot is an organizational concept, consisting of either one part, or multiple parts working closely together to complete tasks. The robot represents the configuration and entry point for one or more computers (and the components they control) coupled into one logical grouping of parts that work together to complete tasks. A robot usually reflects a physical device, from a camera collecting images, to a wheeled rover, or an articulated arm on a factory floor. A robot always has a main part that receives client requests, and any number of other parts.

Add a new robot

Add a new robot by providing a name in the New Robot field and clicking Add robot.

The ‘First Location’ page on the Viam app with a new robot name in the New Robot field and the Add robot button next to the field highlighted.

Click the name of a robot to go to that robot’s page, where you’ll find a variety of tools for working with your robot.

The banner at the top of the robot page displays the robot’s location, name, and a drop down list of all parts of that robot.

If you’ve connected your robot to a machine running viam-server, the banner also displays when the robot was last online, which version of viam-server it is running, the host name, the IP address or addresses, and its operating system.

The robot page with menu tabs

For each robot in your fleet, you start by setting up the robot on the Setup tab:


The Setup tab contains information for starting an instance of viam-server on your robot’s computer.

Once you select the correct Mode and Architecture for your system in the upper left of the tab, follow the instructions on the page to connect and set up your robot.


When a robot or a robot part that is managed with the Viam app first comes online, it requests its configuration from the Viam app. Once the robot has a configuration, it caches it locally and can use the configuration for up to 60 days. The robot checks for new configurations every 15 seconds and changes its configuration automatically when a new configuration is available.

After connecting your robot, go to the Config tab, and start adding robot components, services, and other robot resources.

For more information, see the configuration documentation.


The configuration of your robot and the code it runs are kept separate to make debugging easier. The History tab shows timestamped changes to your robot’s configuration.

If you want to revert changes that you made, you can load a previous configuration by clicking the Load config button next to the respective configuration.

You can also change your timestamp format to ISO or Local depending on your preference.


To make debugging issues with your robots easier, each robot automatically sends its logs to the cloud. You can access your logs from the Logs tab in the Viam app and filter your logs for specific keywords or log levels:

You can also change your timestamp format to ISO or Local depending on your preference.


Once you have configured components and services for your robot, you can visually test and remotely operate them from the Control tab in the Viam app. For example, if you have configured a base with wheels, you can control your robot’s movement with an arrow pad and fields to change base’s speed. If you have configured a camera component, a window in the Control tab displays the camera output.

If you use remote control in the Viam app UI, all communication to the robot uses WebRTC. For local communication between parts Viam uses gRPC or WebRTC.

Code Sample

To start programming your robot, go to the Code Sample tab which contains boilerplate code snippets you can copy and paste into your SDK code to connect to your robot.

For more information on the SDKs, see Program your Robot with Viam’s SDKs.

There is also a JSON stub you can copy if you wish to have your robot communicate with another robot as a remote.


Your robot and the Viam app communicate securely using WebRTC with unique secrets.

The Security tab allows you to access and change the Robot Part Secret Keys of your robot.

The SECURITY tab of a robot`s page noting the Robot Part Secret Keys drop-down menu, with the clipboard icon on the far right and the Generate Key button underneath the drop-down.

Copy the secret key by clicking on the clipboard icon. Click on the Generate Key button to generate a new key.

Delete a robot

You can delete a robot by checking the Sure? box in the lower left of the robot page and clicking Delete robot.

The DELETE ROBOT button and the confirmation checkbox (Sure?) next to it.

Have questions, or want to meet other people working on robots? Join our Community Discord.