Manage Salesforce CRM records via CLI or REST API, including querying, creating, updating, deleting contacts, accounts, opportunities, leads, and cases.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install salesforce-skill或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install salesforce-skill⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/salesforce-skill/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
Main skill definition with frontmatter, CLI reference, SOQL patterns
---
---
name: salesforce
description: Manage Salesforce CRM - query records, create/update contacts, accounts, opportunities, leads, and cases. Use when the user asks about CRM data, sales pipeline, customer records, or Salesforce operations.
metadata: {"moltbot":{"emoji":"☁️","requires":{"bins":["sf"],"env":["SALESFORCE_ACCESS_TOKEN"]},"primaryEnv":"SALESFORCE_ACCESS_TOKEN","install":[{"id":"npm","kind":"node","package":"@salesforce/cli","bins":["sf"],"label":"Install Salesforce CLI (npm)"},{"id":"brew","kind":"brew","formula":"salesforce-cli","bins":["sf"],"label":"Install Salesforce CLI (brew)"}]}}
homepage: https://developer.salesforce.com/tools/salesforcecli
---
Interact with Salesforce CRM using the official Salesforce CLI (sf) and REST API.
sf) installed via npm or Homebrew - sf org login web (OAuth browser flow - recommended for interactive) - sf org login jwt (JWT for headless/automated) - SALESFORCE_ACCESS_TOKEN environment variable (direct token)
# Login to org (opens browser)
sf org login web --alias myorg
# Login with JWT (headless)
sf org login jwt --client-id <consumer-key> --jwt-key-file <path-to-key> --username <user> --alias myorg
# List connected orgs
sf org list
# Set default org
sf config set target-org myorg
# Display org info
sf org display --target-org myorg
# Query contacts
sf data query --query "SELECT Id, Name, Email, Phone FROM Contact LIMIT 10" --target-org myorg
# Query with WHERE clause
sf data query --query "SELECT Id, Name, Amount, StageName FROM Opportunity WHERE StageName = 'Prospecting'" --target-org myorg
# Query accounts by name
sf data query --query "SELECT Id, Name, Industry, Website FROM Account WHERE Name LIKE '%Acme%'" --target-org myorg
# Export to CSV
sf data query --query "SELECT Id, Name, Email FROM Contact" --result-format csv > contacts.csv
# Export to JSON
sf data query --query "SELECT Id, Name FROM Account" --result-format json
# Create a Contact
sf data create record --sobject Contact --values "FirstName='John' LastName='Doe' Email='[email protected]'" --target-org myorg
# Create an Account
sf data create record --sobject Account --values "Name='Acme Corp' Industry='Technology' Website='https://acme.com'" --target-org myorg
# Create an Opportunity
sf data create record --sobject Opportunity --values "Name='Big Deal' AccountId='001XXXXXXXXXXXXXXX' StageName='Prospecting' CloseDate='2025-06-30' Amount=50000" --target-org myorg
# Create a Lead
sf data create record --sobject Lead --values "FirstName='Jane' LastName='Smith' Company='NewCo' Email='[email protected]' Status='Open - Not Contacted'" --target-org myorg
# Create a Case
sf data create record --sobject Case --values "Subject='Support Request' Description='Customer needs help' Status='New' Priority='Medium'" --target-org myorg
# Update a Contact
sf data update record --sobject Contact --record-id 003XXXXXXXXXXXXXXX --values "Phone='555-1234' Title='VP Sales'" --target-org myorg
# Update an Opportunity stage
sf data update record --sobject Opportunity --record-id 006XXXXXXXXXXXXXXX --values "StageName='Negotiation/Review' Amount=75000" --target-org myorg
# Update Account
sf data update record --sobject Account --record-id 001XXXXXXXXXXXXXXX --values "Description='Key strategic account'" --target-org myorg
# Delete a record
sf data delete record --sobject Contact --record-id 003XXXXXXXXXXXXXXX --target-org myorg
# Bulk delete via query (careful!)
sf data delete bulk --sobject Lead --file leads-to-delete.csv --target-org myorg
# Bulk insert from CSV
sf data import bulk --sobject Contact --file contacts.csv --target-org myorg
# Bulk update from CSV
sf data upsert bulk --sobject Account --file accounts.csv --external-id Id --target-org myorg
# Check bulk job status
sf data bulk status --job-id <job-id> --target-org myorg
# Describe an object (get fields)
sf sobject describe --sobject Account --target-org myorg
# List all objects
sf sobject list --target-org myorg
# Get field details
sf sobject describe --sobject Opportunity --target-org myorg | jq '.fields[] | {name, type, label}'
SELECT StageName, COUNT(Id) NumDeals, SUM(Amount) TotalValue
FROM Opportunity
WHERE IsClosed = false
GROUP BY StageName
SELECT Id, Subject, WhoId, WhatId, ActivityDate
FROM Task
WHERE OwnerId = '<user-id>'
AND ActivityDate >= LAST_N_DAYS:7
ORDER BY ActivityDate DESC
SELECT Account.Name, Id, Name, Email, Title
FROM Contact
WHERE Account.Name = 'Acme Corp'
SELECT Id, CaseNumber, Subject, Status, Priority, CreatedDate
FROM Case
WHERE IsClosed = false
ORDER BY Priority, CreatedDate
SELECT Status, COUNT(Id) Total
FROM Lead
WHERE IsConverted = false
GROUP BY Status
For operations not covered by CLI, use curl with the REST API:
# Set variables
INSTANCE_URL="https://yourorg.salesforce.com"
ACCESS_TOKEN="$SALESFORCE_ACCESS_TOKEN"
# Query via REST
curl -s "$INSTANCE_URL/services/data/v59.0/query?q=SELECT+Id,Name+FROM+Account+LIMIT+5" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json"
# Create record via REST
curl -s "$INSTANCE_URL/services/data/v59.0/sobjects/Contact" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"FirstName":"Test","LastName":"User","Email":"[email protected]"}'
sf org login web--alias when logging in, then use --target-org alias--json flag for programmatic parsing--dry-run flag on bulk operations to previewFirstName), not labels (e.g., "First Name")YYYY-MM-DD for dates, YYYY-MM-DDThh:mm:ssZ for datetimes安装 Salesforce Skill 后,可以对 AI 说这些话来触发它
Help me get started with Salesforce Skill
Explains what Salesforce Skill does, walks through the setup, and runs a quick demo based on your current project
Use Salesforce Skill to manage Salesforce CRM records via CLI or REST API, including queryi...
Invokes Salesforce Skill with the right parameters and returns the result directly in the conversation
What can I do with Salesforce Skill in my marketing & growth workflow?
Lists the top use cases for Salesforce Skill, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/salesforce-skill/ 目录(个人级,所有项目可用),或 .claude/skills/salesforce-skill/(项目级)。重启 AI 客户端后,用 /salesforce-skill 主动调用,或让 AI 根据上下文自动发现并使用。
Salesforce Skill 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Salesforce Skill 可免费安装使用。请查阅仓库了解许可证信息。
Manage Salesforce CRM records via CLI or REST API, including querying, creating, updating, deleting contacts, accounts, opportunities, leads, and cases.
Salesforce Skill 属于「Marketing & Growth」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my marketing & growth tasks using Salesforce Skill
Identifies repetitive steps in your workflow and sets up Salesforce Skill to handle them automatically