
Sf Agentforce
Ship Salesforce Agentforce bots with correct Bot and GenAiTopic metadata instead of guessing XML against API 66.0.
Overview
sf-agentforce is an agent skill for the Build phase that documents Agentforce Bot and GenAiTopic metadata templates aligned to Salesforce API 66.0.
Install
npx skills add https://github.com/clientell-ai/salesforce-skills --skill sf-agentforceWhat is this skill?
- Complete .agent-meta.xml Bot template with versions and context variables
- GenAiTopic XML with in-scope/out-of-scope boundaries and topic instructions
- Targets Salesforce API version 66.0 consistently across examples
- Covers autonomous customer-service agent patterns and topic scoping
- Metadata-first workflow for Agentforce rather than ad-hoc UI-only setup
- All examples target Salesforce API version 66.0
Adoption & trust: 1 installs on skills.sh; 7 GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
What problem does it solve?
You need to stand up an Agentforce agent but lack authoritative XML templates and scope rules for topics and context variables.
Who is it for?
Indie consultants or builders shipping customer-service Agentforce agents inside an existing Salesforce org.
Skip if: Teams not on Salesforce, or anyone who only needs non-Salesforce LLM agents without CRM metadata.
When should I use this skill?
You are authoring or updating Agentforce Bot and topic metadata in a Salesforce project.
What do I get? / Deliverables
You leave with copy-ready metadata patterns for bots and topics so your agent invokes the right scope and instructions in Salesforce.
- .agent-meta.xml Bot definitions
- GenAiTopic scope and instruction XML
Recommended Skills
Journey fit
Agentforce configuration is core product build work once you are implementing autonomous agents on Salesforce. The skill is reference material for defining bots, topics, scope, and context variables—the agent-tooling layer of the stack.
How it compares
Reference templates for Salesforce Agentforce metadata—not a generic multi-platform agent framework skill.
Common Questions / FAQ
Who is sf-agentforce for?
Solo builders and small teams implementing Salesforce Agentforce bots who want XML-first metadata examples instead of trial-and-error in Setup.
When should I use sf-agentforce?
Use it during Build when defining Bot versions, context variables, and GenAiTopic scope before wiring actions; also when revisiting topic boundaries after pilot feedback.
Is sf-agentforce safe to install?
Review the Security Audits panel on this Prism page and treat any Salesforce credentials and customer data policies as your responsibility before deploying agents to production.
SKILL.md
READMESKILL.md - Sf Agentforce
# Agentforce Reference Comprehensive reference for Agentforce agent development. All examples target API version 66.0. --- ## Agent Metadata Templates ### Complete .agent-meta.xml ```xml <?xml version="1.0" encoding="UTF-8"?> <Bot xmlns="http://soap.sforce.com/2006/04/metadata"> <fullName>Customer_Service_Agent</fullName> <masterLabel>Customer Service Agent</masterLabel> <description>Autonomous agent for handling customer service inquiries</description> <type>Bot</type> <botVersions> <botVersion> <fullName>v1</fullName> <number>1</number> <status>Active</status> </botVersion> </botVersions> <contextVariables> <contextVariable> <name>ContactId</name> <dataType>Text</dataType> </contextVariable> </contextVariables> </Bot> ``` ### Topic Definition XML ```xml <?xml version="1.0" encoding="UTF-8"?> <GenAiTopic xmlns="http://soap.sforce.com/2006/04/metadata"> <masterLabel>Order Management</masterLabel> <developerName>Order_Management</developerName> <description>Handles order status checks, shipment tracking, and delivery estimates</description> <scope> <inScope>Order status lookups, shipment tracking, delivery estimates</inScope> <outOfScope>New order placement, returns, refunds, account management</outOfScope> </scope> <instructions> <instruction>Ask for the order number before lookup</instruction> <instruction>Use Order_Lookup to retrieve order details</instruction> <instruction>Provide tracking info for shipped orders</instruction> <instruction>Escalate if customer is dissatisfied after two attempts</instruction> </instructions> <actions> <action>Order_Lookup</action> <action>Shipment_Tracking</action> </actions> </GenAiTopic> ``` --- ## Action Configuration Examples ### Flow Action ```xml <?xml version="1.0" encoding="UTF-8"?> <GenAiFunction xmlns="http://soap.sforce.com/2006/04/metadata"> <masterLabel>Order Lookup</masterLabel> <developerName>Order_Lookup</developerName> <description>Retrieves order details by order number</description> <capabilityDescription>Use when the customer asks about order status or delivery</capabilityDescription> <targetType>Flow</targetType> <targetName>Order_Lookup_Flow</targetName> <inputs> <input> <name>orderNumber</name> <description>The order number (e.g., ORD-12345)</description> <dataType>String</dataType> <required>true</required> </input> </inputs> <outputs> <output> <name>orderStatus</name> <description>Current order status</description> <dataType>String</dataType> </output> <output> <name>estimatedDelivery</name> <description>Estimated delivery date</description> <dataType>String</dataType> </output> </outputs> </GenAiFunction> ``` ### Apex Action ```xml <GenAiFunction xmlns="http://soap.sforce.com/2006/04/metadata"> <masterLabel>Calculate Refund</masterLabel> <developerName>Calculate_Refund</developerName> <capabilityDescription>Use when the customer requests a refund</capabilityDescription> <targetType>Apex</targetType> <targetName>RefundCalculator</targetName> <inputs> <input><name>orderId</name><dataType>String</dataType><required>true</required></input> <input><name>returnReason</name><dataType>String</dataType><required>true</required></input> </inputs> <outputs> <output><name>refundAmount</name><dataType>Number</dataType></output> <output><name>eligible</name><dataType>Boolean</dataType></output> </outputs> </GenAiFunction> ``` The Apex target must use `@InvocableMethod` with `@InvocableVariable` fields matching the input/output names exactly. ### PromptTemplate Action ```xml