Migrating Zoom Webinars from Salesforce to Zoom for Salesforce Lightning app


Admins can use the following article to migrate data from the old Zoom for Salesforce app to the new Zoom for Salesforce Lightning app, which adds support for Zoom Meetings, Zoom Webinars, Zoom Phone to the existing support for Zoom Contact Center.

There are 2 migration options:

note icon
Before beginning any migration of data, ensure that you have completed the configuration guides for the Zoom products you want to migrate data for.

This article covers: 

Prerequisites for migrating Zoom Webinars data to the Zoom for Salesforce Lightning app

Limitations of migrating Zoom Webinars data to the Zoom for Salesforce Lightning app

How to migrate data to the new app

warning icon
Zoom highly recommends testing this migration within a sandbox environment, preferably a full copy sandbox, to ensure the migration preserves your environment’s desired functionality. Customizations, such as Flows, will likely break, as the Zoom objects within Flows will change. Ensure that such customizations are verified as functional before continuing on to migrating your production environment.

(Optional) Enable the Create Audit Fields permissions

Before migrating data, admins may want to consider enabling the ability to insert audit fields, which allows them to maintain full data integrity for the migrated data. Doing so allows the following fields to be migrated as well, ensuring the original dates associated with the data are migrated, rather than replaced with generic information associated with the migration date: CreatedByID, CreatedDate, LastModifiedbyID, LastModifiedDate.

If these permissions are enabled, additional steps will be required throughout the migration to retain these fields properly. These additional steps are mentioned, but not fully outlined below.

  1. Open Salesforce in a web browser and sign in to your account as an admin.
  2. In the top-right corner, click the gear icon .
  3. In the drop-down menu, click Setup.
  4. In the Quick find search bar, search for and select User Interface.
  5. Under the User Interface section, find and select the User Interface option, located at the bottom of the list.
  6. Under the Setup section, click the checkbox for Enable “Set Audit Fields upon Record Creation” and “Update Records with Inactive Owners” User Permissions.
  7. At the bottom of the page, click Save to confirm the changes.
  8. In the Quick find search bar, search for and select Permission Sets.
  9. At the top of the list of permission sets, click New.
  10. For the Label field, enter a name for this permission set.
    We recommend Zoom Audit Field Editor.
  11. (Optional) Enter a description for this permission set.
  12. Click Save.
  13. Under the System section of this permission set, click System Permissions.
  14. At the top of the list of System Permissions, click Edit.
  15. Find and select the checkbox for the Set Audit Fields upon Record Creation.
  16. Scroll to the top of the page and click Save.
    A confirmation window will appear.
  17. Click Save to confirm the changes.
  18. At the top of the page, click Manage Assignments.
  19. In the top right corner, click Add Assignment.
  20. Select the user that will be performing the migration to add this permission set to, and then click Next to save the changes.
  21. (Optional) Configure the expiration date for this user to retain this permission set. Otherwise, click Assign to set the permission set indefinitely.
    Note: Zoom recommends either setting an expiration date for when you expect migration to be complete OR removing this permission set after migration is complete, as these permissions can be used, either accidentally or maliciously, to alter these fields and misrepresent their associated records.
  22. Click Assign to save the changes.

Disable webinar triggers

Before we begin migrating the Zoom webinar objects, we will want to disable email notifications to avoid sending unnecessary emails triggered when the migration updates these objects. This should be reenabled after migration is complete.

  1. Open Salesforce in a web browser and sign in to your account as an admin.
  2. In the top-right corner, click the gear icon .
  3. In the drop-down menu, click Setup.
  4. In the Quick find search bar, search for and select Custom Metadata Types.
  5. Next to Avoid Trigger Settings, click Manage Records.
  6. Next to Avoid Trigger for Data Migration, click Edit.
  7. Select the checkbox for Avoid Meeting Trigger.
  8. Click Save.

Migrate Zoom Webinar details

With email triggers disabled for webinar triggers, we can proceed to the webinar migration.

  1. Open the Salesforce Data Loader.
    Note: You may encounter the following macOS permissions error: macOS cannot verify the developer of ‘dataloader-58.0.3.jar’. To resolve this, follow Apple’s guide for overriding your security settings for this app.
  2. Click Export.
  3. Select the environment you want to export data from and click Login.
    If this is your first time launching the Data Loader, you will be prompted to sign in to your Salesforce account as an admin.
  4. In the list of Salesforce objects exportable from your account, find and select Zoom Webinar (zoom_app__Zoom_Webinar__c).
  5. Next to Choose a target for extraction, click Browse to select a location and name for the file to be exported.
    For the purpose of this guide, this file will be referred to as WebinarExport.
    Note: It is recommended that you select a specific location for your extractions, as you will need to find and select these files again in later steps for importing this data.
  6. Click Next.
  7. Click Select all fields.
  8. Click Finish to export all fields as WebinarExport.csv.
    The export process will be performed and the file saved to your chosen location. A confirmation window will appear when the export is complete.
  9. Click Ok to close these windows.
  10. Open the exported WebinarExport CSV file with Excel.
  11. Find and rename the ID column to ID_V1.
    Note: Depending on if/how you are migrating inactive users’ data, here is where you would potentially want to map the OWNERID field for the various records from inactive users to currently active users in your organization. For additional assistance, please contact Salesforce Support.
  12. Save the changes to the WebinarExport CSV file.
  13. In the Salesforce Data Loader, click Insert.
  14. In the list of Salesforce objects, select Zoom Webinar (ZVC__Zoom_Webinar__c).
  15. Next to Choose CSV file, click Browse.
  16. Find and select the exported and edited WebinarExport file.
  17. Click Next.
    The data will be read by the data loader.
  18. Click Ok to close the confirmation window.
  19. Click Choose an Existing Map and select the ZoomWebinarMapping.sdl, which can be downloaded here: ZoomWebinarMapping.sdl
    Note: For accounts with additional custom mapping or accounts choosing to migrate the audit fields, admins would select Create or Edit a Map after uploading the file above to then drag-and-drop their additional fields to the old fields listed below what they want to map to. These custom fields must already exist in the new app’s object in order to properly import the custom field(s) from the old app.
  20. Click Next.
  21. Select a directory for storing generated import logs.
    Two files will be exported, one for any errors and the other for successful imports. Only the file generated for successful imports is needed and used in later steps.
    For the purpose of this guide, this file will be referred to as WebinarSuccess.
    Note: It is recommended that you select a specific location for your extractions, as you will need to find and select these files again in later steps for importing this data.
  22. Click Finish to start the import.
  23. Click Yes to confirm inserting records.
    The import will take place and a confirmation window will appear when complete.
    Note: If you intend on validating the imported data, Zoom recommends noting how many records were successfully imported, so that this can be compared to the webinar logs.
  24. Click Ok to close the confirmation window.

Migrate Zoom Webinar registrants

  1. In the Salesforce Data Loader, click Export.
  2. In the list of Salesforce objects exportable from your account, find and select Zoom Webinar Registrant (zoom_app__Zoom_Webinar_Registrant__c).
  3. Next to Choose a target for extraction, click Browse to select a location and name for the file to be exported.
    For the purpose of this guide, this file will be referred to as WebinarRegExport.
    Note: It is recommended that you select a specific location for your extractions, as you will need to find and select these files again in later steps for importing this data.
  4. Click Next.
  5. Click Select all fields.
  6. Click Finish to export the selected fields as WebinarRegExport.csv.
    The export process will be performed and the file saved to your chosen location. A confirmation window will appear when the export is complete.
  7. Click Ok to close these windows.
  8. Open the exported WebinarRegExport CSV file with Excel.
  9. Find and rename the ID column to ID_V1.
    Note: Depending on if/how you are migrating inactive users’ data, here is where you would potentially want to map the OWNERID field for the various records from inactive users to currently active users in your organization. For additional assistance, please contact Salesforce Support.
  10. In the Excel ribbon toolbar, click Data.
  11. Click Get Data (Power Query).
    A window to select the source of the new data will appear.
  12. Click the Text/CSV option.
  13. Click Browse.
  14. Find and select the WebinarSuccess CSV file, generated in step 23 of the Migrate Zoom Webinar details section.
  15. Click Get Data to confirm the file selection.
  16. Click Next to open the selected file.
  17. Click Load to import the previewed data.
    This data will be imported as a new sheet.
  18. Within the WebinarRegExport sheet, create a new column with ZVC__ZOOM_WEBINAR__C as the header name.
  19. In the WebinarSuccess sheet, find the ID_V1 column and sort in ascending order.
    Note: This can be easily done by clicking the drop-down option at the top of the column and selecting Ascending.
  20. At the bottom of the Excel window, switch to the WebinarRegExport sheet.
    Next, we will use the IFNA and LOOKUP functions to match ID_V1 to the new ID of each object that was created on import. These functions will be placed in the ZVC__ZOOM_WEBINAR__C column, created in step 18.
    Note: LOOKUP finds and matches the two values, while the IFNA function allows us to set the field as a blank value if LOOKUP does not find a matching ID, preventing errors when importing.
  21. In the first empty cell of the ZVC__ZOOM_WEBINAR__C column in the WebinarRegExport sheet, enter the following formula:
    =IFNA(LOOKUP(CELL1, COLUMN1, COLUMN2,),"") where the following values are defined below:
    • CELL1: The corresponding row value under the ZOOM_APP__ZOOM_WEBINAR__C column in the WebinarRegExport sheet.
    • COLUMN1: The ID_V1 column in the newly imported WebinarSuccess sheet.
    • COLUMN2: The ID column in the newly imported WebinarSuccess sheet.

      Once the formula is set, this should appear in the formula editor similar to this: =IFNA(LOOKUP(AE2,success072823011041214!D:D,success072823011041214!A:A),"")

  22. Select the cell with the formula and double-click the small square in the bottom-right corner to automatically populate the function in the rest of the column.
  23. Save the changes to the WebinarRegExport CSV file.
    Note: Ensure you have the WebinarRegExport sheet selected before saving changes. Otherwise, the incorrect data sheet will be saved as the WebinarRegExport CSV file and you must restart this section.
  24. In the Salesforce Data Loader, click Insert.
  25. In the list of Salesforce objects, select Zoom Webinar Registrant (ZVC__Zoom_Webinar_Registrant__c).
  26. Next to the Choose CSV file, click Browse.
  27. Find and select the exported and edited WebinarRegExport file.
  28. Click Next.
    The data will be read by the data loader.
  29. Click Ok to close the confirmation window.
  30. Click Choose an Existing Map and select the ZoomWebinarRegistrantMapping.sdl, which can be downloaded here: ZoomWebinarRegistrantMapping.sdl
  31. Click Next.
  32. Select a directory for storing generated import logs.
    Two files will be exported, one for any errors and the other for successful imports. Only the file generated for successful imports is needed and used in later steps.
    For the purpose of this guide, this file will be referred to as WebinarRegSuccess.
    Note: It is recommended that you select a specific location for your extractions, as you will need to find and select these files again in later steps for importing this data.
  33. Click Finish to start the import.
  34. Click Yes to confirm inserting records.
    The import will take place and a confirmation window will appear when complete.
    Note: If you intend on validating the imported data, Zoom recommends noting how many records were successfully imported, so that this can be compared to the webinar logs.
  35. Click Ok to close the confirmation window.

Migrate Zoom Webinar panelists

  1. In the Salesforce Data Loader, click Export.
  2. In the list of Salesforce objects exportable from your account, find and select Zoom Webinar Panelist (zoom_app__Zoom_Webinar_Panelist__c).
  3. Next to Choose a target for extraction, click Browse to select a location and name for the file to be exported.
    For the purpose of this guide, this file will be referred to as WebinarPanExport.
    Note: It is recommended that you select a specific location for your extractions, as you will need to find and select these files again in later steps for importing this data.
  4. Click Next.
  5. Click Select all fields.
  6. Click Finish to export all fields as WebinarPanExport.csv.
    The export process will be performed and the file saved to your chosen location. A confirmation window will appear when the export is complete.
  7. Click Ok to close these windows.
  8. Open the exported WebinarPanExport CSV file with Excel.
  9. Find and rename the ID column to ID_V1.
    Note: Depending on if/how you are migrating inactive users’ data, here is where you would potentially want to map the OWNERID field for the various records from inactive users to currently active users in your organization. For additional assistance, please contact Salesforce Support.
  10. In the Excel ribbon toolbar, click Data.
  11. Click Get Data (Power Query).
    A window to select the source of the new data will appear.
  12. Click the Text/CSV option.
  13. Click Browse.
  14. Find and select the WebinarSuccess CSV file, generated in step 23 of the Migrate Zoom Webinar details section.
  15. Click Get Data to confirm the file selection.
  16. Click Next to open the selected file.
  17. Click Load to import the previewed data.
    This data will be imported as a new sheet.
  18. Within the WebinarPanExport sheet, create a new column with ZVC__ZOOM_WEBINAR__C as the header name.
  19. In the WebinarSuccess sheet, find the ID_V1 column and sort in ascending order.
    Note: This can be easily done by clicking the drop-down option at the top of the column and selecting Ascending.
  20. At the bottom of the Excel window, switch to the WebinarPanExport sheet.
    Next, we will use the IFNA and LOOKUP functions to match ID_V1 to the new ID of each object that was created on import. These functions will be placed in the ZVC__ZOOM_WEBINAR__C column, created in step 18.
    Note: LOOKUP finds and matches the two values, while the IFNA function allows us to set the field as a blank value if LOOKUP does not find a matching ID, preventing errors when importing.
  21. In the first empty cell of the ZVC__ZOOM_WEBINAR__C column in the WebinarPanExport sheet, enter the following formula:
    =IFNA(LOOKUP(CELL1, COLUMN1, COLUMN2,),"") where the following values are defined below:
    • CELL1: The corresponding row value under the ZOOM_APP__ZOOM_WEBINAR__C column in the WebinarPanExport sheet.
    • COLUMN1: The ID_V1 column in the newly imported WebinarSuccess sheet.
    • COLUMN2: The ID column in the newly imported WebinarSuccess sheet.
      Once the formula is set, this should appear in the formula editor similar to this: =IFNA(LOOKUP(AE2,success072823011041214!D:D,success072823011041214!A:A),"")
  22. Select the cell with the formula and double-click the small square in the bottom-right corner to automatically populate the function in the rest of the column.
  23. Save the changes to the WebinarPanExport CSV file.
    Note: Ensure you have the WebinarPanExport sheet selected before saving changes. Otherwise, the incorrect data sheet will be saved as the WebinarPanExport CSV file and you must restart this section.
  24. In the Salesforce Data Loader, click Insert.
  25. In the list of Salesforce objects, select Zoom Webinar Panelist (ZVC__Zoom_Webinar_Panelist__c).
  26. Next to the Choose CSV file, click Browse.
  27. Find and select the exported and edited WebinarPanExport file.
  28. Click Next.
    The data will be read by the data loader.
  29. Click Ok to close the confirmation window.
  30. Click Choose an Existing Map and select the ZoomWebinarPanelistMapping.sdl, which can be downloaded here: ZoomWebinarPanelistMapping.sdl
  31. Click Next.
  32. Select a directory for storing generated import logs.
    Two files will be exported, one for any errors and the other for successful imports. Only the file generated for successful imports is needed and used in later steps.
    For the purpose of this guide, this file will be referred to as WebinarPanSuccess.
    Note: It is recommended that you select a specific location for your extractions, as you will need to find and select these files again in later steps for importing this data.
  33. Click Finish to start the import.
  34. Click Yes to confirm inserting records.
    The import will take place and a confirmation window will appear when complete.
    Note: If you intend on validating the imported data, Zoom recommends noting how many records were successfully imported so that this can be compared to the webinar logs.
  35. Click Ok to close the confirmation window.

Migrate Zoom Webinar attendees

  1. In the Salesforce Data Loader, click Export.
  2. In the list of Salesforce objects exportable from your account, find and select Zoom Webinar Attendee (zoom_app__Zoom_Webinar_Attendee__c).
  3. Next to Choose a target for extraction, click Browse to select a location and name for the file to be exported.
    For the purpose of this guide, this file will be referred to as WebinarAttExport.
    Note: It is recommended that you select a specific location for your extractions, as you will need to find and select these files again in later steps for importing this data.
  4. Click Next.
  5. Click Select all fields.
  6. Click Finish to export all fields as WebinarAttExport.csv.
    The export process will be performed and the file saved to your chosen location. A confirmation window will appear when the export is complete.
  7. Click Ok to close these windows.
  8. Open the exported WebinarAttExport CSV file with Excel.
  9. Find and rename the ID column to ID_V1.
    Note: Depending on if/how you are migrating inactive users’ data, here is where you would potentially want to map the OWNERID field for the various records from inactive users to currently active users in your organization. For additional assistance, please contact Salesforce Support.
  10. In the Excel ribbon toolbar, click Data.
  11. Click Get Data (Power Query).
    A window to select the source of the new data will appear.
  12. Click the Text/CSV option.
  13. Click Browse.
  14. Find and select the WebinarSuccess CSV file, generated in step 23 of the Migrate Zoom Webinar details section.
  15. Click Get Data to confirm the file selection.
  16. Click Next to open the selected file.
  17. Click Load to import the previewed data.
    This data will be imported as a new sheet.
  18. In the newly imported sheet, find the ID_V1 column and sort in ascending order.
    Note: This can be easily done by clicking the drop-down option at the top of the column and selecting Ascending.
  19. Repeat the import data steps 10–18 for the WebinarRegSuccess and WebinarPanSuccess files.
  20. Within the WebinarAttExport sheet, create 3 new columns with ZVC__ZOOM_WEBINAR__C, ZVC__ZOOM_WEBINAR_REGISTRANT__C, and ZVC__ZOOM_WEBINAR_PANELIST__C as the respective header names.
  21. At the bottom of the Excel window, switch to the WebinarAttExport sheet.
    Next, we will use the IFNA and LOOKUP functions to match ID_V1 to the new ID of each object that was created on import. These functions will be placed in the ZVC__ZOOM_WEBINAR__C column, created in step 20.
    Note: LOOKUP finds and matches the two values, while the IFNA function allows us to set the field as a blank value if LOOKUP does not find a matching ID, preventing errors when importing.
  22. In the first empty cell of the ZVC__ZOOM_WEBINAR__C column in the WebinarAttExport sheet, enter the following formula:
    =IFNA(LOOKUP(CELL1, COLUMN1, COLUMN2,),"") where the following values are defined below:
    • CELL1: The corresponding row value under the ZOOM_APP__ZOOM_WEBINAR__C column in the WebinarAttExport sheet.
    • COLUMN1: The ID_V1 column in the newly imported WebinarSuccess sheet.
    • COLUMN2: The ID column in the newly imported WebinarSuccess sheet.
      Once the formula is set, this should appear in the formula editor similar to this: =IFNA(LOOKUP(AE2,success072823011041214!D:D,success072823011041214!A:A),"")
  23. At the bottom of the Excel window, switch to the WebinarAttExport sheet.
    Next, we will use the IFNA and LOOKUP functions to match ID_V1 to the new ID of each object that was created on import. These functions will be placed in the ZVC__ZOOM_WEBINAR_REGISTRANT__C column, created in step 20.
    Note: LOOKUP finds and matches the two values, while the IFNA function allows us to set the field as a blank value if LOOKUP does not find a matching ID, preventing errors when importing.
  24. In the first empty cell of the ZVC__ZOOM_WEBINAR_REGISTRANT__C column in the WebinarAttExport sheet, enter the following formula:
    =IFNA(LOOKUP(CELL1, COLUMN1, COLUMN2,),"") where the following values are defined below:
    • CELL1: The corresponding row value under the ZOOM_APP__ZOOM_WEBINAR_REGISTRANT__C column in the WebinarAttExport sheet.
    • COLUMN1: The ID_V1 column in the newly imported WebinarRegSuccess sheet.
    • COLUMN2: The ID column in the newly imported WebinarRegSuccess sheet.

      Once the formula is set, this should appear in the formula editor similar to this: =IFNA(LOOKUP(AE2,success072823011041214!D:D,success072823011041214!A:A),"")

  25. At the bottom of the Excel window, switch to the WebinarAttExport sheet.
    Next, we will use the IFNA and LOOKUP functions to match ID_V1 to the new ID of each object that was created on import. These functions will be placed in the ZVC__ZOOM_WEBINAR_PANELIST__C column, created in step 20.
    Note: LOOKUP finds and matches the two values, while the IFNA function allows us to set the field as a blank value if LOOKUP does not find a matching ID, preventing errors when importing.
  26. In the first empty cell of the ZVC__ZOOM_WEBINAR_PANELIST__C column in the WebinarAttExport sheet, enter the following formula:
    =IFNA(LOOKUP(CELL1, COLUMN1, COLUMN2,),"") where the following values are defined below:
    • CELL1: The corresponding row value under the ZOOM_APP__ZOOM_WEBINAR_PANELIST__C column in the WebinarAttExport sheet.
    • COLUMN1: The ID_V1 column in the newly imported WebinarPanSuccess sheet.
    • COLUMN2: The ID column in the newly imported WebinarPanSuccess sheet.

      Once the formula is set, this should appear in the formula editor similar to this: =IFNA(LOOKUP(AE2,success072823011041214!D:D,success072823011041214!A:A),"")

  27. Save the changes to the WebinarAttExport file.
    Note: Ensure you have the WebinarAttExport sheet selected before saving changes. Otherwise, the incorrect data sheet will be saved as the WebinarAttExport CSV file and you must restart this section.
  28. In the Salesforce Data Loader, click Insert.
  29. In the list of Salesforce objects, select Zoom Webinar Attendee (ZVC__Zoom_Webinar_Attendee__c).
  30. Next to Choose CSV file, click Browse.
  31. Find and select the exported and edited WebinarAttExport file.
  32. Click Next.
    The data will be read by the data loader.
  33. Click Ok to close the confirmation window.
  34. Click Choose an Existing Map and select the ZoomWebinarAttendeeMapping.sdl, which can be downloaded here: ZoomWebinarAttendeeMapping.sdl
  35. Click Next.
  36. Select a directory for storing generated import logs.
    Two files will be exported, one for any errors and the other for successful imports. Only the file generated for successful imports is needed and used in later steps.
    For the purpose of this guide, this file will be referred to as WebinarAttSuccess.
    Note: It is recommended that you select a specific location for your extractions, as you will need to find and select these files again in later steps for importing this data.
  37. Click Finish to start the import.
  38. Click Yes to confirm inserting records.
    The import will take place and a confirmation window will appear when complete.
    Note: If you intend on validating the imported data, Zoom recommends noting how many records were successfully imported, so that this can be compared to the webinar logs.
  39. Click Ok to close the confirmation window.

Migrate Zoom Webinar history

  1. In the Salesforce Data Loader, click Export.
  2. In the list of Salesforce objects exportable from your account, find and select Zoom Webinar History (zoom_app__Zoom_Webinar_History__c).
  3. Next to Choose a target for extraction, click Browse to select a location and name for the file to be exported.
    For the purpose of this guide, this file will be referred to as WebinarHistExport.
    Note: It is recommended that you select a specific location for your extractions, as you will need to find and select these files again in later steps for importing this data.
  4. Click Next.
  5. Click Select all fields.
  6. Click Finish to export all fields as WebinarHistExport.csv.
    The export process will be performed and the file saved to your chosen location. A confirmation window will appear when the export is complete.
  7. Click Ok to close these windows.
  8. Open the exported WebinarHistExport CSV file with Excel.
  9. Find and rename the ID column to ID_V1.
    Note: Depending on if/how you are migrating inactive users’ data, here is where you would potentially want to map the OWNERID field for the various records from inactive users to currently active users in your organization. For additional assistance, please contact Salesforce Support.
  10. In the Excel ribbon toolbar, click Data.
  11. Click Get Data (Power Query).
    A window to select the source of the new data will appear.
  12. Click the Text/CSV option.
  13. Click Browse.
  14. Find and select the WebinarSuccess CSV file, generated in step 23 of the Migrate Zoom Webinar details section.
  15. Click Get Data to confirm the file selection.
  16. Click Next to open the selected file.
  17. Click Load to import the previewed data.
    This data will be imported as a new sheet.
  18. In the newly imported sheet, find the ID_V1 column and sort in ascending order.
    Note: This can be easily done by clicking the drop-down option at the top of the column and selecting Ascending.
  19. Repeat the import data steps 10–18 for the WebinarRegSuccess, WebinarPanSuccess, and WebinarAttSuccess files.
  20. Within the WebinarHistExport sheet, create 4 new columns with ZVC__ZOOM_WEBINAR__C, ZVC__ZOOM_WEBINAR_REGISTRANT__C, ZVC__ZOOM_WEBINAR_PANELIST__C, and ZVC__ZOOM_WEBINAR_ATTENDEE__C as the respective header names.
  21. At the bottom of the Excel window, switch to the WebinarAttExport sheet.
    Next, we will use the IFNA and LOOKUP functions to match ID_V1 to the new ID of each object that was created on import. These functions will be placed in the ZVC__ZOOM_WEBINAR__C column, created in step 20.
    Note: LOOKUP finds and matches the two values, while the IFNA function allows us to set the field as a blank value if LOOKUP does not find a matching ID, preventing errors when importing.
  22. In the first empty cell of the ZVC__ZOOM_WEBINAR__C column in the WebinarHistExport sheet, enter the following formula:
    =IFNA(LOOKUP(CELL1, COLUMN1, COLUMN2,),"") where the following values are defined below:
    • CELL1: The corresponding row value under the ZOOM_APP__ZOOM_WEBINAR__C column in the WebinarHistExport sheet.
    • COLUMN1: The ID_V1 column in the newly imported WebinarSuccess sheet.
    • COLUMN2: The ID column in the newly imported WebinarSuccess sheet.
      Once the formula is set, this should appear in the formula editor similar to this: =IFNA(LOOKUP(AE2,success072823011041214!D:D,success072823011041214!A:A),"")
  23. At the bottom of the Excel window, switch to the WebinarHistExport sheet.
    Next, we will use the IFNA and LOOKUP functions to match ID_V1 to the new ID of each object that was created on import. These functions will be placed in the ZVC__ZOOM_WEBINAR_REGISTRANT__C column, created in step 20.
    Note: LOOKUP finds and matches the two values, while the IFNA function allows us to set the field as a blank value if LOOKUP does not find a matching ID, preventing errors when importing.
  24. In the first empty cell of the ZVC__ZOOM_WEBINAR_REGISTRANT__C column in the WebinarHistExport sheet, enter the following formula:
    =IFNA(LOOKUP(CELL1, COLUMN1, COLUMN2,),"") where the following values are defined below:
    • CELL1: The corresponding row value under the ZOOM_APP__ZOOM_WEBINAR_REGISTRANT__C column in the WebinarHistExport sheet.
    • COLUMN1: The ID_V1 column in the newly imported WebinarRegSuccess sheet.
    • COLUMN2: The ID column in the newly imported WebinarRegSuccess sheet.
      Once the formula is set, this should appear in the formula editor similar to this: =IFNA(LOOKUP(AE2,success072823011041214!D:D,success072823011041214!A:A),"")
  25. At the bottom of the Excel window, switch to the WebinarHistExport sheet.
    Next, we will use the IFNA and LOOKUP functions to match ID_V1 to the new ID of each object that was created on import. These functions will be placed in the ZVC__ZOOM_WEBINAR_PANELIST__C column, created in step 20.
    Note: LOOKUP finds and matches the two values, while the IFNA function allows us to set the field as a blank value if LOOKUP does not find a matching ID, preventing errors when importing.

  26. In the first empty cell of the ZVC__ZOOM_WEBINAR_PANELIST__C column in the WebinarHistExport sheet, enter the following formula:
    =IFNA(LOOKUP(CELL1, COLUMN1, COLUMN2,),"") where the following values are defined below:
    • CELL1: The corresponding row value under the ZOOM_APP__ZOOM_WEBINAR_PANELIST__C column in the WebinarHistExport sheet.
    • COLUMN1: The ID_V1 column in the newly imported WebinarPanSuccess sheet.
    • COLUMN2: The ID column in the newly imported WebinarPanSuccess sheet.
      Once the formula is set, this should appear in the formula editor similar to this: =IFNA(LOOKUP(AE2,success072823011041214!D:D,success072823011041214!A:A),"")
  27. At the bottom of the Excel window, switch to the WebinarHistExport sheet.
    Next, we will use the IFNA and LOOKUP functions to match ID_V1 to the new ID of each object that was created on import. These functions will be placed in the ZVC__ZOOM_WEBINAR_ATTENDEE__C column, created in step 20.
    Note: LOOKUP finds and matches the two values, while the IFNA function allows us to set the field as a blank value if LOOKUP does not find a matching ID, preventing errors when importing.
  28. In the first empty cell of the ZVC__ZOOM_WEBINAR_ATTENDEE__C column in the WebinarHistExport sheet, enter the following formula:
    =IFNA(LOOKUP(CELL1, COLUMN1, COLUMN2,),"") where the following values are defined below:
    • CELL1: The corresponding row value under the ZOOM_APP__ZOOM_WEBINAR_ATTENDEE__C column in the WebinarHistExport sheet.
    • COLUMN1: The ID_V1 column in the newly imported WebinarAttSuccess sheet.
    • COLUMN2: The ID column in the newly imported WebinarAttSuccess sheet.
      Once the formula is set, this should appear in the formula editor similar to this: =IFNA(LOOKUP(AE2,success072823011041214!D:D,success072823011041214!A:A),"")
  29. Save the changes to the WebinarHistExport file.
    Note: Ensure you have the WebinarHistExport sheet selected before saving changes. Otherwise, the incorrect data sheet will be saved as the WebinarHistExport CSV file and you must restart this section.
  30. In the Salesforce Data Loader, click Insert.
  31. In the list of Salesforce objects, select Zoom Webinar Link (ZVC__Zoom_Webinar_Link__c).
  32. Next to Choose CSV file, click Browse.
  33. Find and select the recently exported file.
  34. Click Next.
    The data will be read by the data loader.
  35. Click Ok to close the confirmation window.
  36. Click Choose an Existing Map and select the ZoomWebinarHistoryMapping.sdl, which can be downloaded here: ZoomWebinarHistoryMapping.sdl
  37. Click Next.
  38. Select a directory for storing generated import logs.
  39. Click Finish to start the import.
  40. Click Yes to confirm inserting records.
    The import will take place and a confirmation window will appear when complete.
    Note: If you intend on validating the imported data, Zoom recommends noting how many records were successfully imported, so that this can be compared to the webinar logs.
  41. Click Ok to close the confirmation window.

(Optional) Validate the imported webinar data

After data has been migrated for the new app, admins can validate that the migrated data is imported properly.

  1. Open Salesforce in a web browser and sign in to your account as an admin.
  2. In the top-right corner, click the gear icon .
  3. In the drop-down menu, click Developer Console.
    The developer console will open in a new browser tab or window.
  4. At the bottom of the page in the Query Editor, paste the following query:
    SELECT Id, createdDate, lastModifiedDate, ZVC__UUId_Unique__c FROM ZVC__Zoom_Webinar__c 
    ORDER BY createdDate DESC
  5. At the bottom-left corner of the page, click Execute.
    A list with Id, createdDate, lastModifiedDate, and ZVC__UUId_Unique__c columns will appear.
    • If the cells beneath the ZVC__UUId_Unique__c column have values, the webinar details data migration was completed successfully.
    • Another simple check is to compare the number of successfully imported items from step 23 of the webinar details data migration section with the total rows from the query result. The total number of rows should be greater than or equal to the number of successful imports, depending on if your users are already using the integration.

Note: If you did enable audit fields permissions, the createdDate and lastModifiedDate columns should be the original dates for those logs. If you did not enable audit fields permissions, the createdDate and lastModifiedDate columns will be the date of the migration, rather than the original date.

(Optional) Validate the imported webinar registrant data

After data has been migrated for the new app, admins can validate that the migrated data is imported properly.

  1. Open Salesforce in a web browser and sign in to your account as an admin.
  2. In the top-right corner, click the gear icon .
  3. In the drop-down menu, click Developer Console.
    The developer console will open in a new browser tab or window.
  4. At the bottom of the page in the Query Editor, paste the following query:
    SELECT Id, createdDate, lastModifiedDate, ZVC__Zoom_Webinar__c FROM ZVC__Zoom_Webinar_Registrant__c 
    ORDER BY createdDate DESC
  5. At the bottom-left corner of the page, click Execute.
    A list with Id, createdDate, lastModifiedDate, and ZVC__Zoom_Webinar__c columns will appear.
    • If the cells beneath the ZVC__Zoom_Webinar__c column have values, the webinar registrant data migration was completed successfully.
    • Another simple check is to compare the number of successfully imported items from step 34 of the webinar registrant data migration section with the total rows from the query result. The total number of rows should be greater than or equal to the number of successful imports, depending on if your users are already using the integration.

Note: If you did enable audit fields permissions, the createdDate and lastModifiedDate columns should be the original dates for those logs. If you did not enable audit fields permissions, the createdDate and lastModifiedDate columns will be the date of the migration, rather than the original date.

(Optional) Validate the imported webinar panelists data

After data has been migrated for the new app, admins can validate that the migrated data is imported properly.

  1. Open Salesforce in a web browser and sign in to your account as an admin.
  2. In the top-right corner, click the gear icon .
  3. In the drop-down menu, click Developer Console.
    The developer console will open in a new browser tab or window.
  4. At the bottom of the page in the Query Editor, paste the following query:
    SELECT Id, createdDate, lastModifiedDate, ZVC__Zoom_Webinar__c FROM ZVC__Zoom_Webinar_Panelist__c 
    ORDER BY createdDate DESC
  5. At the bottom-left corner of the page, click Execute.
    A list with Id, createdDate, lastModifiedDate, and ZVC__Zoom_Webinar__c columns will appear.
    • If the cells beneath the ZVC__Zoom_Webinar__c column have values, the webinar panelists data migration was completed successfully.
    • Another simple check is to compare the number of successfully imported items from step 34 of the webinar panelists data migration section with the total rows from the query result. The total number of rows should be greater than or equal to the number of successful imports, depending on if your users are already using the integration.

Note: If you did enable audit fields permissions, the createdDate and lastModifiedDate columns should be the original dates for those logs. If you did not enable audit fields permissions, the createdDate and lastModifiedDate columns will be the date of the migration, rather than the original date.

(Optional) Validate the imported webinar attendee data

After data has been migrated for the new app, admins can validate that the migrated data is imported properly.

  1. Open Salesforce in a web browser and sign in to your account as an admin.
  2. In the top-right corner, click the gear icon .
  3. In the drop-down menu, click Developer Console.
    The developer console will open in a new browser tab or window.
  4. At the bottom of the page in the Query Editor, paste the following query:
    SELECT Id, createdDate, lastModifiedDate, ZVC__Zoom_Webinar__c, ZVC__Zoom_Webinar_Registrant__c, 
    ZVC__Zoom_Webinar_Panelist__c FROM ZVC__Zoom_Webinar_Attendee__c ORDER BY createdDate DESC
  5. At the bottom-left corner of the page, click Execute.
    A list with Id, createdDate, lastModifiedDate, ZVC__Zoom_Webinar__c, ZVC__Zoom_Webinar_Registrant__c and ZVC__Zoom_Webinar_Panelist__c columns will appear.
    • If the cells beneath the ZVC__Zoom_Webinar__c column have values and the cells beneath the ZVC__Zoom_Webinar_Registrant__c and ZVC__Zoom_Webinar_Panelist__c columns match your WebinarAttExport CSV file, the webinar attendee data migration was completed successfully.
    • Another simple check is to compare the number of successfully imported items from step 38 of the webinar attendee data migration section with the total rows from the query result. The total number of rows should be greater than or equal to the number of successful imports, depending on if your users are already using the integration.

Note: If you did enable audit fields permissions, the createdDate and lastModifiedDate columns should be the original dates for those logs. If you did not enable audit fields permissions, the createdDate and lastModifiedDate columns will be the date of the migration, rather than the original date.

(Optional) Validate the imported webinar history data

After data has been migrated for the new app, admins can validate that the migrated data is imported properly.

  1. Open Salesforce in a web browser and sign in to your account as an admin.
  2. In the top-right corner, click the gear icon .
  3. In the drop-down menu, click Developer Console.
    The developer console will open in a new browser tab or window.
  4. At the bottom of the page in the Query Editor, paste the following query:
    SELECT Id, createdDate, lastModifiedDate, ZVC__Zoom_Webinar__c, ZVC__Zoom_Webinar_Registrant__c, 
    ZVC__Zoom_Webinar_Panelist__c, ZVC__Zoom_Webinar_Attendee__c FROM ZVC__Zoom_Webinar_Link__c
    ORDER BY createdDate DESC
  5. At the bottom-left corner of the page, click Execute.
    A list with Id, createdDate, lastModifiedDate, ZVC__Zoom_Webinar__c, ZVC__Zoom_Webinar_Registrant__c, ZVC__Zoom_Webinar_Panelist__c, and ZVC__Zoom_Webinar_Attendee__c columns will appear.
    • If the cells beneath the ZVC__Zoom_Webinar__c column have values and the cells beneath the ZVC__Zoom_Webinar_Registrant__c, ZVC__Zoom_Webinar_Panelist__c, and ZVC__Zoom_Webinar_Attendee__c columns match your WebinarHistExport CSV file, the webinar history data migration was completed successfully.
    • Another simple check is to compare the number of successfully imported items from step 40 of the webinar history data migration section with the total rows from the query result. The total number of rows should be greater than or equal to the number of successful imports, depending on if your users are already using the integration.

Note: If you did enable audit fields permissions, the createdDate and lastModifiedDate columns should be the original dates for those logs. If you did not enable audit fields permissions, the createdDate and lastModifiedDate columns will be the date of the migration, rather than the original date.

Re-enabling webinar triggers

Now that we’re finished with Zoom Webinars data migration, you will want to re-enable the webinar triggers.

  1. Open Salesforce in a web browser and sign in to your account as an admin.
  2. In the top-right corner, click the gear icon .
  3. In the drop-down menu, click Setup.
  4. In the Quick find search bar, search for and select Custom Metadata Types.
  5. Next to Avoid Trigger Settings, click Manage Records.
  6. Next to Avoid Trigger for Data Migration, click Edit.
  7. Deselect the checkbox for Avoid Meeting Trigger.
  8. Click Save.

Removing the Zoom for Salesforce (v1) app

Once you have completed the data migration for Zoom Webinars, Zoom Meetings, and Zoom Phone (if applicable), you can remove the original Zoom for Salesforce app and continue with using the Zoom for Salesforce Lightning app.

  1. Open the Zoom App Marketplace.
  2. Sign in as an account admin.
  3. Search for and select the Zoom for Salesforce app.
  4. Scroll to the bottom of the page and under the Manage section, click Remove.
  5. Click Remove to confirm removing the app.
  6. Open Salesforce and sign in to your account as an admin.
  7. In the top-left corner, click the 9-dots icon and search for and select Zoom config.
  8. Under the Zoom OAuth section, click Cancel authorization from Zoom App Marketplace.
  9. Click Confirm.
    Note: If you need to rollback and reauthorize the Zoom for Salesforce app, click the Authorize from Zoom App Marketplace.

(Optional) Full removal of Zoom for Salesforce (v1) app package

These steps will fully remove the Zoom app package and all associated objects. If this is done, rolling back to Zoom for Salesforce (v1) will not be an option, as re-adding the app would result in a fresh install, with no previous data being recovered.

  1. In the top-right corner, click the gear icon .
  2. In the drop-down menu, click Setup.
  3. In the Quick find search bar, search for and select Installed Packages.
  4. To the left of the Zoom package, click Uninstall.
    Note: Ensure you are uninstalling the Zoom package and not the Zoom For Lightning package, as uninstalling the new app will undo all migration work.
  5. At the bottom of the page, check the Yes, I want to uninstall this package and permanently delete all associated components checkbox.
  6. Click Uninstall to proceed with the app package removal.

If you see the Unable to uninstall package error message, review the problems listed below to address those issues, and repeat steps 3–6. These are typically associated with objects still in use or permission sets still assigned to users, so an admin will need to address this within Salesforce setup settings.