Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
This site contains information to help Salesforce admins to get started with SmallBuilder products.
SmallBuilder is available for installation directly from the AppExchange.
When you install SmallBuilder, you will get access to the free trial by default. You can implement Line-item Configurators, Document Templates, and Lists with the free trial. However, if you want to set up more than one configuration, you need to purchase a license.
SmallBuilder offers 10 free licenses. Before using the product, ensure that each user has the appropriate SmallBuilder license and permission set assigned for access.
After an organization is initially created, the currency may be set to null. If the currency is not properly configured, SmallBuilder may not function correctly. Make sure to verify that your organization’s currency is properly set before using the product.
To perform metadata-related tasks, such as adding buttons to page layouts or creating tabs in the builder screen for SmallBuilder, you need to configure the connected app.
After an organization is initially created, the currency may be set to null. If the currency is not correctly configured, SmallBuilder may not function properly. Please ensure the organization’s currency is properly set before using the product.
If multiple currencies are enabled, you can skip this process.
In Setup, enter Company in the Quick Find box, then select Company Information.
Click Edit.
Under Currency Settings, ensure that a valid currency is selected.
If the currency is set to null, select the appropriate currency.
To perform metadata-related tasks, such as adding buttons to page layouts or creating tabs in the builder screen for SmallBuilder, you need to configure the connected app.
In Setup, enter Connected Apps in the Quick Find box and select Manage Connected Apps.
Click Edit for SmallBuilder {Product Name} OAuth.
Set Permitted Users to Admin approved users are pre-authorized.
Click Save.
In Setup, enter Connected Apps in the Quick Find box and select Manage Connected Apps.
Click SmallBuilder {Product Name} OAuth.
At the bottom, click Manage Profiles or Manage Permission Sets.
Select the profile or permission set responsible for configuring the product using the builder.
Click Save.
SmallBuilder Line Items provides a Line Item Editor that supports discount calculators and external data integration for both standard objects like Opportunities and Quotes, as well as custom objects. This solution enables seamless implementation without requiring development.
In Salesforce, standard objects with junction relationships, such as Opportunities, Quotes, and Orders, are essential in Sales Cloud. While Salesforce provides robust out-of-the-box functionality for adding and modifying line items for these objects, there are some limitations.
Total amounts are not automatically calculated when entering sales prices or quantities.
Users must manually calculate and enter discounts.
Many users want to reference inventory data from their servers when selecting products or entering line items.
They also wish to automatically apply account-specific discounts from related objects.
These needs often require developer intervention, making it difficult for admins to customize or update features. With the Line Item Editor, these limitations are addressed using a point-and-click approach:
Automatic calculations and external data integration can be implemented with minimal development or point-and-click configurations.
The builder enables easy screen implementation, saving time and simplifying maintenance for feature updates or modifications.
The basic setup required for implementing the Line Item Editor does not need coding, making it accessible to Salesforce admins with fundamental knowledge.
In the standard Salesforce screen, total amounts are not automatically calculated when modifying unit prices or quantities after adding products.
By re-implementing the standard product editing screen with the Line Item Editor, you can expand functionality to include inventory display, automatic calculations, discount applications, and more.
The Line Item Editor is built on objects with junction relationships. As previously mentioned, Opportunities, Quotes, and Orders are examples. Let’s explore the structure of Opportunity Line Items:
When adding products to an Opportunity, the PricebookEntry object is required to retrieve product and pricing information. Once products are added, details like sales price and quantity are stored in the OpportunityLineItem object.
The OpportunityLineItem object bridges the Opportunity and PricebookEntry objects, allowing multiple PricebookEntries to be linked to a single Opportunity. Objects that serve this role are referred to as junction objects.
With these relationships in place, the Line Item Editor can be implemented at any time. Within the editor, these objects are referred to as:
Parent: Opportunity
Lookup: PricebookEntry
Line Item: OpportunityLineItem
The SmallBuilder Line Items editor supports all objects. This means it can handle line items for not only standard objects like Opportunities or Quotes but also custom objects, eliminating the need for coding.
The builder simplifies the creation of complex Line Item Editor involving three or more objects, such as Opportunities, Products, and Pricebooks.
For scenarios requiring real-time external data integration, the Builder supports integration by invoking Apex code for seamless real-time data retrieval.
The Line Item Editor can apply a discount calculator to currency fields, making it an excellent alternative to CPQ for scenarios where convenient discount calculations are essential.
The Line Item Editor currently supports only.
SmallBuilder Line Items starts with the Builder. Use the Builder to configure a customized Line Item Editor tailored to your needs.
Learn how to launch the Builder and explore its components.
Follow these steps to configure the Builder, from connecting objects to preparing the Line Item Editor for use.
SmallBuilder Line Items offers 10 free licenses. Before using the product, ensure that each user has the necessary SmallBuilder Line Items license and permission set assigned for proper access.
The official SmallBuilder Line Items license must be assigned per user. Follow these steps to assign the license:
In Setup, enter Installed Packages in the Quick Find box, and select Installed Packages.
Locate SmallBuilder Line Items and click Manage Licenses.
Click Add Users and select the desired users.
Click Add to complete the license assignment.
SmallBuilder Line Items provides two permission sets. Be sure to assign the appropriate permission set based on the user’s role. Assigning a permission set is essential to ensure smooth use of the product’s features.
The SmallBuilder Line Items Manager permission set is designed to enable administrators to manage SmallBuilder Line Items comprehensively. Administrators with this permission set can efficiently perform tasks such as configuring the builder and adding line item buttons.
The SmallBuilder Line Items User permission set is intended for regular users who need to edit line items. It is typically assigned to roles such as sales representatives or project managers responsible for viewing and modifying line item data. This permission set allows users to easily access and update line item information.
To perform metadata-related tasks such as adding buttons to page layouts or retrieving custom labels in the builder, additional configurations for the connected app in SmallBuilder Line Items are required.
In Setup, enter Connected Apps in the Quick Find box and select Manage Connected Apps.
Click Edit for SmallBuilder Line Items OAuth.
Set Permitted Users to Admin approved users are pre-authorized.
Click Save.
In Setup, enter Connected Apps in the Quick Find box and select Manage Connected Apps.
Click SmallBuilder Line Items OAuth.
At the bottom, click Manage Profiles or Manage Permission Sets.
Select the profile or permission set responsible for configuring the product using the builder.
Click Save.
To smoothly configure the builder and use the editor in SmallBuilder Line Items, a few initial setup steps are required.
Install SmallBuilder Line Items in your organization from the AppExchange.
SmallBuilder Line Items offers 10 free licenses. Before using the product, assign the relevant licenses and permission sets to users for access.
After an organization is initially created, the currency might be set to null. If the currency is not properly configured, SmallBuilder Line Items may not function as expected. Ensure the organization’s currency is properly set before using the product.
To perform metadata-related tasks such as adding buttons to page layouts or retrieving custom labels in the builder, additional configurations for the connected app in SmallBuilder Line Items are required.
Go to the Line Item Editor tab and click New to launch the Builder.
The Builder provides key functions like saving, deleting, and creating buttons in the top panel. The left-side panel manages basic settings and label changes, while the right panel offers step-by-step configuration.
1
Top Panel Features In the top-left corner, the Builder displays the activation status alongside buttons for key actions:
Preview: View the configurator based on the latest saved Builder settings.
Add Button: Generate buttons for the configurator based on activated Builder settings. Assign buttons to desired page layouts for the parent object.
Activate: You must activate the Builder to use it as a configurator. Inactive Builders cannot be used.
Save: Save the Builder configuration.
Clone: Duplicate the Builder based on the latest saved settings. After clicking the Clone button, click Save to complete the duplication.
Reset: Restore the Builder to its most recently saved configuration if changes need to be reverted.
Help: Access the help documentation for SmallBuilder Line Items.
2
Relate Objects: Define which objects to use as the Parent, Lookup, and Line Item. The selected objects must have junction relationships. Both standard and custom objects are supported.
Setup Lookup Selector: Configure fields for the Lookup object, including column alignment, width, and sorting settings for the Line Item Editor.
Setup Line Item Editor: Add fields for the Line Item object and apply advanced settings, such as column alignment, width, and properties based on field types (e.g., numbers, lookup fields).
3
Left-Side Panel Use this panel to configure basic settings for the Builder, including the Builder name, screen scaling, and user experience adjustments for different devices.
4
Configuration Panel Displays the settings for the selected step in the right-side panel.
Open the App Launcher( ) and search for SmallBuilder Line Items, then navigate to it.
Configuration Steps The Builder guides you through three primary steps, displayed in the right-side panel. Selecting any step updates the main panel accordingly:
The Line Item Editor provides a responsive layout tailored to device types (desktop and mobile). It adjusts the size and structure of the editor to deliver an optimal user experience based on the display environment. While desktops display more comprehensive information, mobile devices offer a simplified view.
If you prefer a simplified, consistent layout across all devices, set the device mode to Mobile. This ensures a streamlined and uniform interface regardless of the device being used.
Responsive
Automatically optimizes the screen based on the device environment.
Desktop
Displays the editor in desktop mode regardless of the device type.
Mobile
Displays the editor in mobile mode regardless of the device type.
Some features are not supported in mobile mode:
Data filtering in the Lookup Selector.
Product options.
Bulk deletion in the Line Item Editor
You can customize the titles for the Lookup Selector and the Line Item Editor to fit your needs when launching the editor.
For instance, if you use multiple editors for the same object but want to display different titles based on the editor’s purpose, you can modify the labels. Additionally, the button label that navigates from the Line Item Editor to the Lookup Selector can also be changed.
These label changes can be easily configured by clicking the labels menu in the side panel.
You can modify the title labels for both the Lookup Selector and the Line Item Editor. By clicking the icon( ) next to the input field, you can insert that will display translated titles based on the user’s language settings.
The button label that navigates from the Line Item Editor to the Lookup Selector can also be customized. Similar to titles, you can click the icon button( ) to insert custom labels, enabling translated labels based on the user’s language settings.
For examples of how to apply custom labels, refer to the into Labels menu. This menu provides detailed instructions and examples of how to use custom labels effectively.
The Default Setting configures essential options for the Builder, including its name, description, and key features such as whether to display data directly in the Lookup Selector or show summaries in the Line Item Editor.
These settings can be configured from the side panel of the Builder.
The Builder provides settings to optimize the UI for different device types (desktop, tablet, and mobile). The editor adjusts its size and layout based on the display environment to deliver an optimal user experience. Desktops display more detailed information, while mobile devices offer a simplified UI. If you prefer a consistent and simplified UI across all devices, set the mode to Mobile, which ensures a streamlined interface regardless of the device.
The side panel allows you to adjust the screen scale of the editor. For instance, on smaller displays, the UI may take up too much space, causing inconvenience. Lowering the screen scale reduces the size of the editor for improved usability.
Configure settings related to the Lookup Selector. This includes record selection methods and search functionality.
Manage settings related to the Line Item Editor, such as displaying summaries at the bottom or fixing the first column.
You can update the titles and certain button labels in the editor screen. By inserting custom labels, you can enable automatic translation based on the user’s language settings, improving usability across various languages.
After an organization is initially created, the currency might be set to null. If the currency is not properly configured, SmallBuilder Line Items may not function as expected. Ensure the organization’s currency is properly set before using the product.
If multiple currencies are enabled, you can skip this process.
In Setup, enter Company in the Quick Find box, then select Company Information.
Click Edit.
Under Currency Settings, ensure that a valid currency is selected.
If the currency is set to null, select the appropriate currency.
This setting automatically retrieves data when the Lookup Selector screen is loaded. By default, this option is enabled.
If this setting is disabled, data will not be automatically retrieved upon loading. Instead, records can only be retrieved through keyword searches.
Default (Enabled)
Disabled
This setting allows the same record to be selected multiple times.
When a record is selected, it is either selected or deselected as usual.
With duplicate selection enabled, selecting the same record multiple times will add it to the line items as many times as it is selected.
Manage settings related to the Line Item Editor, such as displaying summaries at the bottom or fixing the first column.
Displays summary information at the bottom of the Line Item Editor.
Fixes the first column when scrolling horizontally in the Line Item Editor. If there are many columns to display, try freezing the first column for better navigation.
These settings pertain to the Lookup Selector, allowing you to configure record selection methods and search functionality.
Automatically retrieves data when the Lookup Selector screen is loaded. This option is enabled by default.
Displays filter options in an expanded state by default. Enable this feature if you frequently use filters.
Permits selecting the same record multiple times.
Speeds up data retrieval and provides a stable environment by using caching. However, cached data may not reflect recent changes immediately.
Specifies the number of records displayed per page (or scroll). The default is 50 records per page.
SmallBuilder offers 10 free licenses. Before using the product, ensure that each user has the appropriate SmallBuilder license and permission set assigned for access.
A SmallBuilder license must be assigned to each user individually. Follow these steps to assign a license:
In Setup, enter Installed Packages in the Quick Find box, then select Installed Packages.
Find SmallBuilder {Product Name} and click on Manage Licenses.
Click Add Users to select the users to whom you want to assign the license.
Click Add.
SmallBuilder offers two distinct permission sets. Please assign the appropriate permission set based on the user's role. Assigning a permission set is essential to fully utilize the product's features.
SmallBuilder {Product Name} Manager
The SmallBuilder Manager permission set is assigned to users responsible for the overall management of the product. Typically, it is assigned to administrators, who can perform a variety of tasks such as configuring builder settings, adding buttons to line items, and creating tabs from list products.
SmallBuilder {Product Name} User
The SmallBuilder User permission set is primarily assigned to sales representatives or project managers. Users with this permission set can view lists and documents implemented with SmallBuilder, as well as add and edit data in line items and schedules.
This setting specifies the number of records displayed per page (or scroll). The default is 50 records per page.
Displays summary information at the bottom of the Line Item Editor.
In this case, the total values from the TotalPrice field (column) of all added line items will be summed up and displayed at the bottom of the editor.
Enable Show Summary in the Line Item Options under the Default Settings.
In the Line Item Editor Settings step, enable the summary attribute for the TotalPrice field (column).
When the Line Item Editor is executed, the sum of the total price values for all added data will be displayed at the bottom of the editor.
To implement the Line Item Editor, follow these steps:
The first step in the builder is to define the relationship between objects that will be used in the Line Item Editor. This relationship must follow a junction structure, and you need to configure the Parent, Line Item, and Lookup objects.
To register line items, first search for a lookup object (e.g., product), select the desired record from the search results, and set quantities or other attributes to create line items. The search configuration allows you to define the layout of search results for lookup objects.
Configure the properties of line item fields. Define attribute fields such as price, discount rate, and quantity based on the selected lookup records.
Review the configured line item fields using the preview function. This helps validate that the defined properties work as expected.
Once the setup is complete, activate the builder. Activation applies the editor settings and enables you to create a button for executing the editor.
After completing the setup, create a button and add it to the parent object’s page layout. Users can click this button to launch the editor.
The parent object serves as the master object for the line item object, maintaining either a Master-Detail or Lookup relationship. The Line Item Editor is executed from the record page of the parent object. When searching for a parent object in the builder, only objects with child objects can be selected.
The Line Item Editor is launched from the record page of the parent object.
Control the deletion of saved line items based on their status by specifying a Boolean field that determines whether deletion is allowed. If the specified field value is true, the delete button will be disabled for the corresponding line item.
DelDeletion control applies only within the Line Item Editor and does not affect Salesforce internal processes like API operations, Data Loader, or manual deletion.
For Opportunity Products linked to an Opportunity, deletion should be restricted when the product is in an approved state. To configure this, the Approved__c
field is used to control deletion.
Set the Approved__c
field as the deletion control field in the builder. Enter the API name of the field into the Deletion Control Field setting.
When the Approved__c
field value is true, the delete button is hidden, preventing deletion of the corresponding line item.
The first step in configuring the builder is to define the relationships between the objects that will be used in the Line Item Editor. These relationships must follow a Junction object structure, requiring the configuration of Parent, Line Item, and Lookup objects.
The parent object is the master object for the line item object and must have a Master-Detail or Lookup relationship with it. The Line Item Editor is executed from the record page of the parent object.
The line item object stores additional details entered after selecting reference data.
The lookup object is referenced by the line item object. Users select lookup records, which are then used to create line item records.
To manage multiple products related to an Opportunity, the OpportunityLineItem object is used. This object references PricebookEntry to retrieve product and pricing information. Using SmallBuilder Line Items, we will reconfigure this standard Opportunity Product registration screen.
Parent Object: Opportunity Serves as the parent object linking multiple products and maintains a Master-Detail relationship with OpportunityLineItem.
Line Item Object: OpportunityLineItem Stores product-related data such as sales price, quantity, and total amount and is linked to the Opportunity.
Lookup Object: PricebookEntry Retrieves product names and pricing information and is referenced by OpportunityLineItem through a Lookup relationship.
The Lookup Object is referenced by the Line Item Object, allowing users to select lookup records that serve as the basis for creating line item records.
1
2
3
4
Configure the field in the Line Item Object that references the Lookup Object.
Define which field values will be used for searching lookup records. By default, the Name field of the Lookup Object is used as the search criterion.
If you want to disable the Lookup Selector in the Line Item Editor and allow only direct editing of line items, you can block the Lookup Selector. This setting can also be conditionally enabled or disabled based on specific criteria.
Use filters to retrieve only the necessary data, and set the desired sorting order for the retrieved data.
The line item object is responsible for selecting reference data, adding additional details, and saving the information. This object must be a child of the parent object. When the parent object is selected in the builder, associated child objects can be searched and selected. This step also provides settings for filters, sorting, auto-numbering, and more.
1
Select the object to be used as the line item and specify the field that connects this object to the parent object.
For standard objects, use the auto-configuration option to simplify the setup process.
2
If you want to display saved line items that match specific criteria when the Line Item Editor runs, configure filters and sorting.
This ensures only relevant data is displayed and controls the order of retrieved records.
3
To manage the deletion of line items based on specific conditions, designate a field that stores the result of the condition (true or false).
This field will determine whether a line item can be deleted.
4
Configure automatic numbering for line items upon saving.
This is particularly useful when managing product options, helping to differentiate and organize each line item.
Configure filters and sorting to display specific saved line items that meet certain conditions when the Line Item Editor is executed. These settings help you display only the desired data and control the order in which it is retrieved.
When the editor is executed, you can filter the saved line item data to display only the records that match specific conditions. Filters follow the same logic as the WHERE clause in SOQL.
For instance, if you want to use the editor to manage Opportunity Products divided into regular and subscription-based products, you can apply filters to each editor. For an editor handling subscription-based Opportunity Products, you can filter records where the custom field Type__c
equals ‘Subscription’ by writing the filter as follows:
You can also use the Query Wizard to generate the filter automatically, without manually writing it.
You can sort saved line item data in the desired order when the editor is executed. Sorting follows the same logic as the ORDER BY clause in SOQL.
For example, to sort line items by their creation date in descending order, use the following setting:
The builder provides automatic configuration support specifically for standard Opportunity, Quote, and Order objects. If the parent object is one of these, you can choose between the following two configuration methods:
1
2
This option is available exclusively for standard objects such as Opportunity, Quote, or Order. It enables automatic setup of required configurations for the Line Item and Lookup objects, allowing for rapid configuration without manual effort.
When you apply standard settings for the Opportunity parent object, the following are configured automatically:
Line Item Object
Configured as OpportunityLineItem
Essential fields such as Unit Price, Quantity, and Total Price are automatically added.
Lookup Object
Configured as PricebookEntry
Fields required for Lookup (e.g., Product Name, Unit Price) and filter conditions (e.g.m Pricebook2Id) are automatically set.
If your parent object is a custom object or you prefer custom setup, choose Manual Configuration.
Manual Configuration options include:
1
Object
Select a child object of the parent to act as the Line Item object.
2
Parent Reference Field
Specify the field in the Line Item object that references the parent object. This field automatically assigns the parent when a Line Item is saved.
This option automatically sets up the required configurations for the Line Item and Lookup objects based on the parent object. It allows you to set up the editor quickly and easily.
To configure the editor using custom objects, choose the Manual Configuration option. This allows you to define the parent, line item, and lookup objects manually, giving you flexibility to design the editor.
Start by selecting the parent object, then move to the child object (line item), and finally configure the lookup object that the line item refers to. When defining the lookup object, you must select the field in the line item that references the lookup object.
Let’s assume you are setting up the builder for OpportunityLineItem based on the Opportunity object. As shown in the object structure diagram below, OpportunityLineItem has two key relationships:
Opportunity
The parent object of OpportunityLineItem, referenced via the OpportunityId
field.
PricebookEntry
The object referenced by OpportunityLineItem for product and pricing information, linked via the PricebookEntryId
field.
Choose Opportunity as the parent object.
Choose OpportunityLineItem as the line item object.
Since OpportunityLineItem references PricebookEntry, select the PricebookEntryId
field in the line item object as the lookup reference field.
If you want to skip the lookup selector and directly transition to the Line Item Editor, activate the Block Lookup Selector feature. Additionally, you can block the lookup selector based on specific conditions.
To set blocking conditions, use a specific field from the parent object as the control field. This field must be of the Boolean type, and if the value is true, the lookup selector will be blocked.
In the Line Item Editor, product addition (line item addition) is blocked for renewed opportunities. In this example, the IsRenewed__c
field in the Opportunity object is used to define the blocking condition.
When the IsRenewed__c
field is set to true, the button to transition to the lookup selector screen will not be displayed in the editor.
x`Configure filters to load specific records of the lookup object that meet defined conditions, and set sorting options to arrange the records in the desired order when the Lookup Selector screen loads.
Filters ensure that only records meeting the specified conditions are displayed when the Lookup Selector is loaded. The filter configuration follows the syntax of a SOQL WHERE clause.
For example, to display only active PricebookEntry records, you can write:
Additionally, you can use the Query Wizard to automatically generate filters without manually writing them.
Sorting ensures that the data appears in the desired order when the Lookup Selector screen loads. The sorting configuration follows the syntax of a SOQL ORDER BY clause.
For example, to sort PricebookEntry records by name in ascending order, you can write:
This setting ensures that the filter search layout is displayed in an expanded state by default. If you frequently use filters, enabling this feature can enhance usability.
When the Lookup Selector loads, the filter search layout will be displayed in an expanded view by default.
Default (Disabled)
Enabled
Configure the target fields to be searched when entering a keyword. By default, the Name field is set as the target field, and the matching condition is Contains.
The keyword search field is set to the Name field of the PricebookEntry object. The search condition is Contains, meaning that records where the product name includes the entered keyword will be retrieved.
In the editor’s lookup selector screen, if you type ‘Gen,’ only records with ‘Gen’ included in their product name will be displayed.
Configure the alignment of column values. There are three alignment options: left, right, and center. The default alignment is set to left.
Caching enhances performance by enabling faster data retrieval and providing a more stable environment. However, cached data may not reflect recent changes immediately.
If issues arise where data does not reflect the latest updates, consider disabling the caching setting.
To register a line item, you first need to search for a lookup object, such as a product, select the desired record from the search results, and configure details like quantity to complete the registration. The lookup selector setup allows you to configure the layout of search results for lookup object queries.
1
2
Add fields (columns) to display in the search results of the lookup selector and configure their properties. Additionally, you can add virtual columns to display data retrieved from DataSources.
If you want to display additional data beyond the lookup object records, you can use DataSources to fetch and display data from other objects. By utilizing Apex Classes, you can also implement complex logic or fetch data through external interfaces and display it in the lookup selector.
You can change the column labels displayed in the Lookup Selector’s data table. By default, the selected field’s label is shown. However, you can override it by entering a custom value in the label input field. Additionally, by clicking the icon( ) next to the input field, you can, which will display translated labels based on the user’s language settings.
Configure the fields (columns) to be displayed in the lookup selector. You can also add virtual columns to display data retrieved from DataSources.
In the Lookup Selector Setup step, click the Add Column button to select the fields to be displayed in the lookup selector.
Click and hold the leftmost icon() of the desired column.
Configure the properties of the fields used in the Line Item Editor. For each selected record from the Lookup Selector, define attributes such as price, discount rate, quantity, and more.
1
2
Select fields from the Line Item object to be used during editing, and configure their default values and attributes.
Use DataSource to display additional data beyond the Lookup object records. You can also utilize Apex Classes to handle complex logic or fetch data through external interfaces, enabling advanced data display in the Line Item Editor.
You can customize the column labels displayed in the Line Item Editor. By default, the label of the selected field is shown. However, if you enter a value in the label input field, the entered value will be displayed. Additionally, clicking the icon( ) next to the input field allows you to insert custom labels. This ensures that the label is translated according to the user’s language settings.
Create virtual columns to store temporary values for displaying data retrieved from a DataSource. Virtual columns can be added by clicking the Add Virtual Column button and support value types such as text, number, and currency.
Virtual columns are designed for use with DataSources. For more details, refer to the DataSource documentation.
Example of DataSource Usage >
You can assign default values when adding Line Items. Default values can only be set for text or numeric fields.
Default values are only assigned when a Line Item is added for the first time.
In the builder, set the default value for the quantity field (column) to 1.
When adding a Line Item, the quantity will automatically be assigned a value of 1.
By default, Line Item fields accept input except for formula fields. However, fields intended for data display purposes should be set to Read-Only.
Fields can be set to read-only based on specific conditions through the Advanced Read-Only Settings in the field’s advanced settings menu. For more details, refer to the Set Read-Only Based on Specific Conditions guide.
Click and hold the icon() on the far left of the desired column.
Pre-added lookup reference fields cannot be deleted. If you do not wish to display these fields in the Line Item Editor, check the “Hide” option to conceal them.
When adding Line Items, you can assign specific field values from the Parent Object or Lookup Object as default values.
Source field values are only assigned when a Line Item is added for the first time.
When adding Opportunity Products, assign the selected product’s Unit Price as the default value for the Unit Price field in the Line Item.
The Line Item includes both List Price and Unit Price fields. These fields will be populated with values from the Unit Price field in the Lookup Object (PricebookEntry).
In the source field setting for List Price and Unit Price, select Lookup as the first option.
For the second option, select Unit Price.
The selected products’ Unit Price is assigned as the default value to the List Price and Unit Price fields in the Line Item.
You can fix the width of a column. The unit of measurement is pixels (px).
As shown in the image below, the widths of the Sales Price and Quantity columns are uneven, making the table visually unbalanced. To improve the appearance, you can adjust the column widths to ensure uniformity.
In the builder, set all columns to a width of 180px, except for the Lookup Column(PricebookEntryId).
You will notice that the column widths now appear more stable and uniform compared to before.
Auto-numbering can be configured for line items upon saving. This feature is particularly useful when managing product options, as it helps to differentiate and organize each line item effectively.
Auto-numbering applies only when saving through the Line Item Editor. It does not apply to Salesforce internal transactions (e.g., API, Data Loader, or manual deletions).
Suppose you are saving opportunity products through the Line Item Editor on the Opportunity detail page, generating a quote from the opportunity, and syncing the updated data back to the opportunity. If the SortOrder field is not properly saved, line items for product options may appear in the wrong order, causing confusion for users. To address this, you can assign auto-numbering to the SortOrder field, ensuring correct ordering during syncing.
In the Relate Objects step of the builder, enter the API name of the SortOrder field in the Auto-Number Field setting.
To display the sort order, add the SortOrder field in the Line Item Editor Setup step.
When you launch the Line Item Editor, you will see auto-numbered values in the Sort Order(SortOrder
) column.
For option line items, only the following fields will be displayed in the editor:
Product Name
List Price
Unit Price
Quantity
Total Price
Discount Rate/Discount Amount
The Hidden Setting for columns in the Line Item Editor is primarily used for the following scenarios:
Handling Field Values for Calculations
When specific field values are required for advanced calculations, these fields must be included in the Line Item columns. However, users may not need to see all of these fields on the screen. By using the hidden setting, these fields can be excluded from display while still being available for calculations.
Preventing Formula Field Errors
Formula fields in the Line Item object are recalculated during save operations. If a formula depends on a field with a null value, it may result in an error. To prevent this, the hidden setting ensures that required fields are added to the columns and assigned appropriate values without being visible to users.
Designate a Line Item field input as required to ensure users provide the necessary information.
Fields designated as required are marked with a red line on the left side of the input box.
If a required field value is not entered before saving, an error message will be displayed as shown below.
Before using the Line Item Editor, you can preview how the settings configured in the builder will appear and function within the editor.
Currently, any changes to the settings must be saved to reflect them in the preview.
1
Device
Preview the editor based on the selected device type.
2
Target Record Selection
Choose the target record you want to preview. The record must belong to the parent object.
Once the builder configuration is complete and you have verified its functionality through the preview, activate the builder to make the editor ready for use. The editor cannot be used unless the builder is activated.
Activation is required to add the editor button.
Configure fields to display totals at the bottom of the Line Item Editor.
Before setting up totals, ensure the “Show Summary” option is enabled in the Default Settings.
In the builder, check the Summary option for the TotalPrice field.
The total sum of TotalPrice is displayed at the bottom of the editor.
If you want to simply fetch related object data, consider using Basic DataSource settings. You can select an object related to Lookup or Line Item and map the fields of the retrieved object to the Lookup or Line Item fields via DataSource.
1
Source Object
Specify the Salesforce objects that you want to source data from.
✔
2
Query
Click the Wizard button to open the Build Query layout. You can use the Query Wizard to easily build queries by searching for the correct fields to use.
Filters are entered in the format of a SOQL WHERE
clause.
3
Evaluation Event
Set the execution timing for the DataSource.
On Initialization: Executes when a new Line Item is added.
On Loading: Executes when the Line Item screen is loaded.
Before Save: Executes before a Line Item is saved.
4
Active
Turns the DataSource on or off. It must be active to be used.
✔
5
Map the fields from the DataSource object to the Lookup or Line Item fields.
✔
Actions involve mapping the data fetched from the DataSource to the fields in Lookup or Line Items. Through these actions, the DataSource values are applied to the designated fields.
1
Order
Specify the order that mappings are carried out.
✔
2
Source Field
Select the field from the DataSource object.
✔
3
Target Field
Select the target field in Lookup or Line Item where the data will be mapped.
✔
4
Key
The unique identifier used for mapping data between the DataSource and Lookup or Line Item. The Key determines the target for the mapped DataSource values.
✔
When the Lookup Object is set to Product2, users often want to display UnitPrice information. However, in Salesforce, the UnitPrice is stored in the PricebookEntry object, which is a child object of Product. Since UnitPrice cannot be fetched via a formula field, we use a DataSource to query the related PricebookEntry data.
In the DataSource settings, specify the Source Object as PricebookEntry.
(optional) Click Query Wizard to set up the query conditions:
IsActive = true AND Pricebook2Id = {$Parent.Pricebook2Id}
To match the PricebookEntry data to the Products, use the following settings:
Source Field: Product2Id
Target Field: Id
Key: true
Source Field: UnitPrice
Target Field: SBLI_Virtual1
Available only for Line Items.
To display the Unit Price alongside the product data, add an Action and map the fields to a in Lookup:
In cases where the Line Item Editor is configured based on Opportunity Products, you might want to display both the Unit Price and Total Price fields. While both fields are editable in Opportunity Products, they cannot be saved simultaneously because the Total Price is automatically calculated and stored based on the Unit Price and Quantity.
It may seem sufficient to set the Total Price field to read-only. However, since the Line Item Editor relies on builder settings, a field marked as editable will still attempt to save internally, even if it appears read-only on the screen.
To ensure that fields like formula fields or other read-only fields are not saved, you must explicitly activate the Do Not Save setting for these fields.
You can set up DataSources when you want to show data from other related objects, or from external systems in addition to fields from the Lookup or Line Item objects.
If you're setting up a DataSource for a Lookup object, go to the Setup Lookup Selector step. If you're setting up a DataSource for a Line Item object, go to the Setup Line-item Editor step.
Click the Add data sources button to open the DataSource editing layout.
When adding a DataSource for the Line Item Editor, an Evaluation Event needs to be specified.
On Initialization: Executes when a new Line Item is added.
On Loading: Executes when the Line Item screen is loaded.
Before Save: Executes before a Line Item is saved.
Basic DataSources are used when you want to look up related objects in Salesforce to present data together.
For example, if the Lookup object is specified as Product2 and you want to display the unit price from a PricebookEntry, you can use an internal data source to look up the PricebookEntry that meets the criteria, and display the product and unit price together.
Advanced DataSources are mostly used when you want to retrieve data from an external server and display it together with data from the Parent, Line Item or Lookup objects. Since the data is retrieved using a user-created Apex Class, it has the advantage of being able to retrieve data more freely than with internal Salesforce data sources.
For example, if you want to fetch real-time inventory numbers from an external server or ERP system, then you can write Rest API code in an Apex Class and point it to an external data source. Then, you will be able to view that data in the Line Item Editor.
The DataSource executes in the following sequence: Basic first, followed by Advanced.
Basic DataSource
Executes in the order in which it was added.
Advanced DataSource
Generally executes in the order it was added, but the execution order may not always be guaranteed.
The cloning feature serves two primary purposes:
Since version control is not supported, cloning the current settings allows you to make modifications and test safely. This ensures that you can experiment with changes without affecting the original setup.
When you need to create additional Line Item Editors with similar configurations, cloning helps you quickly set up and adjust new editors.
Click the Clone button at the top of the Builder.
Make any additional settings or modifications on the cloned builder screen.
Click Save to complete the cloning process.
Use the Advanced DataSource feature when you need to fetch data from external API servers or perform complex logic for data retrieval and merging. To set up Advanced DataSource, you must write an Apex Class. This approach provides greater flexibility compared to the Basic DataSource for fetching and processing data.
To use an Apex Class with Advanced DataSource, you must implement the SBLI.DataSourceService.Fetchable
interface.
This interface includes the execute
method, where you implement logic for processing data and returning an SBLI.DataSourceService.Result
object. The result contains mapping information between the fetched data and the Lookup or Line Item objects.
The following example assumes an external API is called to retrieve inventory quantities by product code. The data is then mapped to the Inventory__c
field in the Lookup or Line Item object.
The SBLI.DataSourceService.Fetchable
interface is provided by the package. Both the Apex class and the methods must be declared as global
to allow external access.
Fetch Parent and Lookup Records
params.getParentRecord()
: Retrieves the parent record of the object.
params.getLookupRecords()
: Retrieves the list of records from the Lookup object.
Prepare DataSource Values
Data is fetched from an external API server (e.g., inventory information).
In the example, inventory quantities are mapped based on ProductCode.
Generate Result
An SBLI.DataSourceService.Action
object is created to map the fetched data (e.g., inventory quantity) to the target field (Inventory__c).
The action is added to the SBLI.DataSourceService.Result
object.
Return the Result
The Result object, containing all mapping information, is returned to the editor.
An object containing information about the parent and lookup parameters configured in the builder.
SObject getParentRecord()
Returns the parent record. If no parent parameter is configured in the builder, the value is empty.
List getLookupRecords()
Returns the lookup records. If no lookup parameter is configured in the builder, the value is empty.
An object that contains all mapping information between the DataSource and the Lookup or Line Item objects, which is returned to the editor.
Mapping information is stored in SBLI.DataSourceService.Action
objects, which are then added to the SBLI.DataSourceService.Result
object and returned.
addAction(SBLI.DataSourceService.Action action)
Adds an Action object containing mapping information to the Result object.
action
The object containing mapping information between the Lookup/Line Item and the DataSource values.
An object that stores mapping information between the Lookup or Line Item and the DataSource values.
setKeyValue(Object keyValue)
Sets the DataSource Key value that matches the Lookup or Line Item Key.
keyValue
Object
The Key value from the DataSource.
putSourceToTargetField(Object sourceValue, String targetFieldApiName)
Assigns the DataSource value to the specified Lookup or Line Item field.
sourceValue
Object
The value from the DataSource.
targetFieldApiName
String
The API name of the target field in the Lookup or Line Item object.
After selecting the Apex Class, specify the fields to be passed as parameters if the class requires parent or lookup information.
Ensure the Apex Class is written before configuring the DataSource.
1
Apex Class
Select the Apex Class to be used for the DataSource.
✔
2
Key Field
✔
3
Parameter - Parent Fields
Add a parent object’s field as a parameter if the Apex Class implementation for the DataSource requires a field value from the parent object.
4
Parameter - Lookup Fields
Add a lookup object’s field as a parameter if the Apex Class implementation for the DataSource requires a field value from the lookup object.
5
Evaluation Event
Set the execution timing for the DataSource.
On Initialization: Executes when a new Line Item is added.
On Loading: Executes when the Line Item screen is loaded.
Before Save: Executes before a Line Item is saved.
6
Active
Turns the DataSource on or off. It must be active to be used.
✔
Specify the Key Field to map data retrieved via the DataSource to the Lookup or Line Item records. The Key Field must be a field from the Lookup object. Why use a Lookup object’s field as the Key for Line Items? Since Line Items may include unsaved records, determining a unique Key value for mapping is not feasible. Using a field from the Lookup object ensures reliable mapping.
Available only for Line Items.
You can leverage the Add Button feature at the top of the builder to add the implemented Line-Item Configurator to the Parent object's page layout.
This button will appear on the Parent object's page in Salesforce so that users can launch the Line-Item Configurator that you have set up.
1
Button Label
The label displayed on the editor button.
2
Page Layout
Select the page layout where the button will be added after creation.
When the Line Item Editor button is created in the builder, an Aura Component like the one below is automatically generated. If you want to customize how the button invokes the editor, you can modify the Aura Component.
The Product Option feature allows you to add sub-options to a line item, making it possible to register and manage components of a specific product (e.g., additional services, accessory products). This is particularly useful when handling product configurations.
The Product Option feature is available only for certain standard objects:
Opportunity
Quote
Order
For more details, refer to the builder’s documentation on Line Item Object Settings:
View Line Item Object Settings Documentation >
To use the Product Option feature, first activate it in the builder and configure the required settings and data. Follow the setup procedures outlined in the reference documentation:
View Product Option Setup Procedures >
Learn how product options are displayed and stored in line items:
View Display and Storage Methods >
To set up and use the Product Option feature, follow these steps:
Enable the Product Option feature in the builder. This feature is available only for standard objects such as Opportunity, Quote, and Order.
Complete the required settings in the builder. Specify which line item field will store product option information and set up filters to determine the criteria for retrieving product options.
After configuring the settings, prepare the data for product options. Use the Product Feature (SBLI__ProductFeature__c
) and Product Option (SBLI__ProductOption__c
) objects in SmallBuilder Line Items to define and organize the product option data.
To use the Product Option feature, it must be activated in the builder. This setting can be enabled in the Lookup Object section during the object connection stage.
As noted earlier, the Product Option feature is available exclusively for standard objects such as Opportunity, Quote, and Order.
This limitation exists because Product Options rely on PricebookEntry to retrieve product and pricing information. Since Salesforce only establishes a direct relationship between PricebookEntry and these objects (Opportunity, Quote, and Order), the feature is restricted to them.
Once Product Options are activated, a “Product Option Settings” step is added to the top of the builder. In this step, you can configure the settings required to use the Product Option feature.
Product Option settings are divided into two main categories:
Configure options to skip option selection when adding products and filter the options that can be selected.
Set up fields to link line items between configured products and their options and map fields to store option-related information.
Line Item Settings allow you to configure how configured product line items and option product line items are connected and how option information is mapped to line item fields.
Set the field that connects the line items of configured products to their option line items. This field must be a self-relationship field, which represents a relationship within the same object, allowing one record to reference another record in the same object.
If the Parent Line Item Field is set to Base Line Item for Option (SBLI__BaseLineItemForOption__c
), a self-relationship structure is created, enabling option records to reference their configured product record through this field.
Configure which line item fields will store the information of selected options. The following option values can be mapped:
Option Record Id
Stores the record ID of the selected product option. This is used to fetch relevant option details when viewing line items in the editor.
Lookup(Product Option)
✔
Original Price
Maps the list price of the option. If used for display purposes only, assign a line item field used for the list price column.
Currency
Unit Price
Maps the unit price of the option.
Currency
Quantity
Maps the quantity of the option.
Number
Total Price
Maps the total price calculated from the unit price and quantity. If used for display purposes only, assign a line item field used for the total price column.
Currency
Discount (%)
Maps the discount percentage of the option.
Percent
Discount (Amount)
Maps the discount amount of the option.
Currency
Description
Maps the description of the option.
Long Text Area(1000)
for Opportunity Products, the following mappings might be configured:
Option Record ID
SBLI__ProductOption__c
Original Price
ListPrice
Unit Price
UnitPrice
Quantity
Quantity
Total Price
TotalPrice
For the configured product “Desktop PC Intel i3”, the RAM option “RAM 8GB” is selected. The option has a quantity of 1, with a list price and unit price of $45 each.
The values for quantity, list price, unit price, and total price are mapped to their respective fields, as configured.
For Opportunity Product, the Product Option (SBLI__ProductOption__c
) field is provided by default.
SmallBuilder Lists offers 10 free licenses. Before using the product, ensure that each user has the appropriate SmallBuilder license and permission set assigned for access.
A SmallBuilder license must be assigned to each user individually. Follow these steps to assign a license:
In Setup, enter Installed Packages in the Quick Find box, then select Installed Packages.
Find SmallBuilder Lists and click on Manage Licenses.
Click Add Users to select the users to whom you want to assign the license.
Click Add.
SmallBuilder Lists provides two permission sets tailored for different user roles. Be sure to assign the appropriate permission set to each user to ensure smooth access to the product’s features.
The SmallBuilder Lists Manager permission set is designed for administrators who need to manage the product. With this permission set, admins can configure List Builder settings, create list tabs, and manage other administrative tasks with ease.
The SmallBuilder Lists User permission set is intended for general users who need to view lists. This permission set enables users to access and view the configured lists easily.
When applying a custom label, ensure the target value does not exceed the maximum allowed length. If the maximum length is exceeded, the binding to the custom label might be truncated and not applied correctly.
Always consider the length limitation when setting up custom labels.
When the lookup object is set to Pricebook Entries, the name of the lookup selector button displayed in the editor automatically inherits the object name. However, such button names may appear awkward to users. Changing the object label in Salesforce settings is inefficient because the object is used in multiple contexts, potentially impacting other screens.
Navigate to the Labels menu in the side panel.
Select the preconfigured custom label “Add Products (SmallBuilder_AddProducts
)” from the modal window.
Confirm that the selected custom label is applied to the input field.
Run the editor and verify that the lookup selector button label displayed in the editor reflects the updated custom label.
The custom label will be translated and displayed in the editor based on the user’s language settings.
Example of Custom Label Translations for “Add Products (SmallBuilder_AddProducts
)”:
English
Add Products
Korean
제품 추가
When the user’s language is set to Korean, the button label displayed in the editor shows as “제품 추가”.
When the user’s language is set to English, the button label displayed in the editor shows as “Add Products”.
Product Option data is managed using two objects: Product Feature (SBLI__ProductFeature__c) and Product Option (SBLI__ProductOption__c). Both objects reference the Product (Product2) object and serve the following purposes:
Product Feature: An optional object used to group product options into categories.
Product Option: The primary object for managing option products and their related information.
While the main focus is on configuring data in the Product Option object, the Product Feature object can be used additionally if needed for grouping purposes.
The Product Feature object allows you to group product options by category.
Object
Product Feature
SBLI__ProductFeature__c
Fields
Order
SBLI__Order__c
Defines the sequence in which options are displayed on the option selection screen.
Main Product
SBLI__Product__c
Specifies the main product that the options belong to.
✔
Description
SBLI__Description__c
Provides a description of the product feature.
Multi Selectable
SBLI__MultiSelectable__c
Determines whether multiple options can be selected within the group.
The Product Option object is the core component for managing option products and their associated details.
Object
Product Option
SBLI__ProductOption__c
Fields
Order
SBLI__Order__c
Determines the display order of options in the selection screen.
Feature
SBLI__Feature__c
A lookup field referencing the Product Feature object for grouping options.
Main Product
SBLI__Product__c
Specifies the configured product.
✔
Option Product
SBLI__OptionalProduct__c
Indicates the product used as an option.
✔
Quantity
SBLI__Quantity__c
Specifies the quantity of the option, with a default value of 1.
Unit Price
SBLI__UnitPrice__c
Sets the unit price for the option. If left blank, the price is fetched from the price book entry.
Discount (%)
SBLI__Discount__c
Indicates the discount percentage for the option, applied to the total price.
Discount Amount
SBLI__DiscountAmount__c
Specifies the discount amount for the option, applied to the total price.
Required
SBLI__Required__c
Marks the option as mandatory during selection.
Selected
SBLI__Selected__c
Sets the option as selected by default.
Included
SBLI__Included__c
Marks the option as included, meaning its cost is not reflected in the unit price or total price. Included options are labeled as “Included” in the editor.
Price Editable
SBLI__PriceEditable__c
Allows users to edit the option’s unit price (default: not editable).
Quantity Editable
SBLI__QuantityEditable__c
Allows users to edit the option’s quantity (default: not editable).
Min Quantity
SBLI__MinQuantity__c
Specifies the minimum quantity if the option’s quantity is editable.
Max Quantity
SBLI__MaxQuantity__c
Specifies the maximum quantity if the option’s quantity is editable.
Description
SBLI__Description__c
Provides detailed information about the option.
Default Settings in the Product Option Settings step allow you to configure how product options behave when products are added or viewed in the Line Item Editor.
When the Line Item Editor loads, option line item lists for configured products are automatically unfolded to display all added options.
If you want to hide the option lists upon loading, deactivate the “Unfold by Default” setting.
Unfold by Default Activated
Options are visible upon editor load.
Unfold by Default Deactivated
When Product Options are enabled, selecting a product through the lookup selector typically includes an additional step for selecting options. By activating the “Skip Option Selection” setting, you can bypass this step, allowing the product to be added directly.
However, options can still be selected or modified later in the Line Item Editor.
Default Behavior
The option selection step appears after selecting a product.
Skip Option Selection Activated
Activating the “Skip Option Selection” setting skips the option selection step after selecting a product, as shown in the image below. Even if this step is skipped, you can still select or add options later in the Line Item Editor.
Options are retrieved based on the selected product and the Pricebook (Pricebook2Id
) of the parent object, such as Opportunity, Quote, or Order.
If you want to add additional criteria for retrieving options, you can configure Option Filters. These filters follow the SOQL WHERE clause syntax and are applied to the Product Option object (SBLI__ProductOption__c
).
The display and storage of option values in line items depend on specific option values and the fields configured in the Line Item Editor setup.
Options in the editor are displayed as read-only by default. However, quantities and prices can be modified if the Quantity Editable or Price Editable settings are activated in the option data configuration.
Quantity
Displayed as the product of the configured product’s quantity and the option’s quantity.
Total Price
Displayed as the result of multiplying the option’s unit price by the option’s quantity.
For an option with a quantity of 2 and a total price of $90, the calculation works as follows:
Quantity
Configured Product Quantity × Option Quantity
2 (Configured Product) × 1 (Option) = 2
Total Price
Option Quantity × Option Unit Price
2 × $45.00 = $90.00
If an option value is mapped to a field that has been added as a column in the Line Item Editor, its display and storage behavior follow the column’s configuration:
If the column has the “Do Not Save” setting enabled, the value will not be stored in the database, even though it is displayed in the editor.
Fields not added as columns in the Line Item Editor will not be displayed in the editor but will still be stored internally.
If the mapped field in Salesforce has read-only field permissions, the field will not store the value even if included in the column settings.
In this scenario, the Total Price field is mapped to the TotalPrice field in the line item but is configured with the “Do Not Save” setting in the editor:
The option’s total price is mapped to the line item’s TotalPrice field.
When the option is added and saved, the TotalPrice field is not stored due to the “Do Not Save” setting.
You can fix the column width in the Lookup Selector’s data table. The unit for width is specified in pixels (px).
Custom labels can be applied to labels displayed in the editor wherever the icon appears. Clicking this icon opens a modal window where you can select and apply the desired custom label.
Click the icon next to the lookup button label input field.
When “Unfold by Default” is deactivated, the option lists are hidden. To view the options, click the line item row with the expand icon () displayed next to it.
Instead of manually writing filters, you can use the to generate them automatically, simplifying the setup process.
For metadata-related operations like creating and managing tabs within SmallBuilder Lists, additional configurations for the connected app associated with SmallBuilder Lists are required.
In Setup, enter Connected Apps in the Quick Find box and select Manage Connected Apps.
Click Edit for SmallBuilder Lists OAuth.
Set Permitted Users to Admin approved users are pre-authorized.
Click Save.
In Setup, enter Connected Apps in the Quick Find box and select Manage Connected Apps.
Click SmallBuilder Lists OAuth.
At the bottom, click Manage Profiles or Manage Permission Sets.
Select the profile or permission set responsible for configuring the product using the builder.
Click Save.
Q: Can I set a filter so that only specific values will be displayed to users when they are selecting from the Parent objects?
In Advanced Condition, you can use
{$Parent.fieldname}
to filter for the desired Parent field values. Reference:
Q: Can I just use the Line-Item Editor without the Lookup Selector?
If you check "Block adding items" on the Linked Objects Setup screen when specifying the Lookup object, users will only be able to use the Line-Item Editor, not the Lookup Selector. However, you must still specify a Lookup object. In the future, we plan to support the use of the Parent and Line-Item objects alone, without a Lookup object.
Reference:
Q: Can I control deletion of objects from the Line-Item Editor based on certain conditions?
You can specify a Boolean field in the Line-Item object to control whether or not objects can be deleted. Where the value of this field is true, deletion will be blocked.
Reference:
SmallBuilder Lists offers a powerful and flexible record listing feature. This system enables users to create and manage customized lists tailored to their needs by leveraging various data sources. It supports a wide range of filtering options and actions, making it highly adaptable. With SmallBuilder Lists, users can quickly address complex business requirements and make effective, data-driven decisions.
Salesforce provides basic List Views for each object, which are essential for viewing data but come with significant limitations:
1. Limited Button Creation
In Standard List Views, buttons can only be implemented using URL or Visualforce Page formats, except for cases involving record creation or updates. For example, adding a button to generate orders by selecting multiple products in a product list requires using a URL format, which often involves additional configurations in the Flow itself, making the implementation complex and cumbersome.
2. Lack of Data Export Functionality
The lack of a data export feature is a limitation. Currently, it is not possible to export the data retrieved in lists to Excel. While this is a feature frequently requested by many clients, it requires additional development at this time. This inconvenience has been a longstanding concern for users.
3. No External Data Integration
Integration with external data is not supported. In the Standard List View, it is not possible to directly access real-time data from external systems such as ERP.
SmallBuilder Lists addresses these limitations by offering advanced features, as well as highly requested features like Excel export and real-time integration with external data. Additionally, its intuitive Point & Click List Builder allows anyone to implement advanced features without requiring development skills.
The key features of SmallBuilder Lists are as follows:
Admins can effortlessly configure filters, action buttons, and columns using the Point & Click interface. Real-time previews during setup allow users to see the results of the list configurations instantly.
SmallBuilder Lists supports multiple button types, including New, Delete, Flow, and URL. By adding Flow buttons, users can create buttons with a wide range of functionalities.
Up to 50,000 searched records can be exported to Excel. This feature can be enabled or disabled in the List Builder, providing flexibility based on business needs.
Filters based on fields from the selected object allow users to extract and view only the records they need.
Whether internal or external, data scattered across multiple systems can be seamlessly viewed in one place using the Data Source feature.
This feature consolidates data from different sources into a single view, much like replacing multiple small windows with one comprehensive, panoramic view.
If you want to call the Line Item Editor from somewhere other than the button, you can insert <SBLD:LineItemConfigurator />
as shown below.
Currently, only the Aura Component is available.
recordId
The record ID of the Parent, as set in the builder.
✔
builderId
The record ID of the builder.
✔
The core feature of SmallBuilder Lists, the List Builder, provides a powerful and user-friendly interface for creating List Configurators. The List Builder is designed to be intuitive and efficient, enabling anyone to easily create and configure lists. Once a list configurator is created using the List Builder, it is converted into a tab and integrated into the user interface, allowing users to easily access and utilize the new list functionality in a familiar environment.
Navigate to the List Configurator tab in the SmallBuilder Lists app.
Click the New button to open the List Builder interface.
Configure all necessary elements in the List Builder. Once the configuration is complete, click the Active button to activate the List Configurator.
Click TABS to add and manage the tab for the configurator.
Activating the List Configurator requires completing the following essential configurations:
Title: The name of the list configurator.
Object: The Salesforce object associated with the list.
Datatable Setup: Configurations for the data table to be displayed.
Learn more about List Configurator Setup >
The List Builder interface is divided into four main sections:
The Side Panel is composed of seven key components, allowing users to perform various configurations, including layouts, data import/export, compact views, and mobile settings.
default
This panel is used to configure basic settings for the list, including:
Basic information such as name, associated object, and description.
Enabling data export to and import from Excel.
table
This panel manages the data table settings, including:
Number of records displayed per page.
Adding virtual columns.
Configuring row-level actions.
import
This panel appears when Allow Import is enabled in the Default settings. It lets you configure fields and actions for importing data from Excel.
action
This panel is used to add and configure actions (buttons) at the top of the list.
filter
This panel allows you to add and configure filters displayed above the data table.
compact
This panel configures a compact version of the configurator for display on the Home page or in the App Builder. The compact list can display up to five columns.
mobile
This panel configures the mobile version of the configurator. Note that only one Action (button) is allowed in the mobile version.
The Preview Panel allows users to easily review the configured table structure, various action buttons, and detailed filter conditions. It provides a comprehensive view of the entire list configuration, helping users quickly understand the overall context and make adjustments as needed.
The header acts as the central control center for the List Configurator. It allows users to view and manage key settings for the List Configurator, perform essential actions such as saving, activating, previewing, and cloning, and navigate between important functionalities.
Key Elements of the Header
TABS (Generated Tabs) Create and manage ListView tabs based on the current List Configurator.
ACTIVE / DEACTIVE Only active List Configurators can generate ListViews. If deactivated, the associated ListView will not function.
SAVE Save the current List Configurator.
DELETE Permanently delete the current List Configurator.
CLONE Create a copy of the List Configurator based on the latest saved version. After clicking the clone button, ensure to click SAVE to complete the duplication process.
SALESFORCE SETUP Navigate to Salesforce’s setup screen.
HELP Access the SmallBuilder Lists help documentation.
Preview Preview the ListView based on the most recently saved configuration.
Reset Revert to the last saved configuration during the editing process. Clicking the Reset button will restore the configurator to its previously saved state.
The Data Source Setup screen provides powerful functionality to connect and manage various data sources. Users can seamlessly integrate both internal and external data, enabling real-time data retrieval as needed. Additionally, the screen allows users to monitor the connection status of data sources and adjust settings to ensure optimal performance.
Learn more about Data Source Setup >
Follow these steps to configure and implement a List Configurator using the Builder:
Set up the foundational details for the list in the side panel.
Configure and manage the data table displayed in the List View with precision and efficiency.
Once the setup is complete, use the configured List Configurator to create and manage custom tabs that suit your organization’s needs.
If you want to cancel unsaved changes and restore the builder settings to their original state, use the Reset feature.
The reset feature only restores unsaved changes. It cannot undo changes that have already been saved. For safe configuration changes, it is recommended to clone the builder before making modifications.
After an organization is initially created, the currency may be set to null. If the currency is not correctly configured, SmallBuilder Lists may not function properly. Please ensure the organization’s currency is properly set before using the product.
If multiple currencies are activated, you can skip this process.
In Setup, enter Company in the Quick Find box, then select Company Information.
Click Edit.
Under Currency Settings, ensure that a valid currency is selected.
If the currency is set to null, select the appropriate currency.
The Default Setup panel allows you to configure the fundamental details for the list, such as its title, object, and description. It also lets you enable or disable features like exporting and importing records to and from Excel.
Once the object is saved, it cannot be modified.
1
Set the title for the List.
✔️
2
Object
Specify the standard or custom object that the List is based on.
✔️
3
Description
Provide a description for the List.
4
Configure legends for the data table using HTML formatting.
5
Enable or disable the ability to import record lists from Excel.
6
Enable or disable the ability to import record lists from Excel.
7
Toggle the display of an icon in front of the List title.
The Datatable Setup allows users to configure and manage the data table displayed in the list with precision and flexibility. This feature enables users to customize how data is presented to meet their specific needs. For example, users can adjust the number of records displayed per page and use the virtual column feature to calculate and display new information based on existing data.
At least one column must be added to save the List Configurator.
1
Retrieve the record list based on the conditions set in the query.
2
Records by Page
Select the number of records to display per page. Default: 50
3
Enable or disable the checkbox in the first column of the list to allow multi-select functionality.
4
Toggle the display of summary information for the record list.
5
Header Align
Sync the alignment of the data table header with the column alignment.
6
Add fields from the standard object configured in the List Configurator to the data table.
✔️
7
Add virtual columns to the data table, allowing you to display calculated or custom data.
8
Add Flow-based actions that can be executed on individual rows.
Configuring a data table legend using HTML formatting is an important step in clearly conveying the meaning of the data within the table. A legend provides definitions or descriptions for each data element in the table, helping users understand and interpret the information more easily. This is particularly essential for complex datasets, as it enhances the user experience and ensures clarity in communication.
Click the Insert HTML button.
Choose either HTML Tag or HTML Editor, enter the desired value, and click the Save button.
Manually write HTML code to define the legend.
Use the built-in HTML editor to create the legend.
Verify that the configured legend is displayed correctly in the Preview Panel.
The Allow Export feature enables users to export record lists to Excel. With this functionality, users can easily extract selected data in Excel format and save it, supporting up to 50,000 records in a single export. This capability is highly beneficial for data analysis and report generation, providing users with a powerful tool to efficiently manage critical information.
Activate the Allow Export toggle button.
Once enabled, an Excel icon will appear at the top of the data table, allowing users to export the data.
The Multi Selectable feature adds a checkbox to the first column of the data table, allowing users to select multiple records at once. This functionality enables users to easily select or deselect multiple records and perform batch actions on the selected records.
Click the Multi Selectable toggle button to activate the feature.
Verify that a checkbox appears in the first column of the datatable.
1
Link
Enables hyperlink functionality for specific columns in the data table. When activated, the column data is displayed as clickable links that redirect users to a specified URL upon clicking. The target URL can be a fixed address or dynamically generated using values from other fields in the record.
None (Default) No link is applied to the column.
Record Detail Page Specifies a record ID field, allowing users to navigate to the detailed page of the corresponding record.
(Recommended for use in Experience Cloud environments.)
Custom Link Enables users to manually input a custom URL as the link destination.
2
HTML Formatted
When this option is enabled, column data is rendered as HTML instead of plain text. This allows for rich content, including styling, images, and links, to be displayed within the table. However, users should carefully consider data security and validity when using this option to prevent malicious script execution. Proper filtering is recommended.
3
Image
Activates the image display option, rendering column data as images instead of text. The column value is interpreted as an image URL, and the corresponding image is displayed within the table cell. Users can specify the image’s width and height (in pixels) for optimal alignment with the table layout.
When the Summary button is enabled, additional summary detail settings appear.
1
Summary Label
Supports adding summary statistics such as totals or averages for numerical data.
2
Summary Type
Allows customizing summary labels and selecting the summary type.
Sum (Default) Displays the total sum of the values in the column.
Average Displays the average of the values in the column.
The Query Wizard simplifies the process of setting up filters, especially for administrators unfamiliar with SOQL syntax. Instead of manually writing the WHERE clause in SOQL, admins can use an intuitive interface to select conditions and input values, making filter configuration much more accessible.
Normally, filter settings in the builder correspond to the WHERE clause in SOQL. For administrators who are not well-versed in SOQL, this can be challenging. The Query Wizard resolves this issue by allowing admins to configure filters without needing in-depth knowledge of SOQL.
By using the Query Wizard, admins can define filter conditions through simple selection and input steps. This significantly streamlines the process of creating filters.
When multiple filters are added in the Query Wizard, they are combined using AND logic by default.
When three filters are added using the Query Wizard:
These filters are combined into a single condition as follows:
To modify the logic, click Edit Logic and customize the logic using the filter numbers.
If you want to use OR instead of AND, edit the logic as follows:
The updated logic will generate filters based on the new condition.
Filters can also bind values to fields from the parent object. By selecting the Parent option next to the value input field, you can link the filter condition to a specific parent object field.
This feature enables dynamic data retrieval based on parent object field values, offering greater flexibility in query configurations.
Let’s configure a filter to retrieve Pricebook Entries that match the parent object’s Pricebook (Pricebook2Id):
In the Filter by Query section of the object connection step, click the Query Wizard button.
Next to the value input field, select Parent.
Search for and select the Pricebook field (Pricebook2Id
) of the parent object.
Confirm that the filter condition is automatically set to: {$Parent.Pricebook2Id}
This configuration ensures that only Pricebook Entries matching the parent object’s Pricebook are retrieved. The Query Wizard automatically generates the necessary filter syntax, making it easy and convenient to add conditions.
The Allow Import feature enables users to import data from external Excel files directly into the list. Activating this functionality eliminates the need for manual data entry of large datasets and facilitates seamless integration with existing databases. This feature is particularly beneficial for data migration and bulk updates, significantly improving operational efficiency.
In the Default Setup screen, activate the Allow Import toggle button. When enabled, the Import element will be added to the left-side panel.
Once activated, an import icon will appear at the top of the data table, allowing users to easily import data.
The Show Summary feature displays summary information at the bottom of data table columns, allowing users to quickly view key values at a glance. The summary aggregates data from each column to provide statistical information such as totals or averages. This is particularly useful for analyzing trends or key metrics in large datasets.
Summaries can only be configured for columns with number or currency data types.
Click the Show Summary toggle button to activate the feature.
Click the Edit button for the column (with a number or currency type) where you want to display the summary.
In the column edit screen, click the Summary button to enable the summary feature and ensure the summary detail settings appear.
Enter the Summary Label and select the Summary Type (Sum or Average).
Verify that the summary is displayed at the bottom-right corner of the data table.
When retrieving list data, SOQL can be written in advance to filter and sort the data. Filters correspond to the WHERE clause in SOQL, while sorting is done using the ORDER BY clause. Although users can manually write the query, the Query Wizard allows for easy application of filters without requiring knowledge of SOQL.
In the WHERE clause, click the Query Wizard button in the bottom-right corner.
Configure the field and value for the condition, then click the Apply button.
In the ORDER BY clause, click the Field API Name Finder button in the bottom-right corner.
Select the field you want to sort by.
In the Result field, add ASC(ascending) or DESC(descending) after the field’s API name and click the Save button to finalize your query.
Columns in the data table can be added and configured based on the fields of the standard object set in the List Configurator. Various properties can be specified for each field, enabling effective management and optimization of the data table’s structure to meet user needs.
Note: If you wish to display values from a data source without creating a field in the object, you can add a virtual column.
Click the Add Columns button.
In the Add Columns screen, select the field you want to add and click the Add button.
Verify the newly added column in the Datatable Setup screen.
In the Datatable Setup screen, click the edit icon for the column you want to configure.
Configure the column settings, such as the column label, alignment, width, and other properties based on the column type.
Object Field Column: Configurable based on the field’s properties.
Learn more about field-specific configurations >
3. After completing the changes, click the Save button to save the settings.
Virtual Column:
Row Action:
Opportunity
OpportunityLineItem
PricebookEntry
Quote
QuoteLineItem
PricebookEntry
Order
OrderItem
PricebookEntry
Opportunity
OpportunityLineItem
PricebookEntry
Quote
QuoteLineItem
PricebookEntry
Order
OrderItem
PricebookEntry
Field-Level Security (FLS) is not currently enforced. If a user lacks permissions for a specific field, errors may occur. This limitation will be addressed in future updates.
Field-Level Security (FLS) is not currently enforced. If a user lacks permissions for a specific field, errors may occur. This limitation will be addressed in future updates.
Before you begin, certain preparatory steps are necessary to fully utilize the powerful features of SmallBuilder Lists. These steps are essential for configuring the system efficiently and customizing it to meet your specific requirements. By completing these steps, you can ensure a smooth implementation of SmallBuilder Lists and optimize its performance in your organization.
Install SmallBuilder Lists in your organization from AppExchange.
SmallBuilder Lists offers 10 free licenses. Before using the product, ensure that each user has the appropriate SmallBuilder license and permission set assigned for access.
After an organization is initially created, the currency may be set to null. If the currency is not properly configured, SmallBuilder may not function correctly. Make sure to verify that your organization’s currency is properly set before using the product.
For metadata-related operations like creating and managing tabs within SmallBuilder Lists, additional configurations for the connected app associated with SmallBuilder Lists are required.
The Title setting allows users to assign clear and meaningful titles to each List. Additionally, users can incorporate custom labels stored within the Salesforce organization into the title to effectively reflect specific terminology or branding of the organization.
The Title is a required field for all Lists.
Enter the desired title in the Title input field.
Click the Custom Label button.
A modal will appear. Select the desired custom label and click the Insert button.
Ensure that the title is correctly displayed in the Preview Panel for verification.
The Show Icon feature allows users to display an icon in front of the List title. This enhances visual identification for each list, improving user experience and contributing to clearer information structure, ultimately boosting efficiency.
Activate the Show Icon toggle button. Once activated, an Icon Box will appear below the toggle button.
Select an icon from the Icon Box and verify that the icon is displayed next to the List title.