PHPackages                             ghanem/laravel-zoom - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. ghanem/laravel-zoom

ActiveLibrary[API Development](/categories/api)

ghanem/laravel-zoom
===================

A comprehensive Zoom integration package for Laravel, providing easy-to-use API functionality to interact with the Zoom platform using PHP.

1.3.1(2y ago)021MITPHPPHP ^7.2|^8.0

Since Aug 7Pushed 2y ago1 watchersCompare

[ Source](https://github.com/AbdullahGhanem/laravel-zoom)[ Packagist](https://packagist.org/packages/ghanem/laravel-zoom)[ Docs](https://github.com/AbdullahGhanem/laravel-zoom)[ RSS](/packages/ghanem-laravel-zoom/feed)WikiDiscussions main Synced yesterday

READMEChangelog (4)Dependencies (1)Versions (3)Used By (0)

Laravel package for Zoom
========================

[](#laravel-package-for-zoom)

Laravel Zoom API Package

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require Ghanem/zoom-laravel
```

### Configuration file

[](#configuration-file)

Publish the configuration file

```
php artisan vendor:publish --provider="Ghanem\Zoom\ZoomServiceProvider"
```

#### then add config/app.php

[](#then-add-configappphp)

```
'providers' => [
    // ...
    Ghanem\Zoom\ZoomServiceProvider::class,
];
```

#### then add config/app.php

[](#then-add-configappphp-1)

```
'aliases' => [
    // ...
    'Zoom' => Ghanem\Zoom\Facades\Zoom::class,
];
```

This will create a zoom.php config file within your config directory for common user settings:-

```
return [
    'client_id' => env('ZOOM_CLIENT_KEY'),
    'client_secret' => env('ZOOM_CLIENT_SECRET'),
    'account_id' => env('ZOOM_ACCOUNT_ID'),
    'base_url' => 'https://api.zoom.us/v2/',
];
```

for a user specific user zoom configuration add User model:

```
    public static function clientID()
    {
        return 'zoom_client_of_user';
    }

    public static function clientSecret()
    {
        return 'zoom_client_secret_of_user';
    }

    public static function accountID()
    {
        return 'zoom_account_id_of_user';
    }
```

### How to get Zoom API credentials

[](#how-to-get-zoom-api-credentials)

- to see that how to create zoom api and get credentials click [here](configuration.md)

Usage
-----

[](#usage)

At present we cover the following modules

- Users
- Meetings
- Past Meetings
- Webinars
- Past Webinars
- Recordings
- Past Recordings

Common get functions
--------------------

[](#common-get-functions)

### Create a meeting

[](#create-a-meeting)

```
    $meetings = Zoom::createMeeting([
                    "agenda" => 'your agenda',
                    "topic" => 'your topic',
                    "type" => 2, // 1 => instant, 2 => scheduled, 3 => recurring with no fixed time, 8 => recurring with fixed time
                    "duration" => 60, // in minutes
                    "timezone" => 'Asia/Dhaka', // set your timezone
                    "password" => 'set your password',
                    "start_time" => 'set your start time', // set your start time
                    "template_id" => 'set your template id', // set your template id  Ex: "Dv4YdINdTk+Z5RToadh5ug==" from https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingtemplates
                    "pre_schedule" => false,  // set true if you want to create a pre-scheduled meeting
                    "schedule_for" => 'set your schedule for profile email ', // set your schedule for
                    "settings" => [
                        'join_before_host' => false, // if you want to join before host set true otherwise set false
                        'host_video' => false, // if you want to start video when host join set true otherwise set false
                        'participant_video' => false, // if you want to start video when participants join set true otherwise set false
                        'mute_upon_entry' => false, // if you want to mute participants when they join the meeting set true otherwise set false
                        'waiting_room' => false, // if you want to use waiting room for participants set true otherwise set false
                        'audio' => 'both', // values are 'both', 'telephony', 'voip'. default is both.
                        'auto_recording' => 'none', // values are 'none', 'local', 'cloud'. default is none.
                        'approval_type' => 0, // 0 => Automatically Approve, 1 => Manually Approve, 2 => No Registration Required
                    ],

                ]);
```

### Get a meeting

[](#get-a-meeting)

```
    $meeting = Zoom::getMeeting($meetingId);
```

### Update a meeting

[](#update-a-meeting)

```
    $meeting = Zoom::updateMeeting($meetingId, [
        "agenda" => 'your agenda',
        "topic" => 'your topic',
        "type" => 2, // 1 => instant, 2 => scheduled, 3 => recurring with no fixed time, 8 => recurring with fixed time
        "duration" => 60, // in minutes
        "timezone" => 'Asia/Dhaka', // set your timezone
        "password" => 'set your password',
        "start_time" => 'set your start time', // set your start time
        "template_id" => 'set your template id', // set your template id  Ex: "Dv4YdINdTk+Z5RToadh5ug==" from https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingtemplates
        "pre_schedule" => false,  // set true if you want to create a pre-scheduled meeting
        "schedule_for" => 'set your schedule for profile email ', // set your schedule for
        "settings" => [
            'join_before_host' => false, // if you want to join before host set true otherwise set false
            'host_video' => false, // if you want to start video when host join set true otherwise set false
            'participant_video' => false, // if you want to start video when participants join set true otherwise set false
            'mute_upon_entry' => false, // if you want to mute participants when they join the meeting set true otherwise set false
            'waiting_room' => false, // if you want to use waiting room for participants set true otherwise set false
            'audio' => 'both', // values are 'both', 'telephony', 'voip'. default is both.
            'auto_recording' => 'none', // values are 'none', 'local', 'cloud'. default is none.
            'approval_type' => 0, // 0 => Automatically Approve, 1 => Manually Approve, 2 => No Registration Required
        ],

    ]);
```

### Delete a meeting

[](#delete-a-meeting)

```
    $meeting = Zoom::deleteMeeting($meetingId);
```

### Get all meetings

[](#get-all-meetings)

```
    $meetings = Zoom::getAllMeeting();
```

### Get a meeting

[](#get-a-meeting-1)

```
    $meeting = Zoom::getMeeting($meetingId);
```

### Get all upcoming meetings

[](#get-all-upcoming-meetings)

```
    $meetings = Zoom::getUpcomingMeeting();
```

### Get all past meetings

[](#get-all-past-meetings)

```
    $meetings = Zoom::getPreviousMeetings();
```

### reschedule meeting

[](#reschedule-meeting)

```
    $meetings = Zoom::rescheduleMeeting($meetingId, [
        "agenda" => 'your agenda',
        "topic" => 'your topic',
        "type" => 2, // 1 => instant, 2 => scheduled, 3 => recurring with no fixed time, 8 => recurring with fixed time
        "duration" => 60, // in minutes
        "timezone" => 'Asia/Dhaka', // set your timezone
        "password" => 'set your password',
        "start_time" => 'set your start time', // set your start time
        "template_id" => 'set your template id', // set your template id  Ex: "Dv4YdINdTk+Z5RToadh5ug==" from https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingtemplates
        "pre_schedule" => false,  // set true if you want to create a pre-scheduled meeting
        "schedule_for" => 'set your schedule for profile email ', // set your schedule for
        "settings" => [
            'join_before_host' => false, // if you want to join before host set true otherwise set false
            'host_video' => false, // if you want to start video when host join set true otherwise set false
            'participant_video' => false, // if you want to start video when participants join set true otherwise set false
            'mute_upon_entry' => false, // if you want to mute participants when they join the meeting set true otherwise set false
            'waiting_room' => false, // if you want to use waiting room for participants set true otherwise set false
            'audio' => 'both', // values are 'both', 'telephony', 'voip'. default is both.
            'auto_recording' => 'none', // values are 'none', 'local', 'cloud'. default is none.
            'approval_type' => 0, // 0 => Automatically Approve, 1 => Manually Approve, 2 => No Registration Required
        ],

    ]);
```

### end meeting

[](#end-meeting)

```
    $meetings = Zoom::endMeeting($meetingId);
```

### delete meeting

[](#delete-meeting)

```
    $meetings = Zoom::deleteMeeting($meetingId);
```

### recover meeting

[](#recover-meeting)

```
    $meetings = Zoom::recoverMeeting($meetingId);
```

### Create a Users

[](#create-a-users)

```
    $meetings = Zoom::createUsers([
        'action' => 'create',
        'user_info' => [
            'email' => 'email@gmail.com',
            "type" => 1,
        ],
    ]);
```

### Get all users

[](#get-all-users)

```
    $users = Zoom::getUsers(['status' => 'active']); // values are 'active', 'inactive', 'pending'. default is active. and you can pass page_size and page_number as well
```

### check User Email

[](#check-user-email)

```
    $users = Zoom::checkUserEmail('email@email.com');
```

### Changelog

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

### Security

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Abdullah Ghanem](https://github.com/AbdullahGhanem)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

Sponsor
-------

[](#sponsor)

[💚️ Become a Sponsor](https://github.com/sponsors/AbdullahGhanem)

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

1061d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fafeedb68c6ad2ddbb249caed67289c8c74073d25fcfb210534a9769d393dda4?d=identicon)[ghanem](/maintainers/ghanem)

---

Top Contributors

[![AbdullahGhanem](https://avatars.githubusercontent.com/u/5055892?v=4)](https://github.com/AbdullahGhanem "AbdullahGhanem (5 commits)")

---

Tags

apiclientlaravelzoomlaravel-zoom

### Embed Badge

![Health badge](/badges/ghanem-laravel-zoom/health.svg)

```
[![Health](https://phpackages.com/badges/ghanem-laravel-zoom/health.svg)](https://phpackages.com/packages/ghanem-laravel-zoom)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k9.5M89](/packages/openai-php-laravel)[macsidigital/laravel-zoom

Laravel Zoom package

268386.0k](/packages/macsidigital-laravel-zoom)[jubaer/zoom-laravel

A comprehensive Zoom integration package for Laravel, providing easy-to-use API functionality to interact with the Zoom platform using PHP.

59124.6k](/packages/jubaer-zoom-laravel)[resend/resend-php

Resend PHP library.

617.2M43](/packages/resend-resend-php)[mozex/anthropic-laravel

Laravel integration for the Anthropic API: facade, config publishing, install command, testing fakes, messages, streaming, tool use, thinking, and batches.

74331.3k1](/packages/mozex-anthropic-laravel)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

273.0k](/packages/eslazarev-wildberries-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
