Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zoom Digital Call Button Demo

A real-time digital call button system using Zoom Team Chatbot, Node.js, Express, and WebSocket technology. Customers can request help in-store and see instant status updates as associates respond through Zoom Team Chat.

Quick Start

Prerequisites

  • Node.js 16+
  • Zoom Team Chat app with chatbot permissions
  • Ngrok (for local development with HTTPS tunnel)

Installation

# Clone the repository
git clone <your-repo-url>
cd zoom-digital-call-button-sample

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env
# Edit .env and fill in your Zoom app credentials

Create a Zoom Marketplace app

To create your app, follow the Zoom App Marketplace build flow. You’ll need a Zoom developer account with Zoom Apps enabled.

Use the provided app manifest to configure your app:

Set up credentials

After creating the app:

  • Navigate to Basic Information to get your Client Id and Client Secret.
  • Go to Features → Access to find your Secret Token.
  • Ensure the app is marked as Admin-managed under Basic Information.

Update the following variables in your .env file:

# Zoom app credentials
ZOOM_CLIENT_ID=your_zoom_client_id
ZOOM_CLIENT_SECRET=your_zoom_client_secret
ZOOM_CHANNEL_ID=your_zoom_channel_id

# Zoom account ID
ACCOUNT_ID=your_account_id

# MongoDB configuration
MONGO_URI=your_mongodb_connection_string

# Zoom webhook signature verification
ZOOM_VERIFICATION_TOKEN=your_zoom_secret_token

# Zoom bot JIDs (from Marketplace app settings)
ZOOM_ROBOT_JID=your_zoom_robot_jid
ZOOM_USER_JID=your_zoom_user_jid

# Server configuration (optional)
PORT=3000

⚠️ Do not store credentials in plain text in production environments

Local Development Setup

  1. Start Ngrok tunnel (required for Zoom webhooks):

    ngrok http 3000

    Copy the generated HTTPS forwarding address (e.g., https://abc123.ngrok.io).

  2. Configure Zoom App webhook:

    • Go to Zoom Marketplace → Your App → Features → Access → Event Subscription
    • Add Event Subscription URL: https://abc123.ngrok.io/zoom/webhook
  3. Start the development server:

    npm run dev
  4. Test the application: Visit: https://abc123.ngrok.io/call?storeId=store-123&itemId=item-apples

Need help?

If you're looking for help, try Developer Support or our Developer Forum. Priority support is also available with Premier Developer Support plans.

About

A real-time digital call button system using Zoom Team Chatbot, Node.js, Express, and WebSocket

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages