We’re excited to bring workspace-level (and client-level) app installation to Freshservice via Marketplace apps. You can now install and configure the same app in complete isolation per workspace or per client, so each has its own settings and data.
What’s new
Previously, Freshworks apps could only be installed at the account level, one configuration applied to all clients. But what if you wanted to isolate data between multiple clients, or workspaces?
With workspace-level installation:
- Freshservice and Freshservice for Business Teams: Use one app instance per workspace to manage different departments with separate configurations and data.
- Freshservice for MSP: Use one app instance per client (workspace), so client A and client B have unique settings and independent data within the same account.
This gives you true multi-tenancy, from data isolation to app execution, each workspace or client runs in its own context.
How to build for workspace-level installation
1. Configure your manifest
In your app’s manifest.json, use the new installation key with two scopes:
account: Default, keeps existing account-wide behavior.service_workspace: Enables workspace/client-level installation and multi-tenancy.
Adding service_workspace allows the app to be installed per workspace or per client in addition to (or instead of) account wide.
2. Use workspace context in your app
To run logic per workspace, use the updated current host data: the currentHost attribute now includes a workspace ID. Use it to know which workspace the app is running in and to execute context-specific logic (e.g. data, config, API calls).
3. Publish and install
After your app is built with the right manifest configuration and workspace aware logic, publish from the App Management Portal (AMP) as usual. During installation, users can choose:
- Account-wide: One installation for the whole account.
- Per client / per workspace: Install for specific clients or workspaces; each installation is independent. Users can manage settings, view logs, and enable, disable, or uninstall per client.
App rendering respects installation scope: the app appears only in contexts (e.g. tickets) that belong to a workspace or client where the app is installed. Tickets from other workspaces or clients do not show the app. Note that for a CTI app, the user will be requested to provide input for which client data they want to be displayed.
Documentation
For full details on configuration, installation flow, and placeholder availability for workspace scoped apps, see:
Configure app installation scope: docs
Configure workspace features in the manifest.json: docs