Agent.json File Configuration

Agent.json File Overview

Agent.json file location

By default, the Agent.json file is placed in the Agent folder after an installation:

Platform Path
Windows %ProgramData%\Liquit\Agent\Agent.json
macOS /Library/Application Support/com.liquit.Agent/Agent.json
For both Windows and macOS operating systems:
  • You need to restart both the UserHost and the Agent to apply changes made to the Agent.json file.
  • In case you decide to place the JSON file in another location, we recommend you restart the Application Workspace service after each change of the file so that they are applied.

Sample of an agent.json configuration

{
	"zone": "https://workspace.liquit.com",

	"registration": {
		"type": "Certificate"
	},

	"login": {
		"sso": true
	},

	"log": {
		"level": "Debug"
	}
}

Backslashes '\' should be escaped within a JSON file. So that a single '\' will be a '\\'.

JSON keys are case sensitive. For example, "autostart" will not work, but "autoStart" will work.




Zones

Configure a Zone

This should be the URL with the FQDN where the targeted Application Workspace Zone is reachable.

{
    "zone": "https://company.liquit.com/"
}

For instructions on moving an agent from one zone to another, see Migrate an Application Workspace Agent to a Different Zone.

For steps to configure a custom domain, see Set Up a Custom Domain for a Zone.

Prompt Zone

This key controls the display of the Zone Prompt window where the user can configure the zone URL. The value entered in the dialog box is saved in the zone key.
This feature works only if there is no URL configured in the zone key.

Available options:

  • Disabled: User is NOT prompted to enter the zone URL, even if it is not configured
  • Show: User is prompted to enter the zone URL, if none is configured. This is the default value of the key.
{
    "promptZone": "Show"
}

Register a Device in a Zone

Registration creates a device in the Application Workspace zone. Typically, you will only need to complete the registration once per device. After successful registration, the device will get a Liquit Agent Authentication certificate that is tied to the device object in the Application Workspace. The device will then log into the Workspace using the certificate.

For a detailed description of registration options within Application Workspace, see Device Registration.

There are four methods to register a device within the Application Workspace. All methods apply to devices running the Application Workspace Agent.

User Account registration

For this registration method, the user account can be LOCAL or Microsoft Entra ID.

To register the device using the user account:

1. Install the Application Workspace Agent.

2. Modify the Agent.json file as in the following example:

{ 
    "registration": { 
        "type": "User" 
    } 
} 

3. Log into the Application Workspace and navigate to Manage > System > Access policies.

4. Assign the user an access policy that has the 'Register device' privilege. By default, the predefined User access policy grants this permission.

When the user logs in for the first time to the Application Workspace, the device is automatically registered.

Agent Credentials registration

To register the device using agent credentials:

1. Install the Application Workspace Agent.

2. Modify the Agent.json file as in the following example:

{ 
    "registration": { 
        "type": "Credentials", 
        "username": "local\\wksimport", 
        "password": "P@ssw0rd" 
    } 
} 

3. Log into the Application Workspace and navigate to Manage > Identities > Users.

4. Create a user with the LOCAL identity source. For example, "username": "local\wksimport" and "password": "P@ssw0rd"

5. Assign the user an access policy that has the 'Register device' privilege.  By default, the predefined User access policy grants this permission.

The specified credentials will be used to register the device.

Agent Certificate registration

1. Choose one of three ways to complete the registration:

  • Place the certificate in the certificate repository of the Windows/Mac operating system on the device/user profile, install the Application Workspace Agent and then modify the Agent.json file as in the following example:
{ 
    "registration": { 
        "type": "Certificate" 
    } 
} 
  • Place the certificate in the device certificate store, install the Application Workspace Agent and then specify the certificateThumbprint in the Agent.json file as in the following example:
{ 
    "registration": { 
        "type": "Certificate", 
        "certificateThumbprint": "69f4db57b74e13415cd103323331d95022d840c1" 
    } 
} 
  • Place the certificate in the device certificate store, install the Application Workspace Agent,  and then specify the certificateIssuer in the Agent.json file.

2. Log into the Application Workspace and navigate to Manage > System > Device registration.

3. Create a Certificate type registration.

4. Create or upload a certificate with a private key.

Agent Certificate Enrollment registration

1. Choose one of two ways to complete the registration:

  • Place the enrolled certificate which must have a private key on the device/user profile, install the Application Workspace Agent and then specify the certificateThumbprint in the Agent.json file.
  • Place the enrolled certificate which must have a private key on the device/user profile, install the Application Workspace Agent and then specify the certificateIssuer  in the Agent.json file as in the following example:
{ 
    "registration": {  
        "type": "CertificateEnrollment", 
        "certificateIssuer": "Sectigo RSA Domain Validation Secure Server CA" 
    } 
}  

2. Log into the Application Workspace and navigate to Manage > System > Device registration.

3. Create a Certificate enrollment type registration.

4. Select an intermediate certificate or the root CA in a certificate chain. It does not need a private key.

5. (Optional) Specify an OID, for example, to limit the number of valid certificates.

Agent certificate location

  If you choose to certificate the device, the certificate must be placed in:

  • Windows: Local machine certificate store (under the HKEY_LOCAL_MACHINE root).
  • macOS: /Library/Keychains/System.keychain

If you choose to certificate a user, the certificate must be placed in:

  • Windows: Current user certificate store (under the HKEY_CURRENT_USER root)
  • macOS: ~/Library/Keychains/login.keychain-db

Keys

Key Description Default
type
  • User - The user that is currently logged on will be used to register the device with the server. 
  • Credentials - The specified credentials will be used to register the device with the server.
  • Certificate - The system uses a certificate to register the device.
  • Certificate Enrollment - The system uses an erolled certificate to register the device. 
See Device Registration for more information.
User
username When type key is set to Credentials, this username is used to register the device.
password When type key is set to Credentials, this password is used to register the device.
certificateThumbprint The hexadecimal string that uniquely identifies the certificate, for example: ea7f07211fddc0df73bac1437a3ff932ce*
certificateIssuer The authority that issued the certificate.
When type key is set to 'Certificate' or 'Certificate Enrollment', the certificateThumbprint and  certificateIssuer are optional settings to verify the certificate.


If the value of certificateThumbprint is not specified, the certificate must persist on the device in the following locations: 

  Windows:  %ProgramData%\Liquit\Agent\AgentRegistration.cer

  macOS: /Library/Application Support/com.liquit.Agent/AgentRegistration.cer

In this case, the certificate which matches the value and persists on the device, will be installed in the Windows Certificate Store or macOS Keychain and the certificate file will be removed from the device. 


If the value of certificateThumbprint is specified, the Windows Certificate Store or macOS Keychain will be checked for a certificate with the specified value.




Restrict Zones

Define which Zones are always allowed to communicate with the local Agent. By default, the value is set to 'false' and communication to the local Agent is not restricted to defined zones.

{
    "restrictZones": false
}

If set to 'true', only the zones you list will have access to the local Agent. 

If set to 'false', an alert asks the user to confirm that the zone is allowed to access the local Agent.




Trusted Zones

You can add additional trusted zones.

Example

{
    "trustedZones": [
        "zone1.liquit.com",
        "zone2.liquit.com",
        "*.dev.liquit.com"
    ]
}



Deployments

Options for configuring deployments for Application Workspace Agent.

{
   "deployment": {
            "zoneTimeout": 60,
            "enabled": false,
            "start": true,
            "context": "User",
            "cancel": false,
            "triggers": true,
            "autoStart": {
                  "enabled": true,
                  "deployment": "RRO Retry deployment",
                  "timer": 10
        }
    }
}
Key Description Default
zoneTimeout When the deployment is running and the connectivity to the zone is lost, the Agent will wait for the zone to become available for the set period of time. This unit of measure of this value is minutes. 10
enabled If set to true, Application Workspace will enable the deployment process on this machine. false
start If set to true, the process of deployments is automatically started.
  • When context value is Device, the deployment will start after 5 seconds of the agent being started.
  • When context value is User, the deployment will start the first time the userhost has started.
 If set to false, this process can be manually started by starting:
  • Windows: C:\Program Files\Liquit Universal Agent\ShellAPI.exe --deployment --run
  • macOS: /Applications/Liquit.app/Contents/MacOS/ShellAPI --deployment --run
true
context The context in which the deployment should run.
  • User - User login is required before the deployment wizard is shown. Before starting the deployment, the user will be prompted to select which of the available deployments to run.
  • Device - No user login is required and the deployment will begin automatically. Autostart should be enabled and the specified deployment under autostart should match a single deployment. The autostart timer will be ignored.
Device
cancel If set to true, the deployment process can be cancelled. true
triggers If set to true, Application Workspace events (refresh/ login) can still be executed. false

Autostart

Key Description Default
enabled If set to true, Application Workspace will automatically start the deployment process when a corresponding deployment is found as configured in the deployment key or when only one deployment is available for this device. false
deployment The targeted deployment which can be either the name or the ID of the deployment.
timer This key accepts an integer and represents the number of seconds Application Workspace will wait before automatically starting the deployment. 0




Events

Configure how event data is uploaded to server when the Agent triggers the event.

{ 
     "events": { 
         "enabled": true, 
         "interval": 30 
     } 
} 
KeysDescriptionDefault
enabledIf set to 'true', event data is uploaded from the agent to the server.true
intervalThe time interval in seconds when the event data is uploaded from the Agent to the server.30




Log

The Application Workspace Agent logs events it initiates.

{
    "log": {
        "level": "Debug",
        "agentPath": "Agent.log",
        "userHostPath":"UserHost.log",
        "rotateCount": 5,
        "rotateSize": 1048576
    }
}
KeyDescriptionDefault
levelThis element is used to define the level of logging. The following levels are available:
  • None - Nothing will be logged to the log file
  • Critical - Only critical errors will be logged to the log file.
  • Error - Only errors and critical errors will be logged to the log file.
  • Warning - Only warnings, errors and critical errors will be logged to the log file.
  • Info - Basic information, warnings, errors and critical errors will be logged to the log file.
  • Debug - Detailed information about all actions, including all web activity will be logged to the log file. You can use this information when troubleshooting.
Info
agentPathYou can define an alternate path of the Agent log files here.
The default location is:
  • Windows: %ProgramData%\Liquit\Agent\Logs\Agent.log
  • macOS: /Library/Logs/com.liquit.Agent/Agent.log
Agent.log
userHostPathYou can define an alternate path of the userhost log files here.
The default location is:
  • Windows: %LOCALAPPDATA%\Liquit\UserHost\Logs\UserHost.log
  • macOS: /Users/xxx/Library/Logs/com.liquit.Agent/UserHost.log
UserHost.log
rotateCountThe number of logfiles that will be archived.5
rotateSizeThe limit of logfile size in bytes. When this limit is reached, a new logfile will be created and the old file will be archived.




Login

This element controls the login behaviour for the Application Workspace Agent.

{
    "login": {
        "enabled": true,
        "sso": true,
        "identitySource": "LIQUIT",
        "timeout": 4
        "showConnectionPendingScreen": false
    }
}
KeyDescriptionDefault
enabledIf set to 'true', the user will be prompted for login.true
ssoIf set to 'true', the Universal Agent will use the value of the identity source key you provide, to facilitate SSO.false
identitySourceThe default identity source used to log in the user. Use the name of the identity source as you defined it within Application Workspace.
timeoutThe interval in seconds after which the Application Workspace login prompt will be displayed if SSO could not be performed within the interval.4
showConnectionPendingScreenIf the agent is unable to reach the targeted zone during the SSO login, the connection pending window is shown.false




Icon

These options control system tray icon behaviour.

{
    "icon": {
        "enabled": true,
        "exit": true,
        "timeout": 30
    }
}
KeyDescriptionDefault
enabledIf set to 'false', the tray icon is hidden from the user.true
exitIf set to 'false', the quit option from the icon's context menu in the system tray is hidden. The quit option will always be disabled if the launcher is enabled and is not allowed to close.true
timeoutThe number of seconds Application Workspace waits for the Windows shell to load in order to display the system tray icon. Note that there is no maximum time limit.30




Native Icons

Modify the behaviour of the native icons configured for package entitlements that allow you to display Liquit icons on certain locations within the device's operating system.

NOTE: For the Native Icons to work, the Launcher must be enabled.
{
    "nativeIcons": {
        "enabled": true,
        "primary": true,
        "startMenuPath": "${Programs}\\Liquit"
    }
}
Key Description Default
enabled Allow Application Workspace to push native icons configured for package entitlements to the operating system of devices. true
primary If set to 'true', only icons from the zone defined in the zone key in the Agent.json file will be pushed. true
startMenuPath The location where the Start Menu items will be displayed; it allows you to specify a different directory than the default one. This option is available only for Windows. ${Programs}\\Liquit




Launcher

Options that control Application Workspace Launcher behaviour.

{
    "launcher": {
        "enabled": true,
        "state": "Default",
        "start": "Auto",
        "tiles": false,
        "minimal": false,
        "contextMenu": true,
        "sideMenu": "Tags",
        "close": true
        "startupDelayMilliseconds": 5000
        }
}
KeysDescriptionDefault
enabledEnables the background service of the Application Workspace Launcher.true
stateDefines how the Application Workspace Launcher will be shown upon startup:
  • Default - Default sized window 
  • Minimized - Minimized window
  • Maximized - Maximized window
Default
startDefines when the launcher is visible and accessible to the user:
  • Disabled - Application Workspace Launcher does not open during login. 
  • Auto - Application Workspace Launcher opens when connected to the zone or offline mode is available.
  • Connected - Application Workspace Launcher opens when connected to the zone.
  • Always - Application Workspace Launcher always opens, even if connection to the zone fails or offline mode isn't available.
 For Windows OS, the configuration of this option overrides the Windows Startup configuration. This means that even if you disable the Application Workspace Launcher in the Windows Startup list, the launcher will still start automatically when you log in, as long as this setting has a value different than Disabled.
Auto
tilesIf set to true, Application Workspace will use the tile-themed skin.false
minimalIf set to true, the Side Menu and tabs (Workspace, Contacts, Catalog, Manage) are hidden. Only the toolbar without the side menu toggler is displayed.false
contextMenuIf set to true, the context menu is available across Application Workspace Launcher.true
sideMenuChoose which tab(s) should be opened by default in the Side Menu.:
  • filters
  • tags
  • teams
  • categories

closeIf set to false, the X close button of the Application Workspace Launcher window is disabled and the quit option from the icon's context menu in the system tray is hidden.true
startupDelayMillisecondsThe startup delay is applied only when UserHost is launched at system startup; if the user closes the UI and starts it again manually, the UI opens immediately and the delay is not applied.0




Cache

These options control cache settings.

{
    "cache": {
        "enabled": true,
        "offline": true,
        "path": "Cache",
        "tempPath": "Temp",
        "packageTempPath": "${TEMP}",
        "autoClean": true, 
        "expireContent": 90
    }
}
KeyDescriptionDefault
enabledWhen an identity is entitled to a package, the package is automatically downloaded and cached on the end-user device. It will remain there even after the session ends, as long as the end-user is entitled to it. When the entitlement is removed, the cache is cleaned depending on how autoClean and expireContent are configured.
offlineIf set to true, the offline mode will be available for the local device. If set to false, the packages marked offline will not be automatically downloaded and the Application Workspace Launcher won't switch to offline mode.true
pathThe location on the local device where all the content used by the Agent is cached. Note that this path must be relative to the Application Workspace directory. By default, this path is configured to:
  • Windows: %ProgramData%\Liquit\Agent\Cache
  • macOS: /Library/Caches/Liquit/Agent/Cache
Cache
tempPathThe temp directory on the local device, used for uploading folders to the Application Workspace. By default, this path is configured to:
  • Windows: %ProgramData%\Liquit\Agent\Temp
  • macOS: /Library/Application Support/com.liquit.Agent/Temp
Temp
packageTempPathWhen an Application Workspace app is entitled to a user, it is automatically deployed in the local cache directory: %ProgramData%\Liquit\Agent\Cache. The name of the app will actually be a GUID with the .dat extension. Once it gets installed on the local device, the app is copied in the directory configured for the ${PackageTempDir} variable and renamed to its true name. By default, the path of ${PackageTempDir} is configured to:
  • Windows: %LOCALAPPDATA%\Temp\ <package-id>
    For example: C:\Users\< Username >\AppData\Local\Temp\ <package-id> 
  • macOS: $TEMP/<package-id>
    For example: /var/folders/rm/<device-id?>\T\ 
${TEMP}
autoCleanIf enabled, the stale content from the local cache of devices is automatically deleted if one of the following conditions are met:
  • the content is superseded by a new version.
  • the content is no longer entitled to a user and the period of time set in the expireContent has passed. 
true
expireContentThe period in days after which the local cache of devices is deleted automatically if it meets one of the conditions defined above for the autoClean.90




Refresh

Settings that control agent refresh process behaviour.

{
    "refresh": {
        "manual": true,
        "interval": 3600
    }
}
KeyDescriptionDefault
manualIf set to false, the refresh option from the icon's context menu in the system tray is hidden.true
intervalThis value represents the time interval between Application Workspace refreshes.3600




User Host Startup Mode

Choose a startup mode based on whether and how the Application Workspace Launcher should be visible when it's started by the ShellAPI at device startup or user login.

Startup ModeDescription
Background (default)

In Background mode, the Agent and UserHost are fully initialised, but the user does not see the Application Workspace Launcher unless they open it intentionally later. The login of the user can be triggered. The tray icon is available and displays a context menu.
This is the default startup behaviour and is recommended for most environments, including device‑centric and automated deployments.
NormalIn Normal mode, the Application Workspace Launcher starts at device startup or user login, and logs the user in immediately.
This mode is most suitable for traditional desktop environments where users expect the Launcher to be visible after signing in.
NOTE: Normal mode can significantly reduce startup duration.
HiddenIn Hidden mode, the Agent and UserHost are fully initialised. The UserHost does not attempt to connect to a zone until UserHost.exe is run again by the user or by a script. The user does not see the Launcher and is not logged in automatically. The tray icon is available but does not display a context menu.

This mode is useful in scenarios where Application Workspace must be running, but user interaction should be deferred or tightly controlled, such as in zero-trust environments.


Example

{
  "launcher": {
    "enabled": true,
    "start": "Disabled",
    "close": true
  },
  "userHostStartupOperatingMode": "Hidden",
  "zone": "https://company.liquit.com/"
}

Triggers

Options for modifying the behaviour of events configured for package entitlements.

{
    "triggers": {
        "enabled": true,
        "primary": true
    }
}
KeyDescriptionDefault
enabledAllow Application Workspace to execute events like refresh or login for example.true
primaryIf set to true, the Agent triggers events only for the primary zone defined as the zone key in the Agent.json file.false




Web Socket

This protocol allows a more efficient way of handling data. This option is mandatory for the push event feature described in the Events section. By default, web sockets are enabled, with the value set to 'true'.

{
	"webSocket": {
		"enabled": true
	}
}