# WorkspaceLayoutSaveConfig

**Kind**: interface | **Module**: [Workspaces](https://docs.interop.io/desktop/reference/javascript/workspaces/index.md)

**Source**: https://docs.interop.io/desktop/reference/javascript/workspaces/workspacelayoutsaveconfig/index.html

A configuration object used to save a current workspace as a layout

## Properties

- **`allowMultiple`** (`boolean`, optional) default: `true`
  If `true`, will allow opening multiple instances of the same Workspace simultaneously.
- **`metadata`** (`object`, optional)
  Object which will be saved as part of the layout
- **`name`** (`string`, required)
  A string used as name (doubles as id) of the layout, which is later used when restoring it.
- **`saveContext`** (`boolean`, optional)
  Toggles whether or not the current workspace context should be saved in the layout
- **`saveWindowContexts`** (`boolean`, optional) default: `false` *(since io.Connect Browser 4.4)*
  If `true`, the context objects of individual io.Connect Windows set via the `setContext()` method of a `WebWindow` instance
  will be saved when the Workspace Layout is saved. This is valid both for Browser Client apps, as well as for windows that have been
  opened by the Main app or by a Browser Client, but aren't Browser Clients themselves (i.e., don't use the io.Connect libraries).
  If a Browser Client has subscribed for the `onSaveRequested()` event and its context has also been set via the `setContext()` method,
  the context returned by the `onSaveRequested()` event handler will take precedence.
  *Available only in **io.Connect Browser**.*
- **`workspaceId`** (`string`, required)
  A string representing the id of the workspace whose structure should be saved into a layout.
