Source: https://vaultcrmhelp.veeva.com/doc/Content/CRM_topics/Accounts/ManagingAccountInfo/DynamicAttributesforAccounts.htm

## Dynamic Attributes for Accounts

Dynamic attributes enable business admins to define custom fields for collecting business information, without needing IT knowledge or resources. A dynamic attribute is a special type of field that displays on the account details screen and can be created by business admins without modifying the account object. Enabling business admins to create dynamic attributes removes the burden from the IT team and also allows for quick turnaround of business requests.

For example, if a Marketing team is preparing a product launch and needs to capture how many patients fit the product profile, a business admin can create a dynamic attribute called Number of Patients. When an end user calls on an HCP, they can use the new attribute to record the information.

**Who can use this feature?**

* Business Admin Users — Browser
* [Managing Dynamic Attributes](#Managing)
* [Creating Dynamic Attributes](#Creating)
* [Enabling Querying and Reporting](#Enabling)
* [Updating a Dynamic Attribute](#Updating)
* End Users — Browser, iPad, Windows
* [Viewing Dynamic Attributes](#Viewing)
* Users do not require an additional license

### Configuring Dynamic Attributes for

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)Business Admin Users](#)

To configure this feature:

1. Ensure [Configuring Accounts](../AcctConfig.htm) is complete.
2. Navigate to **Admin > Users & Groups > Permission Sets**.
3. Select the appropriate permission set.
4. Select the **Objects** tab.
5. Grant the following permissions:

   | Object | Object Permission | Object Type | Fields | Field Permission |
   | --- | --- | --- | --- | --- |
   | dynamic\_attribute\_\_v | CRED | dynamic\_attribute\_\_v | * account\_\_v * active\_\_v * dynamic\_attribute\_configuration\_\_v * dynamic\_attribute\_description\_\_v * dynamic\_attribute\_help\_text\_\_v * dynamic\_attribute\_label\_\_v * dynamic\_attribute\_name\_\_v * dynamic\_attribute\_record\_type\_\_v * dynamic\_attribute\_value\_checkbox\_\_v * dynamic\_attribute\_value\_date\_time\_\_v * dynamic\_attribute\_value\_date\_\_v * dynamic\_attribute\_value\_number\_\_v * dynamic\_attribute\_value\_text\_\_v * dynamic\_attribute\_value\_text\_area\_\_v * mobile\_id\_\_v | Edit |
   | dynamic\_attribute\_configuration\_\_v | CRED | as needed\* | * applies\_to\_\_v * available\_values\_\_v * description\_\_v * detail\_group\_\_v * dynamic\_attribute\_configuration\_status\_\_v * enable\_query\_reporting\_\_v * external\_id\_\_v * help\_text\_\_v * attribute\_label\_\_v * attribute\_name\_\_v * product\_\_v * read\_only\_\_v * section\_name\_\_v * sharing\_group\_\_v * display\_order\_\_v * status\_\_v * track\_changes\_\_v | Edit |
   | * daq\_mapped\_field\_name\_\_v * query\_reporting\_status\_\_v | Read |
   | dynamic\_attributes\_query\_\_v | R | n/a | All fields | Read |

   \*For example, if a company wants business admins to create dynamic attributes that are free text fields, grant access to the text\_\_v and text\_area\_\_v object types.
6. Navigate to **Admin > Configuration > Tabs**.
7. Create a tab for the **dynamic\_attribute\_configuration\_\_c** object.
8. Grant access to the **Dynamic Attribute Configurations** tab.
9. Navigate to **Admin > Configuration > Objects**.
10. Create layouts for different object types, as needed.
11. Add the **dynamic\_attributes\_section\_\_v** app section to the appropriate account detail layouts on the account\_\_v object.

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)End Users](#)

To configure this feature:

1. Ensure [Configuring Accounts](../AcctConfig.htm) is complete.
2. Navigate to **Admin > Users & Groups > Permission Sets**.
3. Select the appropriate permission set.
4. Select the **Objects** tab.
5. Grant the following permissions:

   | Object | Object Permission | Object Type | Fields | Field Permission |
   | --- | --- | --- | --- | --- |
   | dynamic\_attribute\_\_v | CRED | dynamic\_attribute\_\_v | * account\_\_v * active\_\_v * dynamic\_attribute\_configuration\_\_v * dynamic\_attribute\_description\_\_v * dynamic\_attribute\_help\_text\_\_v * dynamic\_attribute\_label\_\_v * dynamic\_attribute\_name\_\_v * dynamic\_attribute\_record\_type\_\_v * dynamic\_attribute\_value\_checkbox\_\_v * dynamic\_attribute\_value\_date\_time\_\_v * dynamic\_attribute\_value\_date\_\_v * dynamic\_attribute\_value\_number\_\_v * dynamic\_attribute\_value\_text\_\_v * dynamic\_attribute\_value\_text\_area\_\_v * mobile\_id\_\_v | Edit |
   | dynamic\_attribute\_configuration\_\_v | R | All | * applies\_to\_\_v * available\_values\_\_v * daq\_mapped\_field\_name\_\_v * description\_\_v * detail\_group\_\_v * dynamic\_attribute\_configuration\_status\_\_v * enable\_query\_reporting\_\_v * external\_id\_\_v * help\_text\_\_v * attribute\_label\_\_v * attribute\_name\_\_v * product\_\_v * query\_reporting\_status\_\_v * read\_only\_\_v * section\_name\_\_v * sharing\_group\_\_v * display\_order\_\_v * status\_\_v * track\_changes\_\_v | Read |
   | dynamic\_attributes\_query\_\_v | R | n/a | All fields | Read |
6. Grant View access to the **Dynamic Attributes** object control permission on the account\_\_v object.
7. Navigate to **Business Admin > Objects > VMobile Object Configurations**.
8. Activate the VMOCs and select the **Enable Enhanced Sync** checkbox for the following objects for iPad:
   * dynamic\_attribute\_\_v
   * dynamic\_attribute\_configuration\_\_v

   See [Enhanced Sync](../../Getting_Started/MobileDeviceSetup/Sync/VMOCs.htm#Using) for more information.
9. Activate the iPad VMOC for the **dynamic\_attributes\_query\_\_v** object.

### Using Dynamic Attributes as

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)Business Admin Users](#)

#### Managing Dynamic Attributes

Business admins are responsible for creating and managing dynamic attributes. All data an end user enters is stored in the dynamic\_attribute\_\_v object.

Dynamic attributes do not display on the [Account Preview](../CreatingAccounts/PreviewinganAccountDuringCreation.htm) screen.

![](../../../Resources/Images/Accounts/DynamicAttributes/DynamicAttributesImage.png)

#### Creating Dynamic Attributes

To create a dynamic attribute:

1. Navigate to the **dynamic\_attribute\_configuration\_\_v** tab.
2. Select **New**.
3. Select the type of attribute you want to create from the Object Type picklist. The following types are supported:

* Text
* Text Area
* checkbox
* Date
* Datetime
* Number - only whole numbers are supported
* Picklist
* Multi-select picklist

  If multiple values are selected from a multi-select picklist, each value is stored in a different dynamic\_attribute\_\_v record in the dynamic\_attribute\_value\_text\_\_v field.

  Each picklist value can contain up to 255 characters, not including line breaks or returns.

4. Define the details for your attribute using the following fields in the dynamic\_attribute\_configuration\_\_v object.

   | Required Dynamic Attribute Configuration Fields | Description |
   | --- | --- |
   | section\_name\_\_v | This field defines the section name the attribute displays in. If multiple attributes have the same value in the section\_name\_\_v field, the attributes display in the same section.  Each section name within a layout must be unique to avoid display irregularities. |
   | attribute\_name\_\_v | This field contains a unique attribute name, similar to the API name of a field. This does not display to end users. |
   | attribute\_label\_\_v | This field controls the label of the attribute that displays to an end user. This value is not unique. |
   | applies\_to\_\_v | This field specifies the account object type name for which the attribute displays. Add these values in a double semicolon separated list. For example, professional\_\_v;;hospital\_\_v;;hospital\_department\_\_v.  If no value is added, the attribute is available for all account object types.  This field is case sensitive. |
   | available\_values\_\_v | To define picklist values for picklist\_\_v or multi\_select\_picklist\_\_v field types, enter the desired picklist values in a double-semicolon delimited list. The list order in the field determines the list order to display to the end user. For example, Specialty;;Primary;;Oncology.  ‘None’ is always the first value in the picklist and does not need to be added in the available\_values\_\_v field.  This field is required for picklist\_\_v and multi\_select\_picklist\_\_v field types. |

   | Optional Dynamic Attribute Configuration Fields | Description |
   | --- | --- |
   | product\_\_v | To only display the dynamic attribute for users with access to a certain product, populate the product\_\_v field with a detail type product. If a Product/Detail Group value is not populated, the attribute is available for all users. The available products depend on the products assigned to the user in My Setup. |
   | detail\_group\_\_v | To only display the dynamic attribute for users with access to a certain detail group, populate the detail\_group\_\_v field with a detail group type product. If a Product/Detail Group value is not populated, the attribute is available for all users. |
   | sharing\_group\_\_v | This field determines the value of the sharing group used for the Vault’s sharing rule. This field is optional. |
   | track\_changes\_\_v | To create an audit log for the attribute, select the track\_changes\_\_v checkbox. If this field is selected, a new dynamic attribute configuration is created each time a user edits the value. This field is optional. |
   | status\_\_v | This field can be set to Active, Inactive, or Staged. Only dynamic\_attribute\_configuration\_\_v records in Active status display to end users. This field is optional. |
   | read\_only\_\_v | To make an attribute read-only for end users, select the read\_only\_\_v checkbox. This field is optional. |
   | description\_\_v | This field stores a description of the attribute. The value does not display to end users. This field is optional. |
   | help\_text\_\_v | To display help text to end users, populate the help\_text\_\_v field. This field is optional. |
   | display\_order\_\_v | To display attributes in a certain order within a section, populate the display\_order\_\_v field with the desired number. If multiple attributes have the same value in the display\_order\_\_v field, they are sorted based on the value of the attribute\_label\_\_v field. This field is optional.  Dynamic attributes are sorted using the ASCII values of the display\_order\_\_v field values. To display items in the desired order, use sort order values, for example, 100, 200, 300. Using a sort order value of three or four digits allows you to insert new fields into the sort order later. |
5. Select the Enable Query & Reporting checkbox to allow the dynamic attribute to be used in searches, filters, and reports (optional). For more information, see [Enabling Querying and Reporting](#Enabling).
6. Select **Save**.

Dynamic attributes display in a dedicated section on the account layout. Other than the dedicated section, dynamic attributes look like any other account field.

#### Enabling Querying and Reporting

The Enable Query & Reporting checkbox is deselected by default in migrated vaults. To enable each Dynamic Attribute, Admins need to manually select the checkbox.

By selecting the Enable Query & Reporting checkbox for a Dynamic Attribute, business admins can leverage the following benefits:

* Seamlessly include Dynamic Attributes in standard reports, filters, and My Accounts searches
* Improve the performance of searches and reports by storing attribute data in a structured, optimized format
* Enable advanced functionality instantly. No data migration is required.

![](../../../Resources/Images/Accounts/DynamicAttributes/dynamic-attribute-enable-query.png)

When the record is saved, a process runs to make the necessary updates. Users are prevented from making changes to the Enable Query & Reporting checkbox while the process is running.

Up to 800 Dynamic Attributes can be enabled for querying and reporting. A warning displays when this limit is reached, and users must disable the setting for an existing Dynamic Attribute before they can enable it for another Dynamic Attribute.

Disabling a Dynamic Attribute when it is no longer needed may help improve load times for My Accounts views and lists.

To disable querying and reporting for a dynamic attribute, deselect the Enable Query & Reporting checkbox on the Dynamic Attribute Configuration. A prompt displays that the Dynamic Attribute is no longer available in My Account views. The data is still available in the Dynamic Attribute object.

#### Updating a Dynamic Attribute

Aside from modifying the Label or the Track Changes field values, it is a best practice to create a new attribute rather than modifying an existing attribute. This includes creating a new attribute if a change to object type is required.

Modifying an existing dynamic attribute may cause data inconsistencies.

To update a dynamic attribute configuration record:

1. Open the **Dynamic Attribute Configuration** record.
2. Select **Edit**.
3. Select **Inactive** from the Status drop-down field. Dynamic attribute configuration records cannot be edited while in Active status.
4. Select **Save**.
5. Select **Edit** and make the necessary modifications.
6. Select **Save** again.
7. Select **Edit**.
8. Select **Active** from the Status drop-down field.

#### Considerations for Dynamic Attributes

* The following are not supported with dynamic attributes:
* Required fields
* Related lists
* Validation rules
* Translations
* Changes to a user’s edit permissions on a dynamic attribute are applied to end users’ Vaults when they sync. For example, if an end user has Edit permission to an attribute and the business admin changes the permission to read only, the end user can continue to capture changes, which are saved to the database, until they sync down the updated Dynamic Attribute Configuration record.

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)End Users](#)

#### Viewing Dynamic Attributes

Dynamic attributes display in a dedicated section on the account layout. Other than the dedicated section, dynamic attributes look like any other account field to end users.

### Related Topics

[Accounts Overview](../AcctOverview.htm)

[Using the Account Details Screen](../UsingAccounts/UsingAcctDetails.htm)
