The common module introduction

If you want to build a global app that is not specific to any module and can be deployed across most Freshworks products, you can build a common module app that uses only common placeholders for the app’s front-end deployment and common serverless events.

For a demonstration of how the common module works with other placeholders and events, see the sample global app for placeholders.

Does this mean that when developers build a module-specific app, the common module is never used?

No. Even when you build module-specific apps, the common module is used to,

  • Configure all common serverless events such as App set-up events, External events, and Scheduled events that your module-specific app uses.
  • Declare request templates, if your app uses the templated request method to place secure HTTP calls.
  • Register SMI functions, if you are building a full-stack SMI app.

We do not place any restrictions on the number of modules your app can work with or (for most part) the compatibility of modules with each other. In your app manifest, along with the common module, you can include any module that you deem fit for your use case.

Important:
  • For an app built to work with only the common module, ensure to include at least one other module in the app manifest. This module name identifies the product on which the app will be deployed.
  • For an app built to work with only the common module, if multiple (empty) modules are included in the app manifest, the app can be deployed on all the products that these modules are supported on.
  • A front-end app built for the common module is accessible from a product’s left navigation pane - either from the full-page-app placeholder or CTI app placeholder. For a front-end app built to work with only the common module, do not include caller_agent, call, caller_metrics, notification, caller_conversation, chat_conversation or chat_user as the other module(s), if they are the only modules other than common. This is because the products that support these modules do not support app deployment on the left-navigation pane.


What kind of apps can you build for this module?

App building capabilities (For this module, can you build…)
A front-end app?A serverless app?A full-stack SMI app?

Yes

As long as the only other module(s) in the app manifest are not any of the following: caller_agent, call, caller_metrics, notification, caller_conversation, chat_conversation or chat_user

Yes

The app reacts to any app set-up events, external event, scheduled event, or any valid product events specific to the other module(s) in the manifest.

Yes

As long as the only other module(s) in the app manifest are not any of the following: caller_agent, call, caller_metrics, notification, caller_conversation, chat_conversation or chat_user.

The serverless component of the app reacts to any app set-up events, external event, scheduled event, or any valid product events specific to the other module(s) in the manifest.

Who can access an app built for only the common module?

An app user with any of the following:

  • A stand-alone Freshdesk subscription.
  • A stand-alone Freshservice subscription.
  • A stand-alone Freshsales classic subscription.
  • A Freshsales suite subscription that subscribes to Freshsales classic, Freshchat, and Freshcaller.
  • A Freshsales suite subscription that subscribes to only Freshchat.
  • A Freshsales suite subscription that subscribes to only Freshsales classic.

For more information, see the SKUs and SKU subscriptions section.

Fundamental interfaces

From our Developer toolkit, what are the fundamental tools that you can use to build an app for this module?

To build an app for the common module, you can use the following front-end interfaces and serverless events.