# Zoom
Pipedream provides a serverless programming platform for building event-driven workflows that integrate apps. Pipedream comes with prebuilt actions for interacting with the Zoom API, and allows you to listen for Zoom events in your account and trigger code when they happen.
Pipedream is fully programmable - you can write any Node.js code to control your workflows - but also fully-managed: Pipedream runs your code, so you don't have to manage any infrastructure and can focus on your workflow's logic.
# Overview
Pipedream workflows allow you to run any Node.js code that connects to the Zoom API. Just create a new workflow (opens new window), then add prebuilt Zoom actions (create a meeting, send a chat message, etc.) or write your own Node code. These workflows can be triggered by HTTP requests, timers, email, or on any app-based event (new tweets, a Github PR, Zoom events, etc).
Pipedream event sources expose real-time event streams for any Zoom event (opens new window) - just connect your Zoom account, and get an event stream. Event sources can trigger workflows, running custom code each time an event occurs in Zoom. For example, to run a workflow each time a meeting ends, you can create a Meeting Ended source. This source emits an event as soon as a meeting ends in your account, which can trigger a workflow that pulls participant stats, emails those participants a survey, or anything else you'd like.
You can also subscribe to a private SSE stream that lets you listen for these events in your own application, in real time. This allows you to use Pipedream to host the event source, which can trigger existing code in your own infrastructure (vs. a Pipedream workflow).
# Zoom vs. Zoom Admin app
Zoom users can be classified into two groups: non-admins and admins. Admins have account-level permissions that users do not, and Zoom has corresponding admin-level scopes that aren't relevant for normal users. Therefore, Pipedream exposes two apps — Zoom and Zoom Admin — to serve the two groups.
In the Zoom Marketplace, these apps are named Pipedream (opens new window), and Pipedream for Zoom Admins (opens new window), respectively.
Non-admins have permissions (opens new window) to manage standard Zoom resources in their account: meetings, webinars, recordings, and more. If you're a non-admin, you'll want to use the Zoom app.
Zoom admins have permissions (opens new window) to manage account-level resources, like users and reports. They can also manage webinars and meetings across their organization. If you're an admin and need to manage these resources via API, you'll want to use the Zoom Admin app.
The Zoom API docs on permissions (opens new window) provide detailed information on these permissions and their associated OAuth scopes.
# Connecting to Zoom from Pipedream
- First, sign up for Pipedream at https://pipedream.com (opens new window).
- Visit https://pipedream.com/accounts (opens new window).
- Click the button labeled Click Here to Connect an App.
- Search for "Zoom" and select either Zoom or Zoom Admin (see the differences above):
This will open up a new window prompting you to authorize Pipedream's access to your Zoom account. Once you authorize access, you should see your Zoom account listed among your apps.
- Create a new workflow (opens new window), add a new step, search for "Zoom" or "Zoom Admin". Once you've selected either app, you can choose to either "Run Node.js code" or select one of the prebuilt actions for performing common API operations.
- At this stage, you'll be asked to link the Zoom account you connected above, authorizing the request to the Zoom API with your credentials:
# Zoom Event Sources
Pipedream event sources expose real-time event streams for any Zoom event (opens new window) - just connect your Zoom account, and get an event stream.
Event sources can trigger workflows, running custom code each time an event occurs in Zoom. For example, to run a workflow each time a meeting ends, you can create a Meeting Ended source. This source emits an event as soon as a meeting ends in your account, which can trigger a workflow that pulls participant stats, emails those participants a survey, or anything else you'd like.
There are two categories of Zoom event sources:
- Event-specific sources listen for a specific Zoom event (Meeting Created, Recording Completed, etc). Event-specific sources exist only for the most common Zoom events, but you can request another source here (opens new window).
- The Custom Events source allows you to listen for any event from Zoom, and even lets you listen for multiple events at the same time. For example, if you want to run a workflow on both Meeting Started and Webinar Started events, you can create a custom source that listens for them both, and use that event source as your workflow's trigger.
# Creating a Zoom event source
- Visit https://pipedream.com/sources (opens new window).
- Click the Create Source button.
- In the Select an App drop-down, select either Zoom or Zoom Admin (see the difference above).
- In the Select a Source drop-down, you can either choose from the list of sources tied to a specific event (Meeting Created, Recording Completed, etc.), or create an event source that listens for any Zoom event by selecting the Zoom Custom Events or Zoom Admin Custom Events source.
# Event-specific sources
You can create event sources tied to common Zoom events, like Meeting Created and Recording Completed, by selecting one of the corresponding event sources. These event sources are built to process specific events, and emit data in a format that makes sense for the event type.
For example, the Recording Completed source lets you filter on options specific to recordings:
and it emits each recording file as its own event - that is, if you're listening for video, audio, and chat recordings, this source will emit up to 3 events for each meeting: one for each file type.
You can find the source code for each of these event sources in the PipedreamHQ/pipedream (opens new window) Github repo:
If you can't find the source you're looking for, you can use the Zoom Custom Events source to listen for any events from Zoom. You can also request another source here (opens new window), or develop your own Zoom source and open up a pull request in the PipedreamHQ/pipedream (opens new window) Github repo to add that source to the Pipedream platform for anyone to use.
# Zoom Custom Events source
The Zoom Custom Events or Zoom Admin Custom Events source allows you to listen for any event from Zoom, and even lets you listen for multiple events at the same time.
For example, if you want to run a workflow on both Meeting Started and Webinar Started events, you can create a custom source that listens for them both, and use that event source as your workflow's trigger. Just create the Zoom Custom Events source and select meeting.started
and webinar.started
from the list of events in the Zoom Events drop-:down:
# List of Custom Events
Below, you'll find a full list of the events that you can listen for, with links to the corresponding Zoom docs. Some events are also only available for either the Zoom or Zoom Admin apps, which is indicated by the Zoom and Zoom Admin columns.
# Example workflows
You can copy any of the workflows below by clicking Copy in the top-right corner of the workflow. This will create a copy of the workflow in your account, where you can connect your Zoom account.
- Save Zoom recordings to Amazon S3, email host, then delete Zoom recording (opens new window)
- Send meeting metrics to host via email (opens new window)
# Common Issues
If you encounter any issues connecting to Zoom with Pipedream, please reach out to our Support team (opens new window).
# My Zoom event source isn't receiving events
It's likely that you need to re-authorize Pipedream's access to your Zoom account to start receiving events. Here's how to do that:
- Visit https://pipedream.com/sources (opens new window)
- Select your event source, and click on the Configuration tab.
- Press unlink next to your connected Zoom account, then press the Connect Zoom button.
- When your list of connected Zoom accounts appears, click New. This will prompt you to authorize Pipedream's access to your Zoom account again, creating a new auth grant.
- This should renew the link between your Zoom account and Pipedream. Try triggering your Zoom event again.
# Removing Pipedream's access to your Zoom account
You can revoke Pipedream's access to your Zoom account by visiting your list of installed apps in Zoom (opens new window).
As soon as you do, any Pipedream workflows that connect to Zoom will immediately fail to work.
You can delete any Zoom connected accounts in your list of Pipedream Accounts (opens new window), as well.
# Usage
Please see the section on Connecting to Zoom from Pipedream to create a Pipedream workflow that connects to the Zoom API.
Pipedream's Zoom app requests all Zoom user-managed App Scopes (opens new window).
Pipedream's Zoom Admin app requests all Zoom account-level App Scopes (opens new window).