Examples for Webhook based Extension

Have a look at the following few examples with their sample codes in order to better understand webhook based extensions. The examples featured are :

Covid19Tracker

The Covid19Tracker extension helps keep track of the global coronavirus(COVID-19) outbreak in a table format. You can view both the outbreak both globally and country wise in a widget.

Download source code (Node.js)

Heroku instructions:

  • Create a node js app in heroku (Also install heroku cli)
  • If you haven't already, log in to your Heroku account and follow the prompts to create a new SSH public key.
  • $ heroku login
  • Clone the repository
  • Use Git to clone source code to your local machine.
  • $ heroku git:clone -a <app_name>
  • $ cd <app_name>
  • Deploy your changes Make some changes to the code you just cloned and deploy them to Heroku using Git.
  • $ git add .
  • $ git commit -am "initial commit"
  • $ git push heroku master

To try out this extension you can install it from here.

Expense Manager

Expense Manager extension helps manage all expenses spent in the last week/month/year. The Expense Manager bot shows the all expenses in a message card and can also post the info on a scheduled basis.

Download source code (Node.js)

Prerequisites

  1. Node.js version 14 or latest.
  2. MongoDB version 5 or latest.

To run the app locally

  1. Install the dependencies by typing npm install.
  2. Start the MongoDB server by typing mongod.
  3. Configure the application credentials & MongoDB Server URL in config/dev.js file.
  4. Start the application by typing npm start.

To deploy the app in Microsoft Azure - App Service

  1. Sign in to Microsoft Azure Portal and choose App Services from the home page to create a web app.
  2. Fill in the deployment details. Select Node 14 as runtime stack and proceed further.
  3. Once the initial deployment is completed, go to the resource page and click on Configuration on the LHS Menu.
  4. Add all the application credentials and MongoDB connection string as environment variables under the Application Settings.
    • Refer to the help doc to create a database in MongoDB Atlas.
  5. Make sure to set NODE_ENV value as production in Application Settings.
  6. Go to Deployment Center, select the code source and save.
  7. Copy the app URL from Overview page and use it as extension's callback URL in Zoho Cliq's developer page.

Time Tracker

Time Tracker extension helps keep track of how much time a user has spent on a task. With this extension you can:

  • Add tasks
  • Pause/Resume task timer
  • Create and manage projects

Download source code (Node.js)

Prerequisites

  1. Install Node.js version 16 or latest.
  2. Install MySQL version 5.7 or latest.

To run the app locally

  1. Install the dependencies by typing npm install.
  2. Ensure MySQL server is active.
  3. Configure the application credentials & database details in config/dev.js file.
  4. Start the application by typing npm start.

To deploy the app in Google App Engine

  1. Sign In to Google Cloud Console.
  2. Follow the below docs for deployment.
  3. Update your app URL as your extension callback URL in Zoho Cliq's developer page.