Praxis Academy
Home › Platform App Builder › Business Logic and Process Automation

Platform App Builder practice questions: Business Logic and Process Automation

Business Logic and Process Automation is 32% of the Salesforce Certified Platform App Builder exam. It covers Flow, validation rules, formulas and approvals. Try these 14 free questions, then open each answer to see why every option is right or wrong.

01

A medical-devices company wants the Stage_Last_Changed__c date field on an opportunity to be stamped every time StageName changes. What should the Platform App Builder build?

  1. A before-save record-triggered flow on Opportunity that sets Stage_Last_Changed__c to today's date whenever StageName changes
  2. An after-save record-triggered flow with a scheduled path that sets Stage_Last_Changed__c to today's date one hour after the change
  3. An approval process on Opportunity that uses Update Records to set Stage_Last_Changed__c to today's date whenever StageName changes
  4. An autolaunched flow started from a custom button, which the user clicks after changing StageName, to set Stage_Last_Changed__c to today's date
Show answer

Answer: A

A. A before-save record-triggered flow on Opportunity that sets Stage_Last_Changed__c to today's date whenever StageName changes ✓Correct. A before-save flow updates the triggering record without extra DML, making it the most efficient way to stamp the date.
B. An after-save record-triggered flow with a scheduled path that sets Stage_Last_Changed__c to today's date one hour after the changeIncorrect. The scheduled path delays the update by an hour and is less efficient than a before-save update.
C. An approval process on Opportunity that uses Update Records to set Stage_Last_Changed__c to today's date whenever StageName changesIncorrect. Approval processes route records for approval; they are not meant to stamp a field on each stage change.
D. An autolaunched flow started from a custom button, which the user clicks after changing StageName, to set Stage_Last_Changed__c to today's dateIncorrect. A button-launched flow depends on the user remembering to click, so it isn't automatic.

Why: Only a field on the triggering record needs to change, so a before-save flow is ideal: it updates the record while it is being saved, with no extra DML. Salesforce recommends before-save flows for same-record field updates because they are the fastest option.

02

A Platform App Builder finds that several accounts created through lead conversion lack information that Account validation rules were expected to enforce. What explains this problem?

  1. Account validation rules are not evaluated on records created through lead conversion.
  2. Lead settings let users deliberately skip validation rules.
  3. In lead settings, the option to require validation for converted leads is unchecked.
  4. Lead validation rules are not evaluated on records while they are being converted.
Show answer

Answer: D

A. Account validation rules are not evaluated on records created through lead conversion.Incorrect. Account validation rules do run on records created by lead conversion.
B. Lead settings let users deliberately skip validation rules.Incorrect. No lead setting exists that lets users deliberately bypass validation rules.
C. In lead settings, the option to require validation for converted leads is unchecked.Incorrect. 'Require Validation for Converted Leads' governs validation and triggers during conversion and, per the source, doesn't explain the missing account data here.
D. Lead validation rules are not evaluated on records while they are being converted. ✓Correct. Lead validation rules don't fire during conversion, so leads with gaps convert and carry those gaps into the new accounts.

Why: The gap is on the Lead side: lead validation rules are not enforced during conversion, so a lead missing data can still be converted and pass that missing data into the new account, where Account validation rules never get a chance to catch it.

03

A company needs to gather input from a user and then use it to update a related Account record. Which flow type and element combination should the Platform App Builder use?

  1. Autolaunched flow with a Screen element and an Update Records element
  2. Record-triggered flow with a Screen element and a Create Records element
  3. Schedule-triggered flow with an Assignment element and a Create Records element
  4. Screen flow with Screen elements and an Update Records element
Show answer

Answer: D

A. Autolaunched flow with a Screen element and an Update Records elementIncorrect. Autolaunched flows have no user interface, so they can't include Screen elements.
B. Record-triggered flow with a Screen element and a Create Records elementIncorrect. Record-triggered flows can't show screens, and the need is to update, not create.
C. Schedule-triggered flow with an Assignment element and a Create Records elementIncorrect. Schedule-triggered flows run without a user, and Create Records doesn't update the account.
D. Screen flow with Screen elements and an Update Records element ✓Correct. Screen elements collect the input, then Update Records saves it to the related account.

Why: Collecting input from a user requires a screen flow, the only type that displays interactive screens. Screen elements gather the input, and an Update Records element then writes those values to the related Account.

04

A company must stop sales users from saving Opportunity Products whose discount exceeds 15%. How should this be configured?

  1. A validation rule on the Opportunity Product record
  2. An approval process fired by updates to Opportunity Products
  3. A validation rule on the Opportunity record
  4. A Big Deal alert on the Opportunity record
Show answer

Answer: A

A. A validation rule on the Opportunity Product record ✓Correct. The discount is on Opportunity Product, so a validation rule there blocks line items over 15%.
B. An approval process fired by updates to Opportunity ProductsIncorrect. An approval process reviews a record after saving; it doesn't stop the save.
C. A validation rule on the Opportunity recordIncorrect. The discount field lives on Opportunity Product, not Opportunity.
D. A Big Deal alert on the Opportunity recordIncorrect. Big Deal alerts notify about large opportunities; they don't block saves.

Why: The discount is stored on each line item (Opportunity Product), not on the Opportunity. A validation rule on Opportunity Product runs at save time and rejects any line item with a discount above 15%.

05

A company needs automation that runs each Sunday at 2:00 a.m. It must set the custom checkbox Inactive__c to True on every account whose standard Last Activity Date is older than 90 days. All account records must be evaluated, and the job must recur weekly. Which flow design should the Platform App Builder choose?

  1. A record-triggered flow on Account with a scheduled path running 90 days after each Account's Last Activity Date
  2. An autolaunched flow that an app builder schedules for every Sunday at 2:00 a.m.
  3. A schedule-triggered flow on Account with Weekly frequency, a Sunday 2:00 a.m. start time, and entry conditions selecting Accounts whose Last Activity Date is older than 90 days
  4. A schedule-triggered flow on Account with Once frequency for the coming Sunday at 2:00 a.m., and entry conditions selecting Accounts whose Last Activity Date is older than 90 days
Show answer

Answer: C

A. A record-triggered flow on Account with a scheduled path running 90 days after each Account's Last Activity DateIncorrect. Scheduled paths fire per record from a trigger event, not as a weekly sweep of all accounts.
B. An autolaunched flow that an app builder schedules for every Sunday at 2:00 a.m.Incorrect. A plain autolaunched flow isn't scheduled; that is the role of a schedule-triggered flow.
C. A schedule-triggered flow on Account with Weekly frequency, a Sunday 2:00 a.m. start time, and entry conditions selecting Accounts whose Last Activity Date is older than 90 days ✓Correct. A weekly schedule-triggered flow on Sunday at 2:00 a.m. with entry conditions on Last Activity Date evaluates every qualifying account.
D. A schedule-triggered flow on Account with Once frequency for the coming Sunday at 2:00 a.m., and entry conditions selecting Accounts whose Last Activity Date is older than 90 daysIncorrect. A 'Once' frequency runs a single time, not every Sunday.

Why: A schedule-triggered flow is designed to run on a recurring schedule against a batch of records. Weekly frequency starting Sunday at 2:00 a.m. matches the timing, and entry conditions pull in every Account meeting the 90-day rule on each run.

06

A round-the-clock support center needs a guided wizard that walks customer service reps through a standard troubleshooting script. The process must collect user input at several points and create a follow-up case when it finishes. Which flow type provides this interactive interface?

  1. Screen flow
  2. Schedule-triggered flow
  3. Record-triggered flow
  4. Platform event-triggered flow
Show answer

Answer: A

A. Screen flow ✓Correct. A screen flow guides reps through the script, captures input on each screen, and creates the follow-up case at the end.
B. Schedule-triggered flowIncorrect. Schedule-triggered flows run in the background without screens.
C. Record-triggered flowIncorrect. Record-triggered flows run on record changes without screens.
D. Platform event-triggered flowIncorrect. Platform event-triggered flows run when events arrive and have no user interface.

Why: A screen flow is the only flow type that shows interactive screens for user input. It can be built as a multi-step wizard through the script and finish with a Create Records element to create the follow-up case.

07

Before an Opportunity can move into the Qualified stage, a life-sciences firm requires the Expected_Close_Date__c field to have a value. Which option lets a Platform App Builder enforce this most efficiently?

  1. Page layout
  2. Validation rule
  3. Lookup auto-completion
  4. Record-triggered flow
Show answer

Answer: B

A. Page layoutIncorrect. Marking the field required on a layout makes it mandatory at every stage, not only Qualified.
B. Validation rule ✓Correct. One formula detects Stage = Qualified with an empty Expected_Close_Date__c and prevents the save.
C. Lookup auto-completionIncorrect. Lookup auto-completion only speeds up searching for lookup records; it enforces nothing.
D. Record-triggered flowIncorrect. A flow could achieve it, but a validation rule is simpler and designed for exactly this.

Why: The requirement is conditional: the date is mandatory only when the Stage becomes Qualified, and the check must happen at save time. A validation rule handles this natively. One formula can test that Stage equals Qualified and that Expected_Close_Date__c is blank, and then stop the save with an error. It fires on every save with no extra automation to maintain, which makes it the simplest purpose-built tool for conditionally required fields. Reference: Validation Rules

08

A Platform App Builder at a lab-equipment maker is creating a record-triggered flow on Opportunity. When an opportunity is created, the flow must default the Stage field based on the Industry of the related Account. The goal is the most efficient setup. Which configuration should be used?

  1. An after-save, record-triggered flow with an Assignment element that sets Record.Stage based on Record.Account.Industry
  2. A before-save, record-triggered flow with an Assignment element that sets Record.Stage based on Record.Account.Industry
  3. An after-save, record-triggered flow with an Update Records element that sets the Opportunity's stage based on the Account's Industry
  4. A before-save, record-triggered flow with an Update Records element that sets the Opportunity's stage based on the Account's Industry
Show answer

Answer: B

A. An after-save, record-triggered flow with an Assignment element that sets Record.Stage based on Record.Account.IndustryIncorrect. In an after-save flow, assigning values to $Record does not persist without an extra Update Records.
B. A before-save, record-triggered flow with an Assignment element that sets Record.Stage based on Record.Account.Industry ✓Correct. Before save, an Assignment sets $Record.StageName from the Account's Industry with no additional DML.
C. An after-save, record-triggered flow with an Update Records element that sets the Opportunity's stage based on the Account's IndustryIncorrect. It works, but the second save makes it less efficient.
D. A before-save, record-triggered flow with an Update Records element that sets the Opportunity's stage based on the Account's IndustryIncorrect. Before-save flows change the triggering record through Assignment, not Update Records.

Why: Only a field on the triggering Opportunity changes, and the question asks for the most efficient approach rather than just one that works. A before-save flow modifies the triggering record's fields before they are written, so no additional save is needed. In that context an Assignment element on $Record is the lightest way to set Stage. An after-save flow would require a second DML update. Salesforce best practice recommends before-save flows with Assignment whenever only the triggering record's fields change. Reference: Before-Save Record-Triggered Flows

09

An external inventory system sends a secure message notification every time an item runs out of stock. In Salesforce, the Platform App Builder must build a process that listens for this specific message payload and immediately creates a task for procurement. Which flow type is built to run the moment this external message arrives?

  1. Record-triggered flow
  2. Autolaunched flow with no trigger
  3. Screen flow
  4. Platform event-triggered flow
Show answer

Answer: D

A. Record-triggered flowIncorrect. Record-triggered flows respond to Salesforce record changes, not incoming event messages.
B. Autolaunched flow with no triggerIncorrect. A no-trigger autolaunched flow must be invoked by something else and cannot listen for messages.
C. Screen flowIncorrect. A user has to launch a screen flow.
D. Platform event-triggered flow ✓Correct. It launches when the external event message arrives and can create the procurement Task.

Why: An outside system publishes a structured message, and Salesforce must react instantly by creating a procurement task. Platform Events are how Salesforce receives structured, secure messages from external systems in real time. A platform event-triggered flow starts as soon as a message of that event type is received, so it can create the procurement Task right away. Reference: Start a Flow with a Platform Event

10

An employee at a solar-equipment company submitted an opportunity for their manager's approval. What happens if the employee then tries to edit the description field?

  1. The user can edit only the description field.
  2. The user sees a 'Record Lock' notification.
  3. The user can edit the name but not the description.
  4. The user sees that the manager now owns the record.
Show answer

Answer: B

A. The user can edit only the description field.Incorrect. The lock prevents the user from editing the description.
B. The user sees a 'Record Lock' notification. ✓Correct. Submission locks the record, so an edit attempt produces a record locked message.
C. The user can edit the name but not the description.Incorrect. The lock blocks the submitter from editing every field, name included.
D. The user sees that the manager now owns the record.Incorrect. Ownership does not change when a record is submitted for approval.

Why: The question tests the default behavior applied to a record once it enters an approval process. By default, the initial submission action locks the record so the data under review cannot be changed by the submitter. While pending, the record is read-only for most users (typically everyone except administrators and, depending on configuration, the approver). If the employee tries to edit and save any field, Salesforce blocks the save and shows a message that the record is locked. Reference: Record Locking in Flow Approval Processes | Salesforce Help

11

A biotech company is designing customer onboarding that involves several users, multiple steps and work spread over different days. Which automation tool fits best?

  1. Entitlement process
  2. Flow Orchestration
  3. Custom Lightning web component
  4. Screen flow
Show answer

Answer: B

A. Entitlement processIncorrect. Entitlement processes track support milestones and SLAs, not onboarding work.
B. Flow Orchestration ✓Correct. It orchestrates multi-step work across stages, users and days.
C. Custom Lightning web componentIncorrect. A custom LWC means code and does not coordinate multi-user work over time.
D. Screen flowIncorrect. A screen flow serves one user in one session.

Why: Onboarding here spans several people and several days, not one user in one session. Flow Orchestration is designed to coordinate long-running, multi-user processes. It groups flows, including screen flows, into stages and steps, assigns each step to the right user and tracks overall progress across days. Reference: Flow Orchestration

12

Users must fill in the Reason Lost field whenever they set an Opportunity's stage to Closed Lost. How should a Platform App Builder implement this?

  1. Make Reason Lost required in the page layout editor.
  2. Make Reason Lost required with Dynamic Forms and no filter criteria.
  3. Mark "Reason Lost" as required at the field level.
  4. Build a validation rule that enforces the conditional requirement.
Show answer

Answer: D

A. Make Reason Lost required in the page layout editor.Incorrect. Layout-level required applies at every stage.
B. Make Reason Lost required with Dynamic Forms and no filter criteria.Incorrect. Without filter criteria the field is always required.
C. Mark "Reason Lost" as required at the field level.Incorrect. Field-level required applies to every save everywhere.
D. Build a validation rule that enforces the conditional requirement. ✓Correct. The rule requires Reason Lost only when the stage is Closed Lost.

Why: Reason Lost is required only when Stage is Closed Lost, not on every save. A validation rule such as ISPICKVAL(StageName, "Closed Lost") && ISBLANK(Reason_Lost__c) enforces the field only under that condition and blocks the save until it is filled in. The other options make the field always required. Reference: Define Validation Rules

13

A solar-equipment company is creating a new opportunity approval process and wants several actions to run on initial submission. Which three action types can an app builder use in the approval process? Select 3 answers

Choose three.

  1. Invocable Flow
  2. Decision Element
  3. Email Alert
  4. Task
  5. Outbound Message
Show answer

Answer: C, D, E

A. Invocable FlowIncorrect. Invocable Flow is not one of the approval step action types here.
B. Decision ElementIncorrect. Decision belongs to Flow Builder, not approval actions.
C. Email Alert ✓Correct. Email Alert is an available approval process action.
D. Task ✓Correct. Task is an available approval process action.
E. Outbound Message ✓Correct. Outbound Message is an available approval process action.

Why: The question tests which action types are available inside an approval process. Approval processes support Email Alert, Task, Field Update and Outbound Message actions at initial submission, approval, rejection or recall. Decision Element and Invocable Flow are Flow Builder terms, a frequent mix-up. Here the valid choices are Email Alert (notify approvers), Task (assign a follow-up to a user) and Outbound Message (send XML data to an external endpoint without code). Reference: Add Automated Actions to a Classic Approval Process | Salesforce Help

14

A record-triggered flow fails with an error saying the maximum number of SOQL queries was exceeded. In the Flow Debugger interview path, the Platform App Builder sees the same Get Records element running again for each record in the transaction. What change will fix the error?

  1. Switch the flow trigger from After-Save to Before-Save.
  2. Move the Get Records element out of the Loop element.
  3. Connect a Fault Path to a custom Screen element.
  4. Replace the Loop element with an Assignment element.
Show answer

Answer: B

A. Switch the flow trigger from After-Save to Before-Save.Incorrect. Changing between before-save and after-save does not remove a query inside a loop.
B. Move the Get Records element out of the Loop element. ✓Correct. Query once before the loop and use the collection inside it.
C. Connect a Fault Path to a custom Screen element.Incorrect. A fault path handles the error without preventing it, and record-triggered flows cannot show screens.
D. Replace the Loop element with an Assignment element.Incorrect. An Assignment cannot iterate like a Loop and does not remove the query.

Why: The SOQL limit is hit because Get Records runs once per record inside a Loop rather than once for the whole transaction. Running a single Get Records before the loop to retrieve all needed data, then referencing that collection inside the loop, avoids one query per record. This is standard bulkification and removes the "maximum number of SOQL queries" error. Reference: Bulkify Your Flows

Find out if you're ready to pass

Take the free Platform App Builder diagnostic: 20 questions, no account needed. Then unlock all 241 questions, full practice exams and the study guide.

Start the free diagnosticSee plans

Other sections of this exam