Last Updated On : 29-Jun-2026
Salesforce Agentforce Specialist - AI-201 Practice Test
Prepare with our free Salesforce Agentforce Specialist - AI-201 sample questions and pass with confidence. Our Agentforce-Specialist practice test is designed to help you succeed on exam day.
Salesforce 2026
Universal Containers is testing an agent with a “Reset Password” action restricted by the guard available when @variables.isVerified == True. During a single conversation turn, the large language model successfully sets the isVerified flag to true using @utils.setVariables, but fails to invoke the “Reset Password” action immediately afterward. What must the Agentforce Specialist consider regarding how the reasoning engine evaluates action availability?
A. The action is available from the start; the reasoning engine’s intent to solve the user’s issue automatically overrides the available when guard.
B. The action becomes available immediately; available when conditions dynamically reevaluate after every variable change within a single turn.
C. The action remains unavailable for that turn; available when conditions control action visibility to the LLM and evaluate before the reasoning cycle begins, so the action will not be callable until the next turn.
Explanation:
Why C is correct:
This question tests a critical nuance in how the Atlas Reasoning Engine evaluates guard conditions and action availability within a single conversational turn. The execution order is:
Before each reasoning cycle begins, the system evaluates all available when guard conditions based on the current state of variables at that moment.
The system then presents the list of available actions to the LLM for that turn.
The LLM reasons and decides which action (if any) to invoke.
The action executes, and variables are updated (e.g., via @utils.setVariables).
Crucially, the available when conditions are NOT re-evaluated mid-turn.
In this scenario:
At the start of the turn, @variables.isVerified was false (or not yet set to true).
The guard condition @variables.isVerified == True was evaluated before the reasoning cycle began, so the "Reset Password" action was not included in the list of available actions for the LLM to choose from.
The LLM then used @utils.setVariables to set isVerified = True as part of its reasoning or as a side effect of another action.
However, because the "Reset Password" action was already excluded from the available actions for that turn, the LLM cannot invoke it—even though the variable is now true. The LLM cannot call an action that wasn't presented to it.
The action will only become available in the next turn, after the system re-evaluates the guard condition with the updated variable state at the start of the next reasoning cycle.
Why A is incorrect:
The reasoning engine does not override guard conditions. Guard conditions are deterministic and strictly enforced. The LLM cannot "auto-override" them based on intent. If the guard evaluates to false, the action is simply not visible to the LLM, regardless of the user's intent.
Why B is incorrect:
Available when conditions do not dynamically re-evaluate after every variable change within a single turn. They are evaluated once per turn, at the beginning of the reasoning cycle. Mid-turn variable updates (via @utils.setVariables) do not trigger a re-evaluation of action visibility until the next turn.
References:
Salesforce Official Documentation: "Agentforce Guard Conditions and Evaluation Timing" – explains that available when conditions are evaluated at the start of each reasoning cycle and are not re-evaluated mid-turn, even if variables change during the turn.
Trailhead Module: "Build Agentforce Agents with Agent Builder" > Unit: "Control Action Availability with Guard Conditions" – describes the turn-by-turn evaluation cycle and emphasizes that actions must be available at the beginning of the turn for the LLM to invoke them.
An Agentforce Specialist is evaluating an agent conversation. What is the reason why intents and session metrics within Observability are important to consider?
A. To evaluate the agent’s overall performance
B. To evaluate why the agent was unable to answer a user’s question
C. To evaluate the deflection rate of the agent
Explanation:
The question addresses the strategic value of tracking intents and session-level telemetry within the Agentforce Observability dashboard.
The importance of these metrics is explained below:
Intents and session metrics provide a macro-level, holistic view of how effectively the agent is functioning across all customer interactions.
By tracking these core metrics, administrators can measure key performance indicators (KPIs) such as containment rates, transaction times, step-by-step reasoning accuracy, and tool classification success. This allows organizations to evaluate the agent's overall performance and operational health over time.
While macro analysis helps surface specific drop-offs or failures, those are individual subsets of the broader goal: ensuring the agent as a whole meets business standards.
Why the Other Options Are Incorrect
B. ❌ To evaluate why the agent was unable to answer a user’s question
Pinpointing exactly why a specific question failed requires looking into micro-level conversational details, transcript traces, and LLM reasoning logs of a single session, rather than evaluating aggregate session metrics and overall intent distributions.
C. ❌ To evaluate the deflection rate of the agent
While deflection rate is an important metric, it is only one data point calculated from session outcomes (e.g., whether a session escalated to a human agent). Intent and session metrics cover a broader scope, including action execution accuracy, topic classification quality, and overall task completion efficiency.
Reference
Salesforce Agentforce Management and Analytics Guide: Monitoring Overall Agent Performance with Observability. Use session metrics and intent matching distributions to track agent health, system throughput, and operational trends across the organization.
Exam Tip
When a question asks about the primary objective of high-level dashboard features like intent structures and session tracking:
Look for answers that describe overall or end-to-end agent performance rather than narrow metrics (like deflection) or isolated debugging use cases.
A customer is authenticated and identified as being either bronze, silver, or gold membership level. Those levels define which subagents or actions are available to the agent to perform specific tasks as per the level-based entitlements. What is the best way to ensure the agent responds appropriately?
A. Use before reasoning to set custom variables that will be used in filters and flow logic.
B. Use after reasoning to set custom variables that will be used in filters and flow logic.
C. Use Agent Router to set custom variables that will be used in filters and flow logic.
Explanation:
"Before reasoning" logic executes prior to the LLM's reasoning step in the agent's processing cycle. This is the correct place to set custom variables (such as the customer's membership level — bronze, silver, or gold) because:
The variable needs to be established and available before the agent reasons about which topics, subagents, or actions it should consider or expose for the interaction.
Since entitlements (which subagents or actions are available) depend on this membership level, the value must be determined and injected into context before the LLM starts reasoning — so the reasoning process itself can correctly filter or scope what's available based on that variable.
This ensures filters and flow logic downstream (e.g., action visibility, subagent routing conditions) have the correct membership-level value to reference from the very start of the reasoning cycle, ensuring accurate and consistent entitlement enforcement.
Why the Other Options Are Incorrect
B. ❌ Use after reasoning
Setting the variable after reasoning means the LLM would have already reasoned about and potentially selected topics, actions, or subagents without knowing the customer's membership level. This defeats the purpose, since entitlement filtering must influence what the agent considers during reasoning, not after decisions are already made.
C. ❌ Use Agent Router
Agent Router is responsible for routing conversations to the appropriate agent (e.g., determining which top-level agent should handle an interaction), not for setting custom session or context variables used in downstream filters or flow logic within a single agent's topics or actions. It operates at a different architectural layer than variable-setting for entitlement logic.
Reference
Salesforce Agentforce documentation — "Before Reasoning and After Reasoning in Agent Configuration" (setting context variables before reasoning to influence topic, action, and subagent availability based on business logic such as entitlements).
An Agentforce Specialist at Universal Containers observes that the agent frequently directs customers with clear billing inquiries to the general troubleshooting subagent. This misrouting is causing a spike in average handle time and missed service-level agreement targets. The contact center manager requires a solution that is quick to implement but preserves the agent’s ability to handle complex, non-linear conversations. What is the most appropriate approach to resolve this?
A. Update the agent’s global System Instructions to include a list of forbidden keywords for each subagent.
B. Audit subagent instructions for semantic competition and implement deterministic filters to guide the planner’s selection.
C. Create a Router sub-flow that uses a Decision element to manually assign every incoming request to a specific subagent.
Explanation:
The issue is that the agent is misrouting billing inquiries to the wrong subagent because the planner is not reliably distinguishing between overlapping subagent responsibilities.
The most appropriate solution is to:
* Review the instructions for each subagent to identify semantic competition (overlapping descriptions, ambiguous responsibilities, or similar trigger phrases).
* Refine the instructions so each subagent has a clear, distinct purpose.
* Add deterministic filters (where appropriate) to explicitly route requests that meet certain criteria.
This approach:
* Improves routing accuracy.
* Is relatively quick to implement.
* Preserves the planner's ability to handle complex, non-linear conversations, which is one of Agentforce's strengths.
Why the Other Options Are Incorrect
A. ❌ Update the agent's global System Instructions to include a list of forbidden keywords for each subagent.
Global system instructions are not intended to manage routing through keyword blacklists. Keyword-based restrictions are brittle and do not address the underlying issue of overlapping subagent definitions. Agentforce routing relies on semantic understanding rather than simple keyword exclusion.
C. ❌ Create a Router sub-flow that uses a Decision element to manually assign every incoming request to a specific subagent.
Although this would provide deterministic routing, it replaces the planner's intelligent routing with rigid, rule-based logic. The requirement specifically calls for preserving the agent's ability to handle complex, non-linear conversations. This approach is more complex to maintain and reduces the flexibility of Agentforce.
Reference
Salesforce Agentforce documentation on designing effective subagents (formerly topics), including clear instructions and routing guidance.
Salesforce Agentforce best practices for reducing semantic overlap and using deterministic filters where appropriate.
Salesforce Certified Agentforce Specialist (AI-201) Exam Guide – agent planning, subagent design, and routing.
Exam Tip
For routing-related questions, distinguish between:
Ambiguous or overlapping subagent responsibilities → Refine subagent instructions and use deterministic filters.
Mandatory business rules or guaranteed execution → Use deterministic logic (such as filters or explicit action execution).
Replacing Agentforce planning with hard-coded routing → Usually not preferred unless the requirement explicitly calls for fully deterministic routing.
A common AI-201 pattern is that Salesforce favors improving the planner with clearer instructions and targeted deterministic controls, rather than replacing it with entirely rule-based routing.
Universal Containers needs to ensure that its agent can immediately process customer returns by validating order eligibility before proceeding with the return process. UC wants to maintain a natural conversational flow for customers while ensuring that the order validation step is strictly followed. What should the Agentforce Specialist do to achieve the desired outcome?
A. Use Salesforce Flow to guide the large language model in handling order validation and the return process.
B. Use a custom Apex @InvocableMethod to handle the entire return process.
C. Use procedural instructions in Agent Script to enforce the order validation step.
Explanation:
Agent Script allows an Agentforce Specialist to define procedural, step-by-step instructions within a topic that the agent must follow in a specific, enforced order — while still allowing the LLM to handle the natural language conversation with the customer around those steps. This is exactly suited to UC's requirement: the agent needs to strictly validate order eligibility before proceeding with the return, but the overall interaction should still feel conversational and natural to the customer.
Agent Script achieves this balance by combining:
Deterministic control — ensuring critical business logic (like validation before action) is never skipped or reordered by the LLM's own reasoning.
Conversational flexibility — the LLM still manages the natural dialogue, rephrasing, and handling variations in how the customer expresses their request, rather than following a rigid, scripted UI flow.
This makes it the ideal tool when you need guardrails on sequence and logic without sacrificing the conversational experience that agents are meant to provide.
Why the Other Options Are Incorrect
A. ❌ Use Salesforce Flow to guide the LLM
While Flows can be invoked as actions within an agent (e.g., to perform validation lookup or process the return), a Flow itself does not guide the LLM's conversational reasoning or enforce step sequencing at the agent instruction level. That responsibility sits with how the topic or instructions (Agent Script) are structured, not the Flow itself. A Flow is useful as an action within the process, but not as the mechanism for enforcing conversational step order.
B. ❌ Use a custom Apex @InvocableMethod
This could technically perform the validation and return logic as an action, but a single invocable method handling the entire return process (including validation) does not preserve a natural conversational flow. It turns the interaction into a monolithic, black-box action rather than a guided, step-enforced conversation. It also does not address how the sequence is enforced conversationally, which is the core requirement.
Reference
Salesforce Agentforce documentation — "Agent Script: Combining Procedural Instructions with Conversational AI" (enforcing strict step sequencing, such as validation-before-action, while maintaining natural language interaction).
| Page 1 out of 76 Pages |