> For the complete documentation index, see [llms.txt](https://docs.ovaledge.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ovaledge.com/release8.1/connectors/connector-repositories/application/salesforce.md).

# Salesforce

This article outlines the integration with the Salesforce connector, enabling streamlined metadata management through features such as crawling, profiling, sample profiling, data preview, querying, and manual lineage building. It also ensures secure authentication via Credential Manager.

The connector connects to Salesforce Sales Cloud through REST APIs and supports token-based and JSON Web Token (JWT) authentication. It provides access to Salesforce objects, fields, and indexed fields based on the configured user permissions and authentication credentials.

<div align="left"><figure><img src="/files/CtmYF5kpkYvMA2SBWZBm" alt=""><figcaption></figcaption></figure></div>

## Overview

### Connector Details

<table data-header-hidden><thead><tr><th width="444"></th><th></th></tr></thead><tbody><tr><td>Connector Category</td><td>Application</td></tr><tr><td>OvalEdge Release Supported</td><td>Release6.3.x and later</td></tr><tr><td><p>Connectivity</p><p>[How the connection is established with Salesforce]</p></td><td>REST APIs</td></tr><tr><td>Verified Salesforce API Version</td><td>v64 and below</td></tr></tbody></table>

{% hint style="info" %}
The Salesforce connector has been validated with the mentioned "Verified Salesforce API Version" and is expected to be compatible with other supported Salesforce API versions. If there are any issues with validation or metadata crawling, please submit a support ticket for investigation and feedback.
{% endhint %}

### Connector Features

<table data-search="false"><thead><tr><th>Feature</th><th align="center">Availability</th></tr></thead><tbody><tr><td>Crawling</td><td align="center">✅</td></tr><tr><td>Delta Crawling</td><td align="center">❌</td></tr><tr><td>Profiling</td><td align="center">✅</td></tr><tr><td>Sample Profiling</td><td align="center">✅</td></tr><tr><td>Query Sheet</td><td align="center">✅</td></tr><tr><td>Data Preview</td><td align="center">✅</td></tr><tr><td>Auto Lineage</td><td align="center">❌</td></tr><tr><td>Manual Lineage</td><td align="center">✅</td></tr><tr><td>Secure Authentication via Credential Manager</td><td align="center">✅</td></tr><tr><td>Data Quality</td><td align="center">❌</td></tr><tr><td>DAM (Data Access Management)</td><td align="center">❌</td></tr><tr><td>Bridge</td><td align="center">✅</td></tr></tbody></table>

{% hint style="info" %}
Object and field relationship metadata (such as child relationships) is collected for internal mapping. However, full automatic lineage generation is not supported.
{% endhint %}

### Metadata Mapping

The following objects are crawled from Salesforce and mapped to the corresponding UI assets.

<table data-search="false"><thead><tr><th width="250.5">Salesforce Object</th><th width="200.916748046875">Salesforce Attribute</th><th width="184.7501220703125">OvalEdge Attribute</th><th width="179">OvalEdge Category</th><th width="237.166748046875">OvalEdge Type</th></tr></thead><tbody><tr><td>Objects (System &#x26; Custom)</td><td>Object Name</td><td>Table Name</td><td>Tables</td><td>Table</td></tr><tr><td>Objects (System &#x26; Custom)</td><td>Object Description</td><td>Table Comment</td><td>Tables</td><td>Table</td></tr><tr><td>Object Fields</td><td>Field Name</td><td>Column Name</td><td>Table Columns</td><td>Columns</td></tr><tr><td>Object Fields</td><td>Field Type</td><td>Data Type</td><td>Table Columns</td><td>Columns</td></tr><tr><td>Object Fields</td><td>Field Length</td><td>Data Type Size</td><td>Table Columns</td><td>Columns</td></tr><tr><td>Object Fields</td><td>Field Description</td><td>Source Description</td><td>Table Columns</td><td>Description</td></tr><tr><td>Object Fields</td><td>Field Name</td><td>Title</td><td>Table Columns</td><td>Columns</td></tr><tr><td>Indexes</td><td>Index Name</td><td>Index</td><td>Indexes</td><td>Index</td></tr><tr><td>Indexes</td><td>If Unique</td><td>Yes/No</td><td>Indexes</td><td>Index</td></tr></tbody></table>

{% hint style="info" %}
Salesforce does not provide a native schema; the connector creates a default logical schema named “Salesforce.” This is always a single schema under which all objects are organized. Multiple schemas are not supported, and expecting them may cause confusion during crawling or profiling.
{% endhint %}

{% hint style="info" %}
Index metadata is not included by default in crawl results. It is retrieved only when the index crawl option (**isIndexes**) is enabled. Users expecting index metadata by default may find it missing. Ensure this option is explicitly enabled in the connector or crawler configuration to extract index details.
{% endhint %}

## Set up a Connection

### Prerequisites

The following are the prerequisites to establish a connection:

#### **Service Account User Permissions**

Before configuring the connector, the Salesforce environment must be prepared with the necessary User, Connected App, and authentication flows. These components are essential for managing secure access and generating the required integration credentials. For detailed instructions on setting up these prerequisites, click [here](/release8.1/connectors/connector-repositories/application/salesforce/salesforce-authentication-and-integration.md).

{% hint style="warning" %}
It is recommended to use a dedicated service account to establish the connection to the data source, configured with the following minimum set of permissions.
{% endhint %}

{% hint style="info" %}
👨‍💻**Who can provide these permissions?** These permissions are typically granted by the Salesforce administrator, as users may not have the required access to assign them independently.
{% endhint %}

| Objects | Sys Tables     | Permission |
| ------- | -------------- | ---------- |
| Tables  | Objects        | Read       |
| Columns | Object fields  | Read       |
| Indexes | Indexed Fields | Read       |

{% hint style="info" %}
For the Tables operation, the user must have API Enabled permission and read access to the objects to be crawled. These objects will appear as tables in the Application after crawling.
{% endhint %}

{% hint style="info" %}
For the Columns & Indexes operation, the user must have read access to the object fields to be crawled. These fields will appear as table columns in the Application after crawling.
{% endhint %}

### Connection Configuration Steps

{% hint style="warning" %}
Users are required to have the Connector Creator role in order to configure a new connection.
{% endhint %}

1. Log into **OvalEdge**, go to **Administration > Connectors**, click **+ (New Connector)**, search for **Salesforce**, and complete the required parameters.

{% hint style="info" %}
Fields marked with an asterisk (\*) are mandatory for establishing a connection.
{% endhint %}

<table><thead><tr><th width="220.25">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>Connector Type</td><td>By default, "Salesforce" is displayed as the selected connector type.</td></tr><tr><td>Credential Manager*</td><td><p>Select the desired credential manager from the drop-down list. Relevant parameters will be displayed based on the selection.</p><p>Supported Credential Managers:</p><ul><li>OE Credential Manager</li><li>AWS Secrets Manager</li><li>HashiCorp Vault</li><li>Azure Key Vault</li></ul><p>For more details, click <a href="https://docs.ovaledge.com/release8.1/connectors/additional-requirements/credential-manager-configuration">here</a>.</p></td></tr><tr><td>Authentication Type</td><td><p>The following two types of authentication are supported for Salesforce:</p><ul><li>Token Based</li><li>JSON Web Token (JWT)</li></ul></td></tr></tbody></table>

{% tabs %}
{% tab title="Token Based" %}

<table><thead><tr><th width="191.8055419921875">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>Connector Name*</td><td>Enter a unique name for the Salesforce connection (Example: "Salesforce_Prod").</td></tr><tr><td>Connector Description</td><td>Enter a description to identify the purpose of the connector.</td></tr><tr><td>Connector Environment</td><td>Select the environment (Example: PROD, STG) configured for the connector.<br>For more details, click <a href="https://docs.ovaledge.com/release8.1/connectors/introduction-to-connectors/setup-and-connectivity/prerequisites#connector-environment">here</a>.</td></tr><tr><td>Username*</td><td>Enter the Salesforce username for the user account used for API access. It is usually in the format of an email (e.g., apiuser@xxxx.com).</td></tr><tr><td>Password*</td><td>Enter the password for the Salesforce user account used for API access.</td></tr><tr><td>Consumer Key*</td><td>It is generated when a Connected App is created in Salesforce and is used to identify the client making the API request.</td></tr><tr><td>Consumer Secret*</td><td>It is generated with the Connected App in Salesforce and is used along with the Customer Key to connect and authenticate the application securely.</td></tr><tr><td>Security token</td><td>A unique token generated by Salesforce for API access. Required when logging in from untrusted IP addresses. It must be appended to the password during login if the IP address is not whitelisted. This can be obtained by using the "Reset My Security Token" option in Salesforce.</td></tr><tr><td>API version*</td><td>Enter the version of the Salesforce REST API to be used (e.g., v59.0). This determines the available endpoints and features.<br><br><strong>Note</strong>: API version must be selected from the supported versions list.</td></tr><tr><td>Sandbox Environment*</td><td>Select Yes if the Salesforce environment is a sandbox (test environment), or No if it is a production environment. Sandbox environments usually have URLs like test.salesforce.com.</td></tr><tr><td>Proxy Enabled*</td><td>Select Yes to route API calls through a proxy server. Select No to bypass the proxy and connect directly.</td></tr></tbody></table>
{% endtab %}

{% tab title="JSON Web Token (JWT)" %}

<table><thead><tr><th width="220.25">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>Connector Name*</td><td>Enter a unique name for the Salesforce connection (Example: "Salesforce_Prod").</td></tr><tr><td>Connector Description</td><td>Enter a description to identify the purpose of the connector.</td></tr><tr><td>Connector Environment</td><td>Select the environment (Example: PROD, STG) configured for the connector.<br>For more details, click <a href="https://docs.ovaledge.com/release8.1/connectors/introduction-to-connectors/setup-and-connectivity/prerequisites#connector-environment">here</a>.</td></tr><tr><td>Username*</td><td>Enter the Salesforce username for the user account used for API access. It is usually in the format of an email (e.g., apiuser@xxxx.com).</td></tr><tr><td>Consumer Key*</td><td>It is generated when a Connected App is created in Salesforce and is used to identify the client making the API request.</td></tr><tr><td>API version*</td><td>Enter the version of the Salesforce REST or SOAP API to be used (e.g., v59.0). This determines the available endpoints and features.</td></tr><tr><td>Sandbox Environment*</td><td>Select Yes if the Salesforce environment is a sandbox (test environment), or No if it is a production environment. Sandbox environments usually have URLs like test.salesforce.com.</td></tr><tr><td>Alias name*</td><td>Enter the alias name used to identify the specific key entry within the keystore. Each key entry in the key store is associated with a unique alias.</td></tr><tr><td>Keystore password*</td><td>Enter the password used to access the keystore file. This password protects the keystore and ensures secure access to the stored certificates and keys.</td></tr><tr><td>Keystore file path*</td><td>Provide the full path and file name of the Java Keystore (jks) file. This file contains the security certificates and keys required for establishing a secure SSL/TLS connection.</td></tr><tr><td>Proxy Enabled*</td><td>Select Yes to route API calls through a proxy server. Select No to bypass the proxy and connect directly.</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

**Default Governance Roles**

<table data-header-hidden><thead><tr><th width="220.22222900390625"></th><th></th></tr></thead><tbody><tr><td>Default Governance Roles*</td><td>Select the appropriate users or teams for each governance role from the drop-down list. All users configured in the security settings are available for selection.</td></tr></tbody></table>

**Admin Roles**

<table data-header-hidden><thead><tr><th width="219.3333740234375"></th><th></th></tr></thead><tbody><tr><td>Admin Roles*</td><td>Select one or more users from the dropdown list for Integration Admin and Security &#x26; Governance Admin. All users configured in the security settings are available for selection.</td></tr></tbody></table>

**Bridge**

<table data-header-hidden><thead><tr><th width="219.3333740234375"></th><th></th></tr></thead><tbody><tr><td>Select Bridge*</td><td><p>Select the bridge from the drop-down list.</p><p>The drop-down list displays all active bridges that have been configured. These bridges facilitate communication between data sources and the system without requiring changes to firewall rules.</p></td></tr></tbody></table>

2. After entering all connection details, the following actions can be performed:
   1. Click **Validate** to verify the connection.
   2. Click **Save** to store the connection for future use.
   3. Click **Save & Configure** to apply additional settings before saving.
3. The saved connection will appear on the **Connectors home** page.

## Manage Connector Operations

### Crawl/Profile

{% hint style="warning" %}
To perform crawl and profile operations, users must be assigned the Integration Admin role.
{% endhint %}

The **Crawl/Profile** button allows users to select one or more schemas for crawling and profiling.

1. Navigate to the **Connectors page** and click **Crawl/Profile.**
2. Select the schemas to be crawled.
3. The **Crawl** option is selected by default. To perform both operations, select the **Crawl & Profile** radio button.
4. Click **Run** to collect metadata from the connected source and load it into the Data Catalog.
5. After a successful crawl, the information appears in the **Data Catalog > Databases** tab.

The **Schedule** checkbox allows automated crawling and profiling at defined intervals, from a minute to a year.

1. Click the **Schedule** checkbox to enable the **Select Period** drop-down.
2. Select a time period for the operation from the drop-down menu.
3. Click **Schedule** to initiate metadata collection from the connected source.
4. The system will automatically execute the selected operation (**Crawl** or **Crawl & Profile**) at the scheduled time.

#### Other Operations

The Connectors page provides a centralized view of all configured connectors, along with their health status.

**Managing connectors includes:**

* **Connector Health:** Displays the current status of each connector using a green icon for active connections and a red icon for inactive connections, helping to monitor connectivity with data sources.
* **Viewing**: Click the **Eye icon** next to the connector name to view connector details.

**Nine Dots Menu Options:**

To view, edit, validate, build lineage, configure, or delete connectors, click on the **Nine Dots** menu.

* **Edit Connector**: Update and revalidate the data source.
* **Validate Connector:** Check the connection's integrity.
* **Settings**: Modify connector settings.
  * **Crawler**: Configure data extraction.
  * **Profiler**: Customize data profiling rules and methods.
  * **Query Policies:** Define query execution rules based on roles.
  * **Access Instructions**: Add notes on how data can be accessed.
  * **Connection Pooling**: Configure database connection pool parameters to optimize database connectivity and resource utilization. For more details, click [here](https://docs.ovaledge.com/release8.1/connectors/introduction-to-connectors/setup-and-connectivity/connector-settings#connection-pooling).
  * **Business Glossary Settings:** Manage term associations at the connector level.
  * **Lineage**: Configure Server Dialects for source code parsing and Connector Priority for table lineage connection.
  * **Others**: Configure notification recipients for metadata changes.
* **Delete Connector:** Remove a connector with confirmation.

For more details on connector settings, click [here](https://docs.ovaledge.com/release8.1/connectors/introduction-to-connectors/setup-and-connectivity/connector-settings).

## Known Limitations

<table><thead><tr><th width="84.6666259765625">S. No</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td>In the Auto tab, the following operations are currently not supported: Filters, Group By, Rename, Aggregate functions, Ascending (ASC), Descending (DSC), and Original Sort.</td></tr><tr><td>2</td><td>For Full Profiling, Salesforce enforces metadata restrictions at the column level. If a column is <strong>not filterable, aggregatable, or groupable</strong>, full profiling queries cannot be executed on that column. In such cases, the connector automatically falls back to <strong>Sample Profiling</strong> and computes metrics using the configured sample size defined in the profiling settings. This behavior is expected and ensures profiling completes successfully without failures on unsupported Salesforce fields.</td></tr><tr><td>3</td><td>In Filter Operation, the “Not Contains” condition is not supported within the filter functionality.</td></tr><tr><td>4</td><td>In the Rename Operation, renaming columns is not supported. Attempting this action results in the error: “Define Column Alias is not supported for Salesforce.”</td></tr><tr><td>5</td><td>In certain scenarios, data may not be displayed in the console as expected. Due to this behavior, Join and Union operations cannot be performed on the affected datasets.</td></tr><tr><td>6</td><td>During Query Execution, the DDL and DML queries cannot be executed.</td></tr></tbody></table>

***

Copyright © 2026, OvalEdge LLC, Peachtree Corners GA USA


---

# 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.ovaledge.com/release8.1/connectors/connector-repositories/application/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.
