Skip to main content
TrailblazerDX, the ultimate AI learning event is heading back to San Francisco March 6-7, 2024. Register Now and save 35% with code T24DEYE424.

Develop Without Code

Learning Objectives

After completing this unit, you’ll be able to:

  • Describe the benefits of the metadata-driven development model.
  • Define and give examples of no-code and low-code customizations.

The Power of Metadata

If you completed the Salesforce Platform Basics module, you probably remember these Salesforce terms: apps, objects, records, and fields. These, among others, are metadata—the shells that hold the content related to your customer, a business process, or any other information you want to collect in Salesforce.

When you look at data in Salesforce, you might think that you're looking at a user interface sitting on top of a regular old relational database. But, what you’re actually looking at is an abstraction of the database that’s driven by the platform’s metadata-aware architecture.

In this abstraction, database tables are objects. The columns in the database are fields, and the rows are records. An app is a set of objects, fields, and other functionality, like flows or analytics, that support a specific business function. This analogy is true both for standard objects that come with Salesforce by default and custom objects that you build yourself.

Let’s look at metadata in action in the Dreamhouse app on a record detail page for a property.

To view a record detail page for a property in Dreamhouse, click the arrow to expand the steps.

In your Trailhead Playground, in the Dreamhouse app:

  1. Click the Properties tab.
  2. Select a property from the list.
  3. Click the Details tab and explore the property detail fields.

Property Details tab in the Dreamhouse app showing metadata fields that define the structure of the app.

Here we see (1) field names like Property Name, Address, Days On Market, and Status. These are the metadata that define the structure of your app. 

Metadata can also give you a clue into the type of value the system is looking for—like a price. And, metadata can even provide insight into how those values are stored in the database and displayed in the UI. For example, the Status field (2) is a picklist. Picklist values are a set of predefined choices that are stored differently in the database from text entry fields or checkboxes. The actual values of the picklist and the other fields are our data, and, in terms of our data model, the actual data values aren’t particularly relevant. 

In short, metadata forms the structure of your org. Whether you’re defining fields, business processes, or something more complex, metadata holds your configuration. The platform then renders your app’s metadata in the user interface along with its associated data.

This metadata-driven development model is one of the key differences between developing on the platform and developing outside of Salesforce. Because the platform is metadata-aware, it can auto-generate a significant part of your user experience for you. Things like dialogs, record lists, detail views, and forms that you’d have to develop by yourself on other platforms, come for free on the Salesforce Platform. You even get all of the functionality to create, read, update (or edit), and delete (also known as CRUD or CRED) custom object records in the database.

All of this prebuilt functionality frees up your development time to work on more sophisticated custom features. Let’s take a look at the metadata-driven development approach in action.

Dreamhouse

The Dreamhouse sample app is an example of what’s typically referred to as an internal employee productivity app. It’s built using various parts of the Salesforce Platform and uses a custom page template for more control over the distribution of components on the page. 

The Dreamhouse sample app contains two custom objects that support the app’s core functionality.

  • Brokers: Information about partner brokers
  • Properties: Photos and information about properties that are on the market

Let’s take a look at what the Dreamhouse data model actually looks like. The platform provides a handy tool called Schema Builder so you can see your object relationship model in action.

If you'd like to try Schema Builder, click the arrow to expand the steps.

In your Trailhead Playground, in the Dreamhouse app:

  1. ClickSetup. Then click Setup.
  2. In the Quick Find box, type Schema.
  3. Click Schema Builder. You see the whole schema of the Dreamhouse app.
  4. From the Objects tab, click Clear All.
  5. Select Custom Objects from the picklist.
  6. Check Broker and Property. In the upper right, you can see the legend.
  7. Click Auto-Layout to bring the Broker and Property custom object schemas into view.

Schema Builder showing the Property custom object attached by its lookup relationship to the Broker custom object.

Pretty cool, right? Schema Builder provides both coders and non-coders with an easy way to visualize and configure an app’s entire data model, or just a part of it. We won’t do a deep dive into building a data model right now, but if you want to learn more, check out the Data Modeling module on Trailhead.

No-Code and Low-Code Tools

As you can see, there are so many ways to build functionality on the Salesforce Platform. The business processes your company requires and the admin and coder experience levels present in your organization drive the types of customizations you build. Companies with a lot of coders can leave the no-to-low-code development to their administrators while their coders focus on more complex customizations. 

Let’s talk more about things you can develop with little or no-code; they’re pretty exciting! 

No-code Customization & Automation

There is so much you can do on the Salesforce Platform without ever writing a line of code. And it’s not because we don’t love code. It’s because the platform’s metadata-driven architecture lets you complete many basic development tasks without ever writing a line. (And, of course, you can always use code where code matters.)

You may hear other terms for no-code development on the Salesforce Platform, including declarative, point-and-click, or front-end development. Regardless of the term you use or hear, they all refer to the host of tools Salesforce offers that require little to no understanding of coding principles. In fact, someone without any coding knowledge at all can build entire apps in Salesforce using prebuilt components and low-code tools and automation. Here is an example of Lightning App Builder, which was used to build the Property Record Page in the Dreamhouse sample app. 

If you'd like to try Lightning App Builder, click the arrow to expand the steps.

In your Trailhead Playground in the Dreamhouse app:

  1. ClickSetup..
  2. In the Quick Find box, type Lightning App Builder.
  3. Click Lightning App Builder.
  4. From the Lightning Pages list, select Property Record Page.
  5. Click Edit.
  6. Notice the standard and custom objects in the left menu. You drag and drop them in the canvas in the center.
  7. Now, click on several components on the canvas and notice how the properties in the right panel change, allowing you to customize each component.
  8. Click Exit to exit Lightning App Builder.

Lightning App Builder showing the Property Record Page of the Dreamhouse sample app.

To build a page like this, (1) click and drag standard and custom components from the panel on the left to the canvas in the middle, (2) and arrange them however you like. (3) In the right panel, you toggle between page properties and component properties when you click a component on the canvas.

Low-code Tools & Automation

Some tools like Lightning App Builder and Flow Builder are considered low-code tools. Apps and flows built using these tools are also considered low-code, because while they don’t require programmatic knowledge by default, they can be extended, combined, or further customized with code. 

For example, if you know something about logic, conditions, and CRUD operations, you can use Flow Builder to build a flow like this one in the Dreamhouse app that generates a form that gathers details to create a new property record.

If you'd like to try out the Create Property flow in Flow Builder, click the arrow to expand the steps.

In your Trailhead Playground, in the Dreamhouse app:

  1. Click Setup..
  2. In the Quick Find box, type Flow.
  3. Click Flows.
  4. Click the Create Property flow.
  5. Click Toolbox to open the Toolbox menu.
  6. Click Resize and center to resize the flow so you can see it all.
  7. Click Run. A Create Property form appears to collect details for a new property record.
  8. Fill out any details you like. Click Next, Next, and Finish.
  9. Click Exit to exit Flow Builder.
  10. Click App Launcher and search for and select Dreamhouse.
  11. Click the Properties tab.
  12. Click the property you just created in Flow Builder.

The Dreamhouse sample app Create Property flow in Flow Builder.

The low-code automation capabilities that the Salesforce Platform offers makes it easy for admins to build out many types of customizations so that coders can focus on tasks that require coding skills. If you’re the only person at your company developing on Salesforce, you can use the platform’s many low-code tools to build more in less time.

Resources 

Keep learning for
free!
Sign up for an account to continue.
What’s in it for you?
  • Get personalized recommendations for your career goals
  • Practice your skills with hands-on challenges and quizzes
  • Track and share your progress with employers
  • Connect to mentorship and career opportunities