UPCOMING - Salesforce CRM (via Direct Connect method)

This page will walkthrough the setup of Salesforce CRM in K using the direct connect method.

This collector is still in progress.

Integration details

Scope

Included

Comments

Metadata

Yes


Tests

NO


Lineage

NO


Usage

NO


Sensitive Data Scanner

N/A


KADA only extracts metadata (object/table schemas) — no query usage, profiling, or lineage. The permissions it needs are minimal: the API Enabled permission on your org, and read access to the Salesforce objects you want to ingest.


Prerequisites

Before starting, confirm you have:

  • A Salesforce user to act as the integration/run-as user, with the API Enabled permission and read access to every object you intend to ingest.

  • Admin access to Salesforce Setup to create an External Client App.

  • Your Salesforce My Domain value - required for the client credentials flow.

  • A running KADA instance with an Admin user


Setup Steps

Step 1 - Create the External Client App in Salesforce

  • In Salesforce Setup, go to App Manager - Found under Quick Settings -> Open Advanced Setup → Platform Tools → Apps → App Manager

  • Click New External Client App and create it as a Local app

  • Give it a name such as KADA Salesforce Ingestion.

    image-20260727-011609.png

Step 2 - Enable and configure OAuth

  1. Expand API (Enable OAuth Settings) and check Enable OAuth.

  2. Set a Callback URL. For these server-side flows a placeholder is acceptable, e.g. https://login.salesforce.com/services/oauth2/callback.

Note: Salesforce requires this field, but the value is not used by the password or client credentials flows (there's no browser redirect). Any well-formed HTTPS URL works — just don't leave it blank. It would only matter if you later reconfigure the app for the web server flow

  1. Add OAuth scopes — at minimum:

    • Manage user data via APIs (api) (access and manage data) - required. This is the only scope needed for its describe/query calls. (On older orgs this is labelled "Access and manage your data (API)" - same scope.)

    • Perform requests at any time (refresh_token, offline_access) - add this only for the password flow. Not needed for client credentials, which doesn't issue refresh tokens.

      image-20260727-011647.png
  2. Flow Enablement:

    • Client credentials (primary): tick Enable Client Credentials Flow.

    • Password flow (alternative): leave all Flow Enablement boxes unchecked — this flow works off the base OAuth settings, not a flow-enablement toggle.

    Do not tick "Enable Authorization Code and Credentials Flow" for either path — that's for the browser-redirect web server flow.

  3. Security — enable Require secret for Web Server Flow and Require secret for Refresh Token Flow (standard hardening).

    image-20260727-011714.png
  4. Click Create.


Step 3 - Configure policies

Open the app → Policies tab → Edit.

  1. Permitted Users — for a controlled service integration, select Admin approved users are pre-authorised, then assign the integration user's Profile or a Permission Set. ("All users may self-authorise" also works but is broader.)

  2. OAuth Policies → "OAuth Flows and External Client App Enhancements":

    • Client credentials (required): enter the integration user in the Run As field. The flow returns tokens as this user, so it must have API Enabled + read on your objects. The client credentials flow fails without this.

  3. Optionally set IP Relaxation to "Relax IP restrictions" if your KADA host isn't in a trusted IP range.

  4. Save.


Step 4 - Retrieve the Consumer Key and Secret

On the Settings tab → OAuth Settings → click Consumer Key and Secret, complete identity verification if prompted, and copy the Consumer Key (Client ID) and Consumer Secret (Client Secret). Store them securely.


Step 5 - Verify user permissions

Make sure the relevant user (the login user for password flow, or the run-as user for client credentials) has:

  • API Enabled permission.

  • Read on all target objects.


Step 6 - Add Salesforce as a New Source

  • Select Platform Settings in the side bar

  • In the pop-out side panel, under Integrations click on Sources

  • Click Add Source and select Salesforce

  • Select Direct Connect and add your Salesforce details and click Next

  • Fill in the Source Settings with the values from the table below and click Save & Next

    • Name: Give the Salesforce source a name in K

    • Host: add your Salesforce Domain

  • Test your connection and click Save

  • Click Finish Setup

Field

Value

Consumer Key

From Step 4

Consumer Secret

From Step 4

Salesforce Domain

your My Domain prefix like mycompany.my

To find your My Domain: while logged into Salesforce, look at the browser address bar (https://<prefix>.salesforce.com/...), or go to Setup → Quick Find → My Domain. Strip https:// and .salesforce.com; keep the .my (and .sandbox.my for sandboxes).

Salesforce API Version

A current version, e.g. 59.0 or higher

Salesforce Object Names

Leave blank to ingest all objects, or list specific ones


Step 7 - Schedule Salesforce source load

  • Select Platform Settings in the side bar

  • In the pop-out side panel, under Integrations click on Sources

  • Locate your new Salesforce Source and click on the Schedule Settings (clock) icon to set the schedule

Note that scheduling a source can take up to 15 minutes to propagate the change.


Step 8 - Manually run an ad hoc load to test Salesforce setup

Last updated: