Zoom Power BI Connector: Webinars, Meetings, Calls

Zoom Meeting Screenshot

Zoom Power BI connector by VIDI enables you to analyze all your zoom calls, web meetings as well as the webinar registrants & participants. Here is what you get:

  1. All your Zoom data connected to Power BI automatically
  2. A free customisable Zoom Power BI Template
  3. Store the data in the database or data warehouse of your choice
  4. Customize or enhance data based on your requirement

Zoom Power BI Dashboards

Power BI Zoom Calls Dashboard

Power BI Zoom Webinar Funnel Dashboard

Power BI Zoom Registrants Dashboard

How Our Zoom Power BI connector works?

  • Create a serverless job on the cloud of your choice to fetch the data from zoom accounts on a regular basis
  • Store the data in the database or data warehouse of your choice. You can either bring your own database or we can create a new one for this. It can be any SQL database or warehouse e.g (SQL Server, Postgresq, Mysql, BigQuery, Snowflake, etc.,)
  • You can let us know the customisations you want to perform on your data. This includes any transformations that are to be performed to match with your organisation’s standards
  • You can tell us the list of tables that you are looking for in zoom and we can fetch only them
  • You can also tell us how your report should look like and we can store the data in the format which is ready to consume

This is a lightweight serverless solution which drastically reduces the cost with minimal monitoring and offers lots of customisations.

Zoom Power BI Connector Tables

Below are the list of tables we are extracting

Webinars

Webinars table scheduled by or on behalf a webinar host

Column NameData TypeDescription
agendaStringWebinar description. The agenda length gets truncated to 250 characters when you list all webinars for a user. To view the complete agenda, retrieve details for a single webinar, 
created_atDateTimeThe webinar’s creation time.
durationIntegerThe webinar’s duration, in minutes.
host_idStringThe host’s ID.
idIntegerThe webinar ID.
join_urlStringThe URL to join the webinar.
start_timeDateTimeThe webinar’s start time.
timezoneStringThe Webinar’s timezone
topicStringThe webinar’s topic.
typeIntegerThe webinar type.5 – A webinar.6 – A recurring webinar without a fixed time.9 – A recurring webinar with a fixed time.
uuidStringThe webinar’s universally unique identifier (UUID). Each webinar instance generates a webinar UUID.
is_simuliveBooleanWhether the webinar is simulive.

Registrants

All the users that are registered for a webinar

Column NameData TypeDescription
idStringRegistrant ID.
addressStringThe registrant’s address.
cityStringThe registrant’s city.
commentsStringThe registrant’s questions and comments.
countryStringThe registrant’s two-letter ISO country code.
custom_questionsArray of ObjectInformation about custom questions.<title, value>
email *EmailThe registrant’s email address. See Email address display rules for return value details.
first_name *StringThe registrant’s first name. Constraints: Max 64 chars.
industryStringThe registrant’s industry.
job_titleStringThe registrant’s job title.
last_nameStringThe registrant’s last name. Constraints: Max 64 chars.
no_of_employeesEnumThe registrant’s number of employees in range.
orgStringThe registrant’s organization.
phoneStringThe registrant’s phone number.
purchasing_time_frameEnumThe registrant’s purchasing time frame.
role_in_purchase_processEnumThe registrant’s role in the purchase process.
stateStringThe registrant’s state or province.
statusEnumThe status of the registrant’s registration.
zipStringThe registrant’s ZIP or postal code.
create_timeDate-TimeThe time when the registrant registered.
join_urlStringThe URL that an approved registrant can use to join the meeting or webinar.
webinar_idIntegerId of the webinar

Polls

Polls in a webinar

Column NameData TypeDescription
idStringID of the Poll.
statusEnumStatus of the Poll.
anonymousBooleanAllow meeting participants to answer poll questions anonymously.
poll_typeIntegerThe type of poll.
questionsArrayInformation about the poll’s questions.
titleStringPool’s title
webinar_idIntegerId of the webinar

Participants

list of all the participants who attended a webinar hosted in the past.

Column NameData TypeDescription
idStringThe participant’s unique identifier.
nameStringThe participant’s name.
user_idStringThe participant’s ID assigned upon joining the webinar.
registrant_idStringThe participant’s unique registrant ID. Returns only if the registrant_id value is passed for include_fields query parameter. Does not return if the type query parameter is set to live.
user_emailEmailEmail address of the participant. Returns an empty string if the participant is not part of the host’s account, with some exceptions.
join_timeDateTimeThe participant’s join time.
leave_timeDateTimeThe participant’s leave time.
durationIntegerThe participant’s attendance duration.
failoverBooleanIndicates whether failover occurred during the webinar.
statusEnumThe participant’s status.
total_recordsIntegerThe total number of records available across all pages.
webinar_idIntegerId of the webinar

Absentees

List absentees of a webinar.

Column NameData TypeDescription
idStringRegistrant ID.
addressStringThe registrant’s address.
cityStringThe registrant’s city.
commentsStringThe registrant’s questions and comments.
countryStringThe registrant’s two-letter ISO country code.
custom_questionsArrayInformation about custom questions.
email *EmailThe registrant’s email address. See Email address display rules for return value details.
first_name *StringThe registrant’s first name. Constraints: Max 64 chars.
industryStringThe registrant’s industry.
job_titleStringThe registrant’s job title.
last_nameStringThe registrant’s last name. Constraints: Max 64 chars.
no_of_employeesEnumThe registrant’s number of employees.
orgStringThe registrant’s organization.
phoneStringThe registrant’s phone number.
purchasing_time_frameEnumThe registrant’s purchasing time frame.
role_in_purchase_processEnumThe registrant’s role in the purchase process.
stateStringThe registrant’s state or province.
statusEnumThe status of the registrant’s registration.
zipStringThe registrant’s ZIP or postal code.
create_timeDateTimeThe time when the registrant registered.
join_urlStringThe URL that an approved registrant can use to join the meeting or webinar.
webinar_idStringId of the webinar

Calls

Column NameData TypeDescription
idINTUnique identifier for each call record.
directionVARCHAR(10)Direction of the call (e.g., “inbound”, “outbound”).
internationalBOOLEANIndicates if the call was international (true/false).
departmentVARCHAR(50)Department associated with the call.
durationINTDuration of the call in seconds.
call_idVARCHAR(50)Unique identifier for the call (provided by Zoom or other system).
connect_typeVARCHAR(20)Type of connection (e.g., “PSTN”, “VoIP”).
call_typeVARCHAR(20)Type of call (e.g., “audio”, “video”).
caller_nameVARCHAR(100)Name of the caller.
caller_did_numberVARCHAR(20)Direct Inward Dialing (DID) number of the caller.
caller_number_typeVARCHAR(20)Type of caller’s number (e.g., “mobile”, “landline”).
caller_country_iso_codeVARCHAR(5)ISO country code of the caller’s location.
caller_country_codeVARCHAR(5)Country code of the caller’s phone number.
callee_ext_idVARCHAR(50)Extension ID of the callee (if applicable).
callee_nameVARCHAR(100)Name of the callee.
callee_emailVARCHAR(100)Email address of the callee.
callee_did_numberVARCHAR(20)Direct Inward Dialing (DID) number of the callee.
callee_ext_numberVARCHAR(20)Extension number of the callee (if applicable).
callee_ext_typeVARCHAR(20)Type of callee’s extension (e.g., “internal”, “external”).
callee_number_typeVARCHAR(20)Type of callee’s number (e.g., “mobile”, “landline”).
callee_country_iso_codeVARCHAR(5)ISO country code of the callee’s location.
callee_country_codeVARCHAR(5)Country code of the callee’s phone number.
site_idVARCHAR(50)Identifier for the site associated with the call.
site_nameVARCHAR(100)Name of the site associated with the call.
start_timeDATETIMETimestamp when the call started.
end_timeDATETIMETimestamp when the call ended.
call_resultVARCHAR(50)Result of the call (e.g., “completed”, “missed”, “busy”).
recording_statusVARCHAR(20)Status of the call recording (e.g., “available”, “unavailable”).
load_dateDATETIMETimestamp when the record was loaded into the database.

Meetings

Column NameData TypeDescription
uuidVARCHAR(36)Unique identifier for the meeting (UUID format).
idVARCHAR(50)Unique identifier for the meeting (provided by Zoom or other system).
topicVARCHAR(255)Topic or title of the meeting.
hostVARCHAR(100)Name of the meeting host.
emailVARCHAR(100)Email address of the meeting host.
user_typeVARCHAR(20)Type of user (e.g., “host”, “co-host”, “participant”).
start_timeDATETIMETimestamp when the meeting started.
end_timeDATETIMETimestamp when the meeting ended.
durationINTDuration of the meeting in minutes.
participantsINTNumber of participants in the meeting.
has_pstnBOOLEANIndicates if the meeting had PSTN (Public Switched Telephone Network) users.
has_archivingBOOLEANIndicates if the meeting was archived.
has_voipBOOLEANIndicates if the meeting had VoIP (Voice over IP) users.
has_3rd_party_audioBOOLEANIndicates if the meeting had 3rd-party audio participants.
has_videoBOOLEANIndicates if the meeting had video participants.
has_screen_shareBOOLEANIndicates if screen sharing was used in the meeting.
has_recordingBOOLEANIndicates if the meeting was recorded.
has_sipBOOLEANIndicates if SIP (Session Initiation Protocol) was used in the meeting.
has_manual_captionsBOOLEANIndicates if manual captions were enabled in the meeting.
has_automated_captionsBOOLEANIndicates if automated captions were enabled in the meeting.
has_meeting_summaryBOOLEANIndicates if a meeting summary was generated.
audio_qualityVARCHAR(20)Overall audio quality of the meeting (e.g., “good”, “poor”).
video_qualityVARCHAR(20)Overall video quality of the meeting (e.g., “good”, “poor”).
load_dateDATETIMETimestamp when the record was loaded into the database.

Users

Column NameData TypeDescription
idVARCHAR(50)Unique identifier for the user (provided by Zoom or other system).
first_nameVARCHAR(100)First name of the user.
last_nameVARCHAR(100)Last name of the user.
display_nameVARCHAR(150)Display name of the user (e.g., full name or nickname).
emailVARCHAR(100)Email address of the user.
typeINTType of user (e.g., 1 for basic, 2 for licensed, 3 for on-prem).
pmiVARCHAR(20)Personal Meeting ID (PMI) of the user.
timezoneVARCHAR(50)Timezone of the user.
verifiedBOOLEANIndicates if the user’s email is verified (true/false).
created_atDATETIMETimestamp when the user account was created.
languageVARCHAR(10)Language preference of the user (e.g., “en” for English).
statusVARCHAR(20)Status of the user (e.g., “active”, “inactive”, “pending”).
role_idVARCHAR(50)Identifier for the user’s role (if applicable).
user_created_atDATETIMETimestamp when the user was created (if different from created_at).
last_login_timeDATETIMETimestamp of the user’s last login.
last_client_versionVARCHAR(20)Version of the client used during the user’s last login.
phone_numberVARCHAR(20)Phone number of the user.
deptVARCHAR(100)Department the user belongs to.
employee_unique_idVARCHAR(50)Unique identifier for the employee (if applicable).
pic_urlVARCHAR(255)URL of the user’s profile picture.
load_dateDATETIMETimestamp when the record was loaded into the database.

Call logs

column_namedata_typedescription
idBIGINTUnique identifier for the call record.
directionVARCHAR(20)Direction of the call (e.g., inbound, outbound).
internationalBOOLEANIndicates if the call was international.
durationINTDuration of the call (in seconds).
call_idVARCHAR(50)Unique identifier for the specific call instance.
connect_typeVARCHAR(20)Type of connection for the call.
call_typeVARCHAR(20)Type of the call (e.g., voice, video).
caller_nameVARCHAR(100)Name of the caller.
caller_did_numberVARCHAR(20)Dialed number identification of the caller.
caller_number_typeVARCHAR(20)Type of the caller’s number (e.g., mobile, landline).
caller_country_iso_codeVARCHAR(3)ISO code of the caller’s country.
caller_country_codeINTCountry code of the caller.
callee_ext_idBIGINTExtension ID of the callee.
callee_nameVARCHAR(100)Name of the callee.
callee_did_numberVARCHAR(20)Dialed number identification of the callee.
callee_ext_numberVARCHAR(20)Extension number of the callee.
callee_ext_typeVARCHAR(20)Type of the callee’s extension.
callee_number_typeVARCHAR(20)Type of the callee’s number (e.g., mobile, landline).
callee_country_iso_codeVARCHAR(3)ISO code of the callee’s country.
callee_country_codeINTCountry code of the callee.
site_idBIGINTIdentifier for the site associated with the call.
site_nameVARCHAR(100)Name of the site associated with the call.
start_timeDATETIMETime when the call started.
answer_timeDATETIMETime when the call was answered.
end_timeDATETIMETime when the call ended.
call_resultVARCHAR(20)Result of the call (e.g., connected, missed).
recording_statusVARCHAR(20)Status of the call recording.
departmentVARCHAR(100)Department associated with the call.
caller_ext_idBIGINTExtension ID of the caller.
caller_emailVARCHAR(100)Email address of the caller.
caller_ext_numberVARCHAR(20)Extension number of the caller.
caller_ext_typeVARCHAR(20)Type of the caller’s extension.
caller_device_typeVARCHAR(50)Type of device used by the caller.
callee_emailVARCHAR(100)Email address of the callee.
spamBOOLEANIndicates if the call was identified as spam.
group_idBIGINTIdentifier for the group associated with the call.
callee_employee_idBIGINTEmployee ID of the callee.
caller_employee_idBIGINTEmployee ID of the caller.
load_dateDATETIMEDate when the call record was loaded into the system.

Call Logs Detail

column_namedata_typedescription
idBIGINTUnique identifier for the call record.
directionVARCHAR(20)Direction of the call (e.g., inbound, outbound).
internationalBOOLEANIndicates if the call was international.
durationINTDuration of the call (in seconds).
call_idVARCHAR(50)Unique identifier for the specific call instance.
connect_typeVARCHAR(20)Type of connection for the call.
call_typeVARCHAR(20)Type of the call (e.g., voice, video).
caller_nameVARCHAR(100)Name of the caller.
caller_did_numberVARCHAR(20)Dialed number identification of the caller.
caller_number_typeVARCHAR(20)Type of the caller’s number (e.g., mobile, landline).
caller_country_iso_codeVARCHAR(3)ISO code of the caller’s country.
caller_country_codeINTCountry code of the caller.
callee_ext_idBIGINTExtension ID of the callee.
callee_nameVARCHAR(100)Name of the callee.
callee_emailVARCHAR(100)Email address of the callee.
callee_did_numberVARCHAR(20)Dialed number identification of the callee.
callee_ext_numberVARCHAR(20)Extension number of the callee.
callee_ext_typeVARCHAR(20)Type of the callee’s extension.
callee_number_typeVARCHAR(20)Type of the callee’s number (e.g., mobile, landline).
callee_country_iso_codeVARCHAR(3)ISO code of the callee’s country.
callee_country_codeINTCountry code of the callee.
site_idBIGINTIdentifier for the site associated with the call.
site_nameVARCHAR(100)Name of the site associated with the call.
start_timeDATETIMETime when the call started.
end_timeDATETIMETime when the call ended.
answer_timeDATETIMETime when the call was answered.
caller_ext_idBIGINTExtension ID of the caller.
caller_emailVARCHAR(100)Email address of the caller.
caller_ext_numberVARCHAR(20)Extension number of the caller.
caller_ext_typeVARCHAR(20)Type of the caller’s extension.
caller_device_typeVARCHAR(50)Type of device used by the caller.
departmentVARCHAR(100)Department associated with the call.
caller_employee_idBIGINTEmployee ID of the caller.
callee_employee_idBIGINTEmployee ID of the callee.
load_dateDATETIMEDate when the call record was loaded into the system.

Call Logs Paths

column_namedata_typedescription
idBIGINTUnique identifier for the event record.
directionVARCHAR(20)Direction of the event (e.g., inbound, outbound).
internationalBOOLEANIndicates if the event was international.
eventVARCHAR(50)Type or name of the event.
resultVARCHAR(50)Result of the event.
nodeVARCHAR(100)Node or server involved in the event.
segmentVARCHAR(50)Segment or part of the system related to the event.
call_idVARCHAR(50)Unique identifier for the call instance.
connect_typeVARCHAR(20)Type of connection for the event.
call_typeVARCHAR(20)Type of the call (e.g., voice, video).
caller_nameVARCHAR(100)Name of the caller.
caller_did_numberVARCHAR(20)Dialed number identification of the caller.
caller_number_typeVARCHAR(20)Type of the caller’s number (e.g., mobile, landline).
caller_country_iso_codeVARCHAR(3)ISO code of the caller’s country.
caller_country_codeINTCountry code of the caller.
callee_ext_idBIGINTExtension ID of the callee.
callee_nameVARCHAR(100)Name of the callee.
callee_emailVARCHAR(100)Email address of the callee.
callee_did_numberVARCHAR(20)Dialed number identification of the callee.
callee_ext_numberVARCHAR(20)Extension number of the callee.
callee_ext_typeVARCHAR(20)Type of the callee’s extension.
callee_number_typeVARCHAR(20)Type of the callee’s number (e.g., mobile, landline).
callee_device_typeVARCHAR(50)Type of device used by the callee.
callee_country_iso_codeVARCHAR(3)ISO code of the callee’s country.
callee_country_codeINTCountry code of the callee.
site_idBIGINTIdentifier for the site associated with the event.
site_nameVARCHAR(100)Name of the site associated with the event.
start_timeDATETIMETime when the event started.
end_timeDATETIMETime when the event ended.
operator_ext_numberVARCHAR(20)Extension number of the operator.
operator_ext_idBIGINTExtension ID of the operator.
operator_ext_typeVARCHAR(20)Type of the operator’s extension.
operator_nameVARCHAR(100)Name of the operator.
is_nodeBOOLEANIndicates if the event is associated with a node.
device_private_ipVARCHAR(20)Private IP address of the device involved.
device_public_ipVARCHAR(20)Public IP address of the device involved.
talk_timeINTTalk time duration (in seconds).
hold_timeINTHold time duration (in seconds).
wait_timeINTWait time duration (in seconds).
call_log_idVARCHAR(50)Identifier for the call log.
answer_timeDATETIMETime when the event was answered.
voicemail_idVARCHAR(50)Identifier for the voicemail associated with the event.
result_reasonVARCHAR(100)Reason for the event’s result.
caller_ext_idBIGINTExtension ID of the caller.
caller_emailVARCHAR(100)Email address of the caller.
caller_ext_numberVARCHAR(20)Extension number of the caller.
caller_ext_typeVARCHAR(20)Type of the caller’s extension.
caller_device_typeVARCHAR(50)Type of device used by the caller.
departmentVARCHAR(100)Department associated with the event.
press_keyVARCHAR(10)Key pressed during the event (e.g., in IVR).
recording_idVARCHAR(50)Identifier for the recording.
recording_typeVARCHAR(20)Type of recording.
caller_employee_idBIGINTEmployee ID of the caller.
callee_employee_idBIGINTEmployee ID of the callee.
ai_call_summary_idVARCHAR(50)Identifier for the AI call summary.
load_dateDATETIMEDate when the event record was loaded into the system.

Users Info

column_namedata_typedescription
idBIGINTUnique identifier for the user record.
first_nameVARCHAR(100)User’s first name.
last_nameVARCHAR(100)User’s last name.
display_nameVARCHAR(200)User’s display name, potentially a combination of first/last.
emailVARCHAR(255)User’s email address.
typeVARCHAR(50)User’s type or classification.
role_nameVARCHAR(100)Name of the user’s role or permission level.
pmiBIGINTPersonal Meeting ID (likely numerical).
use_pmiBOOLEANIndicates if the user uses their Personal Meeting ID.
personal_meeting_urlVARCHAR(255)URL for the user’s Personal Meeting.
timezoneVARCHAR(100)User’s timezone.
verifiedBOOLEANIndicates if the user’s account is verified.
deptVARCHAR(100)User’s department.
created_atDATETIMEDate and time the user account was created.
last_login_timeDATETIMEDate and time of the user’s last login.
cms_user_idVARCHAR(100)CMS (Content Management System) User ID.
jidVARCHAR(255)User’s Jabber ID or similar messaging identifier.
group_idsVARCHAR(255)Comma-separated or JSON array of group IDs the user belongs to.
im_group_idsVARCHAR(255)IM (Instant Messaging) Group IDs the user belongs to.
account_idBIGINTAccount ID associated with the user.
languageVARCHAR(50)User’s preferred language.
phone_countryVARCHAR(50)User’s phone country.
phone_numberVARCHAR(50)User’s phone number.
statusVARCHAR(50)User’s status (e.g., active, inactive).
job_titleVARCHAR(100)User’s job title.
cost_centerVARCHAR(100)User’s cost center.
companyVARCHAR(100)User’s company.
locationVARCHAR(100)User’s location.
login_typesVARCHAR(255)Comma-separated or JSON array of user’s login types.
role_idBIGINTID of the user’s role.
account_numberVARCHAR(50)Account number associated with the user.
clusterVARCHAR(50)Cluster the user is associated with.
zoom_one_typeVARCHAR(50)Type of Zoom One subscription or service.
user_created_atDATETIMEAnother field possibly capturing user creation timestamp.
last_client_versionVARCHAR(50)Version of the client last used by the user.
pic_urlVARCHAR(255)URL of the user’s profile picture.
phone_numbersVARCHAR(255)Comma-separated or JSON array of user’s phone numbers.
vanity_urlVARCHAR(255)Vanity URL associated with the user’s profile.
load_dateDATETIMEDate when the user record was loaded into the system.

Phone Users

column_namedata_typedescription
idBIGINTUnique identifier for the user phone record.
phone_user_idBIGINTIdentifier for the user’s phone service within the system.
emailVARCHAR(255)Email address associated with the phone user.
extension_idBIGINTIdentifier for the user’s phone extension.
extension_numberVARCHAR(20)Number of the user’s phone extension.
statusVARCHAR(50)Status of the user’s phone service (e.g., active, inactive).
calling_plansVARCHAR(255)Comma-separated or JSON array of calling plans assigned.
phone_numbersVARCHAR(255)Comma-separated or JSON array of phone numbers associated.
site_idBIGINTIdentifier for the site the user’s phone service is on.
site_adminBOOLEANIndicates if the user is a site administrator.
emergency_address.idBIGINTIdentifier for the user’s emergency address.
emergency_address.countryVARCHAR(50)Country of the user’s emergency address.
emergency_address.address_line1VARCHAR(255)First line of the user’s emergency address.
emergency_address.address_line2VARCHAR(255)Second line of the user’s emergency address (if applicable).
emergency_address.cityVARCHAR(100)City of the user’s emergency address.
emergency_address.state_codeVARCHAR(10)State or region code of the user’s emergency address.
emergency_address.zipVARCHAR(20)ZIP or postal code of the user’s emergency address.
departmentVARCHAR(100)Department associated with the user.
policyObjectPolicy object of the user
load_dateDATETIMEDate when the user record was loaded into the system.

Call Logs Metrics

column_namedata_typedescription
call_log_idVARCHAR(50)Unique identifier for the call log record.
total_timeINTTotal duration of the call (in seconds).
inbound_timeINTDuration of the inbound portion of the call (in seconds).
outbound_timeINTDuration of the outbound portion of the call (in seconds).
hold_timeINTTotal time the call was placed on hold (in seconds).
wait_timeINTTotal time the caller waited before connection (in seconds).
abandonedBOOLEANIndicates if the call was abandoned.
voicemailBOOLEANIndicates if the call went to voicemail.
transfersINTNumber of times the call was transferred.
holdsINTNumber of times the call was placed on hold.

We can fetch more tables based on the requirement like

  • Panelists
  • Past webinar pools
  • Meetings
  • Billing reports