Application Configuration
Applications are registered with io.Connect via JSON definition files. These can be loaded locally, from io.Manager, or from an FDC3 App Directory REST endpoint.
Basic App Definition
app-definition.json
{
"name": "client-portfolio",
"type": "window",
"title": "Client Portfolio",
"details": {
"url": "http://localhost:3002",
"width": 800,
"height": 600,
"channelSelector": {
"enabled": true,
"type": "single"
}
},
"intents": [
{
"name": "ViewPortfolio",
"displayName": "View Portfolio",
"contexts": ["fdc3.contact"]
}
]
}Application Types
| Type | Description | Platform |
|---|---|---|
window | Standard web application loaded by URL | Both |
exe | Native OS executable | Desktop |
node | Node.js script | Desktop |
citrix | Citrix Virtual App | Desktop |
clickonce | .NET ClickOnce deployment | Desktop |
workspaces | Workspaces App (system) | Desktop |
Key Properties
runPriority
Controls the boot sequence of applications:
"core"— starts with the platform"pre-sso"— starts before SSO authentication"post-sso"— starts after SSO authentication"user"— launched manually by the user (default)
preloadScripts
Inject JavaScript into the web app before it loads:
Preload scripts
{
"details": {
"preloadScripts": [
"https://cdn.example.com/analytics.js"
]
}
}saveInLayout
Control what persists when a global layout is saved:
Layout persistence
{
"details": {
"saveInLayout": {
"url": true,
"context": true,
"nativeCommand": false
}
}
}trackingType (Native Apps)
For native executables, determines how the platform tracks the application:
"Process"— track by OS process ID"AGM"— track by Interop (AGM) connection
See the full configuration reference at docs.interop.io.