SfSkills Domains Docs GitHub

Home / agentforce / agentforce-persona-design

agentforce-persona-design

Use when defining or refining the tone, voice, and behavioral personality of an Agentforce agent: system instruction encoding, brand voice alignment, adaptive response formats, multi-persona strategies. NOT for writing the actual conversational copy — utterances, fallback messages, escalation phrasing — use admin/agent-conversation-design. NOT for topic scope design — use agentforce/agent-topic-design.

Open the skill folder on GitHub


Agentforce Persona Design

This skill activates when an Agentforce practitioner needs to define, encode, or refine the personality and tone of an Agentforce agent through system-level instructions. It covers persona instruction writing, brand voice alignment, AI Assist for instruction review, adaptive response format configuration, and multi-persona strategies using multiple distinct agents.

Persona is NOT prompt-engineering trivia — it's the single biggest driver of whether users trust the agent. An agent with the right tool set and the wrong persona feels robotic or presumptuous; users disengage. An agent with the right persona and weaker tooling still feels helpful because users forgive capability gaps when the interaction feels human-reasonable.

Terminology. Agentforce subagents were called topics before April 2026. This skill leads with subagent because that is the current product term. The rename changed nothing about behaviour, and metadata and API names — plus the search keywords readers arrive with — still say topic.


Before Starting

Check for salesforce-context.md in the project root. If present, read it first.

Gather if not available:


Questions to Ask Before Configuring

Ask these before writing a word of persona text. Each one traces to a gotcha in references/gotchas.md.

QuestionWhy it mattersWhat a good answer addsWhat proper configuration adds over just doing it
"Formal, neutral or casual?"Tone is a native setting with a Casual default, and it does not reach actions with their own tone (Gotcha 5)The tone setting, plus the actions whose tone must be tuned separatelyThe voice is set where the platform reads it, not only in prose
"Which agent type is this, and does it have system messages?"Only Agentforce (Default) and Service Agent have system messages; Agent Script requires welcome and error (Gotcha 8)The list of system messages to writeNo copy written for a surface that does not exist
"How must the agent introduce itself, and what consent wording is required?"The welcome is limited to 800 characters and should disclose that the agent is automated (Gotcha 6)An approved welcome and error messageTransparent first contact that legal has signed off
"Which languages and locales must the voice work in?"System messages are not translated and locales can fall back to variants (Gotchas 7, 12)Locale list and translation ownersA consistent voice per language, tested per locale
"What must the agent never do, and is any of it a business rule?"Absolutes are followed strictly, and policy belongs in actions (Gotchas 1, 9)A short red-line list, with policy items moved to actionsFewer conflicting rules and policies that hold every time
"How will we prove the persona holds at the edges?"Authoring checks do not enforce runtime behaviour (Gotcha 3)A regression set of frustrated, off-topic, advice-seeking and confused utterancesA persona that is tested in CI, not judged by feel

Core Concepts

Where Persona Lives in the Platform

Persona has native homes, not only free text (details in references/metadata-examples.md):

Agent-Level System Instructions vs Subagent Instructions

Agentforce has two instruction layers:

  1. Agent-level system instructions — apply to every conversation regardless of which subagent is active. This is where persona, tone, and brand voice live.
  2. Subagent instructions — apply only when the agent is handling that specific subagent. These define scope and behavior for a particular subject, not the overall personality.

Persona must be encoded in agent-level instructions. Subagent instructions should not repeat or override persona — they focus on task execution.

Tone Encoding via Descriptive Voice Adjectives

Tone in Agentforce is encoded through descriptive adjectives in the opening paragraph of the agent-level instructions. The LLM uses these adjectives to calibrate response style. Effective patterns:

Avoid encoding tone via long lists of must/never/always rules. The Generative AI guide says agents follow strong language like "always" and "never" strictly, so use absolutes only when you mean them, and says contradicting instructions degrade performance. UNVERIFIED (2026-10-03): the earlier claim that such lists "cause reasoning loops"; no official source says so.

Adjective-based persona pattern:

You are <NAME>, a <ROLE> for <ORGANIZATION>. You communicate with
<ADJECTIVE1> and <ADJECTIVE2>. Your responses are <ADJECTIVE3> and
<ADJECTIVE4> — you avoid <PROHIBITED_PATTERN>, and you always
<SIGNATURE_BEHAVIOR>.

Concrete instantiation:

You are Aria, a customer service agent for Acme Financial Services.
You communicate with empathy and confidence. Your responses are direct
and professional — you avoid jargon, and you always confirm the
customer's concern before acting.

AI Assist for Instruction Review

UNVERIFIED (2026-10-03): this section rests on a Salesforce Developers blog post; none of the official guides read for this revision describe AI Assist. Agent Builder in Salesforce includes an AI Assist feature that analyzes agent-level instructions and flags conflicting, ambiguous, or overly prescriptive guidance. Use AI Assist after drafting instructions to identify:

Adaptive Response Formats (Spring '26)

UNVERIFIED (2026-10-03): this section rests on a Salesforce Developers blog post and was not found in the official guides read for this revision. Available from Spring '26, adaptive response formats allow the agent's responses to be rendered differently depending on the channel. Supported output formats include plain text (for API/voice), Markdown (for web chat and Slack), and structured JSON (for programmatic channel rendering). This is configured at the channel level in agent deployment settings, not in the system instructions themselves. The persona instruction should not hardcode formatting syntax, let the channel configuration handle rendering.

Multi-Persona Strategy

Multi-persona means deploying multiple distinct Agentforce agents, each with its own system instructions and brand voice, not a single agent with mode-switching behavior. Treat persona as fixed per agent. UNVERIFIED (2026-10-03): the earlier claim that a single agent cannot switch personas; Agent Script reasoning instructions can branch on variables, so conditional wording is possible, but separate agents remain the predictable design. If different audiences need different personas (e.g., enterprise customers vs. consumer end-users), deploy separate agents per audience.

Persona Drift Risk

UNVERIFIED (2026-10-03): the drift mechanism described here is not documented. What is documented is that Agentforce (Default) uses messages from up to the most recent six turns as context (Generative AI guide, Agents Limits). Persona instructions can appear to degrade over context length, warm at turn 1, brusque at turn 20. Signals of drift:

Mitigations: shorter conversations (hand off sooner to human), periodic persona reinforcement in subagent instructions (only if reinforcement aligns; never contradict agent-level), and preferences stored in variables. The guide notes that the LLM does not use the visual order of topic instructions to make decisions, so do not rely on position for priority.


Common Patterns

Pattern 1: Brand Voice Encoding

When to use: Initial persona design for a new agent or when an existing agent's tone is inconsistent with brand standards.

Structure:

  1. Gather 3–5 voice adjective pairs from the brand style guide (e.g., "empathetic yet efficient", "authoritative but approachable").
  2. Write the opening paragraph of agent-level instructions as a role declaration with voice adjectives.
  3. Add a brief behavioral guideline for tone in edge cases (confusion, escalation, off-topic).
  4. Run AI Assist to check for conflicts and ambiguous instructions.
  5. Test in conversation preview with 5–10 scripted utterances designed to probe tone at the edges.

Why not subagent instructions: Persona encoded in subagent instructions applies only when that subagent is active. If the LLM selects a different subagent or falls back to the default, the persona may disappear.

Pattern 2: Conversation Preview Test Plan

When to use: Validating persona after instructions are written, or after a brand voice change.

Structure: Design a set of scripted utterances that probe the persona at its edges:

Run each in conversation preview and score against the brand voice adjectives. A persona is working when the adjectives are observable in the response.

Pattern 3: Multi-Persona Agent Family

When to use: Different audiences need fundamentally different personas (B2B vs B2C, internal vs external).

Structure:

  1. Build a SEPARATE agent per audience.
  2. Each agent has its own system instructions + persona + subagent set.
  3. Route to the appropriate agent at the conversation-entry point (based on user attributes, channel, or URL parameter).
  4. Agents may SHARE some subagent-level logic (via subflows or invocables) but NOT persona.

Pattern 4: Persona Reinforcement for Long Conversations

When to use: Conversations routinely exceed 10+ turns and drift is observed.

Structure: Brief persona-reinforcement snippet in each subagent's instructions that ALIGNS with (does not override) agent-level persona. Example: "Maintain a warm, concise tone throughout." One sentence — not a second full persona block.

Pattern 5: Prohibited-Pattern Explicit List

When to use: The brand has strong "never say" or "never promise" constraints.

Structure: Explicit negative-phrase list in the agent-level instructions:

You never:
- Promise specific financial outcomes
- Guarantee delivery times without confirming logistics data
- Apologize for issues outside the company's control as if they were our fault

Kept SHORT — long prohibition lists are modal-verb chains and cause reasoning loops.


Decision Guidance

SituationRecommended ApproachReason
Single brand voice for all audiencesOne agent with agent-level persona instructionsSimpler to maintain; consistent identity
Different audiences need different tones (B2B vs B2C)Separate agents per audience segment (Pattern 3)Single agent cannot switch persona mid-conversation
Tone is inconsistent across conversationsAudit agent-level instructions for contradictions using AI AssistContradictory instructions cause non-deterministic tone
Channel requires different response format (Slack vs API)Keep formatting out of the persona; test per channel. UNVERIFIED (2026-10-03): channel-level adaptive response formatsDo not hardcode markdown/JSON in persona instructions
Agent uses excessive must/never/always chainsRewrite as positive behavioral statements with adjectives (Pattern 1)Absolutes are followed strictly and conflicting ones degrade performance
Long-conversation drift observedAdd persona reinforcement in subagent instructions (Pattern 4)System-instruction attention weakens over context
Brand has strong prohibitionsExplicit short list (Pattern 5)Concrete > vague

Step-by-step instructions for an AI agent or practitioner working on this task:

  1. Collect brand voice guidelines: tone adjective pairs, prohibited phrases, sample approved content in brand voice.
  2. Set the native tone (Formal, Neutral or Casual) and write the system messages: a welcome under 800 characters that introduces the agent as automated, and an error message. Then draft agent-level instructions (Agent Script system.instructions) starting with a role declaration that embeds 3 to 5 voice adjectives. Keep the block short; the guide says to start with minimal instructions. UNVERIFIED (2026-10-03): the earlier 2,000-character threshold.
  3. Run AI Assist in Agent Builder to check for conflicting or ambiguous instructions. Fix all flagged items.
  4. Test in conversation preview with a structured test plan: 5+ utterances covering routine, frustrated, off-topic, complex request, and confusion scenarios. Turn the plan into an AiEvaluationDefinition (references/metadata-examples.md, Example 4) and lint it with the eval-harness checker so CI repeats it.
  5. Score each response against the target voice adjectives. Iterate on wording until all scenarios are consistent.
  6. If multiple audiences need different personas, create a separate agent per audience and document which agent handles which audience in the deployment configuration.
  7. Monitor production conversations for persona drift; tune subagent-level reinforcement if long-conversation drift is observed.

Review Checklist


Salesforce-Specific Gotchas

  1. Absolutes are followed strictly: the guide says agents strictly follow "always" and "never", so use them only when meant; conflicting absolutes degrade performance. UNVERIFIED (2026-10-03): the earlier "reasoning loops" mechanism.
  2. Persona in subagent instructions only applies when that subagent is active — If placed in a subagent's instructions rather than the agent-level instructions, it only applies when the LLM routes to that subagent.
  3. AI Assist reviews instructions but does not enforce them at runtime: UNVERIFIED (2026-10-03): AI Assist appears only in a blog source; whatever review tool you use, runtime behaviour needs runtime tests.
  4. Conditional persona switching is unpredictable: separate agents per audience are the predictable design. UNVERIFIED (2026-10-03): the earlier absolute claim that a single agent cannot switch personas.
  5. Long conversations see only recent turns: Agentforce (Default) uses up to the six most recent turns as context; store preferences in variables. UNVERIFIED (2026-10-03): the earlier attention-decay explanation.
  6. Start with minimal instructions: the guide recommends the fewest instructions necessary, added one at a time. UNVERIFIED (2026-10-03): the earlier 2,000-character threshold.
  7. Tone adjectives that conflict with the LLM's training produce uncanny output — e.g., asking an LLM trained on helpful content to be "aloof" usually produces a robotic version of helpful, not aloof.
  8. Channel-specific formatting instructions in the persona break other channels: e.g., "respond in markdown" breaks API consumers; keep formatting out of the persona and test each channel.
  9. Persona instructions don't carry across agent deployments — cloning an agent doesn't auto-copy; deploy persona as part of a versioned metadata bundle.
  10. Testing only in conversation preview misses channel-specific behavior — test in the actual channel (web chat, Slack, API) before launch.

Proactive Triggers

Surface these WITHOUT being asked:

Output Artifacts

ArtifactDescription
Agent-level system instructionsDrafted persona text ready for paste into Agent Builder
Conversation preview test planScripted utterances with expected tone outcomes for QA
Multi-persona agent rosterIf multiple audiences served, list of agents with persona profiles
AI Assist review logDocumented issues flagged and resolution
Persona reinforcement snippetsSubagent-level additions (Pattern 4) for long-conversation drift

Package files