> For the complete documentation index, see [llms.txt](https://docs.elimity.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.elimity.com/reference-manual/v3.44.2/built-in-connectors/salesforce.md).

# Salesforce

The Salesforce connector for Elimity Insights fetches users, profiles and permissions for a Salesforce account so you can keep in control of your environment. Follow the instructions below to set up the connector for your environment.

## 1. Creating a dedicated read-only user in Salesforce

As a preliminary step we recommend creating a read-only user in your Salesforce account. The Salesforce connector for Elimity Insights will authenticate as this user via a connected app. We recommend reading this post on the Salesforce Admin blog listing best practices for creating integration users: <https://admin.salesforce.com/blog/2023/best-practices-for-configuring-your-integration-user>.

## 2. Setting up a connected app in Salesforce

The Salesforce connector for Elimity Insights authenticates as a connected app in your Salesforce account. Follow these steps:

1. Create a connected app. Refer to [the official documentation](https://help.salesforce.com/s/articleView?id=sf.connected_app_create_basics.htm) for step-by-step instructions about creating a connected app.
2. After creating the connected app, make sure the 'API > Enable OAuth settings' and 'API > Enable Client Credentials Flow' options are enabled for the app. Use a dummy value (e.g. `http://localhost`) for the callback URL and assign the 'Manage user data via APIs (api)' OAuth scope.
3. Now we still need to assign an execution user for the app. On the app's detail page, click 'Manage' and 'Edit policies'. Then set the 'Client Credentials Flow > Run As' configuration value to the dedicated integration user you previously created.
4. As a final step click the 'Manage consumer details' button on the app's detail page and note down the values for 'Consumer Key' and 'Consumer Secret'.

## 3. Creating a source in Elimity Insights

In Elimity Insights you can now create a new Salesforce source providing the following configuration options:

<table data-full-width="true"><thead><tr><th>Configuration option</th><th>Description</th></tr></thead><tbody><tr><td>Gateway URL</td><td>URL of the Elimity Insights Salesforce gateway; SaaS customers can stick to the default of <code>https://salesforce.gateways.elimity.com</code>. On-premise customers wishing to self-host can refer to <a href="/spaces/7b6iwtH0Lr9Z5pj9MCO2/pages/fwfwTnUSjEDoV1r3Nys0">our documentation about gateways and import agents </a>for more information.</td></tr><tr><td>Instance URL</td><td>URL of your Salesforce instance, e.g. <code>https://example.salesforce.com</code>.</td></tr><tr><td>Connected app consumer key</td><td>Consumer key you noted down in step 2.</td></tr><tr><td>Connected app consumer secret</td><td>Consumer secret you noted down in step 2.</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.elimity.com/reference-manual/v3.44.2/built-in-connectors/salesforce.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
