Salesforce Dynamic Forms

Salesforce Dynamic Forms

In this post, we’ll cover what Salesforce Dynamic Forms are, and how to get started, as well as what is and is not supported.

What are Salesforce Dynamic Forms?

The premise of Dynamic Forms is to create user-centric, intuitive page layouts that display the right information at the right time. Over time, the page layout, or the “Details” section in Lightning pages, can become congested with fields. These fields may well be necessary but not all the time or to all users. The closest resolution we’ve had is to create multiple page layouts and different profiles, which is labor and config intensive.

Well, no more. With Dynamic Forms you’ll be able to:

  • Place fields anywhere on the layout without needing to add them to the traditional page layout (“Details” component).
  • Use visibility rules to make fields and components appear and disappear based on the criteria you choose.
  • Do away with multiple-page layouts.
  • Improve page load times.

How Do I Set Up Salesforce Dynamic Forms?

1. Create or Migrate a Page

For any custom object, open the Lightning page you wish to upgrade, select the “Record Detail” or “Highlights Panel” component, and choose “Upgrade Now”.

You can also create a brand-new page by going to your custom object, selecting “Lightning Record Pages”, then choose “New”.

Once you’ve migrated or created a new Lightning record page, you will see the option to add a “Field Section” component which will then enable you to add fields directly to the Lightning record page. 

In this example, I have removed the traditional “Details” tab and created a custom tab called “Candidate Information”. I then dragged a “Field Section” component onto my tab.

2. Add Fields to a Component

Once you’ve added a “Field Section” component to your page, you can start to add individual fields. A “Field Section” can be added in many places, not just in tabs, so go wild!

First, let’s add some fields that should always be visible to anyone who views the record:

  • Don’t forget to name each field section!
  • With a field selected, you can choose the UI behavior such as “Read Only” or “Required”.

 

3. Make Fields and Components Conditionally Visible

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

Below, I’ve added a new “Fields Section” component titled “Confidential Information”, and made it visible only to users with the Profile name “HR”

I’ve also made the field “Distance Willing to Travel” conditionally appear only if “Willing to Travel” equals TRUE:

This is a real game changer. In edit mode, our conditional field will appear once “Willing to Travel” is checked, without the user having to save or refresh the page.

Something worth noting is that Field visibility and Field Section visibility behave differently. Although both are dynamic e.g. can be set to appear or disappear based on filters you define, Fields are super dynamic as they are evaluated live (as a user makes changes). This means that a field may appear/disappear while a user is editing a record. In contrast, Field Sections are only evaluated on Save, so a new section won’t appear/disappear until the user saves the record.

4. Plan Page Performance

Tabs and accordion load only when selected, so instead of adding lots and lots of “Field Section” components to the initial page (e.g. what shows when you select a record), consider utilizing tabs or the accordion for improved load speed and performance.

This is also a good time to check out any Tips or use the Analyze Button to evaluate your page performance.

5. Add a Mobile Component

You’ll need to add a “Record Detail – Mobile” component to any pages you create so your mobile users can see “Details” fields. This is because the new “Field Section” component is not available on mobile. Any migrated pages will automatically include this component.

As well as setting up Dynamic Forms, you’ll still need to maintain the standard page layout because the mobile interface uses this – not Dynamic Forms!

 What’s Not Supported?

  • Dynamic Forms are available for custom objects and select standard objects. To stay up to date on the road map for Dynamic Forms please join the Trailblazer Group here.
  • The new Field Section component and the Field components are not supported on mobile. Any migrated pages will automatically have a new “Record Detail – Mobile” component added but you need to remember to add this if you’re building a page from scratch. Dynamic Forms for mobile are expected to be released in Spring ‘23.
  • Records created from a Lookup field use the standard page layout (“Details” component), not Dynamic Forms.