On a page of the Freshsales UI, there are various locations where an app can be rendered. This section specifies the locations and how to configure the manifest.json file, for an app to be displayed in the specified location. An app can be rendered in multiple locations.
Notes:
1. Freshsales apps are supported as web apps.
2. For omni apps, specify valid Freshsales classic and Freshsales (identified as freshworks_crm in the manifest) placeholders in the appropriate location object. For information on the manifest.json structure for omni apps, see Sample manifest.json for omni apps.
3. To migrate a Freshsales classic app as a Freshsales (identified as freshworks_crm in the manifest) app, replace the Freshsales classic placeholders with the appropriate Freshsales placeholders, in the location object.
Global Navigation Pane
full_page_app - The app icon is displayed on the left navigation pane and when clicked, the app page occupies the entire viewport.
manifest.json
Copied Copy1 2 3 4 5 6 7 8 9 10 | "product": { "freshworks_crm": { "location": { "full_page_app": { "url": "myfirstapp.html", "icon": "logo.svg" } } } } |

Notes:
1. For a Freshsales account, a maximum of 10 full page apps can be installed. The Full-Page App icon is displayed on the left navigation pane. App users can hover over the icon to view the list of all installed full-page apps.
2. The resolution of the logo.svg file should be 64 x 64 pixels and fill value FFF.
3. Testing a full-page app locally is not yet supported. To test a full-page app, publish it as a custom app.
Contact Details Page
contact_entity_menu - The app is displayed in the INTEGRATIONS section on the Contact Details page.
manifest.json Copied Copy1 2 3 4 5 6 7 8 9 10 | "product": { "freshworks_crm": { "location": { "contact_entity_menu": { "url": "myfirstapp.html", "icon": "logo.svg" } } } } |
Deal Details Page
deal_entity_menu - The app is displayed in the INTEGRATIONS section on the Deal Details page.
manifest.json Copied Copy1 2 3 4 5 6 7 8 9 10 | "product": { "freshworks_crm": { "location": { "deal_entity_menu": { "url": "myfirstapp.html", "icon": "logo.svg" } } } } |
Sales Account Details Page
sales_account_entity_menu - The app is displayed in the INTEGRATIONS section on the Sales Account Details page.
manifest.json
Copied Copy1 2 3 4 5 6 7 8 9 10 | "product": { "freshworks_crm": { "location": { "sales_account_entity_menu": { "url": "myfirstapp.html", "icon": "logo.svg" } } } } |
CTI
left_nav_cti - The app runs in the background and is displayed at the bottom-left corner. The location is allocated for the Computer Telephony Integration (CTI)/phone app alone.
manifest.json
Copied Copy1 2 3 4 5 6 7 8 9 10 | "product": { "freshworks_crm": { "location": { "left_nav_cti": { "url": "myfirstapp.html", "icon": "logo.svg" } } } } |
Notes:
1. The logo.svg file should have a resolution of 20 x 20px.
2. Only one app can be active per app location. Also, using Freshcaller counts as using the CTI location.