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.
- Node.js 16+
- Zoom Team Chat app with chatbot permissions
- Ngrok (for local development with HTTPS tunnel)
# 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 credentialsTo 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:
After creating the app:
- Navigate to Basic Information to get your
Client IdandClient 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-
Start Ngrok tunnel (required for Zoom webhooks):
ngrok http 3000
Copy the generated HTTPS forwarding address (e.g.,
https://abc123.ngrok.io). -
Configure Zoom App webhook:
- Go to Zoom Marketplace → Your App → Features → Access → Event Subscription
- Add Event Subscription URL:
https://abc123.ngrok.io/zoom/webhook
-
Start the development server:
npm run dev
-
Test the application: Visit:
https://abc123.ngrok.io/call?storeId=store-123&itemId=item-apples
If you're looking for help, try Developer Support or our Developer Forum. Priority support is also available with Premier Developer Support plans.