Settings
Platform-wide configuration lives on one page, Administration → Settings, which only administrators can open; changes apply as soon as you save them.
#Working with the settings page
- Settings are grouped into cards: Directory (LDAP), Agents, Executions, Self-healing, Notifications, Mail (SMTP), AI and Audit. Each setting shows what it does and, once changed, who changed it and when.
- The sections start closed: click a section's title to open or close it. A closed section with changes shows how many are unsaved.
- Edit as many settings as you need, then click Save changes (or Discard). Settings marked Unsaved have not been saved yet. Every save is recorded in the audit log with what changed.
- A setting you never changed uses its default, shown in the reference below. Robots and the server read the settings each time they need them, so there is nothing to restart.
#Secrets
The SMTP password, the AI API key and the directory lookup account's password are stored encrypted (AES-256-GCM) and are never shown again or returned by the API. The field shows that a value is stored; typing replaces it, Clear removes it, and leaving it empty keeps it. In the audit log a changed secret appears as "(changed)".
#Actions on the page
- Send test email (Mail (SMTP)): sends a message with the saved mail settings to an address you enter. Save your changes first.
- Test sign-in (Directory (LDAP)): tries a directory account with the saved settings and shows its groups and the roles it would get (directory groups are set on each role under Administration → Roles). See Directory sign-in.
- Clean up now (Executions): applies the retention settings at once instead of waiting for the next automatic cleanup, which runs every few hours.
Tip: Self-healing can also be set per task: open the task's details and choose under Self-healing. A task without its own choice follows the settings below. See Finding elements reliably.
The reference below is generated from the settings the server knows, with their limits and defaults.
#All settings
#Directory (LDAP)
| Setting | Value | Default | Description |
|---|
Sign in with directory accounts
ldap.enabled | on / off | off | People sign in with their Active Directory (or other LDAP) user name and password. Their Botream account is created at the first sign-in and its roles follow their groups (each role lists its directory groups under Administration → Roles). Local accounts keep working. |
Directory server
ldap.url | text | | ldaps://host:636 (encrypted, recommended) or ldap://host:389. Several servers may be given, separated by spaces: the next one is tried when one cannot be reached. |
Check the server certificate
ldap.tlsVerify | on / off | on | With ldaps://, refuse servers whose certificate is not trusted by this machine. Turn off only for a test directory with a self-signed certificate. |
Search base
ldap.baseDn | text | | Where users are looked up, e.g. DC=company,DC=local or OU=Staff,DC=company,DC=local. |
Sign-in domain
ldap.domain | text | | Active Directory: the domain people sign in to, e.g. company.local (ali signs in as ali@company.local). Not needed with a lookup account. |
Lookup account
ldap.bindUser | text | | Optional: an account that may read the directory (its DN or user@domain). Needed for directories other than Active Directory; with Active Directory people are looked up with their own account. |
Lookup account password
ldap.bindPassword | secret (encrypted, never shown again) | | Stored encrypted; it is never shown again. |
User name attribute
ldap.usernameAttribute | text | sAMAccountName | The attribute people sign in with: sAMAccountName for Active Directory, uid for most other directories. |
#Agents
| Setting | Value | Default | Description |
|---|
Require approval for new agents
agents.requireApproval | on / off | off | Agents connecting for the first time wait until an administrator approves them. Until then no task runs on them. |
Update agents automatically
agents.autoUpdate | on / off | on | When this server offers a newer agent installer (Administration → Agents → Install an agent), installed agents download and install it themselves while no task runs. |
#Executions
| Setting | Value | Default | Description |
|---|
Keep debug log lines
executions.storeDebugLogs | on / off | on | When off, Debug lines sent by agents are discarded (not stored, not streamed). Info, warnings and errors are always kept. |
Keep execution history for
executions.retentionDays | 0 – 3650 days | 90 | Finished executions and their logs older than this are deleted automatically. 0 keeps them forever. |
#Self-healing
| Setting | Value | Default | Description |
|---|
Heal elements that are not found
healing.enabled | on / off | on | When a web or desktop element is not found by its selector or fallbacks, the agent looks for the most similar element (by the object properties saved at capture) and uses it when it is similar enough. Each healing is logged and suggested in the editor. |
Minimum similarity
healing.threshold | 50 – 100 % | 90 | How similar an element must be to the captured one to be used instead. Below this the step fails with the best score in its message. |
Only suggest for clicks that cannot be undone
healing.protectRiskyClicks | on / off | on | A click, double click or submit on an element labelled Delete, Remove, Send, Submit, Approve, Confirm, Pay, Transfer… (also Sil, Gönder, Onayla, Öde…) is never healed: the most similar element is only suggested and the step fails. |
Report elements changed below
healing.driftWarning | 50 – 100 % | 95 | Selector health: an element that was found but is less similar than this to the captured one is reported as drifting, before its selector breaks. Visible text and values are not compared (they are the data). |
#Notifications
| Setting | Value | Default | Description |
|---|
Email when a scheduled run fails
notifications.scheduleFailureEmails | text (comma-separated e-mail addresses) | | Comma separated addresses that get an email whenever a run started by a schedule fails. Needs the mail settings below. |
Daily selector health report
notifications.selectorHealthEmails | text (comma-separated e-mail addresses) | | Comma separated addresses that get a daily email listing the selectors that are broken, healed, found by a fallback or drifting (sent only when there are any). Needs the mail settings below. |
Send the selector health report at
notifications.selectorHealthHour | 0 – 23 h | 6 | Hour of the day (server time, 0–23) when the daily report covering the last 24 hours is sent. |
#Mail (SMTP)
| Setting | Value | Default | Description |
|---|
SMTP server
smtp.host | text | | Host name of the mail server the platform sends notifications through. |
Port
smtp.port | 1 – 65535 | 587 | Usually 587 (STARTTLS) or 465 (TLS). |
Use TLS from the start
smtp.secure | on / off | off | On for port 465. Off uses STARTTLS when the server offers it. |
Username
smtp.username | text | | Leave empty when the server does not need authentication. |
Password
smtp.password | secret (encrypted, never shown again) | | Stored encrypted; it is never shown again. |
Sender address
smtp.from | text | | The From address of notification emails. |
| Setting | Value | Default | Description |
|---|
API base URL
ai.baseUrl | text | https://integrate.api.nvidia.com/v1 | An OpenAI-compatible chat completions API, e.g. NVIDIA build (https://integrate.api.nvidia.com/v1) or OpenAI (https://api.openai.com/v1). |
API key
ai.apiKey | secret (encrypted, never shown again) | | Stored encrypted; it is never shown again. Needed for the AI Task Generator in the editor. |
Model
ai.model | text | nvidia/nemotron-3-super-120b-a12b | Model name as the provider spells it. On NVIDIA build, nvidia/nemotron-3-super-120b-a12b answers in seconds; some models (e.g. z-ai/glm-5.3) queue requests for several minutes. |
Send failure screenshots to the model
ai.sendScreenshots | on / off | off | Failure analysis also sends the screenshot taken when the run failed (needs a model that reads images). Screens may show personal data: leave off unless the model runs on your own servers. |
Show the page to the model while exploring
ai.exploreScreenshots | on / off | on | The AI Task Generator also sends a picture of the browser, with the element numbers drawn on it, at every step. Models that read images (e.g. GPT-4o, Llama 3.2 Vision, Qwen-VL) then recognise the page far better; with other models it goes on without pictures by itself. |
Allow the ai command in tasks
ai.taskCommands | on / off | on | Tasks may send text, documents and pictures to the model with the ai command (ask, extract, classify). Every call is in the audit log. Turn off when task data must not reach the model. |
Timeout
ai.timeoutSeconds | 30 – 1800 seconds | 600 | How long to wait for one answer. Busy free endpoints can take minutes before they start answering. |
Maximum answer length
ai.maxTokens | 256 – 65536 tokens | 16384 | Upper limit of tokens the model may generate for one task. Thinking models spend part of it on reasoning before the code, so keep it generous. |
#Audit
| Setting | Value | Default | Description |
|---|
Keep audit log for
audit.retentionDays | 0 – 3650 days | 0 | Audit entries older than this are deleted automatically. 0 keeps them forever; otherwise at least 30 days. |