Salesforce API Integration
// Complete Salesforce REST API for SOQL queries, CRUD operations, Bulk API, Composite API, authentication, and standard objects with error handling.
Salesforce API Integration
Complete Salesforce REST API reference. See auxiliary files for detailed operations.
Quick Start
curl "$SF_INSTANCE_URL/services/data/v59.0/sobjects/" \
-H "Authorization: Bearer $SF_ACCESS_TOKEN"
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
~/salesforce-api-integration/
├── memory.md # Org context and object schemas
└── queries.md # Saved SOQL queries
Quick Reference
| Topic | File |
|---|---|
| Setup and authentication | setup.md, memory-template.md |
| 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
- Bearer token auth -
Authorization: Bearer $SF_ACCESS_TOKEN - Instance URL required - Each org has unique URL like
https://yourorg.my.salesforce.com - 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
nextRecordsUrlfor results over 2000 - Rate limits - Vary by edition, typically 100k+ calls/day
Authentication
Required environment variables:
SF_ACCESS_TOKEN- OAuth access token for API callsSF_INSTANCE_URL- Your Salesforce instance (e.g.,https://yourorg.my.salesforce.com)
# All requests require these headers
curl "$SF_INSTANCE_URL/services/data/v59.0/..." \
-H "Authorization: Bearer $SF_ACCESS_TOKEN" \
-H "Content-Type: application/json"
Common Traps
- Wrong instance URL - 404 or DNS errors
- Expired access token - 401 INVALID_SESSION_ID
- Missing field permissions - Field appears null
- SOQL syntax errors - MALFORMED_QUERY
- Relationship name vs field name - Use
Account.NamenotAccountId.Name
External Endpoints
| Endpoint | Purpose |
|---|---|
https://*.my.salesforce.com/services/data/* | REST API |
https://*.my.salesforce.com/services/async/* | 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 authenticationSF_INSTANCE_URL- 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
~/salesforce-api-integration/ - Provides curl and code examples
This skill NEVER:
- Accesses files outside
~/salesforce-api-integration/ - 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 patternscrm— CRM workflowsaccounting— Financial operations
Feedback
- If useful:
clawhub star salesforce-api-integration - Stay updated:
clawhub sync