Flow Scripting Documentation

PARALLEL 42 WILL NOT PROVIDE SUPPORT FOR CUSTOM CONTENT.

Additionally, Parallel 42 is not responsible for assisting, distributing, or maintaining custom scripts/widgets.
This documentation will help find standard sim variables, but is not meant to teach you how to code.
Create at your own risk.

Get Started

Flow APIs

Sim variables/events

Simulation variables can be found in the documentation here:https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Simulation_Variables.htmEvents can be found here:https://docs.flightsimul...

Flow APIs

Data Storage

Every widget can save its own data and retrieve it in future sessions. Save data this.$api.datastore.export(data) data: (Object) the object you want to persist. The object will be stringified bef...

Flow APIs

Airports

Get by ICAO this.$api.airports.find_airport_by_icao(uid, icao, (airports) => { // airports code here }) uid: (String) A reusable unique identifier. Make sure it is unique to your widget.ic...

Flow APIs

METARs

Get from a specific station this.$api.weather.find_metar_by_icao(icao, (metar_callback) => { // metar here }) icao: (String) ICAO of the station to look for.metar_callback(Object): Result ...

Flow APIs

Sim Settings

Get All this.$api.command.get_sim_settings(); Returns an array of Objects containing all available sim settings. This list is pre-generated and statically stored in the Flow Pro code. Any chang...

Flow APIs

Simulation Clock

Get the sun position this.$api.time.get_sun_position() Returns an object with the sun's position and relevant times of the day. Get the sim time (UTC) this.$api.time.get_sim_time_utc() Returns...

Flow APIs

Weather presets

Get all this.$api.weather.get_presets() Returns an array of weather presets. Set this.$api.weather.set_preset(preset_name) preset_name: (String) Name of the preset to call. Can be obtained from...

Flow APIs

Current weather

Get this.$api.weather.get_weather() Returns an object representing the current weather in sim. This structure can be edited and fed back in using set_weather() Set this.$api.weather.set_weather(...

Flow APIs

Multiplayer servers

Get available servers this.$api.community.get_servers() Returns an array of available servers. Get the user's server this.$api.community.get_server() Returns a string with the user's current s...

Flow APIs

Toolbar / In-Game Panels

Get the list of available in-game panels this.$api.toolbar.get_panels() Returns an array with available panels. Get info on a specific in-game panel. this.$api.toolbar.get_panel(panel_id) pa...

Flow APIs

Active Pause

Get this.$api.command.get_active_pause() Returns a Boolean of the Active Pause state Set this.$api.command.set_active_pause(state) state: (Boolean) Sets Active Pause

Flow APIs

3D Thermals

Set this.$api.weather.set_3d_thermals(state) state: (Boolean) The desired state Get this.$api.weather.get_3d_thermals() Returns true or false

Flow APIs

Copy text

this.$api.command.copy_text(text) text: (String) Text you want to copy to clipboard

Flow APIs

Open Browser

this.$api.command.open_browser(url) url: (String) URL of the webpage to open. Also supports registered URIs (for example, open a playlist on Spotify: spotify:playlist:18iK76yyF5c7OtVZkOofhu)

Flow APIs

The Wheel

Get the position of the Flow Wheel this.$api.command.get_wheel_location() Returns an array with the x and y position of the wheel in pixels. Get the state of the Flow Wheel this.$api.command.get...

Flow APIs

Otto search bar

Open the Otto search bar this.$api.command.open_search(query) query: (Optional, String) A string to pre-fill the search bar with Get the position of Otto this.$api.command.get_otto_location() R...

Flow APIs

Twitch

Get Twitch chat connection state this.$api.twitch.is_connected() Returns a Boolean of the connection state to Twitch chat. To send a message in Twitch chat this.$api.twitch.send_message(message...

Flow APIs

Run another script

this.$api.command.script_run(reference_name) reference_name: (String) The reference name of the script(s) to search for and run.

Flow APIs

Send message to another script

this.$api.command.script_message_send(reference_name, message, (callback) => { // Reply from other script(s) }); reference_name: (String) The reference name of the script(s) to search for.mes...

Flow Functions

run()

"run"will execute when the user clicks the tile or executes the script via the Otto search bar. Returning a duration (in ms) will delay the closure of the flow wheel by the specified duration. Ret...

Flow Functions

exit()

"exit" will execute before the script is reloaded or deleted. For the good of everyone, please be diligent and clear your loops, intervals and timeouts here. exit(() => { // your exit code he...

Flow Functions

info()

"info" will automatically execute every 500ms when the tile is visible and updates the content shown in the center circle when the tile is hovered. MDI icons are not supported here. info(() => ...

Flow Functions

state()

"state" will automatically execute every 500ms when the tile is visible and updates the content of the script's tile. MDI icons are supported here (e.g. mdi:airplane). A full list of icons is avail...

Flow Functions

style()

"style" will automatically execute every 500ms when the tile is visible and updates the style of the tile. style(() => { return 'armed'; // Can be 'armed', 'active', 'error' or null });  

Community of Makers

Our Discord has evolved into a vibrant hub for widget creators. Seek answers to your questions, and showcase your innovative widgets to a community of passionate makers.