Skip to content

[Example] 460 — Webex Recording Transcription (Node.js)#177

Merged
lukeocodes merged 1 commit intomainfrom
example/460-webex-recording-transcription-node
Apr 4, 2026
Merged

[Example] 460 — Webex Recording Transcription (Node.js)#177
lukeocodes merged 1 commit intomainfrom
example/460-webex-recording-transcription-node

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented Apr 4, 2026

New example: Webex Recording Transcription

Integration: Cisco Webex | Language: Node.js | Products: STT

What this shows

A Node.js Express server that listens for Webex meetingRecording.ready webhooks, downloads the meeting recording audio via the Webex REST API, and transcribes it using Deepgram nova-3 with speaker diarization and smart formatting. Optionally posts the transcript back to a Webex space.

Research note

The original issue (#137) requested a real-time audio streaming bot using webex-node-bot-framework. Research found that:

  • webex-node-bot-framework is a messaging bot framework — it cannot join meetings or access audio streams
  • Webex does not expose real-time meeting audio via public APIs
  • The feasible approach is recording-based transcription using the Recordings API + webhooks

This example implements the recording-based approach, which is the practical way to transcribe Webex meetings.

Required secrets

  • DEEPGRAM_API_KEY
  • WEBEX_BOT_TOKEN — from Webex Developer Portal
  • WEBEX_WEBHOOK_SECRET — user-defined shared secret for webhook verification

Tests

✅ Tests passed (with test credentials for webhook verification)
⚠️ Full end-to-end test requires real Webex credentials

Test 1: createApp() returns a configured Express app...
✓ createApp() returned an Express app

Test 2: GET /health returns { status: "ok" }...
✓ GET /health returned { status: "ok" }

Test 3: POST /webhook — invalid signature returns 401...
✓ Invalid signature correctly rejected with 401

Test 4: POST /webhook — non-recording event returns ignored...
✓ Non-recording event correctly returned { status: "ignored" }

Test 5: POST /webhook — valid recording.ready returns processing...
✓ Valid recording.ready event accepted with { status: "processing" }

✓ All tests passed

Closes #137


Built by Engineer on 2026-04-04

Node.js/Express server that receives Webex meetingRecording.ready
webhooks, downloads the recording audio, and transcribes it with
Deepgram nova-3 (speaker diarization + smart formatting).

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions github-actions Bot added type:example New example app language:node Language: Node.js / TypeScript integration:webex Integration: Webex labels Apr 4, 2026
@lukeocodes lukeocodes merged commit 5b788ec into main Apr 4, 2026
@lukeocodes lukeocodes deleted the example/460-webex-recording-transcription-node branch April 4, 2026 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

integration:webex Integration: Webex language:node Language: Node.js / TypeScript type:example New example app

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Webex real-time meeting transcription bot

1 participant