The developer platform offers capabilities to build apps. The apps are classified into categories and types. The app creation and building process varies for the different app categories. The app submission process varies for the different app types.
App categories
![Image of app ecosystem](/docs/images/app-sdk/common-for-products/app-categories-light-theme.png)
The apps are categorized as follows based on how the app functions:
- Front-end apps: Apps that run in response to events such as button clicks or page loads that happen on the UI.
- Serverless apps: Apps that run in response to events such as app installation and uninstallation, events that occur in the product, or events that occur in an external product or service.
- Server Method Invocation (SMI) apps: Apps that contain a front-end component that invokes a serverless component.
The apps are categorized as follows based on the app users:
Agent apps: Front-end, Serverless, or SMI apps that agents working on a customer account use.
End-user apps: [Front-end] Apps deployed in a Freshworks-customer’s support portal.
Note:Currently, end-user apps are supported only for Freshdesk.
App types
The developers who build these apps, submit the apps to the Freshworks Marketplace. The Freshworks Marketplace team reviews and publishes the apps. When submitting the apps, developers can choose the app type that determines how the app is available for consumption.
![Image of app ecosystem](/docs/images/app-sdk/common-for-products/app-types-light-theme.png)
App types are as follows:
- Freshworks apps: These apps are publicly displayed in the Freshworks Marketplace. They are available for all organizations that use the Freshworks’ product for which the app is built.
- Custom apps: These apps are private to an organization. An organization’s implementation team (custom developers) builds these apps. The apps meet an internal requirement of the organization.
- External apps: These apps are listed in the Freshworks Marketplace but are installed from a third-party’s URL. The apps integrate the functionalities with a third-party product.
For information on how to submit the different app types, see App Submission Process.