# Salesforce Reports

This article outlines the integration with the Salesforce Reports connector, enabling streamlined metadata management through features such as crawling and lineage building (Auto and Manual). It also ensures secure authentication via Credential Manager.

<figure><img src="https://content.gitbook.com/content/ztcvwwOJCeaE1n6oHp4C/blobs/gLrtv2Hzr3hyzNMkOO2W/unknown.png" alt=""><figcaption></figcaption></figure>

## Overview

### Connector Details

| Connector Category                                                                     | Reporting Tools |
| -------------------------------------------------------------------------------------- | --------------- |
| Connector Version                                                                      | Release6.3.x    |
| Releases Supported (Available from)                                                    | Release5.x      |
| <p>Connectivity</p><p>\[How the connection is established with Salesforce Reports]</p> | REST APIs       |
| Verified Salesforce Reports Version                                                    | 64              |

{% hint style="info" %}
The Salesforce Reports connector validates with the listed “Verified Salesforce Reports Version” and supports other compatible Salesforce Reports versions. If there are any issues with validation or metadata crawling, please submit a support ticket for investigation and feedback.
{% endhint %}

### Connector Features

| Feature                                      | Availability |
| -------------------------------------------- | :----------: |
| Crawling                                     |       ✅      |
| Profiling                                    |      NA      |
| Query Sheet                                  |      NA      |
| Report Preview                               |       ❌      |
| Auto Lineage                                 |       ✅      |
| Manual Lineage                               |       ✅      |
| Secure Authentication via Credential Manager |       ✅      |
| Data Quality                                 |      NA      |
| DAM (Data Access Management)                 |       ❌      |
| Bridge                                       |       ✅      |

{% hint style="info" %}
'NA' indicates that the respective feature is 'Not Applicable.'
{% endhint %}

### Metadata Mapping

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

<table><thead><tr><th width="234.333251953125">Salesforce Reports Object</th><th width="238.6666259765625">Salesforce Reports Attribute</th><th width="172">OvalEdge Attribute</th><th width="172">OvalEdge Category</th><th>OvalEdge Type</th></tr></thead><tbody><tr><td>Report Group</td><td>Default</td><td>Report Group</td><td>Report Group</td><td>Report Group</td></tr><tr><td>Reports</td><td>Value</td><td>Report Name</td><td>Reports</td><td>              -</td></tr><tr><td>Reports</td><td>Report Description</td><td>Source Description</td><td>Description</td><td>              -</td></tr><tr><td>Reports</td><td>Report Type</td><td>Type</td><td>Reports</td><td>              -</td></tr></tbody></table>

## Set up a Connection

### Prerequisites

The prerequisites to establish a connection:

### **Service Account User Permissions**

{% hint style="warning" %}
It is recommended to use a separate 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?** The Salesforce Reports administrator grants these permissions, since users may not have sufficient access to assign them.
{% endhint %}

| Objects              | Access Permission  |
| -------------------- | ------------------ |
| Connector Validation | API Enabled        |
| Crawling             | Read + API Enabled |
| Lineage              | Read + API Enabled |

### Connection Configuration Steps

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

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

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

<table><thead><tr><th width="220.6666259765625">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>Connector Type</td><td>By default, "Salesforcereports" is displayed as the selected connector type.</td></tr><tr><td>Credential Manager*</td><td><p>Select the desired credentials 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</li><li>Azure Key Vault</li></ul></td></tr><tr><td>License Add-On</td><td><p></p><ul><li>Select the Auto Lineage Add-On checkbox to build data lineage automatically.</li></ul></td></tr><tr><td>Connector Name*</td><td><p>Enter a unique name for the Salesforce Reports connection              </p><p>(Example: "Salesforcereports_Prod").</p></td></tr><tr><td>Authentication Type</td><td><p>The following two types of authentication are supported for Salesforce Reports Server:</p><ul><li>Token Based</li><li>JSON Web Token (JWT)</li></ul></td></tr></tbody></table>

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

<table><thead><tr><th width="221.3333740234375">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>Connector Description</td><td>Enter the description related to the connector.</td></tr><tr><td>Extended Validation(Y/N) </td><td>Set to Y to enable extended validation or N to perform standard validation only.</td></tr><tr><td>Connector Environment</td><td>Select the environment (Example: PROD, STG) configured for the connector.</td></tr><tr><td>Username* </td><td>Enter the Salesforce Reports account username associated with the connected Salesforce organization.</td></tr><tr><td>Password* </td><td>Enter the password associated with the Salesforce Reports account username.</td></tr><tr><td>Client id* </td><td>Enter the unique Consumer Key generated from the connected app in Salesforce.</td></tr><tr><td>Client secret* </td><td>Enter the client secret generated during the Salesforce connected app creation.</td></tr><tr><td>Security Token </td><td>Enter the Salesforce Security Token associated with the account used for integration.</td></tr><tr><td>Is SANDBOX ?* </td><td><p>The Sandbox drop-down list allows either Yes or No selection.</p><p>Enter Yes or No (to specify whether the instance is a sandbox or not)</p></td></tr><tr><td>API Version* </td><td>Enter the Salesforce API version number that the connector should use to communicate with the Salesforce instance.</td></tr><tr><td>Proxy Enabled* </td><td>Select Yes to route the connection through a configured proxy, or No to connect directly without a proxy.</td></tr></tbody></table>
{% endtab %}

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

<table><thead><tr><th width="221.3333740234375">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>Connector Description</td><td>Enter the description related to the connector.</td></tr><tr><td>Extended Validation(Y/N) </td><td>Set to Y to enable extended validation or N to perform standard validation only.</td></tr><tr><td>Connector Environment</td><td>Select the environment (Example: PROD, STG) configured for the connector.</td></tr><tr><td>Username* </td><td>Enter the Salesforce Reports account username associated with the connected Salesforce organization.</td></tr><tr><td>Password* </td><td>Enter the password associated with the Salesforce Reports account username.</td></tr><tr><td>Client id* </td><td>Enter the unique Consumer Key generated from the connected app in Salesforce.</td></tr><tr><td>Client secret* </td><td>Enter the client secret generated during the Salesforce connected app creation.</td></tr><tr><td>Security Token </td><td>Enter the Salesforce Security Token associated with the account used for integration.</td></tr><tr><td>Is SANDBOX ?* </td><td><p>The Sandbox drop-down list allows either Yes or No selection.</p><p>Enter Yes or No (to specify whether the instance is a sandbox or not)</p></td></tr><tr><td>API Version* </td><td>Enter the Salesforce API version number that the connector should use to communicate with the Salesforce instance.</td></tr><tr><td>Keystore password* </td><td>Enter the password that was set when creating the keystore containing the private key.</td></tr><tr><td>Alias name* </td><td>Enter a unique identifier for the Salesforce Reports connection in the Alias name field.</td></tr><tr><td>Keystore file path* </td><td>Enter the full file path of the keystore (.jks) file containing the private key used for JWT authentication.</td></tr><tr><td>Proxy Enabled* </td><td>Select Yes to route the connection through a configured proxy, or No to connect directly without a proxy.</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

**Default Governance Roles**

| Default Governance Roles\* | Select the appropriate users or teams for each governance role from the drop-down list. All users and teams configured in OvalEdge Security are displayed for selection. |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

**Admin Roles**

| Admin Roles\* | Select one or more users from the dropdown list for Integration Admin and Security & Governance Admin. All users configured in OvalEdge Security are available for selection. |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

**No of Archive Objects**

| No Of Archive Objects\* | <p>This shows the number of recent metadata changes to a dataset at the source. By default, it is off. To enable it, toggle the Archive button and specify the number of objects to archive.</p><p>Example: Setting it to 4 retrieves the last four changes, displayed in the 'Version' column of the 'Metadata Changes' module.</p> |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

**Bridge**

| Select Bridge\* | <p>If applicable, select the bridge from the drop-down list.</p><p>The drop-down list displays all active bridges configured in OvalEdge. These bridges enable communication between data sources and OvalEdge without altering firewall rules.</p> |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

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

The **Crawl/Profile** button allows users to select one or more schemas for crawling.&#x20;

1. Navigate to the **Connectors** page and click **Crawl/Profile**.
2. Select the schemas to crawl.
3. Click **Run** to collect metadata from the connected source and load it into the Data Catalog.
4. After a successful crawl, the information appears in the **Data Catalog > Report / Report Column** tab.

The **Schedule** checkbox allows automated crawling for a selected timeframe, 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 crawl operation at the scheduled time.

### Other Operations

The Connectors page provides a centralized view of all configured connectors and their health status.

**Managing connectors includes:**

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

**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 integrity of the connection.
* **Settings**: Modify connector settings.
  * **Crawler**: Configure data extraction.
  * **Access Instructions**: Add notes on how data can be accessed.
  * **Business Glossary Settings**: Manage term associations at the connector level.
  * **Lineage**: Select server dialects for parsing and setting connector priority for table lineage.
  * **Others**: Configure notification recipients for metadata changes.
* **Build Lineage**: Automatically build data lineage using source code parsing.
* **Delete Connector**: Remove a connector with confirmation.

### Connectivity Troubleshooting

If incorrect parameters are entered, error messages may appear. Ensure all inputs are accurate to resolve these issues. If issues persist, contact the assigned support team.

<table><thead><tr><th width="86.333251953125">S.No.</th><th width="322">Error Message(s)</th><th>Error Description &#x26; Resolution</th></tr></thead><tbody><tr><td>1</td><td>Error while validating SALESFORCEREPORTS connection | Root cause: 400 Bad Request on POST request for "https://test.salesforce.com/services/oauth2/token": "{"error":"invalid_grant","error_description":"authentication failure"}"</td><td><p>Error Description: The connection validation failed because Salesforce rejected the authentication request with an “invalid_grant” error, indicating that the JWT credentials are incorrect or expired.</p><p>Resolution: Verify the connected app settings, JWT certificate, and credentials (client ID, username, and private key). Re-generate and re-authorize the JWT token if necessary.</p></td></tr></tbody></table>

***

Copyright © 2025, OvalEdge LLC, Peachtree Corners, GA, USA.
