Introducing Workspace Level App Installation for Freshservice: Install and Configure Apps in Complete Isolation per Workspace or Client

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


I feel like this could be an awesome addition! I’m just trying to think of a use case?

I’m assuming this wouldn’t allow me to bring in, say, a separate database of users, as I think that would still update the global requester list?

But it would let me enable Quick Resolver in a workspace without giving it to every other workspace.

Hi!

This is a great addition to the app inftrastructure!

Will this be rolled out for other Freshworks products like Freshdesk as well? Is there a timeline and will we receive an update about this as well?