Free Platform-App-Builder Practice Test Questions (2026)

Total 259 Questions


Last Updated On : 8-Jul-2026


undraw-questions

Think You're Ready? Prove It Under Real Exam Conditions

Take Exam

An app builder wants to create a custom Sync button on Account that will call a Lightning Web Component that connects with an external system. This action should only be available If the custom Status field is set to Ready to Sync.
What should an app builder use to add this functionality to an Account record page?



A. Formula field


B. Dynamic action


C. AppExchange product


D. Custom link





B.
  Dynamic action

Explanation:

The requirement is to:
Add a custom Sync button to the Account record page
Trigger a Lightning Web Component (LWC) that connects to an external system
Ensure the button is conditionally visible only when the Status field = "Ready to Sync"

✅ Why Dynamic Action is the right choice:
Dynamic Actions allow you to conditionally show or hide buttons on Lightning record pages based on field values, user profiles, or record data.
You can configure the Sync button to appear only when Status = "Ready to Sync".
The button can be tied to a custom Lightning Web Component via a Lightning Action or Quick Action.
This is a declarative, flexible, and mobile-friendly solution.

❌ Why the other options don’t work:
A. Formula field
Formula fields are read-only and cannot trigger actions or components.
C. AppExchange product
Overkill for this use case — no need to install a third-party app for a simple conditional button.
D. Custom link
Custom links are static and cannot be conditionally displayed based on field values. Also, they don’t integrate cleanly with LWCs.

🔗 References:
Salesforce Help: Dynamic Actions on Record Pages
Trailhead: Lightning App Builder

Universal Containers uses the Asset object to track products that are installed at customer locations. A new object, Asset Inventory, has been created to capture details about the asset.
Which approach should the app builder take to show Asset Inventory as a related list on Asset?



A. Create a roll-up on Asset. Add the Asset Inventory related list to the Asset page layout.


B. Create a junction object to relate Asset Inventory and Asset. Add the Asset Inventory related list to the Asset page layout.


C. Create a lookup relationship on Asset Inventory to Asset. Add the Asset Inventory related list to the Asset page layout.


D. Create a master-detail relationship on Asset-to-Asset Inventory Add the Asset Inventory related list to the Asset page layout.





C.
  Create a lookup relationship on Asset Inventory to Asset. Add the Asset Inventory related list to the Asset page layout.

Explanation:

To show a related list on a parent object (in this case, Asset), you must have a relationship field on the child object (Asset Inventory) that points to the parent.

Create a lookup relationship on Asset Inventory to Asset:
Creating a lookup relationship field on the Asset Inventory object that references the Asset object is the correct way to establish this parent-child connection.
Add the Asset Inventory related list to the Asset page layout:
Once the relationship is established, Salesforce will automatically make the child object (Asset Inventory) available to be added as a related list on the parent's (Asset) page layout.

Why other options are incorrect
A. Create a roll-up on Asset. Add the Asset Inventory related list to the Asset page layout:
A roll-up summary is used to aggregate data from child records onto a parent record; it does not create a related list. The related list is a result of the relationship itself, not a roll-up summary.
B. Create a junction object to relate Asset Inventory and Asset. Add the Asset Inventory related list to the Asset page layout:
A junction object is used to create a many-to-many relationship between two objects. While it would create related lists, it's an unnecessary and overly complex solution for a simple one-to-many relationship, where Asset Inventory is the child of Asset.
D. Create a master-detail relationship on Asset-to-Asset Inventory Add the Asset Inventory related list to the Asset page layout:
This is incorrect. The master-detail relationship field must be created on the child object (Asset Inventory) and reference the parent object (Asset). The option incorrectly states the relationship direction.

DreamHouseRealty (DR) is expanding into subsidized housing by partnering with local government entitles. DR uses Sales Cloud and has enabled field history tracking on the Opportunity object. Due to increased Information requirements, the App Dev team is changing Text Area (Long) fields to Rich Text fields to allow for up to 1,000 characters and better descriptions.
Which two considerations should be made by the team?
(Choose 2 answers)



A. Rich text field values of all lengths are displayed fully in reports.


B. Data loss may occur when changing custom field types.


C. Field History Tracking records value changes of 255 characters or less.


D. Audit Trail is available through REST API extracts.





B.
  Data loss may occur when changing custom field types.

C.
  Field History Tracking records value changes of 255 characters or less.

Explanation:

Changing a field's data type is a significant modification that can have unintended consequences, especially when dealing with data limits and history tracking.

Why B is Correct:
Converting a field from one data type to another can often result in data truncation or loss. A Text Area (Long) field can hold up to 131,072 characters. A Rich Text field can only hold up to 32,768 characters in most contexts (and is often effectively limited to much less when stored in HTML format). If any existing records have text longer than the new Rich Text field's capacity, that data will be truncated and lost during the conversion process. The team must analyze their existing data to ensure no values exceed the new limit before proceeding.
Why C is Correct:
Field History Tracking has a known limitation: it only captures the first 255 characters of any changed field value for the history trail. This is true regardless of the original field's data type (Text, Text Area, Rich Text) or length. If the business requirement for tracking changes relies on the full content of these potentially long descriptions, this limitation makes Field History Tracking an inadequate solution. The team may need to consider a different auditing strategy, such as using a custom object or an external logging system.

Why A is Incorrect:
This statement is false. In Salesforce reports, Rich Text fields are truncated and do not display their full content. You typically see a preview or a shortened version. To see the full value, a user must click into the individual record. This is an important UI consideration when choosing to use Rich Text fields.
Why D is Incorrect:
While the Field History Tracking data is accessible via the API, the specific term "Audit Trail" in Salesforce typically refers to the Setup Audit Trail, which logs changes to your org's configuration, not changes to individual record data. This option is a distractor and does not address the core considerations of data loss and history tracking character limits related to the field type change.

Reference:
Salesforce Help:
"Convert Field Type Considerations": Explicitly warns that converting fields can lead to data loss.
"Field History Tracking Considerations": States "Field history tracking retains the previous 255 characters for any changed field whose length is greater than 255 characters."

Universal Containers has Public Read/Write as the Account organization-wide default (OWD) setting. Visitors to the customer community site report that they can see all of the company's account records.
How should an app builder configure Account sharing so that community users only see their own Account?



A. Create an account record type for external accounts.


B. Define an owner-based sharing rule for external accounts.


C. Define a permission set for external accounts.


D. Set the account external OWD to private.





D.
  Set the account external OWD to private.

Explanation:

Universal Containers has set the Account object’s Organization-Wide Default (OWD) to Public Read/Write, which means all users—including community users—can view and edit all Account records. That’s a major data exposure issue for external users.
To restrict visibility so that community users only see their own Accounts, Salesforce provides a separate setting:
🔐 External Organization-Wide Defaults (External OWD)
These allow you to set different sharing defaults for external users (e.g., Customer Community, Partner Community).
You can configure the Account External OWD to Private, which ensures:
Community users only see records they own
No access to other users’ Account records
This is the most direct and secure solution to meet the requirement.

❌ Why the other options don’t work:
A. Create an account record type for external accounts
Record types control page layouts and picklist values, not data visibility.
B. Define an owner-based sharing rule for external accounts
Sharing rules grant access, not restrict it. You can’t use them to hide records.
C. Define a permission set for external accounts
Permission sets control object-level access, not record-level visibility.

🔗 References:
Salesforce Help: External Organization-Wide Defaults
Trailhead: Data Security

AW Computing has a custom object for service plans.
A service plan needs to be associated to one and only one contact. The support manager noticed if the wrong contact is associated, the reps are unable to change the contact. The app builder already confirmed the user has correct access to the field and there are no validations associated with the service plans.
What could be causing the issue?



A. The Read Only radio button, Allows users with at least Read access to the Master record to create, edit, or delete related Detail records, is selected.


B. The Allow reparenting checkbox, Child records can be reparented to other parent records after they are created, is unchecked.


C. The Read/Write radio button, Allows users with at least Read/Write access to the Master record to create, edit, or delete related Detail records, is selected.


D. The Allow reparenting checkbox, Child records can be reparented to other parent records after they are created, is checked.





B.
  The Allow reparenting checkbox, Child records can be reparented to other parent records after they are created, is unchecked.

Explanation:

The scenario describes a master-detail relationship between the custom Service Plan object (the detail or child) and the standard Contact object (the master or parent). The reason a master-detail relationship is likely in use is the requirement that a Service Plan be "associated to one and only one contact," which is a defining characteristic of this type of relationship.
By default, the Allow reparenting option is disabled when a master-detail relationship is created. This means that once a child record (the Service Plan) is created and assigned to a parent record (the Contact), the relationship field becomes read-only and cannot be changed. To allow the parent record to be changed, an App Builder must explicitly enable the Allow reparenting setting by editing the master-detail relationship field definition.

Why other options are incorrect
A. The Read Only radio button, Allows users with at least Read access to the Master record to create, edit, or delete related Detail records, is selected: This option describes a setting for defining access for the child record, not the ability to change the parent record itself. It determines what users with read access to the master can do with the child, not whether the master can be reparented.
C. The Read/Write radio button, Allows users with at least Read/Write access to the Master record to create, edit, or delete related Detail records, is selected: Similar to option A, this setting concerns the access rights on the child record based on the master record's security, and does not directly control the reparenting functionality.
D. The Allow reparenting checkbox...is checked: This is the opposite of the correct answer. If the Allow reparenting checkbox were checked, the reps would be able to change the associated contact.

Cloud Kicks (CK) wants to quickly insert a list of over 60,000 net new Accounts. The template based on CK's data model was used to populate the list.
Which tool should be used?



A. Data Loader


B. A Lightning Object Creator


C. Import Wizard


D. Schema Builder





A.
  Data Loader

Explanation:

Why: 60,000+ records exceeds the Data Import Wizard limit (50k per load). Data Loader is built for bulk operations (up to millions of rows), supports CSV templates aligned to your data model, and is the standard tool for inserting a large volume of Account records quickly.

Why not the others:
B. Lightning Object Creator: Creates a new custom object from a spreadsheet; it doesn’t bulk-insert into standard Accounts.
C. Import Wizard: Easy UI, but capped at 50,000 records per job—too small for 60k+.
D. Schema Builder: For designing metadata (objects/fields/relationships), not loading data.

Duplicate management for Leads has been implemented at Universal Containers but it seems duplicate leads are still being created. The Org Wide Default (OWD) is set to "Private" for Leads.
Which two actions help prevent duplicate Leads from being created?
(Choose 2 answers)



A. Change the lead Hatching Rule to Block on create.


B. Change OWD for Leads to Public Read.


C. Change the Lead Duplicate Rule details to Bypass Sharing Rules.


D. Change the Lead Assignment Rule to check for duplicates.





A.
  Change the lead Hatching Rule to Block on create.

C.
  Change the Lead Duplicate Rule details to Bypass Sharing Rules.

Explanation:

Universal Containers has implemented duplicate management for Leads, but duplicates are still being created despite the Organization-Wide Default (OWD) for Leads being set to Private. This suggests issues with how duplicate rules or sharing settings are configured. The goal is to prevent duplicate Leads from being created. Below is a concise analysis of each option:

A. Change the lead Matching Rule to Block on create (Correct):
Salesforce Duplicate Rules work with Matching Rules to identify and prevent duplicate records. By default, a Duplicate Rule may be set to Alert (notifying users of potential duplicates) or Allow (permitting duplicates with a warning). Changing the Duplicate Rule to Block on create ensures that if a Lead matches the criteria defined in the associated Matching Rule (e.g., same email or name), the system prevents the record from being created. This directly addresses the issue of duplicate Leads being created.
Steps: Go to Setup > Duplicate Rules > [Lead Duplicate Rule], edit the rule, and set the action to Block for record creation.
Reference: Salesforce Help - Duplicate Rules

B. Change OWD for Leads to Public Read (Incorrect):
Changing the OWD for Leads to Public Read affects record visibility, allowing all users to view all Leads, but it does not prevent the creation of duplicate Leads. OWD settings control access, not data quality or duplicate prevention, making this option irrelevant to the requirement.
Reference: Salesforce Help - Organization-Wide Defaults

C. Change the Lead Duplicate Rule details to Bypass Sharing Rules (Correct):
With the OWD for Leads set to Private, users can only see Leads they own or have access to via sharing rules or role hierarchy. This can prevent Duplicate Rules from identifying duplicates if a user cannot access existing Lead records to compare against. Enabling the Bypass Sharing Rules option in the Duplicate Rule allows the system to check all Lead records (regardless of sharing settings) when evaluating duplicates, ensuring more effective duplicate detection and prevention.
Steps: Go to Setup > Duplicate Rules > [Lead Duplicate Rule], edit the rule, and check the Bypass Sharing Rules option.
Reference: Salesforce Help - Duplicate Rules and Sharing

D. Change the Lead Assignment Rule to check for duplicates (Incorrect):
Lead Assignment Rules determine how Leads are assigned to users or queues based on criteria (e.g., geography or lead source). They do not have built-in functionality to check for or prevent duplicates. While custom logic could be added (e.g., via Flow or Apex), this is not a standard feature of Lead Assignment Rules, making this option incorrect.
Reference: Salesforce Help - Lead Assignment Rules

Recommended Approach:
Modify the Duplicate Rule:
In Setup > Duplicate Rules, edit the Lead Duplicate Rule.
Set the action to Block on record creation to prevent duplicates from being saved.
Bypass Sharing Rules:
In the same Duplicate Rule, enable Bypass Sharing Rules to ensure the system checks all Leads, even those the user cannot access due to the Private OWD.
Verify the Matching Rule (e.g., matching on Email, Name, or Company) is correctly configured to identify duplicates accurately.

Additional Notes:
Ensure the Matching Rule used by the Duplicate Rule is robust (e.g., matches on key fields like Email or Phone) to catch potential duplicates.
Test the Duplicate Rule in a sandbox to confirm it blocks duplicates without impacting valid Lead creation.
If duplicates are still created via API or integrations, ensure those processes respect the Duplicate Rule settings.

References:
Salesforce Trailhead: Duplicate Management
Salesforce Help: Set Up Duplicate Management

Universal Containers uses a custom object called Projects. When managers assign projects they set a custom field on the project called Estimated Hours. Once set, users should be able to decrease but not increase the value
How can an app builder meet this requirement?



A. Create a formula default value for the custom field.


B. Create a formula held that uses the PREVGROUPVAL function


C. Create a validation rule that uses the ISCHANGED function


D. Create a validation rule that uses the PRIOR VALUE function.





D.
  Create a validation rule that uses the PRIOR VALUE function.

Explanation:

The requirement is to allow users to decrease the Estimated Hours field but prevent them from increasing it. This requires a rule that can compare the new value being entered to the old value that was previously saved on the record.

Why D is Correct:
The PRIORVALUE function in a validation rule returns the previous value of a field before the current save operation began. A validation rule can be written to fire (and prevent the save) if the new value is greater than the old value.
Example Validation Rule Formula:
AND(ISCHANGED(Estimated_Hours__c), Estimated_Hours__c > PRIORVALUE(Estimated_Hours__c))
How it works:
This rule checks if the field was changed and if the new value is greater than the old value. If both conditions are true, the validation rule returns "True," triggers an error, and prevents the record from being saved. This successfully blocks increases while allowing decreases and the initial value setting.

Why A is Incorrect:
A formula field is read-only and is used to calculate a value. It cannot be used to enforce a business rule that restricts user input on another field. It cannot prevent a user from saving a value.

Why B is Incorrect:
The PREVGROUPVAL function is used in summary reports and analytics functions to compare the value of a previous grouping to the current one. It is not used in validation rules or for checking the prior value of a field on a single record. The correct function for this context is PRIORVALUE.

Why C is Incorrect:
The ISCHANGED function only detects if a field has been modified. It returns TRUE if the field is different from its original value. However, on its own, it cannot determine if the change was an increase or a decrease. You need to combine it with a function like PRIORVALUE to compare the old and new values to determine the direction of the change.

Reference:
Salesforce Help - "PRIORVALUE" and "Examples of Validation Rules". The PRIORVALUE function is specifically designed for this use case in validation rules, allowing you to compare old and new field values to enforce complex data integrity rules.

Universal Containers utilizes opportunities and a custom object called Detaited.Sales__c.
The company would like to roll sales metrics up to an opportunity for only Detailed.Sales__c records that have their picklist status set to Active.
What is the recommended method for the app builder to achieve this request?



A. Utilize the AppExchange to download a third-party application that can roll-_up the sales dollars with the appropriate filter.


B. Create a master-detail relationship between the parent and child object with a roll-up summary field that fitters on the status held.


C. Create a lookup relationship between the parent and child object with a roll-up summary held that filters on the status field.


D. Utilize Apex code to roll up the desired amounts.





B.
  Create a master-detail relationship between the parent and child object with a roll-up summary field that fitters on the status held.

Explanation:

Universal Containers wants to roll up sales metrics from the custom object Detailed.Sales__c to Opportunity, but only for records where Status = Active. This is a classic use case for a roll-up summary field, which:
Aggregates values (SUM, COUNT, MIN, MAX) from child records
Can be filtered using criteria (e.g., Status__c = 'Active')
Requires a master-detail relationship between the parent and child objects

✅ Why B is correct:
A master-detail relationship allows the parent (Opportunity) to own the child (Detailed.Sales__c)
You can then create a roll-up summary field on Opportunity that sums sales metrics from child records where Status = Active
This is a declarative solution — no code required

❌ Why the other options don’t work:
A. AppExchange product
Overkill for a simple filtered roll-up — native roll-up summary fields handle this perfectly
C. Lookup relationship
Roll-up summary fields do not work with lookup relationships — only with master-detail
D. Apex code
Apex is powerful but unnecessary here — declarative roll-up summary fields are preferred for maintainability and simplicity

🔗 References:
Salesforce Help: Roll-Up Summary Fields
Trailhead: Data Modeling

DreamHouse Realty (DR) has many properties for sale and wants to identify the highest value of all Offer__c records on each Property__c record.
What solution should the app builder use to meet DreamHouse Realty's needs?



A. Master-Detail Child Object


B. Text Area (Long)


C. Multi-select Picklist


D. Lookup Object





A.
  Master-Detail Child Object

Explanation:

Why: To show the highest Offer__c value on each Property__c, you can create a Roll-Up Summary field on Property__c that uses the MAX function on a numeric/currency field from Offer__c. Roll-up summaries are available only when the child (Offer__c) is in a Master-Detail relationship with the parent (Property__c).

Why not the others:
B. Text Area (Long) and C. Multi-select Picklist don’t calculate or summarize values.
D. Lookup Object doesn’t support declarative roll-up summaries (you’d need code or a tool).

Page 5 out of 26 Pages
PreviousNext
12345678
Platform-App-Builder Practice Test Home

Experience the Real Exam Before You Take It

Our new timed 2026 Platform-App-Builder practice test mirrors the exact format, number of questions, and time limit of the official exam.

The #1 challenge isn't just knowing the material; it's managing the clock. Our new simulation builds your speed and stamina.



Enroll Now

Ready for the Real Thing? Introducing Our Real-Exam Simulation!


You've studied the concepts. You've learned the material. But are you truly prepared for the pressure of the real Salesforce Certified Platform App Builder - Plat-Admn-202 exam?

We've launched a brand-new, timed Platform-App-Builder practice exam that perfectly mirrors the official exam:

✅ Same Number of Questions
✅ Same Time Limit
✅ Same Exam Feel
✅ Unique Exam Every Time

This isn't just another Platform-App-Builder practice questions bank. It's your ultimate preparation engine.

Enroll now and gain the unbeatable advantage of:

  • Building Exam Stamina: Practice maintaining focus and accuracy for the entire duration.
  • Mastering Time Management: Learn to pace yourself so you never have to rush.
  • Boosting Confidence: Walk into your Platform-App-Builder exam knowing exactly what to expect, eliminating surprise and anxiety.
  • A New Test Every Time: Our Salesforce Certified Platform App Builder - Plat-Admn-202 exam questions pool ensures you get a different, randomized set of questions on every attempt.
  • Unlimited Attempts: Take the test as many times as you need. Take it until you're 100% confident, not just once.

Don't just take a Platform-App-Builder test once. Practice until you're perfect.

Don't just prepare. Simulate. Succeed.

Take Platform-App-Builder Practice Exam