Dynamic Attributes for Accounts

  • iPad
  • iPhone
  • Online
  • Windows

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. Business admins use dynamic attributes to request an end user to collect information about an account for an upcoming business need, for example, a new product launch, campaign or other business initiative, eliminating the wait for IT to create custom fields in Salesforce. Allowing business admins to create dynamic attributes removes the burden from the IT team.

For example, the Marketing team is preparing a product launch and needs to capture how many patients fit the product profile. Amy Adams, the Brand Manager, creates a Dynamic Attribute called Number of Patients. When Sarah Jones calls on her HCP, she uses the new attribute to record the information.

For information on using Dynamic Attributes with My Accounts, see Managing Dynamic Attributes in My Accounts.

Dynamic Attributes are read only on the iPhone platform.

Considerations for Dynamic Attributes

The following are not supported with Dynamic Attributes:

  • required fields
  • related lists
  • validation rules
  • translations

Other considerations to take into account:

  • Dynamic Attributes do not display on the Account Preview screen
  • Dynamic Attribute Configuration records cannot be edited while in Active status
  • Dynamic Attribute Configuration record types cannot be updated after being saved. If a change to record type is required, create an attribute.
  • Changes to a user’s edit permissions on a Dynamic Attribute are applied to end users’ orgs 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 SFDC database, until they sync.
  • The Dynamic Attributes tab cannot be collapsed
  • When a section header does not display on a page layout, the section collapses along with the preceding section when it is collapsed. This is standard Salesforce behavior.
  • The Dynamic Attributes section may not display if the immediately preceding or succeeding section does not have a Section Name. Adding a section without a Section Name is considered invalid configuration.
  • Dynamic Attributes display on the Account edit screen when DCRs are enabled but cannot be included as part of DCRs

Configuring Dynamic Attributes

Ensure initial configuration is complete to use this functionality.

Provide business admins the following permissions to add Dynamic Attributes to a page layout:

  1. Grant the following permissions: 

    Object OLS Record Type Fields FLS

    Dynamic_Attribute_Configuration_vod

    CRUD

    as needed* 

    Applies_To_vod

    Available_Values_vod

    Default_Value_vod

    Description_vod

    Detail_Group_vod

    External_ID_vod

    Help_Text_vod

    Attribute_Label_vod

    Attribute_Name_vod

    Product_vod

    Read_Only_vod

    Section_Name_vod

    Sharing_Group_vod

    Display_Order_vod

    Status_vod

    Track_Changes_vod

    edit

*For example, if a company wants business admins to create Dynamic Attributes that are free-text fields, grant access to the Text_vod and Text_Area_vod record types.

  1. Grant users access to the Dynamic Attribute Configurations tab.
  2. Configure the following Dynamic Attribute Configuration page layout assignments based on the record types you enabled.
Record Type Page Layout

Text_vod

Dynamic_Attribute_Configuration_Layout_vod

Text_Area_vod

Dynamic_Attribute_Configuration_Layout_vod

Checkbox_vod

Checkbox_vod

Picklist_vod

Picklist_vod

Multi_Select_Picklist_vod Picklist_vod

Date_vod

Dynamic_Attribute_Configuration_Layout_vod

Datetime_vod

Dynamic_Attribute_Configuration_Layout_vod

Number_vod*

Dynamic_Attribute_Configuration_Layout_vod

*Only whole numbers are supported.

Provide end users the following permissions to capture values. Provide business admins the following permissions to test the feature:

  1. Grant the following permissions: 

    Object OLS Record Type Fields FLS
    Dynamic_Attribute_vod CRU Dynamic_Attribute_vod

    Active_vod

    Dynamic_Attribute_Configuration_vod

    Dynamic_Attribute_Description_vod

    Dynamic_Attribute_Help_Text_vod

    Dynamic_Attribute_Label_vod

    Dynamic_Attribute_Name_vod

    Dynamic_Attribute_Record_Type_vod

    Dynamic_Attribute_Value_Checkbox_vod

    Dynamic_Attribute_Value_Date_Time_vod

    Dynamic_Attribute_Value_Date_vod

    Dynamic_Attribute_Value_Number_vod

    Dynamic_Attribute_Value_Text_vod

    Dynamic_Attribute_Value_Text_Area_vod

    Mobile_ID_vod

    edit

    Dynamic_Attribute_Configuration_vod

    R

    n/a

    Applies_To_vod

    Available_Values_vod

    Default_Value_vod

    Description_vod

    Detail_Group_vod

    External_ID_vod

    Help_Text_vod

    Attribute_Label_vod

    Attribute_Name_vod

    Product_vod

    Read_Only_vod

    Section_Name_vod

    Sharing_Group_vod

    Display_Order_vod

    Status_vod

    Track_Changes_vod

    read

  2. Grant users access to the DynamicAttributesVod and EditAccountVod Visualforce pages.
  3. Create a 1-Column section on the Account page layout the dynamic attributes should display on. The section title does not display to end users.
  • Deselect both the Detail Page and Edit Page check boxes on the Section Properties Screen

    The Tab-key order section is hardcoded, so any selection the admin makes is ignored. The items always display in top-down order in a two-column format.

  • Place the DynamicAttributesVod Visualforce component in the newly added section on the page layout

    The height of the Visualforce section should be changed to fit the Dynamic Attribute needed for the page layout for Online users. Offline platforms display Dynamic Attributes in the section, but they do not respect the height of the VisualForce section.

  1. Add the Edit_Account_vod button to the appropriate page layout. If the org is DCR enabled, the Edit_DCR_vod button can be used.
  2. Remove the standard Edit button from the appropriate page layout. This step is not needed if the org is DCR enabled.

If the Edit_Account_vod and Edit button configuration is not completed before deploying the Lightning Ready upgrade, it must be reconfigured for Lightning. If configuration is completed before deploying the Lightning Ready upgrade, the functionality is available in Lightning.

  1. Activate VMOCs and select the Enable Enhanced Sync check box for the following objects for iPhone, iPad, and Windows.
  • Dynamic_Attribute_vod

  • Dynamic_Attribute_Configuration_vod

    See Enhanced Sync for more information.

Safari users must deselect the Prevent cross-site tracking privacy setting in Safari. Otherwise, Dynamic Attributes do not display.

Using Dynamic Attributes

Dynamic Attributes display in a dedicated section on the Account page layout, differentiating them from standard account fields. Other than the dedicated section, Dynamic Attributes look like any other Account field to end users. Business Admins are responsible for creating and managing Dynamic Attributes.

Creating Dynamic Attributes

To create a Dynamic Attribute:

  1. Navigate to the Dynamic_Attribute_Configuration_vod tab.
  2. Select New.
  3. Select the type of attribute you want to create from the Record Type picklist. The following types are supported:
  • Text
  • Text Area
  • Check box
  • Date
  • Datetime
  • Number
  • Picklist
  • Multi-select picklist

    If multiple values are selected from a multi-select picklist, each value is stored in a different DA record in the Dynamic_Attribute_Value_Text_vod field.

    Each picklist value can contain up to 255 characters, not including line breaks or returns.

    Unlike SFDC picklist fields, Dynamic Attribute multi-select picklists do not use global value sets or default values.

  1. Define the details for your attribute using the following fields in the Dynamic_Attribute_Configuration_vod object.
Dynamic Attribute Configuration Field Description

Section_Name_vod

This field defines the section name the attribute displays in. If multiple attributes have the same value in the Section_Name_vod field, the attributes display in the same section.

Each section name within a page layout must be unique to avoid display irregularities.

Attribute_Name_vod

This field contains a unique attribute name, similar to the API name of a field. This does not display to end users.

Attribute_Label_vod

This field controls the label of the attribute that displays to an end user. This value is not unique. 

Applies_To_vod

This field specifies the account record type name for which the attribute displays. Add these values in a double semicolon separated list. For example, Professional_vod;;Hospital_vod;;Hospital_Department_vod.  If no value is added, the attribute is available for all Account record types.

This field is case sensitive.

Product_vod 

This field indicates the product an end user needs access to view the attribute. If no Product/Detail Group value is populated, the attribute is available for all users. The available products depend on what is available for the user in My Setup.Only items of type Detail should be selected from the Product_vod field. 

Detail_Group_vod 

This field specifies the Detail Group the end user needs access to view the attribute. If no Product/Detail Group  value is populated, the attribute is available for all users. Only items of type Detail Group should be selected from the Detail_Group_vod field. 

Sharing_Group_vod 

This field determines the value of the Sharing Group used for the org’s Sharing Rule. This field is optional. 

Track_Changes_vod 

This field creates an audit log for the attribute. A new Dynamic Attribute record is created each time a user edits the value if this field is selected. This field is optional.

Status_vod 

This field can be set to ‘Active’, ‘Inactive’, or ‘Staged’. Only Dynamic_Attribute_Configuration_vod records in ‘Active’ status display to end users. This field is optional.

Read_Only_vod 

This field can be selected to make an attribute read only for end users. This field is optional.

Description_vod 

This field stores a description of the attribute. The value does not display to end users. This field is optional.

Help_Text_vod 

This field contains attribute’s help text that displays to end users. This field is optional.

Display_Order_vod 

This field includes the alphanumeric value used to sort attributes within a section. If multiple attributes have the same value in the Display_Order_vod field, they are sorted based on the value of the Attribute_Label_vod field. This field is optional. 

Dynamic Attributes are sorted using the ASCII values of the Display_Order_vod 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.

Available_Values_vod 

This field contains the picklist labels for the attributes and is available when the record type is set to Picklist_vod or Multi_Select_Picklist_vod. This field is required. This field should include the values to be displayed to an end user in a picklist format in a double-semicolon delimited list. 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_vod field.

  1. Select Save.

All data an end user enters is stored in the Dynamic_Attribute_vod object.

Updating a Dynamic Attribute

Modifying an existing Dynamic Attribute may cause data inconsistencies. Aside from modifying the Label or the Track Changes field values, it is a best practice to create an attribute rather than modifying an existing attribute.

To update a Dynamic Attribute Configuration record:

Dynamic Attributes can be edited only in Classic Salesforce.

  1. Open the Dynamic Attribute record.Apply a View as a List in My Accounts
  2. The views contained in My Accounts are used to apply a filtered list of Accounts to a custom object. For example, adding a list of Accounts as attendees of a medical event.

  3. The generic Apply My Accounts Template s-control provides a template defining how to configure the functionality. The following parameters are designed to call this s-control from a header object:

    • id - The SFDC ID of the header object record, for example, Medical Event
    • robj - The API name of the object to which the accounts/targets will be inserted, for example, Event Attendees
    • rfld - The field API name on the object that refers to the header record
    • racct - The field API name on the target record that will be populated with the Account value
  4. All Accounts option - To remove the All Accounts option when a user is aligned to at least one territory, enable the Disable_All_Accounts_vod Veeva Setting. This configuration is available on the Online platform.

  5. Veeva CRM Lightning Ready does not support S-controls. Admins for Lightning Ready orgs should instead configure the MyAccountsTemplateLgtnVod Visualforce page.

  6. Select Edit.
  7. Select Inactive from the Status drop down field.
  8. Select Save.
  9. Select Edit and make the necessary modifications.

  10. Select Save.
  11. Select Edit.
  12. Select Active from the Status drop down field.