afv-library/skills/developing-agentforce/assets/template-single-subagent.agent
Steve Hetzel dca920f42e
Complete topic-to-subagent terminology update across skills
Comprehensive update replacing "topic" with "subagent" terminology throughout
the developing-agentforce and testing-agentforce skills to align with Agent
Script's `subagent` block naming.

Key changes:
- "Topic Selector" → "Subagent Router" in all agent templates and docs
- "Topic/action" → "Subagent/action" in documentation
- "Topic map" → "Subagent map" in diagram references
- Updated all architecture documentation to use "subagent" terminology
- Updated 19 .agent template files with new labels and comments
- Updated 8 reference documentation files with consistent terminology

API contract preservation:
- Test spec YAML files preserve "topic" terminology to match Testing Center API
- Added clarifying comments explaining topic/subagent equivalence in YAML files
- Field names like `expectedTopic` unchanged (Salesforce API requirement)

Preserved terms:
- "off-topic" (standard phrase for out-of-scope)
- "expectedTopic" field (Testing Center API)
- "platform topics" (Salesforce guardrail features)

32 files changed, 379 insertions(+), 366 deletions(-)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-24 10:00:40 -06:00

82 lines
3.1 KiB
Plaintext

# Single-Subagent Template
# Copy this file to your AiAuthoringBundle directory and rename it to match
# your agent's developer_name. Replace all placeholder values with real ones.
system:
instructions: "You are a helpful assistant. Describe the agent's persona and purpose here."
messages:
welcome: "Hello! How can I help you today?"
error: "Sorry, it looks like something has gone wrong."
config:
developer_name: "Agent_API_Name"
agent_label: "Agent Display Name"
description: "Description of the agent's purpose"
# agent_type: "AgentforceServiceAgent" for customer-facing (requires default_agent_user)
# "AgentforceEmployeeAgent" for internal (remove default_agent_user line)
agent_type: "AgentforceServiceAgent"
default_agent_user: "username@identifier.org"
language:
default_locale: "en_US"
additional_locales: ""
all_additional_locales: False
start_agent agent_router:
description: "Welcome the user and determine the appropriate subagent based on user input"
reasoning:
actions:
go_to_main: @utils.transition to @subagent.main
go_to_escalation: @utils.transition to @subagent.escalation
go_to_off_topic: @utils.transition to @subagent.off_topic
subagent main:
label: "Main Subagent"
description: "Describe what this subagent handles. The Atlas Reasoning Engine matches user utterances against this description."
reasoning:
instructions: ->
| Replace this with instructions for how the agent should handle requests in this subagent.
Reference actions with the syntax shown below.
actions:
do_action: @actions.do_action
with input_param = ...
actions:
do_action:
description: "Describe what this action does"
label: "Action Display Name"
target: "apex://ClassName"
inputs:
input_param: string
description: "Describe this parameter"
label: "Parameter Display Name"
is_required: True
outputs:
output_field: string
label: "Output Display Name"
description: "Describe this output"
is_displayable: True
filter_from_agent: False
subagent escalation:
label: "Escalation"
description: "Handles requests from users who want to transfer or escalate their conversation to a live human agent."
reasoning:
instructions: ->
| If a user explicitly asks to transfer to a live agent, escalate the conversation.
actions:
escalate_to_human: @utils.escalate
description: "Escalate to a human agent."
subagent off_topic:
label: "Off Topic"
description: "Redirect conversation to relevant subagents when user request goes off-topic"
reasoning:
instructions: ->
| The user request is off-topic. Do not answer general knowledge questions.
Redirect the conversation by asking how you can help with the topics this agent supports.