# Workspaces (IRPCWorkspace)

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Vault API](https://developer.m-files.com/APIs/gRPC-API/vault/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWorkspace/

Workspace tabs: the views of related objects shown for an object of a given type.

- **gRPC service:** `MFiles.IRPCWorkspace`
- **Book and level:** [Vault API](https://developer.m-files.com/APIs/gRPC-API/vault/index.md), standard
- **Methods:** 3
- **Proto file:** [`mfiles/IRPCWorkspace.proto`](https://developer.m-files.com/APIs/gRPC-API/downloads/proto/mfiles/IRPCWorkspace.proto)

<a id="overview"></a>

## Overview

Supports workspaces: the tabs that a client shows for an object of a given object type, each tab
being a view of related objects (for example the projects and contacts of a customer). Used by
M-Files clients that show workspaces; applications rarely call it.

How the parts fit together:

- A workspace tab is a view that lists objects of a target object type related to the object of
  the source object type. The server keeps, per source and target object type pair, one hidden
  filter-only view under which the tab views live.
- [CreateTemporaryWorkspaceView](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWorkspace/CreateTemporaryWorkspaceView/index.md)
  returns ready-made definitions of a new tab view and of its reverse-direction view. Save the
  one you want with [AddNewView](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCViews/AddNewView/index.md).
- [GetWorkspaceSettings](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWorkspace/GetWorkspaceSettings/index.md) and
  [SetWorkspaceSettings](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWorkspace/SetWorkspaceSettings/index.md) read and store the
  order of the tabs, per user and as a default for all users.

All three methods fail with "Not implemented." on servers where workspaces are not enabled.

<a id="methods"></a>

## Methods

| Method | Summary | Facts |
|---|---|---|
| [CreateTemporaryWorkspaceView](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWorkspace/CreateTemporaryWorkspaceView/index.md) | Builds the definitions of a new workspace tab view and its reverse view for a pair of object types, without saving the views. | `write` `session or assertion` `returns metadata structure version` |
| [GetWorkspaceSettings](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWorkspace/GetWorkspaceSettings/index.md) | Gets the tab order of the workspace of an object type: the caller's effective order, or the default for all users. | `write` `session or assertion` `returns metadata structure version` |
| [SetWorkspaceSettings](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWorkspace/SetWorkspaceSettings/index.md) | Stores the tab order of the workspace of an object type for the caller or as the default for all users, or resets the caller's order. | `write` `session or assertion` `returns metadata structure version` |
