Salesforce
CRM integration for accounts, contacts, opportunities, and custom objects
Salesforce
Connect to Salesforce for comprehensive CRM automation including accounts, contacts, leads, opportunities, and custom objects.
Overview
Salesforce is the world's leading CRM platform. The integration supports:
- Accounts - Company/organization records
- Contacts - Individual contact records
- Leads - Potential customer leads
- Opportunities - Sales deals and pipeline
- Tasks - Activities and to-dos
- Custom Objects - Any sObject type
- SOQL/SOSL Queries - Custom queries and search
Prerequisites
- Salesforce account (any edition with API access)
- Connected App configured for OAuth
- Appropriate user permissions for API access
Authentication
Salesforce uses OAuth 2.0 for authentication via Nango.
Required Scopes
| Scope | Description |
|---|---|
api | REST API access |
refresh_token | Offline access |
Available Actions
Account Actions
getAccount
Get an account by ID.
createAccount
Create a new account.
Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Account name |
industry | string | No | Industry picklist value |
website | string | No | Website URL |
phone | string | No | Phone number |
billingStreet | string | No | Billing street |
billingCity | string | No | Billing city |
billingState | string | No | Billing state |
billingPostalCode | string | No | Billing postal code |
billingCountry | string | No | Billing country |
type | string | No | Account type |
description | string | No | Description |
annualRevenue | number | No | Annual revenue |
numberOfEmployees | number | No | Employee count |
updateAccount
Update an existing account.
deleteAccount
Delete an account.
listAccounts
List accounts with filters.
searchAccounts
Full-text search using SOSL.
Contact Actions
getContact
Get a contact by ID.
createContact
Create a new contact.
updateContact / deleteContact
Lead Actions
getLead
Get a lead by ID.
createLead
Create a new lead.
Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
firstName | string | No | First name |
lastName | string | Yes | Last name |
company | string | Yes | Company name |
email | string | No | Email address |
phone | string | No | Phone number |
title | string | No | Job title |
industry | string | No | Industry |
status | string | No | Lead status (default: New) |
leadSource | string | No | Lead source |
website | string | No | Website URL |
description | string | No | Description |
updateLead / deleteLead
convertLead
Convert a lead to account/contact/opportunity.
Opportunity Actions
getOpportunity
Get an opportunity by ID.
createOpportunity
Create a new opportunity.
Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Opportunity name |
accountId | string | No | Associated account ID |
stageName | string | Yes | Stage name |
closeDate | string | Yes | Expected close date (YYYY-MM-DD) |
amount | number | No | Deal amount |
probability | number | No | Win probability (0-100) |
type | string | No | Opportunity type |
leadSource | string | No | Lead source |
nextStep | string | No | Next step description |
description | string | No | Description |
updateOpportunity
Update an opportunity.
closeOpportunity
Close an opportunity as Won or Lost.
listOpportunities
List opportunities with filters.
Task Actions
getTask
Get a task by ID.
createTask
Create a new task.
updateTask / deleteTask
Query Actions
query
Execute a SOQL query.
search
Execute a SOSL search.
Generic sObject Actions
Work with any Salesforce object type.
getRecord
createRecord
updateRecord / deleteRecord
Webhook Triggers
Salesforce events can trigger workflows via outbound messages or Change Data Capture.
Event Types: Account, Contact, Lead, Opportunity, Task, Case, or any custom object
Example Workflow
Lead qualification workflow:
Rate Limits
| Limit | Value |
|---|---|
| API calls per day | Based on edition |
| Concurrent API limit | 25 (per user) |
| Bulk API | 10,000 records per batch |
| Query results | 2,000 records per request |
Troubleshooting
Common Errors
| Error | Cause | Solution |
|---|---|---|
INVALID_SESSION_ID | Token expired | Refresh OAuth connection |
REQUIRED_FIELD_MISSING | Missing required field | Check field requirements |
DUPLICATE_VALUE | Duplicate external ID | Use upsert or check existing |
ENTITY_IS_DELETED | Record was deleted | Verify record exists |
INSUFFICIENT_ACCESS | Missing permissions | Check user profile permissions |
Field API Names
Salesforce uses API names (e.g., FirstName, Custom_Field__c) rather than labels. Custom fields end with __c.