Skip to Content
Technical Articles
Author's profile photo Ferry Djaja

SAP Analytics Cloud Zoom Meeting Custom Widget

In this brand new tutorial on the SAC custom widget, I will walkthrough how you can create a custom widget to share your screen automatically on the Boardroom display with Zoom Meeting app.


Using this widget, you can easily share your screen automatically on the big Boardroom display and start the presentation. The Boardroom display is based on the Android OS that is able to run the Zoom app.

On the SAC Analytic app, you have installed and configured the custom widget. With this widget you can create meeting, share screen and end meeting.



When you start a meeting by clicking “Create Meeting” button, the Zoom meeting session will run automatically (without your intervention) in the Boardroom and you will get the link to the Zoom meeting in SAC Analytic App which you can click and start sharing your screen.

After you finish with the meeting, you click the “End Meeting” button and the session will be removed.

Custom Widget

We will create a simple UI with sap.m.ActionSheet and add two buttons: Create Meeting and End Meeting.

We also need a PubNub as a communication medium between the custom widget and the NodeJS app which runs on the Android tablet. The SAC widget will send a command to tell the NodeJS server either to create or end the meeting. The NodeJS will execute the command accordingly and returns the result back to the custom widget via PubNub. With this result, the widget knows if the meeting session is still active or not. If still active and user clicks on “Create meeting” again, it will then throw an error pop-up message.

Android Setup

On the Android side, we will install Zoom app, Termux app and Termux Boot. The Termux app is required to run the NodeJS server on the Android OS.

Run the Termux app and navigate to this folder:

cd /data/data/com.termux/files/home/

Clone the zoom-api-jwt to make Zoom API call using JWT:

git clone

Install the following libraries:

npm install jsonwebtoken pubnub request-promise child_process

Get server.js and config.js from and put those files in /data/data/com.termux/files/home/zoom-api-jwt/.

You need to update config.js and fill in the  API Key & Secret and email with your Zoom account credential. Refer to my other blog in the reference section on how to get those.

const config = {
	development :{
		email: 'EMAIL_ID'
		email: 'EMAIL_ID'

The following command will run the server.js immediately after device was booted using Termux Boot and also to make it run in the background while you are in other screen.

mkdir -p ~/.termux/boot
# create shell script and insert this command in that script:
/data/data/com.termux/files/usr/bin/node /data/data/com.termux/files/home/zoom-api-jwt/server.js

And finally run the Termux Boot app.

Quick Video


Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Ashish Tiwari
      Ashish Tiwari

      Sorry this might be naive but i can share my screen normally right? What is the additional feature that this custom widget provides?

      Author's profile photo Ferry Djaja
      Ferry Djaja
      Blog Post Author


      The widget will launch the Zoom session automatically on the other side (board room)  without need for anyone to do that (see the video) and they just share their screen afterwards.