You are using an older browser that might negatively affect how this site is displayed. Please update to a modern browser to have a better experience. Sorry for the inconvenience!

Dynamic Forms in Salesforce


Introduction:

Dynamic forms transform static data entry into an intuitive experience. It gives the ability to configure record detail fields and sections inside the Lightning App Builder. It comes with a brand-new standard Lightning Component called “Field Section”. Components can be added to the page and selected fields will be added to the section and apply a filter if necessary (It’s a Summer’20 Release feature).

Example: Dynamically showing a particular section when a picklist field has a certain value, When an Opportunity has reached a certain stage, it displays a section with relevant fields to a particular user profile.

Benefits:

  • Better page performance: Puts the fields and sections into accordion components or tabs to significantly improve page load times
  • Reduces/streamlines usage of page layouts by moving visibility rules to components compared with the overall layout
  • Classy UI: As an end-user, it helps to provide a majestic visual interface that allows users to see only the fields they want/need to see
  • Single assignment model for the Lightning page instead of the dual model of assigning a Lightning page and a page layout
  • Dynamic layouts: Use visibility rules to show and hide fields and sections
  • Reduce the number of page layouts we need with component visibility rules
  • Manage the fields and sections on pages in the Lightning App Builder without touching the page layout editor

Steps to invoke the Dynamic Forms:

1) From Setup, enter Record Page Settings under “User-Interface” you can find the Record Page Settings . Click the Setup à Record Page Settings.

2) In the Dynamic Forms section, flip the switch to “On” to enable the feature of dynamic forms on the record detail page.

3) Click Save

Note: Once Dynamic Forms is enabled, a new tab called “Fields” will be shown when you open the Lightning App Builder for a custom object.

We can enable the dynamic forms in the setup, or we can migrate an existing Lightning page. Open the Lightning page you wish to upgrade, select the “Record Detail” component, and choose “Upgrade Now”.

Once it enables, you can  see like this below popup

Note: You need to add a Fields Component first; then only you can add the fields into it!

You can add the Field Section anywhere in the Lightning app builder page.

Do not forget to name each field section because naming would be helpful in enriching the UI, and it improves the streamlining of fields in an ordered way.

With a field selected, we can choose the UI behaviour such as “Read Only” or “Required”.

Make fields and components conditionally visible: We can make both fields and entire field components conditionally visible.

In the below image, I had set the condition for “Conference Location and Timing Details” section made it visible only to users with the Profile name “ Audience”.

In the below image, I had made the “Choose topic” filed conditionally appear only if “Wish to take a Quiz” is true

In edit mode also, our conditional field will appear once “Wish to take a Quiz” is checked, without the user having to save or refresh the page.

Mobile view of Dynamic Forms:

The new “Field Section” component is not yet available on mobile. To display the fields for mobile users, use the “Record Detail – Mobile” component. It wraps fields from the page layout.

Limitations:

  • Dynamic Forms is currently available only for custom objects; standard objects such as Accounts and Opportunities are not supported.
  • Currently available as Non-GA preview in Summer ’20 release
  • Dynamic Forms are not supported on record pages that use pinned region or custom page templates.
  • Dynamic Forms “Field Section” component are not supported on mobile

Conclusion:

Salesforce dynamic forms brings a new level of experience to end users and it improves the productivity of organizations.  In addition, these forms can be configured easily without complex code or development. 

References:

https://help.salesforce.com/articleView?id=customize_records_dynamic_forms.htm&r=https:%2F%2Fwww.google.com%2F&type=5

https://trailhead.salesforce.com/users/strailhead/trailmixes/be-an-innovator-with-dynamic-pages

https://help.salesforce.com/articleView?id=dynamic_forms_enable.htm&type=5

https://releasenotes.docs.salesforce.com/en-us/summer20/release-notes/rn_forcecom_lab_dynamic_forms.htm

https://admin.salesforce.com/blog/2019/break-up-your-record-details-with-dynamic-forms