跳转到内容

salesforce

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

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

在工作站上安装 Salesforce CLI:

Terminal window
brew install sf

验证安装:

Terminal window
sf --version

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

第一步:查找您的 Salesforce 域名

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

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

第二步:通过浏览器进行身份验证

Section titled “第二步:通过浏览器进行身份验证”
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@example.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@example.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 类”、“创建流程”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@example.com

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

与团队成员比较账户覆盖情况以发现差距:

In salesforce, find all accounts where Colleague Name is on the account team. Then for each of those accounts, check if your-email@example.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
流程generating-flow
LWC 和 UI 包building-ui-bundle-app
自定义对象generating-custom-object
自定义字段generating-custom-field
验证规则generating-validation-rule
权限集generating-permission-set
FlexiPagesgenerating-flexipage
Agentforce 代理developing-agentforce
Agentforce 测试testing-agentforce
部署deploying-ui-bundle
SLDS2 迁移uplifting-components-to-slds2
触发器重构trigger-refactor-pipeline