Zoom Integration Test Plan

Step-by-step testing instructions for the Streamli9 Zoom Marketplace integration.
Prepared for the Zoom Marketplace review team.


1. Overview

Streamli9 is an AI-powered meeting accountability platform. After a Zoom meeting ends, Streamli9 reads the cloud recording transcript and extracts action items with owners, due dates, and priorities using AI (Anthropic Claude Haiku). It monitors email threads for status updates, sends automated reminders, and tracks dependencies across recurring meetings.

Key point: Streamli9 only accesses text-based transcripts and metadata. No audio or video recordings are downloaded or stored.

2. Test Credentials

RoleAccountPurpose
Primary test user (Host)streamli9testing@outlook.comSigns in via Microsoft OAuth. Zoom is pre-connected. Pro plan with unlimited tokens. Pre-loaded with demo meetings and action items.
Team members (Participants)6 mock users @streamli9.comPre-seeded participants who appear as action item owners in demo meetings. Not interactive accounts — they demonstrate the multi-user experience.

Password for streamli9testing@outlook.com: Provided separately in the "Test account and credentials" section of the App Submission build flow.

3. Setup & Authorization

Step 1: Download the desktop app

  1. Visit https://www.streamli9.com/download
  2. Click "Download for Windows" to get the installer
  3. Run Streamli9-Setup-x.x.x.exe and follow the installation wizard
  4. Launch Streamli9 from the Start menu or desktop shortcut

Step 2: Sign in

  1. On the login screen, click "Sign in with Microsoft"
  2. Enter the test credentials: streamli9testing@outlook.com
  3. Complete Microsoft OAuth authorization
  4. You will be redirected back to the Streamli9 app

Step 3: Verify Zoom connection

  1. Navigate to Settings > Integrations
  2. Verify that Zoom shows as "Connected"
  3. The test account has Zoom pre-connected with all required scopes

If Zoom is not connected: Click "Connect Zoom". You will be redirected to Zoom's OAuth authorization page. Authorize the app to grant access to the requested scopes. You will be redirected back to Streamli9.

4. Scope-by-Scope Testing Instructions

Below are the 12 granular OAuth scopes requested by Streamli9, with the exact functionality each scope enables and how to verify it.

4.1 User Scopes

user:read:user — View user profile

Purpose: Retrieve the Zoom user's display name and account ID to associate meetings with the correct Streamli9 user.

How to test:

  1. Go to Settings > Integrations
  2. The Zoom connection card shows the connected Zoom account name
  3. This name is fetched via GET /v2/users/me using this scope

user:read:email — View user email

Purpose: Verify the Zoom account email matches the signed-in user, preventing cross-account data access.

How to test:

  1. Go to Settings > Integrations
  2. The Zoom connection card shows the connected email address
  3. This is used to match meeting participants to Streamli9 users

4.2 Meeting Scopes

meeting:read:meeting — View a meeting

Purpose: Fetch metadata (title, start time, duration) for individual meetings.

How to test:

  1. Navigate to Meetings in the sidebar
  2. Click on any meeting to view its detail page
  3. The title, date, time, and duration are fetched via GET /v2/meetings/{meetingId}

meeting:read:list_meetings — View user's meetings

Purpose: List upcoming and past meetings to discover new transcripts.

How to test:

  1. Navigate to Meetings in the sidebar
  2. The meetings list shows all synced Zoom meetings with titles and dates
  3. New meetings are discovered automatically via GET /v2/users/me/meetings

meeting:read:participant — View meeting participant

Purpose: Retrieve participant names and emails for action item assignment.

How to test:

  1. Click on any meeting in the Meetings page
  2. The meeting detail page shows a Participants section with names and emails
  3. These participants appear as suggested owners when action items are extracted

meeting:read:list_past_instances — View past meeting instances

Purpose: For recurring meetings, discover individual instances to process.

How to test:

  1. Navigate to Meetings > Recurring Series
  2. Click on the "Weekly Sprint Planning" series
  3. The series detail page shows individual instances (e.g., #3, #4) with their dates
  4. Each instance is discovered via GET /v2/past_meetings/{meetingId}/instances

meeting:read:list_past_participants — View past meeting participants

Purpose: Retrieve participant lists for completed meetings (used for action item ownership matching).

How to test:

  1. Click on any completed meeting
  2. The participant list includes attendees from the actual meeting session
  3. Fetched via GET /v2/past_meetings/{meetingId}/participants

meeting:read:summary — View meeting AI summary

Purpose: Retrieve Zoom AI Companion summaries to supplement action item extraction.

How to test:

  1. Click on any meeting in the Meetings page
  2. If Zoom AI Companion generated a summary, it appears in the meeting detail under "AI Summary"
  3. This supplements the transcript-based extraction with Zoom's own AI analysis
  4. Fetched via GET /v2/meetings/{meetingId}/meeting_summary

4.3 Cloud Recording Scopes

cloud_recording:read:list_user_recordings — List user's cloud recordings

Purpose: Discover which meetings have cloud recordings with transcripts available.

How to test:

  1. After a Zoom meeting with cloud recording ends, Streamli9 automatically checks for new recordings
  2. Navigate to Meetings — newly synced meetings appear within minutes
  3. Fetched via GET /v2/users/me/recordings

cloud_recording:read:list_recording_files — List meeting recording files

Purpose: Identify which recording files are transcripts (vs. video/audio files that are not accessed).

How to test:

  1. Streamli9 filters recording files to find only TRANSCRIPT type files
  2. Audio and video files are never downloaded or stored
  3. The transcript file URL is used in the next scope to download the text

cloud_recording:read:recording — View a recording

Purpose: Access the recording metadata needed to retrieve the transcript file.

How to test:

  1. Click on any meeting — the meeting detail shows the extracted transcript text
  2. This scope provides the download URL for the transcript file
  3. Note: Only the text transcript is downloaded. No audio/video is ever accessed.

cloud_recording:read:meeting_transcript — Read meeting transcript

Purpose: Download the actual VTT/text transcript for AI action item extraction.

How to test:

  1. Click on any meeting to view its detail page
  2. The "Transcript" section shows the raw meeting transcript text
  3. Below the transcript, the "Action Items" section shows items extracted by AI
  4. Each action item has: description, assigned owner, due date, priority, and status
  5. Use "Approve & Send" to confirm items or "Reject" to discard

5. Feature Walkthrough

5.1 Dashboard

  1. Click Dashboard in the sidebar
  2. View the summary cards: overdue items, due today, upcoming, completed
  3. "Needs Attention" shows items requiring action
  4. "My Items" shows items assigned to you
  5. "Team Items" shows items from meetings you hosted

5.2 Action Items

  1. Click Action Items in the sidebar
  2. Filter by status (Pending, In Progress, Blocked, Complete)
  3. Filter by priority (High, Medium, Low)
  4. Click any item to view details, add notes, change status, or see the source meeting

5.3 Dependencies

  1. Click Dependencies in the sidebar
  2. View blocking relationships between action items
  3. Example: "Launch checklist sign-off" is blocked by "Security audit fixes" and "Analytics export"

5.4 Recurring Series

  1. Click Meetings > Recurring Series
  2. Click "Weekly Sprint Planning"
  3. View carry-forward items (incomplete items from previous instances)
  4. View completion rate across the series

5.5 Personal Action Items

  1. Click Action Items > Personal
  2. View personal items created outside of meetings
  3. Click "+" to create a new personal item manually or via AI text extraction

5.6 Notifications

  1. Click the Bell icon in the sidebar
  2. View notifications for extracted meetings, completed items, overdue alerts, and dependency resolutions

5.7 Settings

  1. Navigate to Settings
  2. General: Extraction mode, default due days, notification preferences
  3. Integrations: Connected platforms (Zoom shows as connected)
  4. Reminders: Pre-due, due date, overdue, weekly summary, host summary configuration
  5. Account: Profile, data export, account deletion

6. Zoom App Removal (Deauthorization)

Option A: Remove from within Streamli9

  1. Go to Settings > Integrations
  2. Click "Disconnect" next to Zoom
  3. Confirm the disconnection
  4. Streamli9 revokes the access token via Zoom's POST /v2/oauth/revoke endpoint
  5. All Zoom-related OAuth tokens are deleted from Streamli9's database
  6. Previously synced meeting data is retained (user can delete individual meetings)

Option B: Remove from Zoom Marketplace

  1. Sign in to Zoom App Marketplace
  2. Click Manage > Added Apps
  3. Find "Streamli9" and click Remove
  4. Zoom sends a deauthorization webhook to Streamli9
  5. Streamli9 receives the webhook at /api/v1/webhooks/zoom/deauthorize
  6. All Zoom OAuth tokens and connection data are automatically deleted
  7. The user's Streamli9 account remains active (they can re-connect Zoom later)

Data handling after removal

7. Webhook Handling

Streamli9 processes the following Zoom webhook events:

EventEndpointAction
meeting.ended/api/v1/webhooks/zoomTriggers transcript sync for the ended meeting
recording.completed/api/v1/webhooks/zoomTriggers cloud recording transcript download
recording.transcript_completed/api/v1/webhooks/zoomTriggers transcript processing when transcript is ready
meeting.summary_completed/api/v1/webhooks/zoomFetches Zoom AI Companion summary
app_deauthorized/api/v1/webhooks/zoom/deauthorizeDeletes all Zoom OAuth tokens for the user

All webhook requests are verified using HMAC-SHA256 signature validation with timing-safe comparison and 5-minute timestamp replay prevention.

8. Security & Privacy

9. Support

ChannelDetails
Emailsupport@streamli9.com
Support pagewww.streamli9.com/support
HoursMonday-Friday, 9 AM - 6 PM IST
First response SLAWithin 24 hours

Last updated: April 2026 · App version: 3.7.3 · Prepared for Zoom Marketplace review