Use of this sample app is subject to our Terms of Use.
This is a sample app that demonstrates how to automate a part of the Webinar communications workflow using Zoom Webhooks, Zoom API and Sendgrid Email API.
Prerequisites:
- Zoom account with Webinar License
- Zoom Marketplace Account
- A Free Trial SendGrid Twilio Account
- Start a Webinar that has "Registration Required" option enabled and end it.
- A "Webinar Ended Event" will be sent to your app's Endpoint Notification URL.
- After the Webinar ends, the Sample Webhook App will fetch the list of Webinar absentees and send a sample email to the absentees.
-
Schedule a Zoom Webinar with "Registration Required" option enabled from Zoom Web Portal. A Zoom Webinar License is required to schedule Zoom Webinars.
-
Once the Webinar is scheduled, share the Registration Link with others so that they can register for the Webinar.
-
Create a JWT app in the Zoom App Marketplace. Provide all the information required and your app credentials will be generated. In the features page,add a new event subscription.
For the Event notification endpoint URL, use ngrok or a similar service to generate a HTTP tunnel. Once you download ngrok, run./ngrok http 3000.
command in your terminal. Provide the generated url starting with "https" as your Event notification endpoint URL. Under Event Types, click on Webinar and subscribe to the "Webinar Ended" event. Save the subscription and click "Continue". Your JWT app will be activated in your account. From this app, you will need the generated API Key, API Secret and Verification Token.
-
Create a free trial SendGrid Twilio account. Login to your account, visit their integration page and create an API Key. You will use this API Key at a later step.
-
Clone this repository by running this git command in your terminal:
git clone https://github.com/ShrijanaCodes/SampleWebhookApp.git
-
Install all the dependencies by running
npm install
command in your terminal. -
Create a .env file and a gitignore file by running this command in your terminal:
touch .env .gitignore
-
Open the .env file in your editor and include the following variables and their values in this file:
APIKey='Provide Your Zoom API Key Generated in Step 2 Here'
APISecret='Provide Your Zoom API Secret Generated in Step 2 Here'
VerificationToken='Provide Your Zoom App Verification Token Generated in Step 2 Here'
SENDGRID_API_KEY='Provide Your SendGrid API Key Generated in Step 4 Here'
-
Add the ".env" file to the ".gitignore" file either by using your editor or by running
echo ".env" >> .gitignore
command in your terminal. This way, you will minimize the risk of exposing your credentials as Git will ignore the .env file. -
In the "app.js" file, provide your email address in the "from" variable located inside the "msg" object. You can also edit the values of the "subject" and "text" fields.
-
Start the app by running
node app.js
command in your terminal. -
Voila! Your app will be up and running on port 3000. While your app is running, start your Scheduled Webinar and end it. Once the Webinar is ended, if any attendee who had registered for the Webinar, did not actually attend the Webinar, they will recieve an automated email after the Webinar Ends.
In this demo app, we have used Webinar Ended Event, List Absentees API and SendGrid Send Email API. However, you can customize the workflow based on your needs by using any available Zoom APIs and Webhooks.
Deliver Happiness with Zoom Services 😀 Happy Coding 😇
If you're looking for help, try Developer Support or our Developer Forum. Priority support is also available with Premier Developer Support plans.