# Configuring Custom Tabs

Custom tabs allow you to organize and expand the primary navigation bar, providing users with quick access to documents of a certain type, object records, or external sites. When you create a custom tab, Vault automatically adds it to the _All_ tab collection, and the tab is available for Admins to add to <a href="/en/gr/542174/">custom tab collections</a>.

## Tab Types

There are different types of custom tabs:

* **Object** tabs display records for standard or custom Vault objects, for example, _Products_, _Studies_, _Submissions_, _Manufacturers_, _Vendors_. You can further configure an **Object** tab by selecting one or more **Object Types** to display only available records for specific <a href="/en/gr/32857/">object types</a>. Filters and views only include object fields that apply to those object types. When users click **Create** within an object type tab, Vault automatically creates the new record using that type.
* **Document Type** tabs display documents with specific document types, for example, _Promotional Pieces_, _Site Management_, _Clinical Summaries_.
* **Web** tabs display external websites or integrate with external systems. You can configure the target URL to pass Vault, session, and user parameters to an external service.
* **Menus** are parent tabs under which you can create additional tabs, allowing you to group custom tabs, for example, a _Documents_ menu tab with document type sub-tabs for _Site Management_ and _Regulatory_.
* **Dashboard** tabs display an individual standard or custom dashboard as its own tab. Dashboard tabs cannot be used as landing tabs.
* **Page** tabs display a <a href="/en/gr/812236/">Custom Page</a> in its own tab.

## Standard Vault Tabs

The **Home**, **Library**, **Reports**, **Dashboards**, and **Loader** tabs are standard and cannot be removed. However, you can reorder, rename, or control access to these as needed.

## Accessing Custom Tab Configuration

Configuration options for both standard and custom tabs are located in **Admin** > **Configuration** > **Tabs**. To view or configure, you must have a security profile that grants the correct _Admin: Tabs_ permissions.

## How to Create Custom Tabs

To create a new custom tab:

  1. From the **Tabs** page, click **Create**.
  2. Under **Tab Details**, enter a **Label** to appear as the tab name in the navigation bar.
  3. The **Name** field auto-fills based on the label value, but is editable. This value is only visible via the Vault API.
  4. Select a **Tab Type** and enter additional details specific to the type. For object tabs, select the object. For object type tabs, select the object followed by the object types. For document type tabs, select the document type, subtype, or classification. For [web tabs][1], enter the target URL. For dashboard tabs, select the dashboard. For <a href="/en/gr/812236/#Configure_Custom_Page_Tabs">Page tabs</a>, select the **Page** component to display in the tab.
  5. Optional: For object tabs, select **Create record in new page** to allow users to create records on a new object record details page.
  6. Optional: For object tabs, select **Create record in pop-up dialog** to allow users to create new records from a pop-up dialog and remain on the tab after saving the record.
  7. Optional: For object tabs, select **Prevent record creation** to prevent users from creating new object records from this tab. We recommend enabling this if you've defined tab filters to prevent users from creating records that they may not be able to access in the filtered tab.
  8. Optional: For object and document type tabs, you can [apply filters][2] to only display object records or documents that meet defined criteria.
  9. Optional: Select a [**Default View**][4] to display by default when a user first accessses the tab.
  10. Click **Save**.

Vault allows you to create a maximum of 60 custom tabs, in addition to the standard **Home**, **Library**, **Reports**, **Dashboards**, and **Loader** tabs. You can create up to 20 sub-tabs under each **Menu** tab on the navigation bar.

### Defining Web Tabs {#web}

When defining web tabs, you must:

* Select or clear the **Post Session credentials via Post Message** checkbox. When this setting is enabled, Vault sends the user's session ID using a technology called `postMessage` rather than as a URL parameter. As a best practice, we recommend selecting this checkbox as Post Message is a more secure way to send this information. If selected, you will need to adjust your application to receive information from Post Message. Learn more about this process in the <a class="external-link " href="https://developer.veevavault.com/docs/#Post_Message" target="_blank" rel="noopener">Developer Portal<i class="fa fa-external-link" aria-hidden="true"></i></a>.
* Enter the target **URL**. If needed, you can use tokens (variables representing a value from the Vault) in the **URL** field. Click the token icon to search for and insert tokens.

Note that the website must allow embedding in iFrames to appear in a web tab.

### Defining Tab Filters {#filters}

You can configure filters to narrow the scope of the data in object and document type tabs. Most document and object fields are available as filters.

To create tab filters:

  1. Under **Filter Tab**, select a field from the drop-down.
  2. Choose an operator from the next drop-down that appears and then select a value, if needed. When available, you can click the binoculars icon to open a search dialog and find specific attributes.
  3. Add more filters by clicking the plus (**+**) icon to the right. You can delete a filter by clicking the minus (**-**) icon. Vault allows you to add five (5) filters to each tab. Contact Veeva Support to add additional filters.

### Current User Filter

If you select a user-related field from the **Filter Tab** dropdown, such as _Created By_, _Last Modified By_, or _Checked Out By_, you can specify the _Current User_ value. When a user visits this tab, they will only see results where they are referenced in the fields filtered by _Current User_.

For example, if a _Product Owner_ field references users on the _Product_ record, you could create a saved view that filters on the _Current User_ option. Then each user who accesses that view would only see the _Products_ they own.

### Default Views {#default-view}

To designate a view as the _Default View_ within a tab, an Admin must first select the <a href="/en/gr/74573/#create-custom-view">_Users cannot remove this view from the view section of the tab_</a> option for the view. This makes the view mandatory and users cannot remove the view from the tab. VQL views are always mandatory and therefore always available for selection as a _Default View_.

Selecting a _Default View_ in the custom tab configuration primarily guides new users to a tab with prefiltered content when necessary. When a user accesses the tab for the first time, the configured _Default View_ is displayed by default. If the user does not interact with the view section, that view remains the default. If the user selects a different view, that view becomes the new default and is displayed when they access the tab again in the future.

## How to Edit Custom Tabs

To edit a custom tab:

  1. From the **Tabs** page, click on the tab name in the list. If needed, click **Expand all** to see sub-tabs.
  2. In the tab's details panel on the right, click **Edit**, make the necessary change, and click **Save**.

## How to Change Tab Order {#tab-order}

In addition to creating custom tabs, you can also change the order of existing (custom and standard) tabs within the navigation bar. To reorder tabs:

  1. From the **Tabs** page, click **Reorder**. Click **Expand all** to display sub-tabs.
  2. Select a tab and drag it to its new position.
  3. Click **Save**.

### Tab Ordering Rules

The following rules dictate how you can reorder tabs and where you can create new tabs:

* You can only add a sub-tab beneath a tab with the **Menu** type.
* Moving a tab with sub-tabs moves both the menu tab and all sub-tabs.
* You can move a sub-tab from beneath one tab to another as long as the new menu tab has the **Menu** type.
* You can promote a sub-tab to a top-level tab.
* You can demote a tab to a sub-tab as long as the target menu tab has the **Menu** type.

### Overflow Tabs

The top-level of the primary navigation bar can include up to twenty (20) tabs. The width of each tab depends on the length of the tab name. When all of the tabs cannot fit in the primary navigation bar, Vault automatically moves them to a menu represented by a chevron (down arrows) icon.

## How to Delete Custom Tabs

To delete a custom tab:

  1. From the **Tabs** page, click on the tab name. Click **Expand all** to display sub-tabs.
  2. Select **Delete** from the **Actions** menu.
  3. Click **Continue** in the confirmation dialog.

You cannot delete standard tabs: **Home**, **Library**, **Reports**, **Dashboards**, and **Loader**.

## Localization for Custom Tabs

If your Vault uses multiple languages, you can provide translations for the custom tab labels through the <a href="/en/gr/13309/">bulk translation tool</a>.

## Defining Related Object Filters in Advanced Search {#related-object-filters}

You can configure object tabs to allow users to filter on related object records from the **Advanced Search** dialog. You can only add related object filters <a class="external-link " href="https://developer.veevavault.com/mdl/components/#tab" target="_blank" rel="noopener">using MDL<i class="fa fa-external-link" aria-hidden="true"></i></a>.

You can also add up to five (5) object reference fields as filters in the **Advanced Search** dialog on document tabs. See <a href="/en/gr/59921/">Configuring Object References in Advanced Search</a> for detailed instructions. Note that these filters appear on all document tabs.

## Controlling Access to Tabs {#access-control}

When you create a custom object tab, you give non-Admin users access to view object data records. Without a custom tab, these are only accessible through **Business Admin > Objects**. There are several ways that you can control view access to object data records:

* **Permission Sets - Objects**: You can add or remove the _Read_ permission for all objects or for individual objects. Users who do not have this permission for the custom tab's object cannot see the tab. For example, you can create a **Studies** tab and configure a set of users without read access for the _Study_ object: those users cannot see the **Studies** tab. Add objects to permission sets from **Admin > Users & Groups > Permission Sets > Objects**.
* **Permission Sets - Tabs**: Users can only view tabs if they have the _View_ permission for that tab. Only users with the _View_ permission on **All Tab Collections** will see newly created tab collections by default, and only users with the _View_ permission on **All** tabs will see newly created tabs by default. Add tabs to <a href="/en/gr/22824/">permission sets</a> from **Admin > Users & Groups > Permission Sets > Tabs**.
* **Custom Sharing Rules**: If the object uses this feature, you can restrict _Read_ access to individual object data records. When users open the custom object tab, they only see the records on which they have a role. Users who cannot see any individual records can still view the custom tab.
* **Tab Status**: When creating and editing tabs, you can set a tab's status to _Active_ or _Inactive_. _Inactive_ tabs are hidden in both the navigation and search bar. Note that any links that lead to an inactive tab are still available and are not affected by a tab's status.

 [1]: #web
 [2]: #filters
 [3]: #tab-order
 [4]: #default-view