Your sub-account is connected. The next step is connecting a Zoom account, which is step 2 below.
The app is installed and the rest of your sub-accounts are ready to use. The ones that did not connect will be retried the first time a workflow runs in them, so this often resolves itself. If it does not, reinstall from the marketplace listing.
Nothing was connected, so there is nothing to undo. Start the install again from the marketplace listing — if it fails a second time, the app's install link may have expired.
Webinars
Four actions and two triggers, all of them behind a Zoom purchase the app cannot make for you.
The add-on, stated plainly
Every webinar feature needs Zoom’s webinar add-on on the connected account.
That is a separate purchase from upgrading a Zoom plan. Being on a paid plan is not enough; the add-on is bought on top of it. Without it Zoom rejects the call outright, and there is nothing the app can do about that — it cannot grant an entitlement on your Zoom account.
This is said here, on the marketplace listing, and next to every affected item in the reference, because the alternative is discovering it in a failed workflow run.
What needs it:
- Create Webinar, Update Webinar, Delete Webinar, Add Webinar Registrant
- The Webinar Created and Webinar Updated triggers
What does not: everything else. All eight meeting actions, all seven meeting and recording triggers, and the whole attendance writeback work on a free Zoom account.
Webinars are not meetings with a flag
They are a separate API surface: a different endpoint, a different id space, a different entitlement.
The practical consequence is that a webinar id is not a meeting id, and the two cannot be used interchangeably. Passing a webinar id to Get Meeting fails, and vice versa.
This is also why Add Registrant and Add Webinar Registrant are two actions rather than one with a “is this a webinar?” toggle. Two actions put a wrong id in front of you in the workflow, where you can see it. One action with a toggle would put the same mistake inside our code, where you cannot.
What differs from meetings
| Meeting | Webinar | |
|---|---|---|
| Default duration | 30 minutes | 60 minutes |
| Registration default | off | on |
Registrant action meetingId | optional, resolved from records | required |
| Extra field | manualApproval | practiceSession |
| Extra output | — | registrationUrl |
Registration defaults to on because almost nobody runs an open-link webinar. Registration is the point of the format, and it is what makes attendance attributable afterwards.
webinarId is required on Add Webinar Registrant. There is no resolving-from-records shortcut as there is for meetings, because meetings and webinars share no id space.
registrationUrl is the public sign-up page. It is the link to put on a landing page or in a broadcast email — as opposed to joinUrl, which is per-attendee once they have registered.
What is deliberately missing
Create Webinar does not expose panelists, polls, Q&A, or survey settings.
All four are real webinar features, and all four are better configured once in Zoom than re-specified on every workflow run. A workflow step with forty fields helps nobody. Set them on the webinar template in Zoom and the app’s created webinars inherit them.
Moving a webinar
Update Webinar is nearly identical to Update Meeting, and deserves more care.
Moving a meeting inconveniences one contact. Moving a webinar affects everyone registered, and there may be hundreds of them — and Zoom’s own notification does not reach them through your CRM. If your communications go out through your platform, the Webinar Updated trigger is what tells you to send them.
Branch on timeChanged rather than on changedFields, for the same reason as with meetings: the field list is empty when Zoom sends no previous state, which is not the same as nothing having changed.
practiceSession on Update Webinar is a select rather than a toggle, so leaving it alone genuinely leaves it alone.
The host start link
Create Webinar returns startUrl, the same credential as on meetings and with the same rules: whoever opens it takes the host seat.
It is worth a sharper warning here. A webinar has a public registration page and an audience holding personal links, so somebody who takes the host seat does it in front of everyone who signed up.
Send joinUrl. Send startUrl to nobody but the host, and preferably to nobody at all.