Files

151 lines
3.0 KiB
Markdown
Raw Permalink Normal View History

# Salesforce
Enterprise CRM platform for sales, service, and marketing.
## Capabilities
| Integration | Available | Notes |
|-------------|-----------|-------|
| API | ✓ | REST API, SOAP API, Bulk API |
| MCP | - | Not available |
| CLI | ✓ | Salesforce CLI (`sf`) |
| SDK | ✓ | JSforce, simple-salesforce, etc. |
## Authentication
- **Type**: OAuth 2.0 (Web Server Flow or JWT Bearer)
- **Header**: `Authorization: Bearer {access_token}`
- **Instance URL**: Use instance_url from auth response
## Common Agent Operations
### Query records (SOQL)
```bash
GET https://{instance}.salesforce.com/services/data/v59.0/query?q=SELECT+Id,Name,Email+FROM+Contact+LIMIT+10
Authorization: Bearer {access_token}
```
### Get record by ID
```bash
GET https://{instance}.salesforce.com/services/data/v59.0/sobjects/Contact/{record_id}
Authorization: Bearer {access_token}
```
### Create record
```bash
POST https://{instance}.salesforce.com/services/data/v59.0/sobjects/Contact
{
"FirstName": "John",
"LastName": "Doe",
"Email": "john@example.com",
"AccountId": "{account_id}"
}
```
### Update record
```bash
PATCH https://{instance}.salesforce.com/services/data/v59.0/sobjects/Contact/{record_id}
{
"Title": "Senior Developer"
}
```
### Search records (SOSL)
```bash
GET https://{instance}.salesforce.com/services/data/v59.0/search?q=FIND+{searchTerm}+IN+ALL+FIELDS+RETURNING+Contact(Id,Name,Email)
Authorization: Bearer {access_token}
```
### Get opportunities
```bash
GET https://{instance}.salesforce.com/services/data/v59.0/query?q=SELECT+Id,Name,Amount,StageName,CloseDate+FROM+Opportunity+WHERE+IsClosed=false
Authorization: Bearer {access_token}
```
### Describe object
```bash
GET https://{instance}.salesforce.com/services/data/v59.0/sobjects/Contact/describe
Authorization: Bearer {access_token}
```
## CLI Commands
```bash
# Authenticate
sf org login web
# Query records
sf data query --query "SELECT Id, Name FROM Account LIMIT 10"
# Create record
sf data create record --sobject Account --values "Name='New Account'"
# Deploy metadata
sf project deploy start
# Run Apex
sf apex run --file script.apex
```
## SOQL Examples
```sql
-- Get contacts with accounts
SELECT Id, Name, Email, Account.Name
FROM Contact
WHERE Account.Industry = 'Technology'
-- Get opportunities by stage
SELECT StageName, COUNT(Id)
FROM Opportunity
GROUP BY StageName
-- Get recent leads
SELECT Id, Name, Company, Status
FROM Lead
WHERE CreatedDate = LAST_N_DAYS:30
ORDER BY CreatedDate DESC
```
## Key Objects
- **Lead** - Potential customer
- **Contact** - Person at account
- **Account** - Company/organization
- **Opportunity** - Sales deal
- **Case** - Support ticket
- **Campaign** - Marketing campaign
## When to Use
- Enterprise CRM operations
- Complex sales processes
- Multi-object relationships
- Custom object management
- Marketing campaign tracking
## Rate Limits
- 15,000 API calls per 24 hours (Enterprise)
- Higher limits available
## Relevant Skills
- email-sequence
- analytics-tracking
- paid-ads