Salesforce API Integration
Complete Salesforce REST API reference. See auxiliary files for detailed operations.
Quick Start
CODEBLOCK0
Setup
On first use, read setup.md. Preferences stored in ~/salesforce-api-integration/memory.md.
When to Use
Any Salesforce operation: SOQL queries, record CRUD, bulk imports/exports, metadata, composite requests.
Architecture
CODEBLOCK1
Quick Reference
| Topic | File |
|---|
| Setup and authentication | INLINECODE2 , INLINECODE3 |
| SOQL queries and search |
soql.md |
| Records: create, read, update, delete |
records.md |
| Standard objects reference |
objects.md |
| Bulk API 2.0 for large datasets |
bulk.md |
| Composite and batch requests |
composite.md |
| Metadata and schema |
metadata.md |
| Error handling |
errors.md |
Core Rules
- 1. Bearer token auth - INLINECODE11
- Instance URL required - Each org has unique URL like INLINECODE12
- API version in path - Use
/services/data/v59.0/ (or newer) - SOQL for queries - Salesforce Object Query Language for data retrieval
- Object API names - Use API names:
Account, Contact__c (custom objects end in __c) - Pagination for large results - Use
nextRecordsUrl for results over 2000 - Rate limits - Vary by edition, typically 100k+ calls/day
Authentication
Required environment variables:
- -
SF_ACCESS_TOKEN - OAuth access token for API calls - INLINECODE19 - Your Salesforce instance (e.g.,
https://yourorg.my.salesforce.com)
CODEBLOCK2
Common Traps
- - Wrong instance URL - 404 or DNS errors
- Expired access token - 401 INVALIDSESSIONID
- Missing field permissions - Field appears null
- SOQL syntax errors - MALFORMED_QUERY
- Relationship name vs field name - Use
Account.Name not INLINECODE22
External Endpoints
| Endpoint | Purpose |
|---|
| INLINECODE23 | REST API |
| INLINECODE24 |
Bulk API |
|
https://login.salesforce.com/services/oauth2/* | OAuth (production) |
|
https://test.salesforce.com/services/oauth2/* | OAuth (sandbox) |
Security & Privacy
Environment variables used:
- -
SF_ACCESS_TOKEN - for API authentication - INLINECODE28 - for API endpoint routing
Sent to Salesforce: Queries, record data via your instance URL
Stays local: Access token (in environment variable only), ~/salesforce-api-integration/ preferences
Never: Store tokens in files, log sensitive data, bypass field-level security
Scope
This skill ONLY:
- - Makes requests to Salesforce REST API endpoints
- Stores preferences in INLINECODE29
- Provides curl and code examples
This skill NEVER:
- - Accesses files outside INLINECODE30
- Makes requests to non-Salesforce endpoints
- Stores access tokens in files
Trust
By using this skill, data is sent to Salesforce (salesforce.com).
Only install if you trust Salesforce with your CRM data.
Related Skills
Install with
clawhub install <slug> if user confirms:
- -
api — REST API patterns - INLINECODE33 — CRM workflows
- INLINECODE34 — Financial operations
Feedback
- - If useful: INLINECODE35
- Stay updated: INLINECODE36
技能名称: Salesforce API集成
Salesforce API集成
完整的Salesforce REST API参考。详细操作请参见辅助文件。
快速开始
bash
curl $SFINSTANCEURL/services/data/v59.0/sobjects/ \
-H Authorization: Bearer $SFACCESSTOKEN
设置
首次使用时,请阅读setup.md。偏好设置存储在~/salesforce-api-integration/memory.md中。
使用场景
任何Salesforce操作:SOQL查询、记录增删改查、批量导入/导出、元数据、复合请求。
架构
~/salesforce-api-integration/
├── memory.md # 组织上下文和对象模式
└── queries.md # 保存的SOQL查询
快速参考
| 主题 | 文件 |
|---|
| 设置和认证 | setup.md、memory-template.md |
| SOQL查询和搜索 |
soql.md |
| 记录:创建、读取、更新、删除 | records.md |
| 标准对象参考 | objects.md |
| 大数据集的批量API 2.0 | bulk.md |
| 复合和批量请求 | composite.md |
| 元数据和模式 | metadata.md |
| 错误处理 | errors.md |
核心规则
- 1. Bearer令牌认证 - Authorization: Bearer $SFACCESSTOKEN
- 需要实例URL - 每个组织有唯一URL,如https://yourorg.my.salesforce.com
- 路径中的API版本 - 使用/services/data/v59.0/(或更新版本)
- 查询使用SOQL - Salesforce对象查询语言用于数据检索
- 对象API名称 - 使用API名称:Account、Contactc(自定义对象以c结尾)
- 大数据结果分页 - 超过2000条结果使用nextRecordsUrl
- 速率限制 - 因版本而异,通常每天10万次以上调用
认证
所需环境变量:
- - SFACCESSTOKEN - 用于API调用的OAuth访问令牌
- SFINSTANCEURL - 您的Salesforce实例(例如https://yourorg.my.salesforce.com)
bash
所有请求都需要这些标头
curl $SF
INSTANCEURL/services/data/v59.0/... \
-H Authorization: Bearer $SF
ACCESSTOKEN \
-H Content-Type: application/json
常见陷阱
- - 错误的实例URL - 404或DNS错误
- 过期的访问令牌 - 401 INVALIDSESSIONID
- 缺少字段权限 - 字段显示为null
- SOQL语法错误 - MALFORMED_QUERY
- 关系名称与字段名称混淆 - 使用Account.Name而非AccountId.Name
外部端点
| 端点 | 用途 |
|---|
| https://.my.salesforce.com/services/data/ | REST API |
| https://.my.salesforce.com/services/async/ |
批量API |
| https://login.salesforce.com/services/oauth2/* | OAuth(生产环境) |
| https://test.salesforce.com/services/oauth2/* | OAuth(沙箱环境) |
安全与隐私
使用的环境变量:
- - SFACCESSTOKEN - 用于API认证
- SFINSTANCEURL - 用于API端点路由
发送到Salesforce: 通过实例URL发送查询和记录数据
本地保留: 访问令牌(仅限环境变量)、~/salesforce-api-integration/偏好设置
绝对不要: 将令牌存储在文件中、记录敏感数据、绕过字段级安全
范围
此技能仅:
- - 向Salesforce REST API端点发送请求
- 在~/salesforce-api-integration/中存储偏好设置
- 提供curl和代码示例
此技能从不:
- - 访问~/salesforce-api-integration/之外的文件
- 向非Salesforce端点发送请求
- 将访问令牌存储在文件中
信任
使用此技能,数据将被发送到Salesforce(salesforce.com)。
仅当您信任Salesforce处理您的CRM数据时才安装。
相关技能
如果用户确认,使用clawhub install
安装:
- - api — REST API模式
- crm — CRM工作流
- accounting — 财务操作
反馈
- - 如果有用:clawhub star salesforce-api-integration
- 保持更新:clawhub sync