Configuration
Initial Configuration
After installation, you need to configure the agent before it can connect to your Active Directory and BalkanID.
Configuration File Location
The configuration file is located at:
C:\ProgramData\BalkanID\ad-agent\config.yamlUse the TUI (Terminal User Interface) for Configuration
The easiest way to configure the agent is using the built-in TUI:
Stop the service (if it's running):
Stop-Service -Name "BalkanIDADAgent" -ForceLaunch the configuration TUI:
& "C:\Program Files\BalkanID\ad-agent\BalkanID AD Agent.exe" --configureThis opens the configuration interface without starting the HTTP server.
Navigate the TUI:
Use Arrow Keys to navigate menus
Press Enter to select options
Press Tab to move between form fields
Press Esc or Q to go back/quit
Configure Forest Domain (First Time Setup):
The TUI will prompt you to configure your forest domain
Enter the following information:
Forest Domain: e.g.,
corp.example.comLDAP Host: Domain controller hostname or IP (e.g.,
corp.example.com)LDAP Port:
636for LDAPS (TLS/SSL) - Recommended389for LDAP (non-encrypted)
Base DN: e.g.,
DC=corp,DC=example,DC=comBind Username: User account DN (e.g.,
CN=ADAgent,CN=Users,DC=corp,DC=example,DC=com)Bind Password: Service account password
Use TLS:
truefor LDAPS,falsefor LDAP
Save Configuration:
After filling the form, select "Save" or press Enter
The configuration will be written to
config.yaml
Test LDAP Connection:
From the Configuration Menu, select "Test LDAP Connection"
Verify the connection succeeds before proceeding
Multi-Domain / Multi-Forest Configuration
If you have multiple domains in your forest:
Enable Global Catalog:
Configure Child Domains:
Using the TUI (recommended):
Navigate to "Manage Child Domains"
Choose "🔍 Auto-Discover Child Domains" to automatically detect domains in the forest and pre-populate them in the config
Review the discovered domains and save
If you need additional domains or want to override details, you can also add them manually:
In the same screen, choose "➕ Add New Child Domain"
Enter domain details:
Domain Name: e.g.,
na.corp.example.comBase DN: e.g.,
DC=na,DC=corp,DC=example,DC=comHost: (optional, leave empty to use main host)
Port: (optional, 0 to use main port)
Or manually in
config.yaml:UPN Suffixes (Optional):
If not specified, UPN suffixes are automatically derived from configured domains.
Configure extraction mode
The AD Agent supports multiple configuration options:
Heartbeat mode
API-only mode
I. Heartbeat Mode
Heartbeat Mode enables automatic synchronization with the BalkanID platform. When enabled, the agent will:
Extract AD data every 2 hours and upload to BalkanID
Fetch and process requests from BalkanID every 10 minutes
Automatically handle identity lifecycle operations:
Create identities
Update identities
Delete identities
Suspend identities
Reactivate identities
Process access requests and manage group memberships
Setting Up Heartbeat Mode
Setup on BalkanID application:
Login to the BalkanID application as an administrator in your tenant.
Head to Integrations > Add Integration, select Active Directory.


Set up the Primary Application owner (mandatory) and the Description, if any. Set up Secondary Application Owner(s), if any.

Leave all the other fields empty. If you see anything in the API URL field, ensure to clear it.
Click on next to move onto Optional Configuration.
Configure your fulfilment options as you see fit in this page. You can configure your multi-review settings here as well.

Once done, click on the "Save Changes" button.
Once all this is done, please reach out to the support team to give you the integration ID, tenant ID and the tenant API key and secret. This will be required while configuring the AD agent.
Launch the TUI:
Navigate to Configuration Menu:
Select "Show Current Configuration" to view current settings
Or select "Edit Forest Configuration" to modify settings
Configure Heartbeat Mode:
You need to configure the following in the
authsection (contact the support team):Tenant ID: Your BalkanID tenant identifier (e.g.,
01xxx)Tenant Key: Your BalkanID tenant key
Tenant Secret: Your BalkanID tenant secret
Integration ID: Your BalkanID integration UUID
Enable Heartbeat Mode:
In the
serversection, set:Heartbeat Mode:
true
Manual Configuration (Alternative):
If you prefer to edit the config file directly, open:
And ensure it contains:
Verify Network Access:
Ensure the machine can reach:
api-integrators.app.balkan.id(for GraphQL API)app.balkan.id(for REST API)
II. API-only mode
For non-heartbeat mode (API-only mode), configure the agent to expose a REST API for manual AD operations.
Basic Configuration
AD Connection Settings (please edit the
corpfield based on your configuration):Server Settings:
Authentication:
HTTPS/TLS Configuration
To enable HTTPS for the REST API:
Generate Self-Signed Certificate (via TUI):
Navigate to "Generate Self-Signed TLS Certificate"
The TUI will create certificates and update the config automatically
Or Use Your Own Certificates:
Setup on BalkanID application:
Login to the BalkanID application as an administrator in your tenant.
Head to Integrations > Add Integration, select Active Directory.


Set up the Primary Application owner (mandatory) and the Description, if any. Set up Secondary Application Owner(s), if any.

Provide the required configuration fields:
API URL The URL of the web server or agent running on the target machine. This must be an externally accessible endpoint with an outbound IP address that is publicly reachable or accessible via the BalkanID proxy.
Domain The Active Directory forest domain. Example:
corp.example.comAPI Key When the integration is configured for the first time, BalkanID generates an API key automatically. The API key can be regenerated later using the Regenerate API Key option in the configuration settings.
Click on next to move onto Optional Configuration.
Configure your fulfilment options as you see fit in this page. You can configure your multi-review settings here as well.

Once done, click on the "Save Changes" button. Your integration will process and extract your data in a few minutes. You can track the status of your integration from the snackbar we provide as shown in the below images.



You can view your application entitlement data once the status of application integration is "Connected" and you see the "Data Available" message in the table.
Last updated
Was this helpful?

