> ## Documentation Index
> Fetch the complete documentation index at: https://nango-wari-migrated-bigcommerce-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Salesforce Sandbox

> Integrate your application with the Salesforce Sandbox API

## 🚀 Quickstart

Connect to Salesforce Sandbox with Nango and see data flow in 2 minutes.

<Steps>
  <Step title="Create the integration">
    In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> *Configure New Integration* -> *Salesforce Sandbox*.
  </Step>

  <Step title="Authorize Salesforce Sandbox">
    Go to [Connections](https://app.nango.dev/dev/connections) -> *Add Test Connection* -> *Authorize*, then log in to Salesforce Sandbox. Later, you'll let your users do the same directly from your app.
  </Step>

  <Step title="Call the Salesforce Sandbox API">
    Let's make your first request to the Salesforce Sandbox API. Replace the placeholders below with your [secret key](https://app.nango.dev/dev/environment-settings), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):

    <Tabs>
      <Tab title="cURL">
        ```bash theme={null}
        curl "https://api.nango.dev/proxy/services/data/v60.0/sobjects" \
          -H "Authorization: Bearer <NANGO-SECRET-KEY>" \
          -H "Provider-Config-Key: <INTEGRATION-ID>" \
          -H "Connection-Id: <CONNECTION-ID>"
        ```
      </Tab>

      <Tab title="Node">
        Install Nango's backend SDK with `npm i @nangohq/node`. Then run:

        ```typescript theme={null}
        import { Nango } from '@nangohq/node';

        const nango = new Nango({ secretKey: '<NANGO-SECRET-KEY>' });

        const res = await nango.get({
            endpoint: '/services/data/v60.0/sobjects',
            providerConfigKey: '<INTEGRATION-ID>',
            connectionId: '<CONNECTION-ID>'
        });

        console.log(res.data);
        ```
      </Tab>
    </Tabs>

    Or fetch credentials with the [Node SDK](/reference/sdks/node#get-a-connection-with-credentials) or [API](/reference/api/connection/get).

    ✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.
  </Step>

  <Step title="Implement Nango in your app">
    Follow our [Auth implementation guide](/guides/primitives/auth) to integrate Nango in your app.

    To obtain your own production credentials, follow the setup guide linked below.
  </Step>
</Steps>

## 📚 Salesforce Sandbox Integration Guides

Nango maintained guides for common use cases.

* [How do I link my account?](/api-integrations/salesforce-sandbox/connect)\
  Connect your Salesforce sandbox account, including custom sandbox domains
* [How to register your own Salesforce Sandbox OAuth app](/api-integrations/salesforce-sandbox/how-to-register-your-own-salesforce-sandbox-api-oauth-app)\
  Register an OAuth app with Salesforce Sandbox and obtain credentials to connect it to Nango

Official docs: [Salesforce Web API docs](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_rest_resources.html)

## 🧩 Pre-built syncs & actions for Salesforce Sandbox

Enable them in your dashboard. Extend and customize to fit your needs.

### Others

| Function name                  | Description                                                                                                                                                     | Type                                           | Source code                                                                                                                             |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `composite-batch-request`      | Execute multiple independent Salesforce REST subrequests in one batch call                                                                                      | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/composite-batch-request.ts)      |
| `composite-graph-request`      | Execute a dependent graph of subrequests in one composite graph call. Supports up to 500 subrequests across multiple graphs with automatic rollback on failure. | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/composite-graph-request.ts)      |
| `composite-request`            | Execute multiple Salesforce REST subrequests in one composite call.                                                                                             | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/composite-request.ts)            |
| `create-record`                | Create a Salesforce sObject record for a specified object type.                                                                                                 | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/create-record.ts)                |
| `create-sobject-collection`    | Create multiple sObject records in one collection request.                                                                                                      | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/create-sobject-collection.ts)    |
| `delete-record`                | Delete a Salesforce sObject record by type and record ID.                                                                                                       | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/delete-record.ts)                |
| `delete-sobject-collection`    | Delete multiple records in one sObject collection request.                                                                                                      | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/delete-sobject-collection.ts)    |
| `describe-global`              | List available sObject types and global metadata for the org.                                                                                                   | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/describe-global.ts)              |
| `describe-sobject`             | Retrieve schema metadata for a specific sObject type                                                                                                            | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/describe-sobject.ts)             |
| `get-current-user`             | Retrieve the current Salesforce user and org identity context.                                                                                                  | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/get-current-user.ts)             |
| `get-limits`                   | Retrieve current org API usage and platform limits                                                                                                              | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/get-limits.ts)                   |
| `get-quick-action-defaults`    | Retrieve default field values for a quick action                                                                                                                | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/get-quick-action-defaults.ts)    |
| `get-record-by-external-id`    | Retrieve a record by external ID field and value.                                                                                                               | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/get-record-by-external-id.ts)    |
| `get-record`                   | Retrieve a Salesforce record by object type and record ID                                                                                                       | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/get-record.ts)                   |
| `get-sobject-basic-info`       | Retrieve basic metadata for a specific sObject type including object properties, recent items, and URIs for related resources.                                  | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/get-sobject-basic-info.ts)       |
| `list-available-resources`     | Discover supported Salesforce REST resource versions and root URLs.                                                                                             | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/list-available-resources.ts)     |
| `list-quick-actions`           | List quick actions available in the org or on an sObject                                                                                                        | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/list-quick-actions.ts)           |
| `list-recent-items`            | List recently viewed records visible to the authenticated user                                                                                                  | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/list-recent-items.ts)            |
| `parameterized-search-records` | Run a parameterized search request across Salesforce objects.                                                                                                   | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/parameterized-search-records.ts) |
| `query-all-records`            | Run a SOQL query that also includes deleted and archived records.                                                                                               | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/query-all-records.ts)            |
| `query-records`                | Run a SOQL query and return matching records                                                                                                                    | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/query-records.ts)                |
| `retrieve-query-more`          | Continue a SOQL query using a nextRecordsUrl locator                                                                                                            | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/retrieve-query-more.ts)          |
| `search-records`               | Run a SOSL search across searchable Salesforce objects                                                                                                          | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/search-records.ts)               |
| `update-record-by-external-id` | Update a record by external ID field and value.                                                                                                                 | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/update-record-by-external-id.ts) |
| `update-record`                | Partially update a Salesforce record by object type and record ID.                                                                                              | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/update-record.ts)                |
| `update-sobject-collection`    | Update multiple records in one sObject collection request                                                                                                       | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/update-sobject-collection.ts)    |
| `upsert-record`                | Create or update a Salesforce record using an external ID field.                                                                                                | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/upsert-record.ts)                |
| `upsert-sobject-collection`    | Upsert multiple records using external IDs in one collection request                                                                                            | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/actions/upsert-sobject-collection.ts)    |
| `accounts`                     | Sync Salesforce Account records with a practical default field set                                                                                              | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/syncs/accounts.ts)                       |
| `articles`                     | Sync Salesforce knowledge articles with title, content, and modified timestamps                                                                                 | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/syncs/articles.ts)                       |
| `cases`                        | Sync Salesforce Case records with common service and status fields.                                                                                             | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/syncs/cases.ts)                          |
| `contacts`                     | Sync Salesforce Contact records with a practical default field set                                                                                              | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/syncs/contacts.ts)                       |
| `opportunities`                | Sync Salesforce Opportunity records with amount, stage, close date, and owner fields.                                                                           | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/syncs/opportunities.ts)                  |
| `records-by-soql`              | Sync arbitrary Salesforce records from a caller-provided SOQL query                                                                                             | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/syncs/records-by-soql.ts)                |
| `tickets`                      | Sync Salesforce case tickets with core fields and related conversation context.                                                                                 | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/syncs/tickets.ts)                        |
| `users`                        | Sync Salesforce User records with profile, email, and active state fields.                                                                                      | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/salesforce/syncs/users.ts)                          |

***
