CertSafari

    Free Salesforce Certified Platform App Builder Sample Questions

    35 free sample questions from our bank of 349+, covering every exam domain, with answers and detailed explanations. Updated September 2026.

    Domain 1: Salesforce Fundamentals

    Subdomain 1.2:

    1.An app builder is choosing between two AgentExchange listings that both add a discount-approval capability: one is distributed as a managed package, the other as an unmanaged package. The company wants automatic updates pushed by the vendor and wants the underlying components protected from accidental modification by internal admins. Which listing type satisfies both requirements?

    1. A.The managed package, because its components are locked from direct editing and the vendor can push upgrades to installed orgs.
    2. B.The unmanaged package, because its open components let admins patch bugs immediately while still receiving vendor upgrades.
    3. C.Either package type, because AgentExchange applies the same upgrade and protection behavior regardless of packaging type.
    4. D.The unmanaged package, because its components become fully editable after installation, which guarantees compatibility with future releases.
    Show answer & explanation

    Correct answer: AThe managed package, because its components are locked from direct editing and the vendor can push upgrades to installed orgs.

    • A. Managed packages lock their components against direct editing in the subscriber org and support vendor-pushed version upgrades, meeting both stated requirements.
    • B. Unmanaged package components become fully editable copies once installed and do not receive vendor-pushed upgrades, so this does not meet either requirement.
    • C. Managed and unmanaged packages behave differently with respect to editability and upgrade delivery, so the packaging type does matter here.
    • D. Full editability after installation is a property of unmanaged packages, but it does not provide automatic vendor upgrades and does not protect components from modification.

    Subdomain 1.2:

    2.A client wants to evaluate a project-management managed package from AgentExchange before rolling it out to every user. What is the recommended first step?

    1. A.Install the package into a sandbox environment first and test its configuration and data impact before production rollout.
    2. B.Install the package directly into production and monitor Chatter feeds for user complaints during the first week.
    3. C.Ask the vendor to send a static screenshot walkthrough by email instead of installing the package in any environment.
    4. D.Enable the package for a single production profile only, without installing it in any sandbox, in order to preview its behavior firsthand.
    Show answer & explanation

    Correct answer: AInstall the package into a sandbox environment first and test its configuration and data impact before production rollout.

    • A. Installing into a sandbox first lets the app builder validate configuration and data impact in an isolated environment before affecting production users.
    • B. Installing directly into production exposes every user to an unvalidated change and relies on after-the-fact complaints rather than proactive testing.
    • C. A static screenshot walkthrough cannot reveal how the package actually behaves with the org's real configuration and data, so it does not substitute for hands-on testing.
    • D. A package must be installed into an org before it can be used, and skipping a sandbox still exposes production to an unvalidated change.

    Subdomain 1.1:

    3.A regional sales org needs new Opportunity records to automatically spawn a related Task for the owner, update a Probability field based on Stage, and enforce that the Close Date cannot be in the past — all without involving any external system. Which combination of approaches can fully satisfy this requirement declaratively?(Select 3)

    1. A.A Record-Triggered Flow that creates the related Task record when the Opportunity is inserted
    2. B.A Record-Triggered Flow that updates the Probability field whenever the Stage value changes
    3. C.A Validation Rule that prevents saving the Opportunity when the Close Date is before today
    4. D.An Apex trigger that performs all three actions inside a single `after insert` handler
    5. E.A Lightning Web Component embedded on the page to manually validate the Close Date before submit
    Show answer & explanation

    Correct answers: A, B, CA Record-Triggered Flow that creates the related Task record when the Opportunity is inserted; A Record-Triggered Flow that updates the Probability field whenever the Stage value changes; A Validation Rule that prevents saving the Opportunity when the Close Date is before today

    • A. A Record-Triggered Flow can create the related Task the moment the Opportunity is inserted, entirely through configuration. This is correct because Task creation on insert is a native declarative capability.
    • B. A second Record-Triggered Flow (or the same flow with an update path) can set Probability whenever Stage changes, without any code. This is correct because field updates driven by another field's value are core declarative automation behavior.
    • C. A Validation Rule comparing Close Date to `TODAY()` blocks the save entirely through a formula, with no code involved. This is correct because date comparisons against the current date are a standard validation rule pattern.
    • D. Bundling all three actions into an Apex trigger works, but it duplicates functionality the declarative tools already provide for this org. It is incorrect as part of the fully-declarative combination because it introduces code where none is required.
    • E. Relying on a component to manually validate the date before submission is not enforced consistently across every save path, such as API or data load updates. It is incorrect because it depends on user interaction rather than a server-enforced rule.

    Subdomain 1.3:

    4.A field rep needs access to one Opportunity record owned by a colleague on a different team, and no sharing rule or role hierarchy relationship covers this one-off case. The owner is willing to grant access personally. Which mechanism fits this scenario?

    1. A.Manual sharing applied to that single Opportunity record by its owner
    2. B.A criteria-based sharing rule scoped across the whole Opportunity object
    3. C.A permission set that grants View All access on the Opportunity object
    4. D.A change to the organization-wide default sharing for Opportunities
    Show answer & explanation

    Correct answer: AManual sharing applied to that single Opportunity record by its owner

    • A. Correct. Manual sharing lets a record owner, or a user above them in the role hierarchy, grant access to one specific record for one user, matching this one-off exception outside of rules or hierarchy.
    • B. Incorrect. A criteria-based sharing rule extends access to every record matching defined field criteria for a whole group of users, which is broader than a single one-time grant on one record.
    • C. Incorrect. Granting View All through a permission set would expose every Opportunity record in the org to the rep, far more access than the single record needed here.
    • D. Incorrect. Changing the organization-wide default would affect record visibility for the entire organization rather than granting access to one colleague for one specific record.

    Subdomain 1.4:

    5.A company sets the Contact organization-wide default to Controlled by Parent, where the parent object is Account. If a user has Read/Write access to a given Account through a sharing rule, what access do they have to the Contacts related to that Account?

    1. A.The same Read/Write access, mirrored from whatever access level is granted on the parent
    2. B.No access to the Contacts unless a separate sharing rule is built directly on Contact
    3. C.Read Only access to the Contacts, capped there regardless of the Account access level
    4. D.Full Access to the Contacts, regardless of the actual access level on the parent Account
    Show answer & explanation

    Correct answer: AThe same Read/Write access, mirrored from whatever access level is granted on the parent

    • A. Controlled by Parent means the child record's sharing mirrors whatever access level the user has on the parent Account, so Read/Write access on the Account carries through to its related Contacts automatically.
    • B. Controlled by Parent is defined so that no separate sharing configuration on the child object is needed; access simply follows the parent, so requiring an extra rule on Contact directly contradicts how this setting works.
    • C. Controlled by Parent does not cap access at Read Only; it mirrors whatever level the user actually holds on the parent record, which in this case is Read/Write.
    • D. Controlled by Parent mirrors the exact access level granted on the parent, not an elevated Full Access level, so the Contact access matches the Read/Write level rather than exceeding it.

    Subdomain 1.5:

    6.What is a bucket field used for when building a report in Salesforce?

    1. A.Grouping field value ranges into custom categories, without changing data
    2. B.Restricting which users can view the report by their assigned role
    3. C.Scheduling the report to refresh and email a distribution list
    4. D.Converting a summary report into a matrix report format instead
    Show answer & explanation

    Correct answer: AGrouping field value ranges into custom categories, without changing data

    • A. A bucket field lets a report builder define custom buckets, such as grouping deal sizes into Small, Medium, and Large ranges, purely within the report so records can be grouped and summarized without altering any actual field values on the records.
    • B. Report visibility is controlled through folder sharing settings and the running user's object and record access, not through a bucket field, which only reshapes how existing values are grouped for display.
    • C. Scheduled refresh and email delivery of a report is configured through report subscriptions, an entirely separate feature from bucket fields.
    • D. Report format (tabular, summary, matrix, joined) is a separate setting chosen independently of bucket fields; a bucket field can be used within any of those formats but does not itself change the format.

    Domain 2: Data Modeling and Management

    Subdomain 2.1:

    7.A support team wants agents to select exactly one preferred contact method (Phone, Email, or SMS) for each Case, with the value constrained to a defined set of choices that appear as a dropdown. Which field type best meets this requirement?

    1. A.Picklist
    2. B.Multi-Select Picklist
    3. C.Text
    4. D.Checkbox
    Show answer & explanation

    Correct answer: APicklist

    • A. Picklist restricts entry to a predefined dropdown list and allows exactly one value to be selected per record, matching the requirement.
    • B. Multi-Select Picklist allows more than one value to be chosen at once, which does not match the requirement for exactly one contact method.
    • C. Text accepts any free-form input, so agents could enter values outside the intended set of contact methods.
    • D. Checkbox only stores a true or false value and cannot represent three distinct contact method options.

    Subdomain 2.1:

    8.Which of the following mechanisms can grant users additional access to records beyond what the organization-wide default allows, without lowering the organization-wide default itself? (Choose 3)(Select 3)

    1. A.Role hierarchy
    2. B.Sharing rules
    3. C.Manual sharing
    4. D.Field-level security
    5. E.Validation rules
    Show answer & explanation

    Correct answers: A, B, CRole hierarchy; Sharing rules; Manual sharing

    • A. Role hierarchy grants users above a record owner in the hierarchy access to that owner's records, widening access above the organization-wide default baseline.
    • B. Sharing rules automatically extend access to a defined set of users or roles who meet specified criteria, widening access above the baseline.
    • C. Manual sharing lets a user or admin grant access to an individual record on a case-by-case basis, widening access above the baseline.
    • D. Field-level security controls which fields are visible or editable on records a user can already access; it does not grant access to additional records.
    • E. Validation rules enforce data quality on save and have no effect on which users can view or edit which records.

    Subdomain 2.2:

    9.An admin is designing a junction object called Enrollment to represent a many-to-many relationship between Student and Course. Select all statements that correctly describe valid design considerations.(Select 3)

    1. A.The Enrollment object must be marked as an external object to support the two master-detail relationships.
    2. B.The Enrollment object can have at most two master-detail relationships, one to Student and one to Course.
    3. C.Roll-up summary fields cannot be created on the Enrollment object because it already has two masters.
    4. D.Fields unique to a specific enrollment, such as a grade, can be stored directly on the Enrollment object.
    5. E.A user must have read access to both the related Student and Course records to view an Enrollment record.
    Show answer & explanation

    Correct answers: B, D, EThe Enrollment object can have at most two master-detail relationships, one to Student and one to Course.; Fields unique to a specific enrollment, such as a grade, can be stored directly on the Enrollment object.; A user must have read access to both the related Student and Course records to view an Enrollment record.

    • A. External objects map to data stored outside Salesforce and cannot participate in native master-detail relationships, so marking Enrollment as external would break this design rather than enable it.
    • B. This is correct: a junction object is limited to two master-detail relationships, which is exactly the pattern needed to link Student and Course in a many-to-many model.
    • C. This is incorrect: a junction object can still have roll-up summary fields pointing up to either master, aggregating Enrollment data onto the Student or Course record.
    • D. This is correct: a junction object is a normal custom object, so it can hold fields specific to the relationship itself, such as a grade that applies only to that particular enrollment.
    • E. This is correct: since Enrollment depends on two master-detail relationships, a user needs read access to both the related Student and Course records to view the Enrollment record.

    Subdomain 2.3:

    10.A sales operations team currently uses a single-select picklist called Territory Region on the Opportunity object. They want opportunities to be tagged with more than one region going forward, so an app builder converts the field to a multi-select picklist. What happens to the picklist values already defined on the field?

    1. A.All currently defined picklist values are retained and remain available for selection on the new multi-select field.
    2. B.All picklist values are cleared and the app builder must recreate the full value list from scratch after conversion.
    3. C.Only the values currently selected on existing records are kept, while unused values in the list are removed.
    4. D.The values are retained but converted into a separate lookup object that opportunities now reference instead.
    Show answer & explanation

    Correct answer: AAll currently defined picklist values are retained and remain available for selection on the new multi-select field.

    • A. Converting a single-select picklist to a multi-select picklist keeps the existing value list intact, since the underlying set of options does not need to change for the field to support multiple selections. Existing records keep their previously selected value as well.
    • B. There is no wipe of the value list during this conversion, so recreating the values from scratch is unnecessary work that the platform does not require. The defined options carry over automatically.
    • C. Unused values in the picklist definition are not pruned just because no record currently selects them. The full value list, not just the values in active use, survives the conversion.
    • D. This conversion changes how many values a record can hold, not the underlying field type category from picklist to a relationship field. No new object or lookup relationship is created as part of it.

    Subdomain 2.4:

    11.An external object stores order records identified by a value in an External ID field, and the company wants each external order record to reference an existing standard Account record by matching against that Account's own External ID field. Which relationship type should the app builder create on the external object?

    1. A.External lookup relationship
    2. B.Indirect lookup relationship
    3. C.Master-detail relationship
    4. D.Hierarchical relationship
    Show answer & explanation

    Correct answer: AExternal lookup relationship

    • A. This relationship type links an external object to a parent record by matching the External ID or Salesforce record ID field on the parent, which is exactly the matching described. It is the standard way to connect external object rows to a parent that already carries a matching identifier.
    • B. This relationship type is used when the parent is a standard or custom object and the match instead relies on a custom checkbox field marked as unique alongside a text field on the parent, not on the parent's own External ID field. That is a different matching mechanism than the one described here.
    • C. This relationship type enforces cascading ownership and deletion between two Salesforce-native objects and is not available on external objects at all. It cannot be used to connect an external object to an Account.
    • D. This relationship type is limited to self-relationships on the User object for reporting structure, such as a manager field. It has no application to linking external object records to Accounts.

    Domain 3: Business Logic and Process Automation

    Subdomain 3.2:

    12.An app builder is reviewing an org's data model to decide where native roll-up summary fields can be added. Which of the following relationships are eligible for a native roll-up summary field? (Select all that apply.)(Select 3)

    1. A.Opportunity to Opportunity Product, where Opportunity Product is the detail side of a master-detail relationship.
    2. B.Account to Contact, where Contact links to Account through a standard lookup relationship.
    3. C.Invoice__c to Invoice_Line__c, where Invoice_Line__c is the detail side of a master-detail relationship.
    4. D.Case to Case Comment, where Case Comment links to Case through a lookup relationship.
    5. E.Account to Opportunity, where Opportunity links to Account through a master-detail relationship.
    Show answer & explanation

    Correct answers: A, C, EOpportunity to Opportunity Product, where Opportunity Product is the detail side of a master-detail relationship.; Invoice__c to Invoice_Line__c, where Invoice_Line__c is the detail side of a master-detail relationship.; Account to Opportunity, where Opportunity links to Account through a master-detail relationship.

    • A. Opportunity Product's master-detail link to Opportunity makes it a valid child object for a native roll-up summary field on Opportunity.
    • B. Contact relates to Account through a lookup relationship, and roll-up summary fields are never available across a lookup relationship.
    • C. Because Invoice_Line__c is the detail record in a master-detail relationship with Invoice__c, Invoice__c can host a roll-up summary field that aggregates Invoice_Line__c data.
    • D. Case Comment links to Case through a lookup relationship, so Case cannot have a native roll-up summary field that aggregates Case Comment records.
    • E. Opportunity is the detail side of a master-detail relationship with Account, so Account is eligible to host a roll-up summary field that aggregates Opportunity data.

    Subdomain 3.1:

    13.An Account needs a field showing the total Amount of all related Opportunities. An App Builder tries to build this with a formula field on Account that references the child Opportunities but finds no way to sum values across child records in the formula editor. What should the App Builder use instead to meet this requirement?

    1. A.A roll-up summary field on Account that sums the Amount field across the related Opportunities.
    2. B.A cross-object formula field on Account that walks up through the Opportunity relationship to reach the Amount field.
    3. C.A formula field on Opportunity that references the parent Account's existing Amount field and displays it back on Account.
    4. D.A validation rule on Account that recalculates the total each time an Opportunity is saved and stores it in a number field.
    Show answer & explanation

    Correct answer: AA roll-up summary field on Account that sums the Amount field across the related Opportunities.

    • A. A roll-up summary field is the declarative tool built specifically to aggregate values, such as a sum, from child records across a master-detail relationship, which is exactly what's needed here.
    • B. Cross-object formulas only traverse from a record down to its parents through lookup or master-detail relationships; they cannot reach across to child records to aggregate values.
    • C. Account has no native Amount field to reference, and even if it did, a formula on a single child Opportunity record can't sum values across every Opportunity related to the same Account.
    • D. Validation rules only block or allow a save based on a condition; they cannot calculate and write an aggregated value into another field, so they don't provide the automatic rollup behavior needed here.

    Subdomain 3.1:

    14.A discount-eligibility Checkbox formula field on Opportunity should return TRUE when the Amount is at least 10000 AND the Stage is 'Negotiation/Review', OR when the opportunity is flagged with the `VIP_Account` checkbox. Which formula matches this requirement?

    1. A.`OR(AND(Amount >= 10000, ISPICKVAL(StageName, "Negotiation/Review")), VIP_Account)`
    2. B.`AND(OR(Amount >= 10000, ISPICKVAL(StageName, "Negotiation/Review")), VIP_Account)`
    3. C.`AND(Amount >= 10000, ISPICKVAL(StageName, "Negotiation/Review"), VIP_Account)`
    4. D.`OR(Amount >= 10000, ISPICKVAL(StageName, "Negotiation/Review"), VIP_Account)`
    Show answer & explanation

    Correct answer: A`OR(AND(Amount >= 10000, ISPICKVAL(StageName, "Negotiation/Review")), VIP_Account)`

    • A. Grouping Amount and Stage inside an AND, then combining that result with VIP_Account inside an OR, exactly mirrors the requirement's structure of two independent qualifying paths.
    • B. Wrapping the whole expression in an outer AND with VIP_Account means VIP_Account must always be true for any record to qualify, which incorrectly blocks large deals in Negotiation/Review that aren't VIP accounts.
    • C. Requiring Amount, Stage, and VIP_Account all at once excludes deals that should qualify through only the amount-and-stage path or only the VIP path.
    • D. Treating Amount, Stage, and VIP_Account as three independent alternatives means a large deal in any stage, or any deal at all in Negotiation/Review, qualifies without needing amount and stage together.

    Subdomain 3.4:

    15.A business analyst wants a flow to run every Monday morning and close out Cases that have had no activity for 30 days. No user interaction or triggering record edit should be required to start the flow. Which flow type should the app builder configure?

    1. A.Schedule-Triggered Flow
    2. B.Screen Flow launched from the Case list view
    3. C.Record-Triggered Flow set to run on Case update
    4. D.Platform Event-Triggered Flow
    Show answer & explanation

    Correct answer: ASchedule-Triggered Flow

    • A. A schedule-triggered flow runs at a defined date, time, and frequency against a batch of records matching criteria, which fits a recurring Monday cleanup with no manual trigger.
    • B. A screen flow requires a user to open and run it manually, which does not satisfy the requirement of automatic weekly execution.
    • C. A record-triggered flow only fires when a specific record is created, updated, or deleted, not on a recurring calendar schedule independent of record edits.
    • D. A platform event-triggered flow fires when an event message is published, not on a fixed weekly time interval unrelated to any event.

    Subdomain 3.3:

    16.A data migration team needs to bulk-load thousands of legacy Opportunity records through Data Loader, but a validation rule blocking a blank Next_Steps__c on Closed Won records is rejecting most rows because the historical data lacks that field. What should the App Builder do to complete the load without weakening the rule long-term?

    1. A.Temporarily deactivate the validation rule, run the Data Loader import, and then reactivate the rule once the load finishes.
    2. B.Permanently delete the validation rule so that historical records never trigger it again during any future data load.
    3. C.Ask the migration team to manually populate Next_Steps__c on each rejected row before resubmitting the entire batch.
    4. D.Grant the migration user's profile the "Modify All Data" permission so the validation rule is skipped for their inserts.
    Show answer & explanation

    Correct answer: ATemporarily deactivate the validation rule, run the Data Loader import, and then reactivate the rule once the load finishes.

    • A. This is correct because deactivating a validation rule is a reversible setting change; it lets the historical load through and the rule can be turned back on immediately afterward to keep protecting normal data entry.
    • B. Deleting the rule removes the protection permanently, which fails the goal of preserving the rule long-term and would require it to be recreated from scratch afterward.
    • C. Manually populating a field on thousands of legacy rows is impractical at this scale and does not represent an efficient way to complete a bulk migration.
    • D. "Modify All Data" grants broad record access but does not cause validation rules to be skipped during save, so the load would still be rejected.

    Subdomain 3.3:

    17.The App Builder wants to enforce data quality broadly with validation rules while still allowing legitimate exceptions for automation and integrations. Which of the following are valid declarative techniques to build into a validation rule's formula for this purpose?(Select 3)

    1. A.Reference a custom permission with `$Permission.PermissionName` so that specific integration users are exempted.
    2. B.Wrap the condition in `ISNEW()` so the rule fires only when records are first created, not on later automated updates.
    3. C.Reference `$Setup.MyCustomSetting__c.BypassValidation__c` to control the rule through a custom setting value.
    4. D.Add a `try`/`catch` block around the formula so the rule silently skips any record that would otherwise fail.
    5. E.Reference `Trigger.isExecuting` in the formula to detect and skip updates made from an Apex trigger.
    Show answer & explanation

    Correct answers: A, B, CReference a custom permission with `$Permission.PermissionName` so that specific integration users are exempted.; Wrap the condition in `ISNEW()` so the rule fires only when records are first created, not on later automated updates.; Reference `$Setup.MyCustomSetting__c.BypassValidation__c` to control the rule through a custom setting value.

    • A. This is correct because custom permissions can be checked directly in a validation rule formula and granted through a permission set, giving a precise, declarative way to exempt specific users.
    • B. This is correct because gating the rule on `ISNEW()` is a standard declarative technique to limit when the rule evaluates, such as excluding later automated field updates on existing records.
    • C. This is correct because a custom setting value can be read with `$Setup` merge syntax inside a formula, letting administrators toggle the rule's behavior without editing the rule itself.
    • D. Validation rule formulas are declarative expressions, not procedural code, so there is no `try`/`catch` construct available for use inside them.
    • E. `Trigger.isExecuting` is an Apex context variable available only inside trigger code; it cannot be referenced inside a declarative validation rule formula.

    Subdomain 3.5:

    18.An employee submitted a purchase request for approval but immediately realized they entered the wrong cost center, and the approval process has been configured to allow submitters to recall requests. What should the employee do to correct the mistake before anyone approves it?

    1. A.Recall the pending approval request, correct the cost center on the record, and resubmit it for approval.
    2. B.Contact the assigned approver and ask them to manually reject the request so it can be edited afterward.
    3. C.Wait for the request to be approved first, then edit the cost center on the now-unlocked record.
    4. D.Create an entirely new record with the correct cost center and leave the original pending request unresolved.
    Show answer & explanation

    Correct answer: ARecall the pending approval request, correct the cost center on the record, and resubmit it for approval.

    • A. Recalling the request pulls it out of the approval process so the record becomes editable again, letting the employee fix the cost center and resubmit, which is exactly what the recall action is designed for.
    • B. Asking the approver to reject the request depends on that person's availability and turns a self-service correction into an unnecessary rejection on the approval record, when a recall achieves the same result directly.
    • C. Waiting for approval first would let an incorrect cost center pass through the approval process, and only then editing it undermines the accuracy of what was actually reviewed and approved.
    • D. Creating a duplicate record leaves the original erroneous request pending and unresolved, creating confusion and a stray approval instance instead of cleanly correcting the mistake.

    Subdomain 3.7:

    19.A scheduled-triggered flow runs nightly and has been failing intermittently for a week, but the on-call admin only became aware of it today when a business user complained. Going forward, what should the admin add to the flow to be proactively notified the next time it fails?

    1. A.A fault path on the elements most likely to fail, connected to a Send Email action addressed to the admin
    2. B.A additional scheduled path that reruns the entire flow every hour regardless of outcome
    3. C.A formula field on the triggering object that displays the flow's last run status
    4. D.A duplicate rule that prevents the triggering records from being created in the first place
    Show answer & explanation

    Correct answer: AA fault path on the elements most likely to fail, connected to a Send Email action addressed to the admin

    • A. Attaching a fault path to the elements likely to error and routing it to a Send Email action gives the admin an immediate, targeted notification the moment that specific failure occurs.
    • B. Rerunning the whole flow hourly does not add any failure notification and could compound the problem by repeating whatever caused the original failure.
    • C. A formula field can only reference stored field values on a record; a flow does not automatically write its run status to a field, so this would not reflect failures without additional automation to populate it.
    • D. A duplicate rule controls whether near-identical records can be saved and has no relationship to detecting or reporting a scheduled flow's execution failures.

    Subdomain 3.6:

    20.An admin needs a nightly job that scans all open Opportunities, flags any with no activity in the last 30 days, and updates a Stalled field on each one. No specific record edit should kick this off; it must run automatically every night. Which flow type meets this requirement?

    1. A.Schedule-Triggered Flow
    2. B.Record-Triggered Flow
    3. C.Screen Flow
    4. D.Platform Event-Triggered Flow
    Show answer & explanation

    Correct answer: ASchedule-Triggered Flow

    • A. This flow type runs asynchronously at a time and frequency the admin defines, which matches the need for a nightly batch scan across many records.
    • B. This flow type only fires when a specific record is created or updated, so it cannot proactively scan the whole Opportunity object on a nightly basis.
    • C. This flow type requires a user to launch it and interact with screens, so it cannot run unattended every night.
    • D. This flow type waits for an external or internal event message to be published and has no concept of a recurring nightly schedule.

    Subdomain 3.6:

    21.An app builder is configuring the start element of a Record-Triggered Flow and reviewing which data events can be selected to launch it. Which of the following are valid triggering events for this flow type? (Select 3)(Select 3)

    1. A.A record is created
    2. B.A record is updated
    3. C.A record is deleted
    4. D.A record is viewed
    5. E.A record is scheduled
    Show answer & explanation

    Correct answers: A, B, CA record is created; A record is updated; A record is deleted

    • A. Creation of a matching record is one of the valid data events an app builder can choose to start this flow type.
    • B. An edit to a matching record is one of the valid data events an app builder can choose to start this flow type.
    • C. Deletion of a matching record is one of the valid data events an app builder can choose to start this flow type.
    • D. Merely viewing a record is not a data change and is not exposed as a triggering event for this flow type.
    • E. There is no "scheduled" data event for this flow type; recurring timing is a characteristic of a different flow type entirely.

    Subdomain 3.8:

    22.Whenever an opportunity's stage changes to Closed Won, the org must always set a single checkbox field to true, with no variation and no natural-language interpretation involved. Which tool should the app builder recommend instead of building a new agent?

    1. A.A record-triggered Flow that updates the checkbox field when the stage changes
    2. B.An Agentforce agent configured with a topic that watches the opportunity stage
    3. C.An Agentforce action that calls a prompt template to interpret the stage value
    4. D.An Agentforce topic with instructions describing when to check the checkbox
    Show answer & explanation

    Correct answer: AA record-triggered Flow that updates the checkbox field when the stage changes

    • A. A deterministic, always-the-same field update with no interpretation needed is exactly the case for a record-triggered Flow, which is simpler and more predictable than configuring a conversational agent for a fixed rule.
    • B. Building an agent topic for a single deterministic condition adds unnecessary conversational overhead when no natural-language interpretation or varied handling is required.
    • C. Using a prompt template to interpret a stage value that always maps to the same fixed outcome introduces unneeded variability where a strict, repeatable rule is required.
    • D. Writing natural-language instructions for a topic is intended for tasks requiring interpretation, not for a single field update that must happen identically every time.

    Domain 4: User Interface

    Subdomain 4.1:

    23.A sales manager wants the "Approve Discount" button to appear on the Opportunity record page only when the logged-in user has the Sales Manager profile and only when viewing the record in the Salesforce mobile app. Which approach meets both conditions declaratively?

    1. A.Configure a dynamic action visibility filter on the button in Lightning App Builder that combines a profile-based condition with a device-type condition.
    2. B.Create two separate page layouts, one assigned to the Sales Manager profile and one for mobile users, each with the button added independently.
    3. C.Build a validation rule that blocks the Approve Discount action from saving unless the running user's profile is Sales Manager.
    4. D.Add the button to a global publisher layout and rely on the mobile app's default behavior to hide global actions from non-manager profiles.
    Show answer & explanation

    Correct answer: AConfigure a dynamic action visibility filter on the button in Lightning App Builder that combines a profile-based condition with a device-type condition.

    • A. Dynamic action visibility filters can combine multiple conditions, including running-user profile and device type, so a single filter on the button enforces both requirements at once.
    • B. Page layouts don't support device-based visibility, and maintaining duplicate layouts would not restrict the button by device type at all.
    • C. A validation rule fires on save and can block a record, but it cannot control whether a button is rendered on the page for a given profile or device.
    • D. Global publisher layouts don't apply device- or profile-based hiding automatically, so this would not restrict the button to Sales Manager users on mobile.

    Subdomain 4.1:

    24.An app builder is redesigning the Opportunity Lightning record page to reduce clutter and tailor the experience for different sales roles, using only declarative tools. Which two actions align with the goals of Dynamic Forms and Dynamic Actions? (Select 2)(Select 2)

    1. A.Move the most-used Opportunity fields into page-canvas field sections and add visibility rules that hide them for certain record types.
    2. B.Add visibility filters to the record page's action buttons so only actions matching the user's profile and record stage appear.
    3. C.Write an Apex trigger that recalculates and reorders every page field based on the running user's role each time the record loads.
    4. D.Replace every existing page layout org-wide with one Visualforce page that renders identical fields for every profile and role.
    5. E.Disable field-level security on every Opportunity field so all users see every field regardless of their assigned role.
    Show answer & explanation

    Correct answers: A, BMove the most-used Opportunity fields into page-canvas field sections and add visibility rules that hide them for certain record types.; Add visibility filters to the record page's action buttons so only actions matching the user's profile and record stage appear.

    • A. Moving fields onto the record page with Dynamic Forms and layering visibility rules is exactly the declarative pattern for role- and record-type-based field tailoring without maintaining separate page layouts.
    • B. Dynamic action visibility filters let buttons appear only for the profiles and record states where they're relevant, directly reducing clutter for other roles without any code.
    • C. Reordering fields with an Apex trigger each time a record loads is a programmatic solution outside the declarative toolkit the scenario calls for, and it is not how Dynamic Forms achieves conditional layout.
    • D. A single Visualforce page rendering identical fields for everyone works against the stated goal of tailoring the experience per role and reintroduces a legacy, code-based UI technology.
    • E. Removing field-level security exposes every field to every user, which increases clutter and risk rather than tailoring the page to reduce it.

    Subdomain 4.2:

    25.A Service Cloud admin wants to add a one-click action to the Account record page's Highlights Panel that creates a new Contact and automatically sets that Contact's Account lookup to the current record, without asking the rep to search for the account. Which configuration meets this requirement?

    1. A.Create an object-specific Create a Record action on Contact, add it to Account's actions, and set a predefined field value mapping the Account lookup to the current record.
    2. B.Create a global Create a Record quick action for Contact and add it to the Account record page, since global actions inherit the current record's context automatically.
    3. C.Add a custom button on Account with a URL content source that opens the standard New Contact page, passing the Account Id as a query string parameter for the rep to review.
    4. D.Create a custom link on the Account page layout that opens the Contact list view already filtered by that Account, then let the rep click New from there to add a Contact.
    Show answer & explanation

    Correct answer: ACreate an object-specific Create a Record action on Contact, add it to Account's actions, and set a predefined field value mapping the Account lookup to the current record.

    • A. An object-specific Create a Record action on Contact can carry a predefined field value that maps the Account lookup to the record the action was launched from, so the new Contact is tied to the Account with no extra clicks. This satisfies both the one-click and automatic-relationship parts of the requirement.
    • B. Global actions are not tied to a specific object's context, so a global Create a Record action for Contact would not automatically know which Account it was launched from. The rep would still need to manually set the Account lookup after the record is created.
    • C. A URL-based custom button that opens the standard New Contact page requires a full page navigation and still leaves the rep reviewing a form rather than getting a true one-click, prefilled creation experience. It also does not use the action framework the Highlights Panel expects.
    • D. Opening a filtered list view and clicking New there adds an extra navigation step and does not prefill the Account relationship automatically, so it does not meet the one-click requirement described in the scenario.

    Subdomain 4.2:

    26.A vendor requires that clicking a button on the Opportunity detail page open their external quoting portal in a new browser tab, passing the current Opportunity Id in the URL so the portal can look up the deal. Which configuration achieves this?

    1. A.Create a custom button on Opportunity with URL as the content source, reference the record Id merge field in the URL, and set the behavior to open a new window.
    2. B.Create a custom button on Opportunity with Visualforce Page as the content source, and embed an iframe pointing to the vendor's portal inside the Salesforce window.
    3. C.Create a Lightning web component custom action on Opportunity that calls an Apex method to redirect the browser to the vendor's portal address.
    4. D.Create a custom link on Opportunity that opens the vendor's portal homepage, then have the rep manually search for the matching deal once inside.
    Show answer & explanation

    Correct answer: ACreate a custom button on Opportunity with URL as the content source, reference the record Id merge field in the URL, and set the behavior to open a new window.

    • A. A URL-content-source button lets the admin reference the record Id merge field directly in the target address and set the open behavior to a new window, which is exactly how an external portal is launched with the Opportunity Id attached.
    • B. A Visualforce page embedding the vendor's portal in an iframe keeps the rep inside the Salesforce window rather than opening a separate browser tab, and many external sites block being framed this way.
    • C. Building a Lightning web component with an Apex redirect is far more setup than the requirement calls for, and it does not natively guarantee a new-tab launch the way a URL button's window behavior setting does.
    • D. Linking only to the portal homepage does not pass the Opportunity Id, so the rep would have to manually search for the matching deal, which fails the lookup requirement.

    Subdomain 4.3:

    27.Which statement correctly describes how a Lightning web component becomes available for an app builder to drag onto a page in Lightning App Builder?

    1. A.The component's configuration file must expose the relevant record, app, or Home page target so App Builder lists it
    2. B.The component must first be manually registered in Setup under Lightning Component Tabs before App Builder shows it
    3. C.The component must be assigned to a permission set that includes the specific App Builder page it will be placed on
    4. D.The component must already be added to a page layout through the page layout editor before App Builder recognizes it
    Show answer & explanation

    Correct answer: AThe component's configuration file must expose the relevant record, app, or Home page target so App Builder lists it

    • A. A Lightning web component only shows up in the App Builder component palette when its configuration file declares support for the applicable target, such as lightning__RecordPage, lightning__AppPage, or lightning__HomePage, which is the mechanism that exposes it for declarative placement.
    • B. Creating a Lightning Component tab is a separate way to expose a component in app navigation, but it is not a prerequisite for the component to appear in the App Builder palette.
    • C. Permission sets control user access to features and objects, not whether a component is listed in the Lightning App Builder palette for placement on a page.
    • D. Page layouts govern field and related-list placement on the classic layout and have no role in registering a Lightning component for use in App Builder.

    Subdomain 4.3:

    28.An app builder needs to let users launch a multi-step Screen Flow directly from a Contact record page, alongside the existing related lists and fields. Which declarative method places the Flow on that page?

    1. A.Drag the standard Flow component onto the Contact Record Page in Lightning App Builder and select the Screen Flow
    2. B.Add the Flow's API name to the page layout's Related List section by editing that section in the layout editor
    3. C.Create a custom Visualforce page that embeds the Flow, then add that page to the Contact page layout directly
    4. D.Assign the Flow to the Contact object's compact layout so that it renders inside the record's Highlights Panel
    Show answer & explanation

    Correct answer: ADrag the standard Flow component onto the Contact Record Page in Lightning App Builder and select the Screen Flow

    • A. Lightning App Builder includes a standard Flow component that an app builder can drag onto a record page and configure to run a specific Screen Flow, which is the direct declarative path for embedding a flow on a record page.
    • B. Related lists in the page layout editor display child records or associated lists, and there is no mechanism to attach a flow to a related list section.
    • C. Embedding a flow through a custom Visualforce page requires building and maintaining Visualforce markup, which is a programmatic approach rather than a declarative Lightning App Builder option.
    • D. Compact layouts control which fields appear in the Highlights Panel and related summary views; they do not support embedding an interactive flow.

    Subdomain 4.5:

    29.Which two configuration steps are needed for a custom object-specific quick action to appear correctly in the action bar on that object's mobile record page? (Choose 2)(Select 2)

    1. A.Create the quick action on the object and define the fields and predefined values it should use
    2. B.Add the quick action to the Salesforce Mobile and Lightning Experience Actions section of the object's page layout
    3. C.Enable the action explicitly in the org's mobile app branding settings
    4. D.Add the quick action to the global publisher layout so it is available across all objects
    5. E.Grant the action visibility through a permission set that lists individual actions by API name
    Show answer & explanation

    Correct answers: A, BCreate the quick action on the object and define the fields and predefined values it should use; Add the quick action to the Salesforce Mobile and Lightning Experience Actions section of the object's page layout

    • A. The quick action itself must first be created on the object, specifying its type, layout fields, and any predefined field values, since this defines what the action does before it can be exposed anywhere.
    • B. Once created, the action must be added to the object's page layout in the Salesforce Mobile and Lightning Experience Actions section so it actually renders in the action bar for records of that object, including on mobile.
    • C. Mobile app branding settings control visual elements like logos and colors for the Salesforce mobile app; they do not control whether an individual quick action is enabled or visible.
    • D. The global publisher layout is used for global actions that are not tied to a specific object, so adding an object-specific action there is not a valid or necessary configuration step.
    • E. Standard action visibility on a page layout is not granted through a permission set naming individual actions; access is governed by page layout assignment and field-level or object-level permissions, not an action-specific permission set list.

    Subdomain 4.5:

    30.A retail operations manager notices that field reps on the mobile app rarely use the "New Task" and "New Event" actions on the Account action bar, while "Log a Call" and "New Case" are used constantly throughout the day. To streamline the mobile experience with minimal disruption, what should the app builder do first?

    1. A.Reorder the Account page layout's mobile actions section so Log a Call and New Case appear first, and remove or deprioritize the rarely used actions
    2. B.Deactivate the Task and Event objects org-wide so their actions can no longer appear anywhere
    3. C.Create a new Lightning app exclusively for the reps that hides the Account tab entirely
    4. D.Rebuild the Account record page from scratch using only custom Lightning web components
    Show answer & explanation

    Correct answer: AReorder the Account page layout's mobile actions section so Log a Call and New Case appear first, and remove or deprioritize the rarely used actions

    • A. Reordering the mobile actions section of the Account page layout to prioritize frequently used actions like Log a Call and New Case, while removing or pushing down rarely used ones, directly reduces friction for reps with a low-effort, targeted change.
    • B. Deactivating the Task and Event objects org-wide would remove functionality used elsewhere in the org for activity tracking and reporting, which is a far more disruptive change than simply adjusting one object's action layout.
    • C. Hiding the Account tab in a new Lightning app would prevent reps from navigating to Account records at all, which does not solve the actual problem of action bar clutter and would break their workflow.
    • D. Rebuilding the entire record page with only custom components is a much larger effort than necessary and does not directly address the specific issue of action ordering, which is controlled by the page layout rather than page components.

    Subdomain 4.4:

    31.Which two conditions must both be true in a Lightning web component's `.js-meta.xml` file for it to appear as an option in the Lightning App Builder component list?(Select 2)

    1. A.The `.js-meta.xml` file sets the component's `isExposed` element to `true`.
    2. B.The `.js-meta.xml` file declares at least one `<target>` for a supported Lightning page.
    3. C.The component's `masterLabel` element contains more than ten characters.
    4. D.The component defines a `targetConfig` block with one configurable `property` element.
    5. E.The component's Apex controller class is declared `global` instead of `public`.
    Show answer & explanation

    Correct answers: A, BThe `.js-meta.xml` file sets the component's `isExposed` element to `true`.; The `.js-meta.xml` file declares at least one `<target>` for a supported Lightning page.

    • A. This flag is the master switch that tells the platform the component is meant to be surfaced in page-building tools at all; without it, no target declaration matters.
    • B. A target names a specific Lightning page type the component can be dragged onto, and at least one is required alongside the exposure flag for the component to show up anywhere in App Builder.
    • C. The label's length has no bearing on eligibility; a short label displays fine in the component list and does not block or enable exposure.
    • D. A configurable property block is optional and only matters for components that need admin-settable values; components with no configurable properties at all can still be exposed and placed.
    • E. Apex controller method visibility affects what other Apex or external code can call, not whether the component itself is listed in the App Builder panel.

    Domain 5: App Deployment

    Subdomain 5.1:

    32.An ISV plans to build and sell an application on AppExchange, wants to protect its intellectual property by keeping certain Apex classes and components hidden or read-only in subscriber orgs, and needs a controlled mechanism to push version upgrades to all customers. Which package type fits this need?

    1. A.Managed package
    2. B.Unlocked package
    3. C.Unmanaged package
    4. D.Change set
    Show answer & explanation

    Correct answer: AManaged package

    • A. This package type lets a publisher hide implementation details, mark components as locked or read-only in the installing org, and push upgrades through the AppExchange distribution model, matching IP protection and controlled upgrades.
    • B. This package type leaves all components fully editable in the installing org and targets modular, source-driven internal development rather than IP-protected commercial distribution.
    • C. This package type installs fully editable components with no upgrade path, which does not protect IP or support delivering controlled version upgrades to customers.
    • D. This mechanism moves metadata only between connected orgs and offers no packaging, IP protection, or AppExchange distribution capability.

    Subdomain 5.3:

    33.What is the primary characteristic that differentiates a managed package's components from an unmanaged package's components once installed in a subscriber org?

    1. A.Managed package components are hidden and cannot be directly modified by administrators in the subscriber org, while unmanaged package components remain fully editable.
    2. B.Managed package components can only run in production orgs, while unmanaged package components require a sandbox for testing before use.
    3. C.Unmanaged package components automatically receive security patches from Salesforce, while managed package components require the installer to update Apex code manually.
    4. D.Unmanaged package components appear only in the AppExchange marketplace, while managed package components are limited to internal Chatter groups for distribution.
    Show answer & explanation

    Correct answer: AManaged package components are hidden and cannot be directly modified by administrators in the subscriber org, while unmanaged package components remain fully editable.

    • A. Managed packages lock most components so subscribers cannot directly edit them in Setup, which protects the vendor's intellectual property, while unmanaged package components stay fully editable after installation.
    • B. Both managed and unmanaged packages can be installed and tested in sandboxes before moving to production; the packaging type does not restrict which org type a package can run in.
    • C. Unmanaged packages have no vendor-controlled update mechanism, so Salesforce does not push automatic patches to their components; a managed package's Apex updates instead ship through vendor-released versions.
    • D. Where a package is distributed, such as the AppExchange versus internal sharing, is a separate decision from whether it is managed or unmanaged, and neither type is limited to Chatter groups.

    Subdomain 5.2:

    34.A Platform App Builder is deploying a change set that includes a custom app and several custom objects. Which of the following are true limitations to consider when using change sets for this deployment? (Choose 2)(Select 2)

    1. A.Action overrides can be deployed for the custom objects and apps in the set, but not for any standard objects included alongside them
    2. B.If any single component in the change set fails during deployment, the whole transaction rolls back instead of deploying only the successful pieces
    3. C.Change sets automatically convert all included custom objects into a managed package before transferring them over to the target org
    4. D.Change sets require every custom object referenced anywhere in the org, not just the ones selected, to be included in the same set
    5. E.Change sets can only ever be uploaded to a target org during Salesforce's officially scheduled major release upgrade maintenance windows each cycle
    Show answer & explanation

    Correct answers: A, BAction overrides can be deployed for the custom objects and apps in the set, but not for any standard objects included alongside them; If any single component in the change set fails during deployment, the whole transaction rolls back instead of deploying only the successful pieces

    • A. Change sets support deploying action overrides for custom objects and custom apps, but this capability does not extend to standard objects, which is a documented restriction of the tool.
    • B. Change set deployments are atomic, single transactions, so a single failing component causes the whole change set to roll back instead of partially applying the successful pieces.
    • C. Change sets never convert their contents into a managed package; packaging is a completely separate deployment mechanism from the change set workflow.
    • D. Only the components an admin explicitly selects, along with their required dependencies, need to be included, not every custom object that exists anywhere in the org.
    • E. Change sets can be uploaded and deployed at any time outside of production maintenance windows; there is no restriction tying them to scheduled major release upgrades.

    Subdomain 5.4:

    35.A company builds internal Salesforce apps for its own multiple business units, all on orgs it owns, and wants a deployment vehicle that supports versioning, clean upgrades, and a source-of-truth in version control, without needing a registered namespace or AppExchange listing. Which deployment approach fits best?

    1. A.A managed package published through the AppExchange with a registered namespace for IP protection
    2. B.An unmanaged package uploaded once from a packaging org and reinstalled manually whenever changes are needed
    3. C.An unlocked package built with second-generation packaging, tracked in source control across the org pipeline
    4. D.A change set promoted directly from a full sandbox into each business unit's production org connection
    Show answer & explanation

    Correct answer: CAn unlocked package built with second-generation packaging, tracked in source control across the org pipeline

    • A. A managed package requires a registered namespace and is built for ISVs distributing to external customers through the AppExchange, which does not match this internal, non-ISV use case.
    • B. An unmanaged package is a one-time, non-upgradeable copy of metadata, so it cannot provide the clean versioned upgrade path this scenario asks for.
    • C. Unlocked packages, built on second-generation packaging, are the current best practice for internal, non-ISV development: they require no namespace, are driven from source control, and support clean versioned upgrades across an org pipeline.
    • D. Change sets move metadata directly between connected orgs without a source-controlled, versioned package artifact, so they do not give the reusable upgrade path this scenario requires.

    Want the full experience?

    These are just samples. Practice the full Salesforce Certified Platform App Builder question bank in quiz mode — free, no signup, with domain practice and exam simulation.