Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Building and governing Salesforce Agentforce and generative-AI features — Agentforce agents (topics, actions, agent-user security, the reasoning loop), Prompt Builder templates (Sales Email, Field Generation, Record Summary, Flex), Data 360 (formerly Data Cloud) and Knowledge grounding/RAG, and the Einstein Trust Layer (data masking, zero-retention, audit). Use when implementing or reviewing agents, prompt templates, grounding, or AI guardrails. Not admin-level Agentforce permission setup alone
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 323% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 444% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 229% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 327% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 866% | 0% |
> Rebrand note (read first): The original "Salesforce Certified AI > Specialist" exam (launched September 2024) was rebranded > "Salesforce Certified Agentforce Specialist" (AI-201) on March 3, 2025. > Topic areas and weights shifted significantly. Existing AI Specialist > credential holders were automatically transitioned with no retest required. > "AI Specialist" is no longer the current name — use Agentforce Specialist > (AI-201). (Distinct from the entry-level AI Associate credential, which > was retired in early 2026.)
The Agentforce Specialist (formerly AI Specialist) validates the ability to implement, configure, and govern Salesforce generative + agentic AI — Prompt Builder, Agentforce agents (formerly Einstein Copilot), Model Builder, Data 360 (formerly Data Cloud) grounding, and the Einstein Trust Layer. This document is an operational playbook, not an exam outline: every section states the rule as an actionable instruction, the real limits, the decision criteria, and the anti-patterns to catch in review.
> Product rename (Oct 2025): Salesforce Data Cloud was renamed > Data 360 at Dreamforce on October 13, 2025. The underlying product, > licenses, data model, and integrations are unchanged. This document uses > "Data 360 (formerly Data Cloud)" on first use and "Data 360" thereafter.
The certification sits between entry-level AI Associate (conceptual, no hands-on) and senior architecture credentials. Recommended (not required) prior knowledge: Salesforce Administrator or Platform App Builder.
> Load this skill when… building or reviewing Agentforce agents (topics, actions, agent-user security); creating Prompt Builder templates (Sales Email, Field Generation, Record Summary, Flex); configuring Data 360 (formerly Data Cloud) grounding or Knowledge RAG for a prompt or agent; or reviewing Einstein Trust Layer settings (data masking, zero-retention, audit trail). > Not this skill: admin-level Agentforce permission setup (enabling features, assigning licenses) without building an agent → see salesforce-administrator; writing the Apex code behind an agent action → see salesforce-platform-developer-2.
> Deeper context: Study resources live in references/study-resources.md (loaded on demand). For org-specific applications of these rules, see a per-org appendix you maintain in your own project, referenced from a CLAUDE.md. For NPSP/nonprofit-specific guidance, see salesforce-nonprofit-cloud-consultant.
> Verify steps assume nothing about your tooling — use your project's Salesforce MCP connection, the Salesforce CLI (sf), or the Salesforce setup UI, in that order of preference.
Credential logistics and study path: see references/study-resources.md.
[volatile — verify live] items include: Agentforce agent type availability per edition and license (Service Agent, SDR Agent, Sales Coach Agent), Prompt Builder template type capabilities across releases, Data 360 RAG/Data Library feature availability, Einstein Trust Layer masking configuration UI paths, and AI-201 blueprint topic weights.[volatile — verify live] or [opinion — house style].Inline volatile tags applied:
[volatile — verify live] — new agent types are introduced each release; verify available types in your org's Agentforce Setup.[volatile — verify live] — retirement dates and credential transitions are announced on Trailhead; verify current status.[volatile — verify live] — requires Data 360 provisioning; feature names and configuration paths change across releases.[volatile — verify live] — masking entity configuration UI and defaults evolve; verify which custom fields require explicit registration in your org's current release.Build a Prompt Builder template only when no standard generative feature (Einstein Sales Emails, Work Summaries, Service Replies) covers the need, OR when you need it grounded on custom objects/fields the standard feature can't see. When everything you need lives on custom objects or custom fields that no standard feature grounds on, custom templates become the norm.
| Need | Template type | |---|---| | Personalized outbound email to a person from CRM data | Sales Email | | Write AI text into a record field | Field Generation | | Natural-language summary of one record for a human to read | Record Summary | | Anything else / multi-input / used inside Flow/Apex/Agent action | Flex |
Flex is the catch-all and the one you use to back an agent action. Field Generation must target a writable field whose length you control (see length rule below).
in increasing power: (a) merge fields off the template's input record/object, (b) related-record merge fields via lookup traversal, (c) flow/Apex data providers, (d) Data 360 RAG retriever for unstructured content. Use the lightest one that supplies the needed facts.
(policy, tone, disclaimers). Dynamic = merge fields resolved at run time from the record. Put PII-shaped facts in dynamic grounding so they're masked by the Trust Layer (see §6); never paste a real record's data as static text.
A template must be activated before a Lightning page, Flow, or agent action can reference it. Edits create a new version; reactivate to publish.
is separate from "Prompt Template User" (execute at run time). A staff user who should only run a template must not get Manager. Grant via permission set, not by widening a profile.
output format explicitly (length, tone, "do not invent facts not present in the grounded data"), and iterate in the preview pane against real sandbox records.
Match the prompt's max-output instruction to the field size, and verify the field length first with describe — do not assume.
keep grounded record sets small. Don't ground a template on a giant related list expecting all rows — retrieval/merge limits apply and the model will drop the tail.
facts → it will fabricate them. Red flag in any review.
static grounding → bypasses Trust Layer masking. Always use dynamic merge fields.
target field → silent data loss on write.
won't resolve at run time.
describe the target object(s) to confirm the exact API names and lengthsof every merge field before wiring it into a template.
the user utterance, classifies it to a topic, then chains the actions attached to that topic. Topic classification quality is driven by the topic's scope, description, and instructions — vague topics misroute.
| Job | Agent type | |---|---| | Inbound customer/constituent service | Service Agent | | Autonomous prospecting / lead qualification | SDR Agent | | Rep coaching via role-play | Sales Coach Agent | | Internal staff productivity | Employee Agent |
custom topic when no standard topic matches the request; give it a tight scope, a clear description, and explicit instructions that tell the planner when to use it and when NOT to.
| Action need | Build it as | |---|---| | Deterministic query/DML on Salesforce data | Flow action (preferred — declarative, testable) | | Logic Flow can't express, or complex SOQL/transaction | Apex action (@InvocableMethod) | | Generate natural-language text | Prompt template action | | Call out to an external system | External service / API action |
Prefer Flow over Apex when both work; it's declarative and easier to govern.
sets + sharing define exactly what it can read/write. Design least privilege: an Employee Agent answering status questions needs read on the relevant object, not modify-all. Never give an agent user broad admin.
input/output filters, and response templates to keep the agent on-rails. Don't rely on the LLM's good intentions for compliance-sensitive output.
utterances, run evaluations, read the trustworthiness / topic-and-action accuracy scores. Results are graded quality scores, not a binary pass/fail — iterate the topic/action descriptions to raise them.
actions, and referenced prompt templates. The backing Flows/Apex must also be deployed, and the agent user, profile, and permission set assignments must exist in the target org — these are environment-specific and a frequent cutover miss.
exactly as they would for that user (see §6).
Split into scoped topics.
violation; the blast radius of a prompt-injection grows to whatever that user can do.
agent user → agent loads but every action fails at run time.
utterances.
then size the agent user's permission set to exactly that.
user's visibility, before wiring it in.
agent user can actually see the records.
RAG grounding, vector search, and Data Library are not available in an org without first provisioning Data 360 (formerly Data Cloud). Don't design a solution that assumes them unless Data 360 is confirmed enabled.
uploaded files, Data 360 objects). Structured CRM facts should still come from merge fields / Flow, not RAG.
retrievable segments with sensible size + overlap: too large dilutes relevance, too small loses context; overlap preserves meaning across boundaries. Indexing turns chunks into vector embeddings that semantic search queries.
retriever; multiple sources needing merged/re-ranked results → ensemble retriever.
| Query | Search type | |---|---| | Exact token (SKU, policy #, record ID) | Keyword | | Conceptual / natural-language ("how do I qualify?") | Vector / semantic | | Mixed / unsure / production default | Hybrid |
won't have the objects.
objects appear in the object list. Treat Data 360 features as a future, post-provisioning capability if they're absent.
> Blueprint note: Development Lifecycle is a top-level AI-201 domain (≈20%). Service Cloud and Sales Cloud are not standalone exam domains; their agent patterns are covered within §2 (AI Agents). The key Service/Sales guard-rules are retained below.
Service/Sales agent guard-rules (no standalone exam domains; patterns sit within AI Agents): ground service agents on Knowledge articles and always configure an escalation/hand-off path; confirm Case/KnowledgeArticleVersion are in use before proposing a Service Cloud-grounded agent; don't force-fit SDR/Coach agents to orgs with no sales pipeline (see salesforce-nonprofit-cloud-consultant). Full feature-to-scenario tables and cloud-specific anti-patterns: references/study-resources.md.
Anti-patterns: (a) "it worked in sandbox" as a production gate — always run Testing Center in the production org post-deploy; (b) deploying the agent Bot without its backing Flows or agent user → every action fails at run time; (c) assuming a deployed template is Active — reactivate it in the target org.
Key operational rules: use MCP for agent-to-agent communication; use Agent API to trigger an Agentforce agent from an external system or orchestrator; design each agent with a single responsibility. Least-privilege applies to every agent in a multi-agent network — inter-agent calls do not expand the called agent's access. Trust Layer masking and audit apply to all AI calls regardless of call origin.
Full rules, anti-patterns, and A2A protocol decision criteria: references/study-resources.md.
zero-data-retention with Salesforce's LLM partners, dynamic data masking before the external call, toxicity/bias scoring on the response, and an audit trail of prompts + responses.
train external models — the property that makes grounding on sensitive records acceptable at all.
content, medical detail, DOB, and contact PII so they're tokenized before the prompt leaves Salesforce and de-tokenized in the response. Don't assume defaults cover custom sensitive fields — verify.
was sent and returned for every prompt over sensitive data.
static grounding or into a logged debug string → bypasses masking and violates a "no PII in logs" policy.
explicit entity configuration. Verify.
describe the relevant objects to enumerate the exact medical/PII customfields that must be in the masking configuration.
describe first) — output silently truncates otherwise.describe before wiring merge fields or agent actions.→ gate: user created; profile confirmed as restrictive in Setup.
readable/editable as needed).→ gate: describe each object as the agent user (or via runAs in Apex) — only the required objects/fields are accessible.
→ gate: topic scope is narrower than the default; Testing Center correctly routes a representative utterance to this topic and not to an unrelated one.
→ gate: SOQL returns the expected records as the agent user; no INSUFFICIENT_ACCESS error.
→ gate: scores meet your quality bar; misrouted utterances are addressed by tightening topic instructions.
→ gate: post-deploy query confirms agent user + permset assignment; agent activates without errors.
→ gate: field length is documented; template's max-output instruction will be set to this value or below.
→ gate: zero hard-coded record facts in the template body; all variable content enters via merge fields.
→ gate: template compiles; preview pane output is within field length on a real sandbox record.
→ gate: template status shows "Active" in Prompt Builder; draft templates don't resolve at run time.
→ gate: audit trail entry for the template invocation shows masked tokens where PII fields were grounded; no raw PII visible in the audit log.
→ gate: agent user identity confirmed.
SELECT Id FROM Object__c LIMIT 1 as the agent user is the definitive test.→ gate: object access confirmed or denied — if denied, add to the permission set and retest.
INVALID_FIELD in SOQL even with full object access.→ gate: describe returns each required field with accessible: true; add missing fields to the permission set's <fieldPermissions>.
SOQL WHERE Id = '<RecordId>' as the agent user.→ gate: the specific record appears in the query result as the agent user; if not, add a sharing rule or adjust OWD.
→ gate: no phantom filter; action returns expected data in a test run logged as the agent user.
Original teaching scenarios — distinct from held-out eval scenarios in evals/.
Scenario 1 — Field Generation silent truncation
> Situation: A Field Generation template writes an AI description to custom > Description__c. The preview reads fine at ~500 chars, but saved values are > always cut off mid-sentence at the same spot — no error anywhere. > > Competent move: describe the object for the field's length — it's > almost certainly shorter than 500 (e.g., 255). Set the prompt's max-output > instruction at or below that, re-activate, re-test. Never assume a field > length; confirm with describe before wiring. > > Tempting-but-wrong: Raising the model's max-token setting. The model isn't > the constraint — the field length is — so the write still silently truncates. > > Verify: describe the object, read the target field's length, confirm > the prompt's output constraint is at or below it.
Scenario 2 — Agent user over-privileged "to make it work"
> Situation: A Service Agent's Apex action returns no records because the > agent user's profile has restrictive object access. The quick fix applied: > assign that user the System Administrator profile. > > Competent move: Identify exactly which objects, fields, and sharing the > action needs, and grant only those via a dedicated permission set. Dry-run the > action's SOQL as the agent user (or runAs in a test) to confirm records are > visible with minimal rights before go-live. > > Tempting-but-wrong: The admin profile clears the error but lets any prompt > injection or misconfigured action run with org-wide rights — the blast radius > becomes the whole org. Least-privilege is non-negotiable, not a nice-to-have. > > Verify: Query the affected objects as the agent user's profile + permission > set in Workbench or runAs, confirm records return, remove any excess.
Scenario 3 — Draft template not resolving at run time
> Situation: A Flow references a Prompt Builder Flex template to generate a > follow-up message. In testing the Flow throws a generic error on the Prompt > Builder step. The template was built last week and tested in the preview pane. > > Competent move: Check the template's status in Prompt Builder. A template > must be Active before any Flow, Lightning page, or agent action can invoke > it — if it reads "Draft," activate it and re-run the Flow. > > Tempting-but-wrong: Debugging Flow elements or opening a support case. The > template is the issue — drafts don't resolve at run time, and the generic error > masks it. > > Verify: Confirm template status = Active, re-run in a fresh debug, and add > a pre-deploy checklist step that verifies all referenced templates are Active.
Scenario 4 — RAG retriever for an org without Data 360
> Situation: A design calls for a Service Agent grounded on internal process > PDFs via Data 360 (formerly Data Cloud) vector search. The architect starts > building the Data Library, then finds the feature is unavailable in Setup. > > Competent move: Confirm Data 360 is provisioned (its DMO/DLO objects in > the object list, or the Data 360 section in Setup). If absent, RAG / Data > Library / vector search are unavailable — pivot to Knowledge articles for > unstructured grounding (Knowledge must be enabled), or scope Data 360 > provisioning as a funded prerequisite with budget and timeline impact. > > Tempting-but-wrong: Building Data Library config or promising a go-live > date before validating Data 360's presence — wasted effort against an unfunded > dependency. > > Verify: Check the object list for Data 360 objects before any design work; > document Data 360 as a dependency in the solution spec.
Scenario 5 — PII in static grounding bypasses Trust Layer masking
> Situation: To personalize a record-summary template, a developer pastes a > customer's full name and contract ID as fixed text in the template body > (static grounding) — later reused in production for real account data. > > Competent move: Move all record-specific facts — especially PII (name, ID, > contact info, DOB, financial data) — into dynamic merge fields resolved at run > time. Merge fields flow through the Trust Layer where masking applies; static > template text is never masked, whatever the Trust Layer config. > > Tempting-but-wrong: Assuming the Trust Layer masks static text like it > masks merge-field output. It does not — static body text reaches the LLM > exactly as written, with no masking pass. > > Verify: Review the template body for hard-coded record data; use describe > to enumerate PII fields and ensure each enters only via a dynamic merge field.
Study resources (official Salesforce + community, practice exams, hands-on environments) and supplemental rules for Model Builder and Agent Channels (blueprint-covered topics with lower exam weight) are kept in references/study-resources.md. For NPSP/nonprofit-specific guidance, see salesforce-nonprofit-cloud-consultant.
Using this skill and hit a wall? If you find a claim contradicted by the live system or official docs, a missing rule that cost you a wrong attempt, or a decision this skill gave no criteria for — append an entry in the moment to .skill-feedback/salesforce-agentforce-specialist.md at the project root (create it if absent):
date | skill last-reviewed | claim or gap | what you observed instead | evidence (error text / doc URL / query output) | suggested fix
These are harvested back into the skill via the learning loop. When the live system and this file disagree, trust the live system.
[volatile — verify live] in study-resources.md. Sources: salesforceben.com/salesforce-agentforce-specialist-certification-guide-tips/ (domain weights, passing score); salesforceben.com/salesforce-data-cloud-renamed-to-data-360-as-part-of-agentforce-360/ (Data 360 rename). Domain percentages marked [volatile — verify live].[volatile — verify live] marks, executable workflows, tool-agnostic verify steps, and the feedback protocol above. Exam logistics relocated to references/study-resources.md; last-reviewed set to 2026-06-09.Independent educational content to upskill AI agents. Not affiliated with or endorsed by Salesforce; all trademarks belong to their owners. Guidance only — verify against official documentation and live orgs. No certification outcome is implied or guaranteed.
Other measured skills in the registry, with their headline benchmark lift.