跳转到内容

salesforce

salesforce 插件将 Salesforce CLI 与 Claude Code 集成,提供组织认证功能以及能够运行任意 sf 命令(包括 SOQL 查询)的通用 CLI 代理。它支持使用 JWT、访问令牌和 SFDX URL 认证流程的无头容器环境。以下使用指南演示了如何通过 CLI 代理使用自然语言查询账户、商机、案例和联系人。

v1.0.0 Development
/plugin install salesforce@f5-sales-demo-marketplace
  • Salesforce CLI@salesforce/cli
  • 具有 API 访问权限的 Salesforce 组织
  • 拥有查询对象(案例、商机、账户、联系人)权限的用户账户

在您的工作站上安装 Salesforce CLI:

Terminal window
brew install sf

验证安装:

Terminal window
sf --version

您应该看到类似 @salesforce/cli/2.x.x 的输出。

第一步:找到您的 Salesforce 域名

Section titled “第一步:找到您的 Salesforce 域名”

在浏览器中查看您的 Salesforce URL。如果您通过 https://acme.lightning.force.com 访问 Salesforce,您的登录域名为 https://acme.my.salesforce.com

Terminal window
sf org login web --alias my-org --set-default --instance-url https://YOUR-DOMAIN.my.salesforce.com

YOUR-DOMAIN 替换为第一步中获取的公司域名。浏览器将自动打开——完成 SSO 或登录流程并授权应用。您应该看到:

Successfully authorized your-email@company.com with org ID 00DXXXXXXXXXXXXXXX
Terminal window
sf org display --target-org my-org

确认输出显示 Connected Status: Connected,以及您的用户名和实例 URL。

第四步:为容器导出可移植认证(可选)

Section titled “第四步:为容器导出可移植认证(可选)”

如果您需要在无头环境(CI/CD、容器、远程会话)中进行认证,请从您的工作站导出 SFDX 认证 URL:

Terminal window
sf org display --verbose --target-org my-org

复制 Sfdx Auth Url 的值(以 force:// 开头)。在容器中运行:

Terminal window
export SFDX_AUTH_URL="force://PlatformCLI::YOUR_AUTH_TOKEN@your-domain.my.salesforce.com"
echo "$SFDX_AUTH_URL" | sf org login sfdx-url --sfdx-url-stdin=- --alias=my-org --set-default
方法最适用于要求
Web 登录带有浏览器的工作站浏览器 + SSO
SFDX URL容器、CI/CD、可移植认证来自已认证会话的认证 URL
JWT Bearer自动化流水线已连接应用 + 私钥 + 消费者密钥
访问令牌环境变量认证SF_ACCESS_TOKEN + SF_ORG_INSTANCE_URL

注意: 设备流程(sf org login device)自 2025 年 8 月起被禁用,不再受支持。

变量用途
SF_ACCESS_TOKEN用于访问令牌认证的 Bearer 令牌
SFDX_AUTH_URL用于 SFDX URL 认证的 Force 认证 URL
SF_ORG_INSTANCE_URL组织实例 URL
SF_JWT_KEY_FILEJWT 私钥文件路径
SF_CLIENT_ID已连接应用消费者密钥
SF_USERNAME用于 JWT 的 Salesforce 用户名

检查您的 Salesforce 组织连接状态、CLI 版本和已认证的组织。

/salesforce:sf-status

预期结果: 显示您的 sf CLI 版本、已认证组织别名、用户名、实例 URL、连接状态和 API 版本的表格。

向 Salesforce 组织进行认证。可选择提供别名。

/salesforce:sf-login
/salesforce:sf-login my-org

预期结果: 如果具有该别名的组织已完成认证,则报告连接详情。如果未认证,则检查可用凭据(环境变量)并使用第一个完全满足条件的方法进行认证。

顶层意图路由器。当您在自然语言中提及 Salesforce、组织管理或数据查询时自动激活。

您说的内容路由至
”登录到 Salesforce”、“认证组织”salesforce-auth 技能
”检查组织状态”、“列出组织”cli-operator 代理
”显示商机”、“查找案例”cli-operator 代理(SOQL 查询)
“生成 Apex 类”、“创建 Flow”afv-library 开发技能

适配容器的认证技能。支持四种认证方法,并自动检测哪些凭据可用。优先级顺序为:访问令牌、JWT、SFDX URL、Web 登录。

自主 Salesforce CLI 代理,执行带有安全防护的 sf 命令。所有 Salesforce 操作均委托给此代理,以保持主会话上下文精简。

安全规则:

  • 默认为只读模式——写入操作需要明确批准
  • 在未经预览和确认步骤前不进行部署
  • 不在输出中回显访问令牌、认证 URL 或凭据
  • 对所有用户提供的值进行清理(拒绝 Shell 元字符)
  • 使用 --json 输出以获得结构化、可解析的结果

响应格式:

## Result: [SUCCESS | FAILURE | PARTIAL]
### Command Executed
### Output Summary
### Issues

以下提示词适用于任何 Salesforce 组织。请将占位符值替换为您自己的信息。每个提示词产生的结果特定于您的角色、账户和区域。

认证后,验证一切正常:

/salesforce:sf-status

然后尝试简单的自然语言查询:

list my authenticated salesforce orgs

预期结果: 显示所有已连接组织的表格,包含别名、用户名、实例 URL 和连接状态。

发现您被分配到哪些账户:

what salesforce accounts am I on the account team for? My email is your-email@company.com

预期结果: 按账户所有者分组的账户列表,显示您在每个账户中的团队成员角色。如果大多数角色显示为空,这是常见的数据质量问题——账户团队成员关系存在,但角色未被填充。

将您的账户覆盖范围与团队成员进行比较以发现差距:

In salesforce, find all accounts where Colleague Name is on the account team. Then for each of those accounts, check if your-email@company.com is also on the account team. Show me two lists: accounts where we are BOTH tagged, and accounts where only my colleague is tagged but I am missing.

预期结果: 显示重叠数量和差距数量的汇总表,以及两个列表。如果您最近更换了角色,可能会发现零重叠——这揭示了您需要被添加到哪些账户中。

查看您账户中的所有开放商机:

show me all open salesforce opportunities on Colleague Name's account team accounts, sorted by close date, include the stage, amount, and probability

预期结果: 包含商机总数、原始流水线和加权流水线的摘要。然后是阶段分布表和按金额排列的顶级商机列表。输出会标记数据质量问题,如过期的截止日期或空金额。

获取特定交易的完整信息:

show me a detailed view of the OPPORTUNITY NAME opportunity in salesforce - include the opportunity team members, any activities or tasks, and the account contacts

预期结果: 商机概览(阶段、金额、截止日期、概率、预测类别、负责人)、带有角色的商机团队成员、已标记联系人、近期任务和事件,以及显示交易金额和截止日期随时间变化的字段变更历史。

检查您账户的开放支持案例:

show me all open salesforce cases across Colleague Name's account team accounts, grouped by account, sorted by most recent first

预期结果: 按优先级和状态分类的开放案例数量,以及按账户分组的案例详情。陈旧案例(数月或数年内无活动)将被标记为数据质量候选项。

获取可用于预测的流水线视图:

for Colleague Name's accounts, show me a quarterly pipeline summary - group the open opportunities by close date quarter with count, total amount, and weighted amount for each quarter

预期结果: 每行代表一个季度的表格,显示商机数量、总流水线和加权流水线。包含每季度的阶段组合分析,并突出显示加权值最高的交易。过期商机单独分组。

深入了解特定客户:

give me a full account overview for ACCOUNT NAME in salesforce including contacts, open opportunities, and recent cases

预期结果: 公司概况(行业、收入、员工数、地点)、带有职位和电子邮件的关键联系人、带有阶段和金额的开放商机,以及带有状态的近期支持案例。

按编号查找特定支持案例:

look up salesforce case CASE-NUMBER and show me the case details, the customer account, and who owns it

预期结果: 案例主题、状态、优先级、描述、客户账户概况以及带有联系信息的案例负责人。

高级用户可以用自然语言请求特定的 SOQL 风格查询。插件会将您的请求转换为相应的 SOQL 并执行。

query salesforce for all Contacts at ACCOUNT NAME - show Name, Title, Email, Phone, and Department
show me all salesforce opportunities that closed won in the last 90 days on ACCOUNT NAME
count all open salesforce cases grouped by priority and status across my accounts
query the CUSTOM_OBJECT__c object in salesforce for records where Status__c = 'Active'

来自 forcedotcom/afv-library 的 30 个 Salesforce 开发技能可针对 Apex、Flow、LWC、SOQL、元数据、Agentforce 和部署任务自动激活。请单独安装:

Terminal window
npx skills add forcedotcom/afv-library
主题技能
Apex 类和服务generating-apex
Apex 测试generating-apex-test
Flowgenerating-flow
LWC 和 UI 组件包building-ui-bundle-app
自定义对象generating-custom-object
自定义字段generating-custom-field
验证规则generating-validation-rule
权限集generating-permission-set
FlexiPagegenerating-flexipage
Agentforce 代理developing-agentforce
Agentforce 测试testing-agentforce
部署deploying-ui-bundle
SLDS2 迁移uplifting-components-to-slds2
触发器重构trigger-refactor-pipeline