---
title: Shared views CMS/Workflows
slug: hyper-portal/shared-views-cmsworkflows
docTags: 
createdAt: 2023-02-24T15:33:52.000Z
---

You can easily share your views with the help of the 'Shared views' feature. The 'Shared views' are synced with the set users/user groups, it is dynamic, meaning that your every action ( create a new column/filter, edit, delete, save, etc.) will be displayed and synced for each user who has access to this view. It's more convenient to keep your colleagues updated once you share a view with them, instead of sharing every time a link, which is static.

Share the view by clicking the 'share view' button in the dropdown next to the edit view button.

![Where to find 'Share view'](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/zaMeUZIXfgk-4EqO9iBwz_image.png "The 'Share view' button")

In the next window, you can choose an individual or group that you want to share the view with.



::Image[]{alt="Selection of share view recipient" src="https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/zsEy-ftxNdeFW3BPcAPW0_screenshot-2023-02-27-at-160039.png" size="60" width="494" height="720" caption="Choose the recipient of view" position="flex-start" showCaption="true"}

Read permissions give access to the view, and write permissions give the possibility to edit it.



::Image[]{alt="Permissions to access and edit the shared view" src="https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/c-Y7z-X42ioyIXH7x62Rm_screenshot-2023-02-27-at-160542.png" size="50" width="485" height="439" caption="'Read' and 'Write' permissions" position="flex-start" showCaption="true"}

You will receive a notification if someone shares a view with you



::Image[]{alt="How does the Shared view notification look like" src="https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/JH3DT1YaX-J3K4O3tJSmA_image.png" size="50" width="382" height="165" caption="Shared view notification" position="flex-start" showCaption="true"}

Only groups with the 'View sharing' feature permission can share the views.

![The list of  groups' permissions](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/UYwH6FAlWQ7JsHQEm8wYx_image.png "The list of  groups' permissions")

If you need to check your 'View sharing' feature permission or if you want to grant permission, select CRM -> Groups -> *required group&#x20;*-> Permissions, as in the example below.

![Groups' permissions](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/1JcegS4zNOBHvF62PpZ-j_screenshot-2023-02-28-at-101127.png "Where to check 'View sharing' feature permission")

For example, we want to know how many organizations have no email permissions, so we create a metric in 'Edit view'.

![Creating a metric](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/iRhJ6A7I_SBsVSTF5eECz_screenshot-2023-02-28-at-153804.png "\"No email permission\" metric")

To send the obtained metric to your colleague, click the 'share view' button in the dropdown next to the edit view button.



![Selection of 'Share view' button](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/tYLepFX3BEdSnGB3_VIfp_screenshot-2023-02-28-at-104215.png "'Share view' button")

You can select from domain or system groups or insert custom groups or individuals. Switch 'Read' and 'Write' toggles where needed and press the 'Save' button.

::Image[]{alt="How to set up a Share view" src="https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/dnstvrpn-S-axukHAxLqR_screenshot-2023-02-28-at-155537.png" size="60" width="515" height="748" caption="The setup of Share view" position="flex-start" showCaption="true"}

The individual/custom group that you have chosen will appear under the text box together with two toggles.



::Image[]{alt="'Read' permission for the 'Shared view' recipient" src="https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/ThDaqyh4FO0CtVdhjHQ7i_screenshot-2023-02-28-at-163116.png" size="50" width="499" height="760" caption="'Read' permission for the individual" position="flex-start" showCaption="true"}

A notification will be sent to the 'Shared view' recipient as per below.



::Image[]{alt="Sharing view notification with a recipient" src="https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/SNu_n908bh8V9p0yVZeEh_image-1.png" size="60" width="625" height="331" caption="Notifications about a shared view" position="flex-start" showCaption="true"}

## Technical information

View-sharing works based on permissions. Information about a group or contact (individual sharing) is added as row permission for the `entityId` current view. <u>For this to work, the following conditions must be met:</u>

- `View` definition must have `rowPermissions` property with **JSON** type.&#x20;
- **Definition** should have next **permissions**: only owner can view and delete records, create permission for who can create a new view.

::Image[]{src="https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/oE4L3l4hpS6s8poGHYH-N_screenshot-2023-04-27-at-131116.png" size="60" width="1152" height="1296" position="center" showCaption="false"}

- **Properties** of definition should to have next **peermissions**: owner can write (it's mean that owner can change own view), other groups can view this so that when they are granted access to the row, they can read these properties

::Image[]{src="https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/Rvr9WEH6WFmHqHUSmsUMe_screenshot-2023-04-27-at-152729.png" size="60" width="1816" height="1384" position="center" showCaption="false"}





For example, when the view is shared  for viewing to <u>hyperUsers</u> and <u>hyperAdmins</u> groups, JSON of `rowPermissions` will have value:

:::BlockQuote
\{
&#x20; "view": \{
&#x20;   "hyperUsers": \{
&#x20;     "isEnabled": true
&#x20;   },
&#x20;   "hyperAdmins": \{
&#x20;     "isEnabled": true
&#x20;   }
&#x20; },
&#x20; ...
}
:::

and for each allowed group will be added an entry to the permissions MySQL table record.

If you give permission to change view:

:::BlockQuote
\{
  ...
  "write": \{
    "hyperUsers": \{
      "isEnabled": true,
      "properties": \[
        "filters",
        "metrics",
        "viewType"
      ]
    },
    "hyperAdmins": \{
      "isEnabled": true,
      "properties": \[
        "filters",
        "metrics",
        "viewType"
      ]
    }
  }
}
:::

we give write permissions to the following properties: `filters`, `metrics`, and `viewType`, these properties hardcoded to the front part for view sharing.

If you want to give someone the right <u>to share your view</u> in the future, then you just need to give **write permissions** for `rowPermissions` property.



***You can also organize row sharing for other definitions (and this is already done for dashboards), just follow the rules above and set on the front part which properties they can write when editing a post (for example, for dashboards, this is only a `configuration` property)***



All data is changed through existing custom-data API points for managing properties. If there is a change in field `rowPermissions`, permissions update procedure will be started. During the update of permishins, we read this entity property, check it and take it into account when creating the row-based list permissions for database.
