Install Node

First, you need to install Node.js to use Freshworks CLI. To install Node.js, click here (only versions 6.10.x are supported). Once installed, you can verify the version by using the following command.
$ node –v v6.10.0

For Windows, you need to install a few required tools and configurations by using the following command.

$ npm install --global --production windows-build-tools@3.1.0

Install the CLI

Next, you need to install the Freshworks CLI on your machine to build, test, and publish apps in Freshsales Marketplace.

The -g command option ensures global installation with which you will be able to run the CLI anywhere in your machine.

Once you install the CLI, you can verify the version by using the following command.

$ fdk version4.4.3

Create your First App

In this section, you will learn to create a simple app to display the Freshsales logo and sample text on the Lead Details page.

Open the terminal window, navigate to the directory in which you want to create your app, and run the following command.

$ fdk create --products freshsales your_first_app

Once create is successful, the app files shown below will appear in the your_first_app directory.

Directory/File

Description

app/

This directory contains all the files (HTML, JS, CSS, images, library) required for the front-end component of your app. The JS files must follow the ES5 standard.

app/icon.svg

This is the product icon file in the app directory created as part of the sample project. You can replace it with your own assets while building your app.Note: The icon file should be of SVG type with a resolution of 64 x 64 pixels.

app/template.html

This file contains the HTML required for the app’s UI which is rendered in an IFrame.

config/

This directory contains the installation parameters and OAuth configuration files.

config/iparams.json

This file contains all the installation parameters which users will have to specify/set when they install the app. For more information on installation parameters and related APIs, see
Installation Parameters.

config/iparam_test_data.json

This file contains the installation parameter values which you will specify to test the app on your machine.

manifest.json

This file contains details about your app and its characteristics.

README.md

This file contains any additional instructions or specifications which developers might want to outline.

Test your App

Open your console, navigate to your project folder, and execute the following command.
$ fdk run

Log in to your Freshsales account (if you do not have a Freshsales account, sign up here).

Go to the Lead Details page and in the the address bar, append the URL with ?dev=true. For example, the URL should look like this: https://subdomain.freshsales.io/leads/1
?dev=true. When you test your app on your machine, you may see a shield icon in the browser address bar. Clicking the icon will display a warning message as the Support portal runs on HTTPS while the server used for testing runs on HTTP.
Click Load unsafe scripts to continue testing.

On the Home page, from the left global sidebar, select the Leads tab and click any lead. The rendered app is displayed at the bottom of the page as shown below.

Validate and Pack

To check if the app is error-free and package it for submission, follow the steps below.

Navigate to your project folder and validate the code by using the following command.
$ fdk validate [--app-dir DIR]
Here, DIR is the relative or absolute path to the project directory.

Once validation is successful, you can pack the project by running the following command.
$ fdk pack [--app-dir DIR]
The pack command generates the dist/my_first_app.zip file which you need to upload in the Developer portal to be published in Freshsales Marketplace.
For information on the submission process, see the Types of Apps section in Marketplace Listing.