Building and sharing links

Build and share deep links with your teammates to open Foxglove Studio (either the desktop or web app) with specific layouts and data sources.

platformprefixbehaviorexample
Webhttps://studio.foxglove.devPrompts user to choose between opening the web or desktop apphttps://studio.foxglove.dev?ds=ros1-remote-bagfile&ds.url=https://storage.googleapis.com/foxglove-public-assets/demo.bag
Desktopfoxglove://openPrompts user to confirm opening the desktop appfoxglove://open?ds=ros1-socket&ds.url=localhost:11311

Layouts

To load a saved layout (personal or team):

query paramtyperequireddescription
layoutIdstringFoxglove's ID for a remotely saved layout

To get a URL with the correct layoutId param, click your desired layout in the Layouts sidebar (web app) or on the Foxglove web console's Layouts page (desktop app).

Data sources

To specify your data source and time:

query paramtyperequireddescription
dsDesktop app:
  • Native ROS 1: ros1-socket
  • Native ROS 2: ros2-socket
Desktop and web app:
Data source type
timeTimestamps in RFC3339 formatTimestamp to seek to (for non-live data sources)

All data source links also support the layoutId query param, as well as additional params specific to their respective data source type.

For example, a link to a native ROS 1 connection may look like the following: foxglove://open?ds=ros1-socket&ds.url=localhost:11311&layoutId=d3597a63-36af-4167-9635-fde78b8926aa.

Native ROS 1 and 2

Must be used with ?ds=ros1-socket (ROS 1) or ?ds=ros2-socket (ROS 2).

query paramtyperequireddescription
ds.urlstring

Rosbridge

Must be used with ?ds=rosbridge-websocket.

query paramtyperequireddescription
ds.urlstringWebSocket URL

Foxglove WebSocket

Must be used with ?ds=foxglove-websocket.

query paramtyperequireddescription
ds.urlstringWebSocket URL

Foxglove Data Platform

Must be used with ?ds=foxglove-data-platform.

query paramtyperequireddescription
ds.deviceIdstringRobot ID
ds.startTimestamps in RFC3339 formatStart of data playback range
ds.endTimestamps in RFC3339 formatEnd of data playback range

Remote files

Must be used with ?ds=ros1-remote-bagfile for ROS 1 bag files, or ?ds=mcap-remote-file for MCAP files.

query paramtyperequireddescription
ds.urlstringURL to .bag or .mcap file