Setting up Zoom integration

The Zoom integration requires these elements:
  • Zoom paid license
  • Infor professional license for ION
  • Alternative hosts must be part of the user group created under Zoom’s paid license account.

The integration requires the installation of these components in sequence:

  • Zoom OAuth App registered to be used for Authorizing the API
  • ION API Suite for Zoom API v2
  • BOD Schemas for ION to receive and process the Online Meeting in the HR Talent application.
  • Intermediate JSON transformation scripts to create, convert and manage various meeting events information to JSON. These are consumed in ION API.
  • API flow to Create/Update/Cancel a meeting and update the same in the application through ION API.
  • Data flow constructs the flow of processing the meeting information received in BOD from the application and then make ION API calls to fulfill the use case of Create/Update/Cancel a meeting.

This guide is for administrators facilitating the Zoom integration with Infor HR Talent Learning and Development application. This guide contains topics including Creating an app registration in Zoom App Marketplace to authorize ION API and to add other ION Configuration that is required for the integration. Additional information is available in Infor ION Desk User Guide and Infor ION API Administration Guide. For more information about the Zoom meetings API see the Zoom Meetings Technical documentation.

Configure the Zoom Oauth App

The IT Administrator must set up an app on Zoom Oauth App that is used for authorizing the Zoom APIs that are required to send online meeting invites.

  1. Go to https://infor.zoom.us and sign in. If prompted, use the SSO option.
  2. Go to https://marketplace.zoom.us/.
  3. Select Develop > View App Types
  4. Click OAuth.
  5. Specify this information:
    App Name
    Specify a meaningful application name.
    Choose App Type
    Specify one option:
    • Account-level-type: The user that creates this Oauth app must have permissions to perform the action. The IT Administrator can provide required permissions to the user.
    • User-managed-app: Any licensed user can create this Oauth app.
  6. Click Create.
  7. Click App credentials.
  8. Specify this information:
    Client ID
    Specify your client ID.
    Client Secret
    Specify your password.
    Redirect URL for OAuth
    Specify the URL redirect. Provide any public url before installing the Oauth app. For example, https://www.infor.com/. When the installation is successful and has been authorized, change the redirect urls to ION API's redirect urls. Redirect URL can also be found in Infor ION API > Configuration > Oauth 2.0
  9. Click Continue.
  10. Click Information.
  11. Specify this information:
    Short Description
    Specify a long description that is used in the system.
    Long Description
    Specify a short description that is used in the system.
    Developer
    Specify the developer.
    Company Name
    Specify the name of the company.
  12. Click Continue.
  13. Click Scopes.
  14. Click Add Scopes and define the scopes from which this app is permitted to make API calls.
  15. Click Meetings and select View your meetings and View and manage your meetings.
  16. Click Done.
  17. Click Local tests.
  18. Click Install, then authorize the app.

Create an ION API suite

Create an ION API suite for the ZOOM API using the delivered Zoom template. This API is used to send online meeting invites. The API suite is configured and authenticated using an zoom oauth app created for the organization.

  1. Specify this information to configure the API Suite:
    • Host Name: api.zoom.us
    • Authentication Type: OAuth 2.0
    • Token Endpoint:https://zoom.us/oauth/token
    • Grant Type: Authorization Code
    • Auth URL: https://zoom.us/oauth/authorize
    • Client ID: <client id of the zoom oauth app>
    • Client Secret Value/Key: <client secret value/key for authorizing the zoom oauth app>
    • Client Authentication: Send as Auth Header
    • Scope: meeting:write meeting:read
  2. After the API Suite is configured, decide on the Ming.le accounts that can be used as service account and which IONAPI calls are made and the IONAPI authorization. Use the account through which the meeting invites should be sent.

Configure BOD Schemas for ION

For the DataFlow to identify and use the Online Meeting information that is sent as BOD from the HR Talent Application, schema for the BOD must be defined in ION. Create a service account for the Ming.le log-on in Ming.le user administration. Then you can download a service account configuration file. You can use this file within the IONAPI Connection Points used in the DataFlow.
  1. Download and extract HCM_Zoom_OnlineMeeting - Schema&Template.zip. This file is included in a .zip file that is attached to a KB article on the Infor Customer Portal. Sign in to the Infor Customer Portal and access KB2191292. In Attachments, locate and download the .zip file that is named Infor OS Configurations for HR Talent application integration with Zoom Online Meetings Integration (Infor HR Talent - v2021.12).zip. Extract the files from the .zip file. Locate the file HCM_Zoom_OnlineMeeting - Schema&Template.zip, and extract the files.
  2. In the ION Desk application, select Data Catalog > Object Schemas. These schemas are to be imported here:
    • HCM_OnlineMeeting.zip: Incoming BOD schema from IMS.
    • HCM_CreateZoomMeeting.zip: JSON converted online meeting details schema.
    • HCM_ZoomCreateRequestBody.zip: JSON request schema to create a zoom meeting.
    • HCM_ZoomPostMeetingUpdateRequest .zip: JSON request schema to update the created meeting details in HCM application.
    • HCM_ZoomAddRegistrations.zip: JSON request schema to add attendees to a zoom online meeting.
    • HCM_addRegistrationResponse.zip: JSON response schema after successful attendee registration to a online meeting.
    • HCM_ZoomFinalRegistrationResponse.zip: JSON request schema to update the registration details, ID and join URL, in the HCM application after a successful registration.
    • UpdateAttendeesRequestBody.zip: JSON schema to separate waived enrollments and new enrollments.
    • CancelregistrantsRequestBody.zip: JSON request schema to cancel registrations for previously added attendees.

Configure JSON Trasnformations Script

The meeting information that is consumed by APIs must be in JSON format. And Python scripts are used to do this in the Document Flow.
  1. Download and extract the zip file “Zoom_OnlineMeeting_Transformation – scripts.zip” from the Knowledgebase Article. Ask your Infor representative for the appropriate KB article.
  2. Select Scripting > Scripts. Download these schemas and then start them:
    • Zoom_OnlineMeeting_Transformation.json: To convert the online meeting information to JSON format.
    • ZoomCreateMeetingRequest .json: To create a JSON request body that is consumed by “Create a meeting” API.
    • Zoom_Combine_Meeting_Response_OrganizationInfo .json: To combine created Meeting ID with Organization Information.
    • Merge_Script_For_ZoomRegistrations .json: To merge created Meeting ID with each registrant information that is consumed by “Add a Meeting Registrant” API.
    • Merge_Script_For_ZoomRegistrations .json” - To merge created Meeting ID with each registrant information that is consumed by “Add a Meeting Registrant” API.
    • Zoom_Merge_LandDRegistrationNumber_and_ZoomRegistrationID .json: To combine attendee’s L&D Registration Number with Zoom RegistrationID.
    • Zoom_Merge_Update_And_Cancel_MeetingResponse_with_OrganizationINfo: To combine “Update a meeting” and “Cancel a Meeting” API response with Organization Information.
    • UpdateRegistrantsRequestBodyTransformation .json: To create a JSON containing Waived Attendees and New enrollments information.
    • Zoom_Create_CancelRegistrants_API_RequestBody .json: To create a JSON request body that is consumed by “Cancel Registration” API.
    • Zoom_AddNewRegistrations_RequestBody .json: To create a JSON request body containing new enrollments information that is consumed by “Add a Meeting Registrants” API.
    • BridgeScriptForZoom: To pass the JSON to an ION splitter component.

Add the API Flow

Add the API Flow. Use the HCM_Zoom_OnlineMeeting-APIFLOW.xml file to import the API flow template and use it with the standard API suite configuration.

Configure the Document Flow

The Document Flow is required to run the api through required connection point. It holds the configuration flow of steps that occurs in sequence. The connection point holds the ION API connection, and the API calls happen through the service account that is added to the connection point.

Select Connect > Data Flows and import the Data Flow Sync_HCM_ZOOM_OnlineMeetings.xml, available in the zip and import connection point. Data flow and connection point are downloaded. Because connection point uses a Ming.le service account to call ION API, the Zoom API must be authorized in the Ming.le service account log-on.

Configure the Connection Point

Connection point is the key components for maintaining service accounts with the current architecture. Multiple service accounts use separate Ming.le log-ons and define in the Document Flow to control the usage of these accounts in the Connection Points. When there is a requirement for multiple accounts for Authorizing API, we can add separate connection points for each of these Ming.le log-ons by providing Ming.le log-on service accounts. ION API App Zoom can be authorized in Apps and Authoizations menu, using the Zoom accounts in the Ming.le log-ons.

  1. Sign in to your Ming.le account with IFS User Management access. Create a service account for the Ming.le log-ons that you created in a previous step. These are created at the Service Accounts menu within User Management of Ming.le. A file is downloaded with service account credentials for the Ming.le user that was specified during the creation.
  2. Use the credential file that was downloaded to import the required connection point in ION Desk.
  3. When all required connection points are set up, start the Data Flow. The Integration is ready to use.

Enabling the integration

  1. Log in as an administrator and select Setup > Structure > Organization Units.
  2. Double-click an organization unit.
  3. In the Detail tab, enable Enable Zoom and click Save.