Zoom Phone

Prev Next

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 $endpoint Paginate? $url_parameters $data_key
Auto Receptionists auto_receptionists auto_receptionists Y page_size=100 auto_receptionists
Billing Accounts billing_accounts billing_accounts N billing_accounts
Blocked List blocked_list blocked_list Y page_size=100 blocked_list
Call History call_history call_history Y page_size=300&from=<<date_format(date_add({incval}, 'days', -1),'%Y-%m-%d')>>&to=<<date_format(utcnow(),'%Y-%m-%d')>> call_logs
Common Areas common_areas common_areas Y page_size=100 common_areas
Roles roles roles N roles
Shared Line Groups shared_line_groups shared_line_groups Y page_size=300 shared_line_groups
Sites sites sites Y page_size=300 sites
SMS Campaigns sms_campaigns sms_campaigns Y page_size=300 sms_campaigns
Users users users Y page_size=100 users

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 name Variable 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 name Column value
lastTimeSucceed $incremental_starting_value