Integrate Zoom Meetings Seamlessly into Your Drupal Website via Our Developer’s Module

Mar 11 2024

Authored by: Nadiia Nykolaichuk and Leonid Bogdanovych.

Zoom is a key player in the sphere of online meetings. They have the power to dissolve geographical barriers, uniting individuals and teams across vast distances for communication and collaboration. What can be more convenient than using a robust video conferencing platform? Using it in the comfort of your own Drupal website!

Thus, we are delighted to unveil the Zoom Video module crafted by our team’s developer — a fresh addition to the suite of third-party integration tools available for Drupal. Let’s explore how it provides Zoom meeting integration with Drupal websites.

Behind the screen: a glimpse at Zoom

Zoom is a versatile video conferencing platform that facilitates virtual meetings, webinars, and community events through a user-friendly interface and robust features. It offers a bunch of both free and premium functionalities. Among other things, users can do the following with Zoom:

  • engage in high-quality video and audio communication
  • share their screens for presentations or demonstrations
  • exchange messages via chat
  • record meetings for future reference
  • send calendar invitations
  • brainstorm ideas via an online whiteboard
  • use cloud VoIP phone services
  • harness rich conversation analytics

Zoom’s cross-platform compatibility ensures accessibility across desktop computers, laptops, tablets, and smartphones.

Zoom meetings.
Zoom meetings.

Introduction to the Zoom Video module for Drupal

The Zoom Video module focuses on integrating virtual meetings, which is probably the most popular and essential of all Zoom products. Thanks to the module, users can create, manage, and join Zoom meetings directly from within the Drupal website.

Zoom meeting links can be added to Drupal content nodes via a field of the special type — Zoom Video. Meetings then become available for users to join directly on the Drupal pages. The participants, except for the meeting host, don’t need to have the Zoom application installed — it’s possible to join from any device with an Internet connection.

Zoom integration provided by the module might serve a variety of use cases. For example, the members of the same team might easily jump on meetings using their corporate Drupal website. Another example would be online events hosted on a Drupal website where third-party participants are welcome.

To enable interaction between the Drupal website and Zoom’s services, the module uses the Zoom API and SDK. It also relies on a third-party library under the hood — Firebase PHP JWT. In a nutshell, JWT (JSON Web Tokens) is an open standard that defines a compact and self-contained way to safely transmit data between parties.

This Zoom meeting integration module has been created by our developer Leonid Bogdanovych. Our team proudly supports the module’s development, striving to help Drupal website users easily integrate Zoom meetings and elevate remote communications.

It is a brand-new tool, created for the latest major Drupal core version — Drupal 10. The module is currently in beta-stability, and more exciting features are planned for the future. The maintainer is open to suggestions as to how he can improve the set of functionalities to ensure the most seamless Zoom meeting experience for all users.

How to integrate Zoom meetings with a Drupal website

1.  General requirements and installation

There are three essential requirements to make the Zoom Video module fully functional on your Drupal website:

  1. Your website needs to be using Drupal 10 core.
  2. To ensure that Zoom meetings are displayed on your website, it needs to be configured to use HTTPS (Hypertext Transfer Protocol Secure).
  3. The module installation via Composer is highly recommended. This dependency manager tool will take care of the proper installation of the right version of the Firebase PHP JWT library:
    composer require drupal/zoom_video 

Now that the module is in beta version, you might need to specify its latest version explicitly in your Composer command. Currently, it’s the following version:

composer require drupal/zoom_video:1.0.1-beta3

Once the installation is complete, you can enable the Zoom Video module on the “Extend” tab of the Drupal administration interface.

2. Creating a Zoom app

As the next step, you need to create a Zoom application that you’ll further be able to use for creating multiple meetings. You can create the app by going to the Zoom App Marketplace. Logged-in users can go directly to the app creation page. If you are not logged in, you’ll need to start by visiting the main marketplace and then click Develop > Build legacy app in the top right corner. Zoom’s app creation website is a little tricky so you might need to follow the updates about it for the moment of reading these instructions.

Select “Meeting SDK” as the app type and click “Create.” 

Selecting the Meeting SDK as the app type in Zoom.
Selecting the Meeting SDK as the app type in Zoom.

Next, give your app a name (in our example, it’s “Zoom test”). You’ll see a toggle enabling you to publish this app on the Zoom Marketplace or keep it unpublished. Either option works for Drupal integration.

Specifying the Zoom app name and the published/unpublished status.
Specifying the Zoom app name and the published/unpublished status.

Click “Create” and you’ll be redirected to the form with the app details. Fill out as many details as possible across all the settings tabs. For example, fields like company name, developer name, and email are not marked as required, but only if you fill them out, the app will be promoted to the “Activated” status from the “Draft” status. These statuses can be tracked on the “Manage” page that lists all your applications, and the page can be accessed by the “Manage” button on the top right corner.

Filling out the Zoom app details.
Filling out the Zoom app details.

The “App Credentials” tab lists the Client ID and the Client Secret, which you’ll need for the Drupal website as the next step. 

Copying the Zoom app credentials.
Copying the Zoom app credentials.

3. Adding your Zoom app credentials to Drupal

As an important part of the integration, go back to your Drupal website and open the Configuration > Development > Zoom Settings page. Enter the Zoom app credentials copied in the previous step: Client ID and Client Secret. Click “Save configuration.”

Adding the Zoom app credentials to Drupal.
Adding the Zoom app credentials to Drupal.

4. Creating a field of Zoom Video type

Next, you’ll need to go to Structure > Content types and select or create a content type that will represent your meetings. Click “Add field” and select a field type named “Zoom Video Field.” The new field creation interface that you can see in our example has been introduced in Drupal 10.2

Creating a field of Zoom Video type.
Creating a field of Zoom Video type.

Click “Continue” and proceed with the field settings. Among other things, you can choose to make the field required or change its label the way you want it to look for users on the front end.

5. Creating Zoom meetings

Now that you have a Zoom app set up and its credentials added to the Drupal website, you can create as many actual Zoom meetings as you like. To create a meeting, you’ll need to go to the website and sign in. The meetings will be associated with your Zoom app via your account that has your email address or other credentials.

Click “Meetings” in the left menu and then hit “Schedule a meeting.” When configuring your meeting, you can specify details such as the meeting time, duration, time zone, and more. 

Scheduling new Zoom meetings.
Scheduling new Zoom meetings.

Click “Save” and copy the meeting’s invite link, which you’ll need for the next step. You can schedule the meeting for later, but when the time comes to actually launch it, hit the “Start” button and follow Zoom instructions. As the meeting host, you’ll also need to be logged in to the Zoom app to launch the meeting.

Copying the meeting Invite Link and clicking “Start.”
Copying the meeting Invite Link and clicking “Start.”

6. Adding a meeting URL to a content node

Come back to your Drupal website and create a content node of the type that represents your meetings (in our example, Content > Add content > Meeting). Enter the meeting invite link into the Meeting URL field and save the node.

Adding Zoom meeting URLs to Drupal content nodes.
Adding Zoom meeting URLs to Drupal content nodes.

7. Joining a meeting

As soon as the invite link has been added to a node, users will see the “Join Meeting” button on the front-end display of this page. 

Clicking the “Join Meeting” button on a Drupal page.
Clicking the “Join Meeting” button on a Drupal page.

By clicking the button, any user can join the Zoom meeting directly from the Drupal website. If the meeting hasn’t been launched by the host and the time for it hasn’t come, you might see the “Meeting hasn’t started” notice in the meeting window.

You can drag the meeting window by the bottom right corner to enlarge it on your screen or adjust its width and height to your preferences. It’s also possible to change the window’s position by dragging it around the screen. 

Most common Zoom features are also available from within the chat window in Drupal. For example, you can see the information about the meeting and the apps accessing the meeting in the top-left corner. Furthermore, you can start presenting, turn video and audio on and off, check out the list of participants, write messages in the chat, and more.

Joining a Zoom meeting from a Drupal page with the chat window open.
Joining a Zoom meeting from a Drupal page with the chat window open.

Some additional ideas for displaying Zoom meetings in Drupal 

  • Adding more fields to meetings (optional)

While this is not the Zoom integration part, it might be great to enrich your Drupal meeting pages with more information. Depending on your use cases, this could be, for example, the dates when the meetings start and images illustrating specific online events.

This can be done by adding a date field and an image field to your content type for meetings. As far as the date, you can add a field of “Date” type provided by Drupal out of the box, but some especially advanced settings can be provided by contributed modules like Smart Date.

  • Placing meetings in specific parts of your website (optional)

Another optional tweak is to give some extra boost to your online meetings by placing them in a prominent place on your Drupal website. There are plenty of options for it:

  • You can add a meeting node to a menu. It might be the main menu promoting an important meeting or webinar, or a special menu fully made up of meetings. It’s possible to restrict the visibility of certain nodes in menus to specific user roles or groups.
  • Alternatively, you can create a collection of meetings using Drupal Views. The meetings will be listed as a grid, a list, etc., and when a user opens a specific meeting node, they will be able to join the meeting. We covered the steps to create Drupal Views in another article.
An example of a simple view of upcoming online events.
An example of a simple view of upcoming online events.
  • It’s also possible to create a full-featured calendar of upcoming meetings. You’ll need additional Drupal modules such as Fullcalendar View, Calendar View, and more. We described the Drupal calendar creation steps in a recent article.

But, of course, the ideas above are just the beginning of endless options that can be created on your Drupal website for presenting your Zoom meetings in the best way to users.  

Final thoughts

The integration provided by the Zoom video module is a great example of how your Drupal website can become a centralized hub of all functionalities your team might need, with no need to go elsewhere. Hopefully, it brings more efficiency and convenience to your workflows, and whenever you need assistance with integrating Zoom or any other service with your site, our Drupal experts are happy to help!

Learn from us
Sign up and receive our monthly insights directly in your inbox!

Subcribe to newsletter (no spam)