# Credentials

For us to extract data from SFDC APIs on your behalf, we need your Salesforce domain. For more information on how we integrate with SFDC [click here](🔗).

# Authorization Request

To retrieve an access token required for all data requests, we make an initial authorization request to `<https://login.salesforce.com/services/oauth2/token`>.

These fields are required in the **param** of the **login request**:

  • `grant_type`

  • `client_id`

  • `client_secret`

  • `refresh_token`

Authorization request values

`client_id` and `client_secret` are values used to identify Simon and are identical across all authorization requests for every client using our Salesforce.com integration.

We use `refresh_token` as the `grant_type`

We use [`refresh_token', 'api`] as our scope.

For information on the resources this scope grants [click here](🔗).

# Supported Objects

Available endpoints for the Salesforce ingestor depend on your Salesforce instance. Before pulling new Salesforce data for your account, a list of these endpoints and their schemas are dynamically fetched.

Endpoint Base: `<https://{your_instance}.salesforce.com/`>

  • [Get Objects/Endpoints](🔗)

  • Get Object Descriptions

  • Get Object Deletions


  • Why am I seeing different Record IDs for the same data in Salesforce vs Simon? This is a well-documented intricacy of Salesforce Record IDs. [Click here](🔗) for a more detailed explanation.

  • How do I revoke Simon’s access to our SFDC and SFSC data? [Click here for instructions](🔗)

  • How are SFDC and SFSC extractions different? To maintain incrementality while fetching data from the SFDC and SFSC APIs, object additions and deletions are ingested via two separate endpoints. The endpoint corresponding to the deleted objects have the suffix `_DELETED`.

    Records are ingested when added or updated, meaning that updated records will be duplicates of the previous version of those records

    In order to use current data, you account manager can build data lake that joins the two tables populated by the two associated streams, removes deleted records, and removes duplicate records. For example: