> For the complete documentation index, see [llms.txt](https://docs.balkan.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.balkan.id/getting-started/setting-up-your-tenant/application-integrations/disconnected-applications-operator.md).

# Disconnected Applications (Operator)

Integrate disconnected apps with no API by having BalkanID automate a real browser session on your behalf, reviewable via session recording.

{% hint style="info" %}
This feature is currently in Early Access. Contact BalkanID Support if you'd like to have this enabled for your tenant.
{% endhint %}

Operator lets you integrate a disconnected app, one with no API or file export you can hand BalkanID, by having BalkanID drive a real browser through it on your behalf. You upload evidence of how the app works; BalkanID builds the automation from the evidence provides and, once ready, runs it against an isolated, recorded browser session to extract the entitlement data.

Once a run completes, you can review the session, a recording of exactly what the automation clicked, navigated, and read.

### When to use Operator

Use it when you can't connect the app directly, and a one-time evidence upload isn't enough because the data needs to be captured live from a working session (e.g. paginated tables, filtered views, or data that only appears after several clicks).

Common cases:

* Apps without API integrations that have a functional web UI
* Legacy or internal tools where the only way to see entitlements is to click through them
* Recurring syncs, not just one-time audits: an Operator integration can be run repeatedly, not only once

If your use-case involves a standard app that provides an API, see if we support it as an integration, or contact BalkanID to build support.

If you already have clean entitlement exports, you can use [**Manual Upload**](/getting-started/setting-up-your-tenant/integrate-employee-data/manual-user-data-upload.md) to upload the data directly to BalkanID. If the data can be captured in a single screenshot or PDF, prefer [**Media Extraction**](/getting-started/setting-up-your-tenant/application-integrations/media-extraction-for-disconnected-apps.md) instead. Media Extraction is a self-serve upload, with nothing to configure on BalkanID's side first. If you need to capture entitlement data live from a disconnected application's web UI, use **Operator** instead.

### How it works

{% stepper %}
{% step %}

### Upload a sample of the Application

**You upload a sample of the app** Add an Operator integration and upload a screen recording, screenshots, or a PDF walkthrough showing how someone would navigate the app and where the access data lives. This gives BalkanID what it needs to build the automation, you don't write anything yourself.
{% endstep %}

{% step %}

### **You're notified when it's ready**

Once BalkanID marks the integration ready, its owners (whoever is configured as the app's primary/secondary owner) get notified automatically, prompting them to supply credentials.
{% endstep %}

{% step %}

### **You provide credentials**

Following the notification, you fill in the credentials the automation needs directly in the app like every other integration: fields are masked by default, with a "Show value" toggle to reveal one when you need to check it.
{% endstep %}

{% step %}

### **Automated browser run**

BalkanID's agent runs the automation against a real, isolated browser session. Credentials are used only at execution time inside that session, they're never written into anything that gets stored or reviewed in plaintext.
{% endstep %}

{% step %}

### **Session review**

You can review a recording of the session itself, seeing exactly what the automation clicked and read.
{% endstep %}
{% endstepper %}

### Getting started

#### 1) Upload a sample of the app

Add an Operator integration and upload evidence of how the app works, a recording, screenshots, or a walkthrough PDF. BalkanID uses this to build the automation; there's no instruction-writing or configuration on your side at this stage.

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbVGYwk8aSk5yI1GDPEW9%2Fuploads%2FMZDVFb1NnVIIRR2inRPi%2FCursorful%20Video.mp4?alt=media&token=090e837e-2a43-4e52-a271-1b27bd20cb37>" %}

#### 2) Wait for the ready notification

BalkanID reviews your upload and authors the automation. Once it's marked ready, the integration's owners get notified automatically and asked to supply credentials. Until then, opening the integration just shows a note that it isn't enabled yet.

#### 3) Provide credentials and Sync

Fill in the credential fields the automation needs. These are the same secure, masked fields used by every other integration in the product. Once configured, a run executes the automation step by step against a live, isolated browser session, navigating pages, interacting with the app, and pulling structured data off the pages it lands on.

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbVGYwk8aSk5yI1GDPEW9%2Fuploads%2FzwQt67QmhzZtBRRgunOv%2FCursorful%20Video%20(2).mp4?alt=media&token=b8293fe0-73fc-4d5f-9d10-a9973a8af2f5>" %}

#### 4) Monitor progress

A run is tracked as an evidence extraction against the integration, the same status model every other evidence source uses:

* **Running**: the browser session is executing the automation
* **Success**: extraction completed; the result is ready for review
* **Failed**: the run didn't complete; see the recorded session and any error detail to diagnose why

#### 5) Review the session

Once an extraction succeeds, you can review:

* **A recording of the browser session**, a video replay of what the automation clicked, navigated, and read during the run
* **A detailed action and network log**, the same run broken down step by step (each action's input/output, each network request and response), searchable and filterable

Anything matching a credential is redacted before it's ever shown, in both the action log and the recording.

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbVGYwk8aSk5yI1GDPEW9%2Fuploads%2FcFzaVGcV045SW0SDgqUe%2FMonitoring%20and%20Logs.mp4?alt=media&token=03750483-9ae8-41da-9138-cb0e7bc5e460>" %}

### Session Recording and Logs

Refer to [Audit evidence and sync history](/getting-started/setting-up-your-tenant/application-integrations/audit-evidence-and-sync-history.md#session-recording-and-logs) for comprehensive step on how to view the session recording and the logs associated with your Disconnected Application.

### Security and evidence handling

* Any credentials involved are only ever used at execution time, inside the isolated browser session. They are not written into stored results or the session recording in plaintext.
* The session recording is retained as audit evidence for the integration, linked to the specific run that produced it.

### FAQ

**How accurate is extraction?** Accuracy depends on how stable the target app's UI is. Always review a run's session recording. This is an AI-enabled feature and can make mistakes, especially if the target app's layout changes between runs.

**What happens if the target app changes its UI?** The Operator mode is designed to auto-handle minor UI changes, however if a run fails partway contact BalkanID with the session recording so the automation can be updated.

**How should I capture the app for Operator?** Show the complete workflow from navigating the app to finding the entitlement data, including the menus, tabs, filters, searches, pagination, and any intermediate steps required to reach it. Make sure the recording or screenshots clearly show where the relevant access data appears and how it is reached. Avoid using real credentials or sensitive information, and keep the evidence focused on the workflow you want Operator to automate.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.balkan.id/getting-started/setting-up-your-tenant/application-integrations/disconnected-applications-operator.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
