Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Laravel Zoom

Laravel Zoom Laravel Package

macsidigital/laravel-zoom

A Laravel wrapper for the Zoom API that lets you manage meetings, users, webinars, and recordings from your PHP app. It provides a clean, expressive interface for common Zoom operations, making it easy to integrate video conferencing into Laravel projects.

View on GitHub
Deep Wiki
Context7

Laravel Zoom Package

Frequently asked questions about Laravel Zoom
How do I install macsidigital/laravel-zoom in a Laravel app?
Install it with composer require macsidigital/laravel-zoom, then publish the package config with php artisan vendor:publish and add your Zoom credentials to your .env file. The package auto-discovers its service provider and facade, so you can start calling the Zoom facade immediately after publishing. Pin the exact version and commit your lock file, since release cadence is sparse and constraints can shift between tags.
Does laravel-zoom support Server-to-Server OAuth or only JWT?
Zoom retired JWT app types with a full sunset in September 2023, and the last tagged release of this package lands exactly on that boundary. Server-to-Server OAuth (account ID, client ID, client secret) is the only viable production path now, so verify the tagged release actually implements the S2S token exchange and refresh before you commit. In some wrappers this support only exists on dev-main, so test it against a sandbox Zoom account on day one rather than in week three.
Is macsidigital/laravel-zoom compatible with Laravel 11 or 12?
The last tag predates both Laravel 11 and 12, so the illuminate/support constraint likely caps you at Laravel 9 or 10. Check composer.json for the exact illuminate/* and PHP version constraints before installing; if they are pinned to ^9|^10, your options are pinning your framework, forking the package, or skipping it. Add a CI job that runs against the next Laravel major so a constraint break surfaces as a planned task instead of a release-day surprise.
What Zoom operations does laravel-zoom actually wrap?
It ships resource-wrapper classes that map roughly one-to-one onto Zoom REST v2 endpoints: users, meetings, webinars, recordings, and reports. It is a thin SDK adapter, not a domain layer, so there is no persistence, no Eloquent models for your schema, no queue orchestration, no webhook ingestion, and no event model. You still build the meetings table, attendee sync, and recording lifecycle yourself; the package only saves you the HTTP plumbing and request-shape boilerplate.
Does laravel-zoom handle Zoom webhooks and signature verification?
No. The package provides no webhook receiver, no signature-verification helpers, and no event model, so webhook ingestion is entirely your responsibility. You will need to build the endpoint, verify Zoom's signature headers yourself, and map incoming payloads onto your own domain objects. Treat webhooks as a separate integration rather than something this wrapper gives you.
How do I avoid Zoom API rate limits and 429 errors with this package?
There is no built-in rate-limit handling, backoff, or pagination ergonomics. Zoom enforces per-minute and per-day caps, so any loop over users, recordings, or reports will hit 429s in production unless you wrap it. Add your own retry and exponential backoff around calls, handle pagination tokens manually, and consider pushing bulk sync work onto a queue with throttling.
Should I call the Zoom facade directly from controllers and jobs?
Not recommended. Treat the facade as an implementation detail: define a narrow internal interface such as createMeeting, cancelMeeting, listRecordings, and getParticipants, and implement it with a package-backed adapter. Ban MacsiDigital\Zoom\* imports everywhere else so you have a one-file swap to a fork, to raw Http:: calls, or to a maintained alternative if the package stalls.
Is macsidigital/laravel-zoom still maintained, and what are the alternatives?
It has around 267 stars, single-vendor ownership, sparse release cadence, and no tag since September 2023, so treat it as a hobby-to-semi-commercial package rather than a supported product. Check whether the repo is effectively dormant and whether active forks exist before betting on it. Practical alternatives are calling the Zoom REST API directly with Laravel's Http client, or choosing a more actively maintained Zoom SDK wrapper.
How are recording downloads and download tokens handled?
Zoom recording download URLs carry query-string access tokens, which are a logging and PII hazard if you persist or log the full URL. Verify how the package surfaces those URLs before storing anything, and prefer fetching and streaming the file server-side rather than saving the raw link. Never write download tokens to application logs or expose them to the browser.
Can I mock Zoom API calls in my test suite with this package?
That depends on whether the package uses Laravel's Http client, which is mockable with Http::fake and supports retries, or raw Guzzle, which needs a different mocking approach. Check the transport in the source before planning your test strategy. Either way, test against your own adapter interface so package internals do not leak into your test suite, and ask whether the repo has CI or any coverage signal.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource