Skip to main content

Overview

Pre-built tooling

ToolsStatus
Pre-built authorization (OAuth)βœ…
Credentials auto-refreshβœ…
Pre-built authorization UIβœ…
Custom authorization UIβœ…
Expired credentials detectionβœ…
ToolsStatus
Pre-built integrationsβœ…
API unificationβœ…
2-way syncβœ…
Webhooks from Nango on data modificationsβœ…
Real-time webhooks from 3rd-party API🚫 (time to contribute: <48h)
Proxy requestsβœ…
ToolsStatus
HTTP request loggingβœ…
End-to-type type safetyβœ…
Data runtime validationβœ…
OpenTelemetry exportβœ…
Slack alerts on errorsβœ…
Integration status APIβœ…
ToolsStatus
Create or customize use-casesβœ…
Pre-configured pagination🚫 (time to contribute: <48h)
Pre-configured rate-limit handling🚫 (time to contribute: <48h)
Per-customer configurationsβœ…

Pre-built integrations

EndpointDescriptionReadme
POST /accountsCreate a single account in salesforceπŸ”—
PATCH /accountsUpdate a single account in salesforceπŸ”—
DELETE /accountsDelete a single account in salesforceπŸ”—
GET /accountsFetches a list of accounts from salesforceπŸ”—
EndpointDescriptionReadme
POST /contactsCreate a single contact in salesforceπŸ”—
PATCH /contactsUpdate a single contact in salesforceπŸ”—
DELETE /contactsDelete a single contact in salesforceπŸ”—
GET /contactsFetches a list of contacts from salesforceπŸ”—
EndpointDescriptionReadme
POST /leadsCreate a single lead in salesforceπŸ”—
PATCH /leadsUpdate a single lead in salesforceπŸ”—
DELETE /leadsDelete a single lead in salesforceπŸ”—
GET /leadsFetches a list of leads from salesforceπŸ”—
EndpointDescriptionReadme
POST /opportunitiesCreate a single opportunity in salesforceπŸ”—
PATCH /opportunitiesUpdate a single opportunity in salesforceπŸ”—
DELETE /opportunitiesDelete a single opportunity in salesforceπŸ”—
GET /opportunitiesFetches a list of opportunities from salesforceπŸ”—
EndpointDescriptionReadme
GET /whoamiFetch current user informationπŸ”—
EndpointDescriptionReadme
GET /fieldsFetch available task fields, child relationships and validation rules. If the input is not specified then it defaults back to β€œTask”
Data Validation: Parses all incoming data with Zod. Does not fail on parsing error will instead log parse error and return result.
πŸ”—
GET /articlesFetches a list of articles from salesforceπŸ”—
GET /ticketsFetches a list of tickets from salesforceπŸ”—
Not seeing the integration you need? Build your own independently.

Access requirements

Pre-RequisitesStatusComment
Paid dev account❓
Paid test account❓
Partnership❓
App review❓
Security audit❓

Setup guide

No setup guide yet.
Need help getting started? Get help in the community.
Contribute improvements to the setup guide by editing this page
Contribute useful links by editing this page

Connection Configuration in Nango

Salesforce uses a different API base URL, called the instance_url, for each customer. Nango automatically retrieves the instance_url (e.g. https://yourInstance.salesforce.com/) from Salesforce and stores it in the Connection config for you. If you use the Nango Proxy, it is automatically using the correct API base URL. But, if needed, you can retrieve the instance_url with the backend SDK or Connections API.

API gotchas

  • If you or your end-user are authorizing a Salesforce sandbox account, you must use the salesforce-sandbox integration in Nango. Your Salesforce Developer Edition account is not a Salesforce sandbox! Use it with the regular salesforce connector.
  • Salesforce calls the client_id and client_secret as Consumer Key and Consumer Secret.
  • To enable offline data access with a refresh token, add the refresh_token (or its synonym, offline_access) scope. By default, access tokens expire in ~2h (but customers can configure this value). Also, check the β€œIntrospect All Tokens” checkbox in your OAuth app settings on the Salesforce developer portal (Salesforce doesn’t share the expiration date of access tokens. Instead, Nango needs to call the Salesforce API to check if access tokens are valid.)
  • If you encounter an error in your flow that says invalid_client_id, make sure your (developer) User’s password does not contain any special characters (yes, really.)
Contribute API gotchas by editing this page
⌘I