# Salesforce

### Create a Salesforce application

To integrate Appmixer with Salesforce, you are going to need an app in your Salesforce account. You can either create a new one or use one that already exists.

To create an app, you have to login into [Salesforce Developer portal](https://developer.salesforce.com). Once logged in, on the left menu, look up **Platform Tools -> Apps -> App Manager**. This will show you a list of your existing apps and provide the option to create a new one via the *New Connected App* on the top right side:

<figure><img src="/files/JMvTY7RDvAIzOaUHV4PO" alt=""><figcaption><p>App manager</p></figcaption></figure>

In the next screen, you will be requested to fill out some basic data about your new app. Look out for the **API (Enable OAuth Settings)** section. Tick the Enable OAuth Settings checkbox, and fill out the callback URL and scopes as shown in this screenshot:

<figure><img src="/files/inLVBcDOwpmCeSRBQdCA" alt=""><figcaption><p>Filling OAuth settings for your application</p></figcaption></figure>

### Getting client id and secret

With your app ready, you can get the client id and secret required for integrate Salesforce into Appmixer. Go to the **App Manager** and search for your app in the list. On the dropdown in the right side, click the **View** option.

<figure><img src="/files/MYtmoSa3JocpA4vnjO6n" alt=""><figcaption><p>Navigating to your app details</p></figcaption></figure>

In the next screen, look out for **API (Enable OAuth Settings)** section and click on the **Manage Consumer Details** button. You should see now your client id (shown as Consumer Key) and secret (shown as Consumer Secret):

<figure><img src="/files/ACeBaHPMSVNdMQBzsvzM" alt=""><figcaption><p>Salesforce client id (Consumer Key) and secret (Consumer Secret)</p></figcaption></figure>

Now we can provide these values to Appmixer. Log into the Backoffice and go to the Configuration section. Create a configuration service for Salesforce as follows:

<figure><img src="/files/ZrGwrSNsc2uNa4tN1gXL" alt=""><figcaption><p>Creating configuration for Salesforce in the Backoffice</p></figcaption></figure>

Finally, set the *clientId* (Consumer Key in Salesforce) and the *clientSecret* (Consumer Secret in Salesforce) like this:

<figure><img src="/files/XWZXNiNbqXomOYw4PIGQ" alt=""><figcaption><p>Adding clientId and clientSecret to Appmixer</p></figcaption></figure>

### Authentication configuration

The Salesforce OAuth authentication offers several behaviors when users try to authenticate. This is the summary of the available options (taken from Salesforce [Oauth docs](https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_web_server_flow.htm\&type=5)):

* `login`—The authorization server must prompt the user for reauthentication, forcing the user to log in again.
* `consent`—The authorization server must prompt the user for reapproval before returning information to the client.
* `select_account`—If present, take one of the following actions.
  * If zero or one hint is available and the user is logged in, show the approval page without prompting for login.
  * If zero or one hint is available and the user isn’t logged in, prompt for login.
  * If more than one hint is available, show the account chooser.

By default, we use the `login` option, but you can configure it through the Backoffice.

1. Login into the Backoffice, and go to the Services module. Then add a new service like this:

![](/files/-MgsBUx-y__hz2qbRuyt)

2\. Add a *promptType* key, and set it to one of the supported values by Salesforce:

![](/files/-MgsBq0WEJ5HKmEdtKjr)

#### Login URL

The default login URL is <https://login.salesforce.com>, this can be changed with a *baseUrl.*

<figure><img src="/files/I6mEUXIEObaLTVTUYeab" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.appmixer.com/6.0/5.0/app-registration/salesforce.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
