Skip to main content
allGood can create the Zoom webinar for you when you publish a Zoom Webinar, and use its join link in your emails and pages. This page covers the one-time setup. It takes two people, or one person with two roles: someone with a Zoom admin login (to create the app), and someone who can open Settings > Integrations in allGood.

Before you start

  • A Zoom account with the Webinar plan, and one user (the host seat) who has a Webinar license. Every webinar allGood creates belongs to that seat.
  • A Zoom login that can create Server-to-Server OAuth apps (an account owner or admin, or a custom role with that permission).
  • The host seat’s email address (or Zoom user ID).
If the account has no Webinar plan, or the host seat has no Webinar license, Zoom refuses to create webinars. The setup below will still save, but publishing fails with a message saying so.

Set up the integration

1

Create the Server-to-Server OAuth app in Zoom

  1. Sign in to the Zoom App Marketplace with the admin login.
  2. Choose Develop (the Developers link at the bottom of the left sidebar), then Build App.
Open Developers in the Zoom App Marketplace

Open Developers in the Zoom App Marketplace

  1. Pick Server to server OAuth app, not General app, then Create.
Choose Server to server OAuth app

Choose Server to server OAuth app

If Create stays grey, nothing is selected yet. If the Server to server option is unavailable, the login lacks permission to create these apps.
  1. Give it a name, such as allGood.
  2. Open the App Credentials section and copy three values. You will paste them into allGood in a later step:
    • Account ID
    • Client ID
    • Client secret
Copy the Account ID, Client ID and Client Secret

Copy the Account ID, Client ID and Client Secret

This app type acts for the whole account with fixed credentials, so allGood never needs anyone to sign in, and nothing breaks when a person leaves or changes their password.
2

Fill in the app's information

Zoom will not let you activate the app until this is done. Under Information, fill in the app name, a short description, the company name, and a developer contact name and email.
3

Add the scopes

Open the Scopes tab, choose Add Scopes, and add the scopes below. Search for each by name.
Search for each scope by name and add it to the app

Search for each scope by name and add it to the app

RequiredRecommended
New apps use the granular scope names above. Zoom lists both the :admin and the plain form of some scopes in its error messages; add the :admin ones, as the app acts for the whole account. Zoom owns these names and has renamed scopes before, so check them against the search box in the Scopes tab.
If a scope is missing, allGood says so when you publish and names the scope, for example “The Zoom app is missing permission (webinar:read:list_webinars:admin)”. Add it in the app’s Scopes tab and publish again. You do not need to change anything in allGood.
4

Activate the app

On the Activation step, switch the app on. You should see “Your app is activated on the account.”
The app shows as activated on the account

The app shows as activated on the account

An inactive app can be created and its credentials copied, but every request is refused.
5

Connect Zoom in allGood

  1. In allGood, open Settings > Integrations and install Zoom.
Install Zoom from Settings > Integrations

Install Zoom from Settings > Integrations

  1. Fill in the form:
  2. Save. allGood checks the credentials with Zoom straight away, so a mistake shows up here and not at publish time. It confirms the credentials work, that the host seat exists, and (with the recommended scope) that the seat has webinars.
Credentials are stored encrypted, like every other integration. allGood asks Zoom for a short-lived access token each time it needs one and never stores the token.
6

Try it

  1. On the content page choose Create > Zoom Webinar, or start a webinar motion and pick Create the webinar in Zoom for me.
  2. Give it a title, a date and time in the future, a time zone and a duration.
  3. Publish it. After a moment the asset page shows the join link and the Zoom webinar ID, and the webinar appears under Webinars > Upcoming in Zoom with the title and agenda you gave it.
To clean up a test, take the asset down in allGood. That cancels the webinar in Zoom.

What allGood does in Zoom

  • Creates, changes and cancels only webinars it made. Each carries a hidden line in its agenda, [allgood:<asset id>], which it uses to recognise its own. Do not remove it.
  • Creates webinars with no registration (everyone shares one join link) and with Zoom’s own registration, confirmation and panelist emails turned off, because allGood sends the emails.
  • Moving the date updates the same Zoom webinar, so its link and ID do not change.
  • All webinars are created on the one host seat, so two webinars at overlapping times on that seat can clash. Publishing warns you when it sees an overlap.

Changing the credentials later

Open the integration in Settings and choose Edit Settings.
  • The host seat is shown, and you can change it.
  • Account ID, Client ID and Client Secret show as dots, because stored secrets are never sent back to the browser. Leave a field blank to keep the saved value, so you can change only the host seat, or only rotate the secret. Saving checks the result with Zoom first.
  • To change only one value, leave the others blank. To replace everything (for example, a new app), fill in all four.

Troubleshooting

When Zoom gives its own code and message, allGood includes them in brackets, such as (Zoom said: code 200: …), so you can search Zoom’s documentation for them.