Zoom Phone
  • 15 Aug 2024
  • 3 Minutes to read
  • Dark
    Light
  • PDF

Zoom Phone

  • Dark
    Light
  • PDF

Article summary

Zoom Phone API

API Documentation Link


Configuration Parameters

Any instance where an entry in the below configuration has a leading $ represents a parameter that needs to be replaced with a static value.

Parameters in this document:

  • $client_id and $client_secret - The Client ID and Client Secret will be used to authenticate calls to the Zoom Phone API. To create these, you will need to Create an OAuth application, and documentation on how to do this can be found here. Make sure that when registering your application, the Redirect URL value is set to https://platform.panoply.io/sources/callback.html. Upon successful registration, you will be provided with a Client ID and Client Secret.
  • $resource_name - The Resource Name represents the name of the resource to be appended and used as part of the Destination Table name. The value that should be used here can be found in the API Resources table below.
  • $endpoint - The Endpoint represents the data that you would like to ingest into Panoply from the Zoom Phone API. The value that should be used here can be found in the API Resources table below.
  • $url_parameters - The URL Parameters are used to further specify the a given API call, such as limiting the number of results per page or the timeframe for which data should be collected. The value that should be used here can be found in the API Resources table below.
  • $data_key - The Data Key represents the location of the data in the API response from Zoom Phone. The value that should be used here can be found in the API Resources table below.
  • $incremental_starting_value - The Incremental Starting Value represents the earliest date that data should be collected for, given in yyyy-mm-DD format. For example, if you would like your historical data to go back to the start of 2021, this value would be set to 2021-01-01.

API Resources

For a list of API Resources available for the Zoom Phone API, please refer to the list of endpoints found below:

Resource$resource_name$endpointPaginate?$url_parameters$data_key
Auto Receptionistsauto_receptionistsauto_receptionistsYpage_size=100auto_receptionists
Billing Accountsbilling_accountsbilling_accountsNbilling_accounts
Blocked Listblocked_listblocked_listYpage_size=100blocked_list
Call Historycall_historycall_historyYpage_size=300&from=<<date_format(date_add({incval}, 'days', -1),'%Y-%m-%d')>>&to=<<date_format(utcnow(),'%Y-%m-%d')>>call_logs
Common Areascommon_areascommon_areasYpage_size=100common_areas
RolesrolesrolesNroles
Shared Line Groupsshared_line_groupsshared_line_groupsYpage_size=300shared_line_groups
SitessitessitesYpage_size=300sites
SMS Campaignssms_campaignssms_campaignsYpage_size=300sms_campaigns
UsersusersusersYpage_size=100users

Connector configuration

  • Base url: https://api.zoom.us/v2/users/phone/$endpoint
  • Method: GET
  • URL Parameters: $url_parameters

Destination Table naming convention is ultimately up to you as the data owner. One common structure used for the Zoom Phone API is zoom_phone_$resource_name

Authorization

When creating multiple connectors in Panoply to ingest different Resources, be sure to go through the Authorization outlined below rather than cloning an existing connector. This will ensure that a different set of refresh credentials are used, and thus the connectors can all run successfully without revoking each other’s access.

  • Authorization: OAuth2
  • Authorization URL: https://zoom.us/oauth/authorize
  • Access Token URL: https://zoom.us/oauth/token
  • Client Id: {client_id}
  • Client Secret: {client_secret}
  • Scope: phone:read:admin
  • Access Token header key: Authorization
  • Token prefix: Bearer
  • Add to: Headers
    • Refresh access token
      • Enable: Checkbox.png
      • Use refresh token once: Checkbox.png
      • URL: https://zoom.us/oauth/token
      • Method: POST
      • URL Parameters: grant_type=refresh_token&client_id={client_id}&client_secret={client_secret}
      • Headers: {"Host": "zoom.us"}
      • Access token response key: access_token
      • Refresh token response key: refresh_token
      • Use Bearer authentication: Checkbox.png
      • Error status codes: 401; 403

Variables

Variable nameVariable value
client_id$client_id
client_secret$client_secret

Pagination

Only applies to resources listed in the API Resources table above where the Pagination column is Y.

  • Enable: Checkbox.png
  • Get next page value: Dynamic (next page value included in the response)
  • Next page key in response: next_page_token
  • Use next page value: As a URL parameter value
  • URL/body key: next_page_token
  • Stop iterating when: No next page in response

Advanced Settings

  • Data key: $data_key
Incremental Key

The Incremental Key is only applicable to the Call History resource.

Column nameColumn value
lastTimeSucceed$incremental_starting_value

Was this article helpful?

What's Next