Skip to main content

Zoom integration

Schedule meetings and webinars, manage registrants and panelists, and pull recordings, summaries and attendance on behalf of your clients' Zoom accounts.

What it does

The Zoom integration lets your agency run a client's meetings and webinars from inside a workflow. Connect a client's Zoom account once, then schedule and update meetings and webinars, register people from a form or CRM, approve or cancel registrations, manage webinar panelists, end a live meeting, read who attended, fetch AI Companion summaries, and download cloud recordings so a later step can store or share them.

Connect a Zoom account

Zoom connections use OAuth through your own Zoom app, so you set the app up once and every client connects with one click.

  1. Sign in to the Zoom App Marketplace and choose Develop → Build App → General App.
  2. Add https://app.taskjuice.ai/oauth/callback (or your white-label domain followed by /oauth/callback) as the OAuth redirect URL.
  3. Under Scopes, add the scopes for the actions you plan to use: meetings (meeting:read, meeting:write), webinars (webinar:read, webinar:write), recordings (recording:read, recording:write), users (user:read), reports (report:read:admin), meeting summaries (meeting_summary:read), Team Chat (chat_message:write, chat_channel:read) and Zoom Phone call history (phone_call_log:read).
  4. In TaskJuice, open Settings → Integrations → OAuth clients, add a Zoom client, and paste the app's client ID and client secret.
  5. From a Zoom node in the workflow editor, choose Connect and sign in with the client's Zoom account.

To revoke access, the account owner removes the app in Zoom under Manage → Installed Apps.

Set up webhook triggers

Zoom triggers arrive through your Zoom app's event subscription, which you set up once in the Zoom App Marketplace. Every client account that installs your app then sends its events to the same address.

  1. In the Zoom App Marketplace, open your app's Features page and copy the Secret Token (shown under Access on General apps).
  2. In TaskJuice, paste the Secret Token into the trigger's signing secret field (the Zoom webhook secret token field on your Zoom OAuth client under Settings → Integrations → OAuth clients). Do this first: Zoom checks the address as soon as you add it, and TaskJuice needs the token to answer.
  3. Add a Zoom trigger to a workflow and publish it. TaskJuice shows you the workspace's ingress URL.
  4. Back in Zoom, turn on Event Subscriptions on the same Features page and add a subscription. Paste the ingress URL as the Event notification endpoint URL and choose Validate.
  5. Add the events for the triggers you use (each trigger's event is listed below), then save.

Zoom proves the address is yours by sending a challenge that only a holder of the Secret Token can answer. TaskJuice answers it with the token you saved, and does the same when Zoom re-checks the address every 72 hours. Zoom then signs every delivery with an HMAC-SHA256 digest keyed by the same token, sent in the x-zm-signature header, and TaskJuice rejects anything that fails the check or is more than five minutes old.

If you regenerate the Secret Token in Zoom, paste the new one into TaskJuice before Zoom's next check, or Zoom will mark the address as failed.

Triggers

TriggerZoom eventFires when
zoom/meeting-createdmeeting.createda meeting is scheduled
zoom/meeting-startedmeeting.starteda meeting starts
zoom/meeting-endedmeeting.endeda meeting ends
zoom/participant-joinedmeeting.participant_joinedsomeone joins a meeting
zoom/participant-leftmeeting.participant_leftsomeone leaves a meeting
zoom/meeting-registration-createdmeeting.registration_createdsomeone registers for a meeting
zoom/recording-completedrecording.completeda cloud recording finishes processing
zoom/recording-transcript-completedrecording.transcript_completeda recording's audio transcript is ready
zoom/meeting-summary-completedmeeting.summary_completedan AI Companion meeting summary is ready
zoom/webinar-createdwebinar.createda webinar is scheduled
zoom/webinar-startedwebinar.starteda webinar starts
zoom/webinar-endedwebinar.endeda webinar ends
zoom/webinar-registration-createdwebinar.registration_createdsomeone registers for a webinar

Actions

Meetings

  • Create Meeting, Get Meeting, Update Meeting, Delete Meeting, List Meetings, End Meeting
  • Add Meeting Registrant, List Meeting Registrants, Get Meeting Registrant, Update Meeting Registrant Status (approve, deny or cancel), Delete Meeting Registrant
  • List Meeting Participants (attendance report for a past meeting)
  • Get Meeting Summary (AI Companion)

Webinars

  • Create Webinar, Get Webinar, Update Webinar, Delete Webinar, List Webinars
  • Add Webinar Registrant, List Webinar Registrants, Get Webinar Registrant, Update Webinar Registrant Status, Delete Webinar Registrant
  • Add Webinar Panelists, List Webinar Panelists, Remove Webinar Panelist
  • List Webinar Participants (attendance report for a past webinar)

Recordings

  • List Recordings, Get Meeting Recordings, Delete Meeting Recordings
  • Download Recording File: saves one recording file (video, audio, transcript or chat log) as a file a later step can upload to cloud storage or attach to a message

Users, Team Chat and Phone

  • Get User (by ID, email or me)
  • Send Chat Message to a Team Chat channel or contact
  • List User Call History for Zoom Phone users

Pickers list the client's real users, scheduled meetings, webinars and chat channels, so you choose by name instead of pasting IDs. Every picker also accepts a value mapped from an earlier step, such as the meeting ID returned by Create Meeting.

Known limitations

  • One Zoom app sends events for every account that installed it to the same address, so a Zoom trigger fires for all of those accounts.
  • Webinar actions need the Zoom Webinars add-on. Recording actions need cloud recording, which is a paid Zoom feature. Meeting summaries need AI Companion. Attendance reports need a paid account. Call history needs a Zoom Phone license.
  • The meeting picker lists the connected user's scheduled meetings. A meeting that has ended and dropped off that list can still be used by mapping its ID.
  • Zoom limits API calls per second and per day by plan. TaskJuice retries 429 responses automatically. See Zoom's rate limits.
  • List actions return one page at a time (up to 300 records). Pass the returned next_page_token into the next call to read further.
Was this helpful?