# Customizing an entity

> Data Service contains **System built-in fields**. When you create a new entity a set of default fields is automatically created still you can customize the entities you defined by adding specific fields.

## Introduction

Data Service contains **System built-in fields**. When you create a new entity a set of default fields is automatically created still you can customize the entities you defined by adding specific fields.

![docs image](https://dev-assets.cms.uipath.com/assets/images/data-service/data-service-47204-b25b632f.webp)

## Field Types

You can create the fields of the following field types.

* [Text](text.md): this field can be used to store a small amount of text.
* [Number](number.md): this field can be used to store a number value. Number values can be positive or negative. You must specify the number of decimal places that you want to use.
* [Yes/No](yesno.md): this field is used to choose between a **Yes**or **No** value.
* [Date-Time](date-time.md): this field is used to store a value that contains a date and time. A date picker can be used to select a date and time.
* [Relationship](relationship.md): this field is used to create a relation between two entities.
* [Choice Set](choice-set.md): this field is used to store a list of enumerated values from which one or more values can be selected.
* [File](file.md): this field is used to store a file.
* [Auto-number](auto-number.md): this field is used to automatically increase record indexes.

:::note
Each type of field requires different details that must be specified. Please check the specific page under [Entity Field Types](entity-field-types.md) to find out more.
:::

## Creating Fields

To customize your entity by creating a specific filter follow the steps below:

1. In the **Entities** list, select the entity for which you want to add a field. The **Fields** tab is displayed with the list of fields defined for the entity.
2. Click on **Create New Field**.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/data-service/data-service-46964-e622c2a8.webp)
3. In the **Create Field** panel enter a display name for the field in the **Display Name** field.

   :::note
   The **Name** field is automatically filled based on the **Display Name**. If needed, you can change the name **Name** field.
   :::
4. Select the filed **Type** using the drop-down list.
5. If the field must have a value, select the **Required** checkbox.
6. Click **More details** to display the additional fields.
7. Enter a value for the available fields. The required fields are marked with an asterisk symbol.
8. Click on **Save**.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/data-service/data-service-46944-667dc3a2.webp)

The new field is displayed in the **Fields** list.

## Updating the Fields

To update the fields you created, follow the steps below:

:::note
* You cannot update system built-in fields.
* You cannot change the **Name** and the **Type** of customized fields.
:::

1. In the **Fields** tab, hover over the field that you want to edit.
2. Click on the **Edit field** icon corresponding to the item. This is available on the right-hand side.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/data-service/data-service-299157-4c58bd2c.webp)
3. The **Edit Field** panel is displayed. Apply your updates.
4. Click **Save**.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/data-service/data-service-299161-be02f49d.webp)

## Deleting Fields

To delete fields that you have created follow the below steps:

:::note
You cannot delete system built-in fields.
:::

1. In the **Fields** tab, hover over the field that you want to delete.
2. Click the **More options** menu at the end of the field row, then select **Delete**.
3. To activate the **Delete** button, enter the display name of the field in the **Delete Field** dialog.
4. Click **Delete** to confirm the action.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/data-service/data-service-47232-eef47009.webp)

## Enabling or Disabling Role Based Field Access

**Role based field access** can be used to restrict data access. It is possible to enable **Role based field access** for custom fields only, it is not available for system built-in fields.

After the **Role based field access** option is enabled for a field, the roles need to be updated to grant explicit permissions for users to access the field. See [Manage access](managing-access.md) for more information.

:::note
**Standard Roles** will no longer have access to data in fields that are enabled for Role based field access. Users who need access to this data will need to be assigned a Custom role that grants permissions to access the data in the field.
:::

1. In the **Fields** tab, hover over the field for which you want to enable (or disable) Role based field access.
2. Click the **More options** menu at the end of the field row, then select the **Enable role based field access** (or the **Disable role based field access**) option from the menu.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/data-service/data-service-47200-0a34eb6d.webp)
3. Click on **Enable** (or **Disable**) to confirm the action.

   A confirmation message is displayed. See illustration below.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/data-service/data-service-47136-62e9b492.webp)

   :::important
   When you enable **Role based field access** for a field, all users that have existing roles assigned that do not provide field level permissions will no longer have access to the data in the field.
   :::
4. Click on **Manage Roles** to open the **Roles** tab of the **User Management** page. Here you can update the Custom Roles to grant permissions for the field access.
