Salesforce Application Integration Setup
Getting Started
BalkanID recommends creating a separate service account for the purposes of this integration, instead of using personal or employee named accounts.
Overview
You will:
Create an External Client App in Salesforce
Enable OAuth with JWT Bearer Flow
Configure OAuth policies
Retrieve the Consumer Key
Create and assign a Permission Set to the integration user
Prerequisites
Before starting, ensure you have:
Salesforce Admin access
An integration user in Salesforce
A certificate file (
salesforce.crt) for JWT authentication (provided separately beforehand)
Create a new user profile:
Navigate to Setup
Click the Gear Icon → Setup
Open Profiles page
In Quick Find, search for
ProfilesSelect Users > Profiles.
Click on "Create a new profile".
Clone the profile from a Standard Platform User profile. Give it a name.

Click Save.
Scroll down to the Administrative Permissions section and ensure the following are enabled:
View Setup and ConfigurationView Roles and Role Hierarchy
Save the profile with updated permissions.
Creating an integration user:
Navigate to Setup
Click the Gear Icon → Setup
Open Users page
In Quick Find, search for
UsersSelect Users.
Click on create a new user

Create a new user with the Salesforce Platform license. If the new user option isn't available, clone an existing user. You can fill in the below fields according to your convenience or follow this.
Firstname: BalkanID
Lastname: BalkanID
Alias: BalkanID
User License: Salesforce Platform (If you are unable to see it, you might already have exhausted your user quota for this license)
Role: None
Profile: Use the profile we created above
Username: balkanid@example.test
Email: balkanid@example.test
Step 1: Create External Client App
Navigate to Setup
Click the Gear Icon → Setup
Open External Client App Manager
In Quick Find, search for:
External Client AppSelect External Client App Manager
Path: Apps → External Client App Manager
Click New External Client App
Fill in basic details:
Field
Value
Name
BalkanID Extractor
API Name
Auto-filled (e.g. BalkanID_Extractor)
Contact Email
Your email (used for verification)
Distribution State
Local
Step 2: Enable OAuth & JWT Bearer Flow
Configure OAuth Settings
Enable:
Enable OAuth
Provide:
Callback URL:
https://app.balkan.id
Select OAuth Scopes (exactly these):
Manage user data via APIs (api)Perform requests at any time (refresh_token, offline_access)
Enable JWT Flow
Enable:
Enable JWT Bearer Flow
Upload certificate:
Upload
salesforce.crt
Security setting:
Uncheck Require Proof Key for Code Exchange (PKCE) (Not required for JWT flow)
Click Create
Step 3: Configure OAuth Policies
After creating the app:
Open the app → Policies tab
Click Edit
OAuth Policies
Setting
Value
Permitted Users
Admin approved users are pre-authorized
IP Relaxation
Configure as needed (recommended: Relax IP restrictions for backend systems)
App Policies
This will be configured after creating the Permission Set (Step 5)
Click Save
Step 4: Retrieve Consumer Key
Open the app → Settings tab
Expand OAuth Settings
Click Consumer Key and Secret
Complete identity verification (via email)
Save the following:
Field
Usage
Consumer Key (Client ID)
Used as app_consumer_key in BalkanID configuration
Step 5: Create Permission Set & Assign to Integration User
5.1 Create Permission Set
Field
Value
Label
BalkanID Extractor
API Name
BalkanID_Extractor
License
None
5.2 Add Required System Permissions
Permission
Purpose
API Enabled
Required for API access (REST / SOQL)
View All Data
Read access to all required objects
5.3 Assign Permission Set
Assign this Permission Set to your integration user
5.4 Link Permission Set to External Client App
Go back to External Client App → Policies
Edit App Policies
Add the created Permission Set
Save changes
Configure Salesforce in your BalkanID tenant
Login to the BalkanID application and switch to the tenant you would like to add your integration to.
Head to Integrations > Add Integration, select Salesforce.


Set up the Primary Application owner (mandatory) and the Description, if any. Set up Secondary Application Owner(s), if any.
Select the Extraction Type. From here, you can configure your application using one of the following methods:
Direct integration - Provide your Salesforce User Name and Consumer Key obtained above to set up a direct connection with BalkanID.
SCIM integration - Provide SCIM server credentials to set up a SCIM connection with BalkanID.
Manual file upload - Upload Entity and Entity Relations through a .CSV file upload. Contact the team for assistance with this.
Automated upload using API - You can upload data using our Bulk APIs with the help of an API key which will be provided to you. Please refer to the entity and entity relation upload docs for specific instructions on uploading your data through the API.

Click on next to move onto Optional Configuration.
Fill Optional configuration, if required.

Once you filled in the information, click Save. Your integration is now configured and you will see the status of the integration displayed alongside other integrations on the Integrations page. When data is available, the integration Status will read Connected and the integration Message will read Data available.
Salesforce Certificate
Last updated
Was this helpful?

