Salesforce Connector

An out-of-the-box connector is available for Salesforce. It provides support for crawling database objects, and sample profiling of data. The connectivity to Salesforce is via rest APIs, which are included in the platform. The connector supports all the latest versions of salesforce, including sandbox.

1-Nov-30-2022-07-08-14-4258-AM

The connector supports all latest versions of salesforce including sandbox.

Technical Specification

    Feature

    Supported Objects

    Remarks

    Crawling

    Tables, Table Columns

    -

    Relationships

    Salesforce Objects

    Profiling

    Table Profiling

    The output will be Row count, Columns count, View sample data

    Column Profiling

    The output will be Min, Max, Null count, distinct, top 50 values

    Note: Salesforce does not allow aggregations and grouping on some column types.

    Full Profiling 

    Supported

    Note: Salesforce does not allow aggregations and grouping on some column types.

    Sample Profiling


    Query Execution

    Select

    Supported

    Insert

    Not supported, by default.

    Update

    Not supported, by default.

    Delete

    Not supported, by default.

    Joins within database

    Not Supported

    Joins outside database

    Not supported

    Aggregations

    Supported (limited to some data types)

    Group By

    Supported (limited to some data types)

    Order By

    Supported

    2. Prerequisites 

    The following are prerequisites required for the connection of Salesforce.

    • Connection details, as specified in the following section, should be available.
    • An admin/service account with access to manage the data (api) or full access, for crawling and profiling.

    3. Connection Details

    To connect to Salesforce using the OvalEdge application, complete the following steps.

    1. Log in to the OvalEdge application
    2. Navigate to Administration > Connectors module.
    3. Click on the + icon, and the Manage Connection with Search Connector pop-up window is displayed.
    4. Select the connection type as Salesforce. The Manage Connection with Salesforce-specific details pop-up window is displayed.
      Salesforce_setting
    5. The following are the field attributes required for the connection of Salesforce.

    Field Name

    Mandatory/Optional

    Description

    Connection Type

    Mandatory

    By default the selected connection type is displayed as the Salesforce. 

    License Type

    Mandatory

    By default the License type is standard.

    User Name

    Mandatory

    Username for Salesforce Server account

    Connection Name

    Mandatory

    Enter the name of the connection, the connection name specified in the Connection Name textbox will be a reference to the Salesforce connection in the OvalEdge application.

    Example: Salesforce Connection1

    Password

    Mandatory

    Password for Salesforce Server account

    Client id

    Mandatory

    Enter the Client ID/Consumer key generated while registering in Salesforce (This will be available once the connected app is set up in salesforce) using OAuth2.

    Client secrete

    Mandatory

    Enter the Client secret/consumer secret generated while registering in Salesforce (This will be available once the connected app is set up in salesforce) using OAuth2.

    Security token

    Mandatory

    Enter the security token that will be generated while registering the user in salesforce (Once the user resets the password/token an email with the token will be sent to users account )

    IS SANDBOX?

    Optional

    Enter Y or N (to specify whether the instance is a sandbox or not)

    Note: The information regarding Sandbox instance can be checked in the Organization Edition under Company Information under Setup

    API version

    Optional

    Select the API version from the dropdown list.

    Example: v51.0

    For more information please follow the link below:

    https://help.salesforce.com/s/articleView?id=000386929&type=1

    Default Governance Roles

    Mandatory

    From the dropdown list, select Stewards, Custodian, Owner, GovernanceRole4, GovernanceRole5, and GovernanceRole6.

     

    6.  Once after entering the connection details in the required fields, click on the Save button or Save & Configure to establish the connection and configure the connection settings. When you click the Save & Configure button, the Connection Settings pop-up window is displayed. Where you can configure the connection settings for the selected Connector.

    Note: The Save & Configure button is displayed only for the Connectors for which the settings configuration is required.

    7. Click on the Validate button to validate the entered connection details. 

    Note: It is up to the user’s wish to save the connections details first or to validate the connection first, and then save it. 

     3.1 User Permissions 

    The following are the minimum permissions required for OvalEdge to validate the Salesforce connection. 

    Permission: READ (Meta Read and Data Read)

    Roles: Crawler Admin 

    Super User: OE ADMIN

     

    The minimum privileges required for a user at the source system are: 

    Operation 

    Access Permission

    Connection validate

    Access and manage your data (api)

    Crawl schemas

    Access and manage your data (api)

    Crawl tables

    Access and manage your data (api)

    Profile schemas, tables

    Access and manage your data (api)

    Note: Navigate to Configuration  > Users & Roles for roles and permission.  

    3.2 Error Validation Details  

     

    Sl.No

    Error Messages

    Description

    1

    Failed to establish connection, Please check the credentials(Client Id, Client Secret, Security token, etc.,)

    Invalid Client ID, User Name, Security Token, and incase of the wrong password, and the wrong client secret.

    4. Connection Settings 

    4.1 Crawler

    Crawler setting has various settings tabs for crawling and profiling options. The crawler options are available for all the connections. Based on the connection selected the options will differ. You need to provide the mandatory options for the Crawler setting one of them is mandatory.

    Crawler options

    Tables, Views, and Columns: This crawling will discover the tables, views, and Columns and bring them into OvalEdge. This is the Default option for crawling

    Relationship: This crawl job will look at the schemas selected and determine relationships between the tables and bring this information into OvalEdge. It captures relationships between salesforce objects.

    Crawler Rule

    When setting up the regex rules the user will be able to write rules that will either include and/or exclude schema, tables, views, columns, procedures, and functions that start with, end with, or have middle characters as defined in the rule.

    Profiler

    Profiling a data source also helps in identifying relationships between the tables at the entity level and patterns between them. Many attributes can be specified in the profile settings.

    The attributes are as follows, 

    • Order: Order is the sequence in which the profiling is done. 
    • Day: the day of the week in which profiling is set to run.
    • Start/End Time: The start and end time at which profiling is set to perform.
    • Number of Threads: a thread is a process where a query is executed on a database to do single or multiple tasks. The number of threads determines the number of parallel queries that are executed on the data source. 
      • Profile Type: There are four main types of data profiling. 
        • Sample Profiling runs the profile on a given sample size. The data on columns (like Min, Max, Distinct, Null Count, etc.,) will be different when compared with full profiles as we calculate them only on sample size. The sample profile is based on two main values. To execute a sample profile, first, select the Sample profile type as “Sample” and enter a sample profile size (count of records to be profiled).
        • Auto and if the table row count is more than the Rowcount Limit configured in the setting. The sample size should always be less than Rowcount Limit when Profile Type is Auto, and Row Constraint is checked as True. When the profile type is set as Auto, it first runs as a Query type, and later it transfers the type from Query to Sample if the conditions are not met. In Query mode, when you check Rowcount Constraint as TRUE and if the table row count exceeds the Rowcount Limit, the profile type is automatically transferred from Query to Sample. 
        • The Query profiling is when the Rowcount Constraint is checked as TRUE and if the input table row count is less than the Rowcount Limit, then the profiling is executed on the entire table. If the input table row count exceeds the Rowcount Limit, then the profiling skips execution for those tables to avoid performance issues. A profile type set to “Query” will always depend on the Rowcount limit and the row count constraint must be set as “True”. 
        • Finally, there is the Disabled profile type, which prevents profiling on the selected data source. 
    • Row Count Constraint: when set to true this enables the data rule profiling. 
    • Row Count Limit: number of rows of data to be profiled. 
    • Sample Data Count: total number of rows to see within the table data page in the Catalog.
    • Sample Profile Size: total number of rows to be included in profiling.
    • Query Timeout: length of time in seconds to allow the query to run on a remote database before timing out. 

    Once the setting for profiling has been configured, go back to the Crawler screen and click “Crawl/Profile” to begin the profiling. 

    Note: Profiling will be successful if “All” and  “Current Day” are matched. 

    4.3 Remote Access

    The Remote Access (Data Access Authorization) is included in the crawler-specific connector settings to ensure that the right user is accessing the query sheet and queries in the data catalog. Here, the system validates the user credentials and allows that user to access the query sheet and queries in the data catalog.

    • OvalEdge follows OvalEdge data permissions: When this option is selected, the OvalEdge application uses a service account used for creating the connection in the Query Sheet page, Data Catalog > Table > Data page and Data Catalog > Query page to fetch the required data.
    • OvalEdge follows Remote system permissions: When this option is selected, then the users are prompted to enter the remote data source credentials in the Query Sheet page, Data Catalog > Table > Data page, and Data Catalog > Query page, and the submitted credentials are used to establish the connection to fetch the required data. Here, these credentials will be cached and cleared after 7 days of inactivity. Example: When the Remote system permissions option is selected and the user navigates to the Query Sheet or Data Catalog Queries and selects the Connection (Database), then the Enter User Credentials pop-up window with the Username and Password is displayed, where the user needs to provide the remote data source credentials for accessing the Database.

    4.3 Query Policies

    1. Click on the Query Policies tab, and the data grid with existing Policies details with Role, Query Type, Access Type, and Delete columns are displayed. 
    2. To include new query policies, click on the +Add Query Policy button.  
    3. Select the desired Role, Query Type, and Access Type from the respective dropdowns and click on the Save Changes button

    If the user selects the Role as “OE_HRADMIN”, Query Type as “JOIN” and the Access Type as “DENY”, then the users associated with the OE_HRADMIN privileges are restricted to use the JOIN function in the Query Sheet page.

    4.4 Access Instruction

    It allows the Crawler admin to write the specific instructions on the data source/connector.

    4.5 Other

    When you navigate to the Others tab, the Send Metadata Changes Notifications is displayed. 

    Send Metadata Notification to

    1. Select whether the notifications for the Data Owner and Data Steward under the specific Roles need to be sent or not.
    2. Select the desired role from the Roles dropdown menu and click on the Save Changes button. The notifications will be successfully sent to select Data Owner and Data Steward. 

    5. Additional Information

    There are limitations of the salesforce.

    • Address and location data types/field types are not supported for profiling.
    • Aggregations and grouping cannot be performed on some of the data types due to limitations at salesforce (If needed OvalEdge can do full profiling by getting the data and compute results/statistics).

    6. FAQs

    Q1.  What is the cost of Salesforce API?

    Ans: The cost of the Salesforce API depends on the number of APIs the user calls to salesforce.