Package: wagtail-zoom-integration
Wagtail Zoom IntegrationIntegrate Zoom in Wagtail ProjectsFeaturesIntegrate Zoom Events (meetings or webinars) registration to form pages created withWagtail Form BuilderBenefit - Automatically add event registrants to a Zoom event on registering from your website. Zoom will send
them emails and reminders so that you don't have to do it.InstallationInstall from pippipinstallwagtail-zoom-integrationAddwagtailzoomto your installed apps. Make surewagtail.contrib.settingsis also addedINSTALLED_APPS=[..."wagtailzoom","wagtail.contrib.settings",...]Run migrationspythonmanage.pymigratewagtailzoomUsageSettingsAZoom settingssection will be added to theSettingssection on the Wagtail Admin.The steps below explain how to configure the Zoom settings, as shown on the screenshot aboveClick on SettingsSelect Zoom SettingsAdd the Zoom API Key. See next section on how to obtain the API Key.Add the Zoom API Secret. See next section on how to obtain the API Secret.SaveObtaining Zoom API Key and API SecretNote: The Zoom Account user that generates the API credentials should have the permissions to:Read and write meetingsRead and write webinarsFirst, log intomarketplace.zoom.usAfter logging intomarketplace.zoom.us, the interface will appear similar to above
screenshotFollow the steps below to create a JWT app, to get the API credentials:Go to the 'Develop' dropdown button right next to the manage button,Click 'Build App'On the 'Choose your app' type page, clickCreatefrom within the JWT boxA modal will appear to name your app — name your app and proceed.On the next page, under Information, fill out a Company Name, Developer Name, and Developer Email.Once completed filling company details, your API Key and Secret will be generated automatically under the App
Credentials tabCopy the API key, and add to the Zoom settings in the Wagtail AdminCopy the API Secret. and add to the Zoom Settings in the Wagtail AdminIntegrating Zoom Meeting/Webinar registration to custom form pagesUse CaseYou have a single-page form that
usesWagtail Form Builder.You use the form builder to build custom form pages for collecting user information, say registrants to a
workshop/event.You use Zoom as the video conferencing solution.You want to add users who register for your event, from your website, to the Zoom Meeting/Webinar, and you want Zoom
to manage sending your registrants meeting and follow-up emailsYou can follow the following snippet to achieve the above:# models.pyfromdjango.dbimportmodelsfrommodelcluster.fieldsimportParentalKeyfromwagtail.admin.panelsimportInlinePanelfromwagtail.contrib.forms.modelsimportAbstractFormFieldfromwagtail.modelsimportPagefromwagtailzoom.modelsimportAbstractZoomIntegrationFormclassHomePage(Page):passclassFormField(AbstractFormField):page=ParentalKey('EventRegistrationPage',on_delete=models.CASCADE,related_name='form_fields')classEventRegistrationPage(AbstractZoomIntegrationForm):parent_pages=["home.HomePage"]template='event_registration_page.html'landing_page_template='form_thank_you_landing.html'content_panels=Page.content_panels+AbstractZoomIntegrationForm.integration_panels+[InlinePanel('form_fields',label="Form fields"),]You can find this code snippet implemented insandbox/home/models.pyRun your migrations, and create the page from the Wagtail Admin Explorer.The editor form will look similar to below:Select the Zoom Event you want to integrate. This is a dropdown of the latest meetings and webinars createdCreate your form fields, according to the information you want to collect from your registrants. The fields that must
be included are:Email - with field typeemailFirst Name - with field typesingle line textLast Name - with field typesingle line textSave andPublishyour page.Go back to the Wagtail Admin Explorer, and locate where the page you created is listed. Hover around the page title, and
you will see a button namedZoom Integrationas belowClick it, and it will open a page, where you will match the Zoom required form fields(Email, First Name, Last Name),
with the fields in your form.Make sure you do the matching correctly as this will inform Zoom on how to extract the required user data from your
Custom form. If not set, or not correctly set, the integration will not work.Save the integration form.If done correctly, new registrants will be added to Zoom on submission of the form page.You can try adding a user to make sure everything works, before sharing your page with your users.