---
updatedAt: 2025-05-29T22:38:02.000Z
agentTools:
  projectIndex: https://slobs-platform.readme.io/llms.txt
---

# App Module

*Required Permissions:* none

The app module is used to querying the state of your app and managing it as it exists inside Streamlabs Desktop.

# Minimum Version

This API was added in Build 6.

# NavigationDetails `object`

This object describes a navigation to your app's `top_nav` page.  If the user navigated to your page by clicking on the navigation, the object will be empty.  If the user navigated to your page via clicking on source properties and was redirected (via the `redirectPropertiesToTopNavSlot` option), then the `sourceId` will be included in the object.

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        Property
      </th>

      <th>
        Type
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        sourceId
      </td>

      <td>
        string
      </td>

      <td>
        If your page was navigated to via a redirect from source properties, then this attribute will be present on the navigation object, and contains the id of the source that was clicked on.
      </td>
    </tr>
  </tbody>
</Table>

# onNavigation `method`

`onNavigation(callback: Function): void`

This function can be used to bind a callback that will be called when the user navigates to your app's `top_nav` page.  Please note that this function is only useful for `persistent` pages, since your app page needs to be running before it is navigated to receive the event.

This function is most useful when you want to show a settings UI for a particular source, in conjunction with per-source settings available within the [Sources Module](https://slobs-platform.readme.io/docs/sources-module).

### Arguments

1. `callback`: This is a callback function that takes a NavigationDetails object as its only argument.

### Returns

None

### Example

```javascript
streamlabsOBS.v1.App.onNavigation(nav => {
  console.log('got nav to source', nav.sourceId);
  // Show UI for source settings
});
```

# navigate `method`

`navigate(page: string): void`

Navigate to another page in Streamlabs Desktop.  \`page should be one of:

* `Editor`
* `Dashboard`
* `Live`
* `Themes`
* `AppDetailsPage`

### Arguments

1. `page`: The page to navigate to

### Returns

None

### Example

```javascript
streamlabsOBS.v1.App.navigate('Editor');
```

# reload `method`

`navigate(page: string): void`

Refreshes all currently running pages and sources belonging to your app.

### Arguments

None

### Returns

None

### Example

```javascript
streamlabsOBS.v1.App.reload();
```