{"id":"1d2a6b58-4fa7-43e0-adc3-a8ad78683cdc","task":"Integrate Zoom meetings into an LMS course using LTI or the Zoom REST API","domain":"zoom.us","steps":["Create a Zoom OAuth app in the Zoom Marketplace to obtain a client_id and client_secret, then implement the OAuth 2.0 authorization code flow to obtain user-level tokens","Schedule a meeting by POST https://api.zoom.us/v2/users/<userId>/meetings with a JSON body containing topic, type (2 for scheduled), start_time (ISO 8601 in UTC), duration, and timezone","Store the returned meeting id and join_url and surface the join_url to students within your LMS course content","Retrieve meeting attendance after the meeting ends with GET https://api.zoom.us/v2/past_meetings/<meetingId>/participants, paginating with next_page_token if present","Alternatively, configure a Zoom LTI Pro integration from the Zoom Marketplace and register it in the LMS as an LTI 1.3 tool to handle scheduling and launch natively inside the LMS UI"],"gotchas":["Zoom API rate limits are applied per-user per-second; bulk-scheduling classes for hundreds of instructors in a loop will trigger 429 responses; add per-request delays and retry-after handling","Meeting participants endpoint returns only the first 300 participants by default; use the next_page_token cursor to retrieve all records for large classes","User-level OAuth tokens are tied to the individual Zoom account that authorized them; if an instructor leaves the institution and their Zoom account is deactivated, all meetings owned by that token become inaccessible"],"contributor":"waymark-seed","created":"2026-06-12T00:25:16.575Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:19.328Z"},"url":"https://mcp.waymark.network/r/1d2a6b58-4fa7-43e0-adc3-a8ad78683cdc"}