Designing an Agentforce agent is a top-down asset composition: start with what the Agent should accomplish, decompose into Topics, decompose each Topic into Actions, wrap generative work in Prompt Templates.
- Define the Agent and its purpose
Pick the audience (customer, employee, partner), the channel (Sales console, Service, Slack, messaging), and the assigned user identity. Write a clear purpose description; this drives Topic selection later.
- Decompose into Topics
List the capability areas the Agent should handle. Each becomes a Topic. Keep Topics coherent: one Topic should represent a single capability area with clear boundaries, not a grab-bag.
- Identify or build the Actions per Topic
For each Topic, list the operations the agent needs to perform. Reuse standard Actions where they fit, build custom Actions (wrapping flows, Apex, or Prompt Templates) for the gaps.
- Wrap generative work in Prompt Templates
For Actions that need to generate text, configure the underlying Prompt Template in Prompt Builder. Define grounding, output schema, and constraints.
- Pilot, version-control, and deploy through a release pipeline
Pilot in a sandbox with a small user group. Commit asset metadata to Git. Deploy through change sets or DX, not by editing in production.
The top-level metadata record defining identity, channel, model, and the list of Topics.
The capability-area asset with trigger utterances, instructions, and a list of Actions.
The unit of agent capability: standard (search knowledge, create case) or custom (flows, Apex, Prompt Templates).
The generative configuration: system instruction, grounding sources, output schema. Reusable across Actions.
The deployment surface: Sales, Service, Slack, messaging. Same Agent can bind to multiple channels.
- Topics with overlapping trigger utterances confuse the Atlas Reasoning Engine. Keep Topic boundaries sharp.
- An Action is only as good as its description. The agent decides when to call an Action by reading its description; vague descriptions produce mis-invocations.
- Agents inherit the assigned user's permissions. An Agent that needs to create a record needs the same access a human user would need; do not skip permission set assignment.
- Asset packaging behavior is evolving with each Salesforce release. Verify deployment paths against current release notes before committing to a DevOps pipeline.
- Editing assets in production bypasses version control and breaks the release discipline that keeps agents stable. Treat the Agentforce metadata like flows or Apex.