App Manifest

The app manifest is a JSON file (manifest.json) that contains information about your app such as the platform version, product, location, and so on.

Copied Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{ "platform-version": "2.0", "product": { "freshdesk": { "location": { "ticket_sidebar": { "url": "template.html", "icon": "logo.svg" } } } }, "dependencies": { "request": "2.72.0" }, "whitelisted-domains": [ "https://www.google.com" ] }
EXPAND ↓

Platform-version
The platform-version is automatically generated and used to infer the platform version that your app uses. This is to ensure backward compatibility when a new version of the framework is released.

Product
The product field is mandatory and specifies the product in which the app is rendered.

Example

Copied Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
"product": { "freshdesk": { "location": { "ticket_sidebar": { "url": "template.html", "icon": "logo.svg" }, "ticket_requester_info": { "url": "template.html", "icon": "logo.svg" } } } }
EXPAND ↓

Location

The location field is mandatory for all types of apps except serverless apps which do not have UI components. You can specify multiple locations for your app to be rendered, for more information see App Locations. You need to add the following information in the location field.

  • url: In order to render your app in the Freshdesk UI, you need to point the URL to the template file’s relative path from the app directory as shown in the following example. Copied Copy
    1
    2
    3
    4
    "ticket_sidebar": { "url": "templates/newtemp.html", "icon": "logo.svg" }
    Here, templates is a directory in myprojectfolder/app. Anything that you define within the template file will be rendered in an IFrame in the defined location. By default, the url field points to template.html in the app directory.
  • icon: The icon file should be of SVG type with a resolution of 64x64 pixels. You need to specify your app icon’s relative path from the app directory as shown in the following example. Copied Copy
    1
    2
    3
    4
    "ticket_sidebar": { "url": "templates/newtemp.html", "icon": "images/logo.svg" }
    Here, logo.svg is a file in the app directory.

For serverless apps, the location field can be omitted as shown in the following example.

Copied Copy
1
2
3
4
5
6
7
{ "platform-version": "2.0", "product": { "freshdesk": { } } }

Dependencies
These are npm packages which you can use in the server.js file and files in the server/lib folder as per your app requirement. For example, you can use the utility methods in the underscore npm package or make HTTP calls with the request npm package.

You should list the packages in the manifest.json file with the corresponding versions as shown.

Copied Copy
1
2
3
"dependencies": { "request": "2.72.0" }

Whitelisted-Domains
It is mandatory to use Request API to make secure HTTP requests to any third-party domains. In order to use Request API, the list of domains should be specified in the manifest.json file. For more information, see the Configure section.

Log in with your Freshdesk account

Enter your helpdesk URL to proceed to login

Proceed

By clicking "Proceed", you agree to our Terms of Use.