Now Available: Zoom AI Services Summarizer & Translator APIs.
APIsMCPBlogChangelogAgent Skills
Help
/
Phone
APIMaster APIWebhooks
View as MarkdownDownload OpenAPI
APIsMCPBlogChangelogAgent SkillsHelp
Theme

Phone Webhooks

  • OpenAPI Version: 3.1.1
  • API Version: 1.0.0

The Zoom Phone webhooks allow developers to receive events for Zoom Phone features.

Servers

  • URL: https://{your-endpoint-url}

Operations

phone.recording_deleted

  • Method: POST
  • Path: phone.recording_deleted
  • Tags: webhook

The Call recording has been deleted event triggers when a recording has been deleted.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • Call recording has been deleted subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.recording_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The ID of the account to which the recording belongs.

    • object (required)

      object

      • recordings (required)

        array

        Items:
        • call_id (required)

          string — The call ID.

        • id (required)

          string — The recording ID.

Example:

{
  "event": "phone.recording_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "recordings": [
        {
          "id": "",
          "call_id": ""
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.caller_call_log_completed

  • Method: POST
  • Path: phone.caller_call_log_completed
  • Tags: webhook

The Caller call log is completed event triggers every time the outgoing call log record for a call is made available for the Caller to view.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
      • "Caller call log is completed" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.caller_call_log_completed" — Event name.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — Account ID of the caller.

    • object (required)

      object

      • call_logs (required)

        array

        Items:
        • call_id (required)

          string — Unique identifier of the call.

        • call_type (required)

          string, possible values: "voip", "pstn", "tollfree", "international", "contactCenter" — The type of call: * `voip` (Voice over IP) * `pstn` (Public Switched Telephone Network) * `tollfree` * `international` * `contactCenter`

        • callee_number (required)

          string — Phone number of the callee.

        • callee_number_type (required)

          integer, possible values: 1, 2, 3 — The callee's phone number type: * `1` — extension number. * `2` — phone number. * `3` — Customized emergency number.

        • caller_number (required)

          string — Phone number of the caller.

        • caller_number_type (required)

          integer, possible values: 1, 2 — Phone number type of the caller. The value can be one of the following: * `1` - extension number. * `2` - phone number.

        • date_time (required)

          string, format: date-time — Start date and time of the call.

        • has_voicemail (required)

          boolean — Indicates whether the call log includes voicemail or not.

        • id (required)

          string — Unique Identifier of the call log.

        • path (required)

          string — Path of the call log.

        • result (required)

          string — Status of the call.

        • call_end_time

          string, format: date-time — End time of the call.

        • callee_country_code

          string — Callee's country code.

        • callee_country_iso_code

          string — ISO alpha2 country code.

        • callee_did_number

          string — Callee's DID number.

        • callee_location

          string — Location of the callee.

        • callee_name

          string — Name of the callee.

        • callee_number_source

          string, possible values: "internal", "external", "byop" — Phone number source of the caller. The value can be one of the following: * `internal` - ZP native. * `external` — BYOC or Provider Exchange. * `byop` — Premise peering. Not available when `callee_number_type = 1`.

        • caller_country_code

          string — Caller's country code.

        • caller_country_iso_code

          string — ISO alpha2 country code.

        • caller_did_number

          string — Caller's DID number.

        • caller_location

          string — Location of the caller.

        • caller_name

          string — Name of the caller.

        • caller_number_source

          string, possible values: "internal", "external", "byop" — Phone number source of the caller. The value can be one of the following: * `internal` - ZP native. * `external` — BYOC or Provider Exchange. * `byop` — Premise peering. Not available when `caller_number_type = 1`.

        • client_code

          string — Client code.

        • cost_center

          string — Cost center name.

        • department

          string — Department name.

        • direction

          string, possible values: "inbound", "outbound" — Direction of the call. The value of this field can either be `inbound` or `outbound`.

        • duration

          integer — Duration of the call.

        • forwarded_by

          object — Indicates where the call was forwarded from.

          • extension_number

            string

          • extension_type

            string, possible values: "user", "callQueue", "autoReceptionist", "sharedLineGroup"

          • location

            string

          • name

            string

          • number_type

            integer — Phone number types: `1` - Extension `2`- E164 number `3` - Custom number.

          • phone_number

            string

        • forwarded_to

          object — Indicates who the call was forwarded to.

          • extension_number

            string

          • extension_type

            string, possible values: "user", "callQueue", "autoReceptionist", "sharedLineGroup", "pstn"

          • location

            string

          • name

            string

          • number_type

            integer — Phone number types: `1` - Extension `2`- E164 number `3` - Custom number.

          • phone_number

            string

        • has_recording

          boolean — Indicates whether the call log includes recording or not.

        • hold_time

          integer — Hold time during a call in seconds.

        • recording_id

          string — ID of this recording.

        • recording_type

          string — Recording type of the call. This value field can be `OnDemand` or `Automatic`.

        • site

          object

          • id

            string — The phone number's assigned target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites). Sites allow you to organize the phone users in your organization. For example, sites created and based on different office locations.

      • user_id (required)

        string — User Id of the caller.

Example:

{
  "event": "phone.caller_call_log_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_logs": [
        {
          "id": "",
          "caller_number": "",
          "caller_number_type": 1,
          "caller_number_source": "internal",
          "caller_name": "",
          "caller_location": "",
          "caller_did_number": "",
          "caller_country_code": "",
          "caller_country_iso_code": "",
          "callee_number": "",
          "callee_number_type": 1,
          "callee_number_source": "internal",
          "callee_name": "",
          "callee_location": "",
          "callee_did_number": "",
          "callee_country_code": "",
          "callee_country_iso_code": "",
          "duration": 1,
          "result": "",
          "date_time": "",
          "path": "",
          "site": {
            "id": ""
          },
          "has_recording": true,
          "recording_id": "",
          "recording_type": "",
          "has_voicemail": true,
          "call_id": "",
          "client_code": "",
          "call_type": "voip",
          "call_end_time": "",
          "direction": "inbound",
          "forwarded_to": {
            "extension_number": "",
            "extension_type": "user",
            "location": "",
            "name": "",
            "number_type": 1,
            "phone_number": ""
          },
          "forwarded_by": {
            "extension_number": "",
            "extension_type": "user",
            "location": "",
            "name": "",
            "number_type": 1,
            "phone_number": ""
          },
          "hold_time": 1,
          "department": "",
          "cost_center": ""
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.recording_completed_for_access_member

  • Method: POST
  • Path: phone.recording_completed_for_access_member
  • Tags: webhook

The Call recording is completed for access member event triggers when a recording of a Zoom phone call completes. The access members of the recording owner will receive this event.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • The Call recording is completed for access member subscription enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.recording_completed_for_access_member" — Event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who recorded the call.

    • object (required)

      object

      • recordings (required)

        array

        Items:
        • callee_name (required)

          string — The name of the callee.

        • callee_number (required)

          string — The phone number of the callee.

        • callee_number_type (required)

          integer, possible values: 1, 2 — The phone number type of the callee. The value can be one of the following: * `1` - internal * `2` - external

        • caller_number (required)

          string — The phone number of the caller.

        • caller_number_type (required)

          integer, possible values: 1, 2 — The phone number type of the caller. The value can be one of the following: * `1` - internal * `2` - external

        • date_time (required)

          string, format: date-time — The start date and time of the call.

        • direction (required)

          string, possible values: "inbound", "outbound" — The direction of the call. The value of this field can either be `inbound` or `outbound`.

        • download_url (required)

          string — The URL to download the call recording. To download the recording via this URL, you must add an “access_token” query parameter to the download URL and provide either the user's OAuth access token or your app's **JWT** as the value of the “access_token” parameter. For example, if the value of this field is "https://zoom.us/v2/phone/recording/download/abcD666T”, the complete URL path to download the recording will be as below: `https://zoom.us/v2/phone/recording/download/abcD666T?access_token={YOUR_ACCESS_TOKEN_HERE}`

        • duration (required)

          integer — The duration of the call in seconds.

        • id (required)

          string — The recording ID is the unique Identifier of the call recording.

        • accepted_by

          object — The call-receiving user. The current recording must belong to the receiver and call queue for it to be available.

          • extension_number

            string — The user extension number.

          • name

            string — User name

        • call_element_id

          string — The call element ID.

        • call_history_id

          string — Use `call_element_id` instead. The call history ID.

        • call_id

          string — The unique identifier of the call.

        • call_log_id

          string — The call log ID. <b>Deprecated:</b> This is the legacy call log ID. Zoom will stop producing legacy call log data in a future release, and the associated [Get call log details](https://developers.zoom.us/docs/api/phone/#tag/call-logs/get/phone/call_logs/{callLogId}) API has also been deprecated. As an alternative, use `call_element_id` together with the call element / call history APIs.

        • callee_account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • callee_did_number

          string — The callee's DID number.

        • caller_account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • caller_did_number

          string — The caller's DID number.

        • caller_name

          string — The name of the caller.

        • end_time

          string, format: date-time — The recording's end time.

        • outgoing_by

          object — The call-initiating user. The current recording must belong to the initiator and call queue for it to be available.

          • extension_number

            string — The user's extension number.

          • name

            string — The user name.

        • owner

          object — The owner of the call.

          • id (required)

            string — The owner ID.

          • name (required)

            string — The owner name.

          • type (required)

            string — The owner type. This value field can be `user` or `callQueue`.

          • extension_number

            integer — The extension number of the owner

          • has_access_permission

            boolean — Whether the owner has the access permission to this recording.

        • recording_type

          string — The recording type of the call. This value field can be `OnDemand` or `Automatic`.

        • site

          object — The site of the call.

          • id

            string — The site ID of the call.

        • user_id

          string — The unique identifier of the user.

Example:

{
  "event": "phone.recording_completed_for_access_member",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "recordings": [
        {
          "id": "",
          "caller_account_code": "",
          "caller_number": "",
          "caller_number_type": 1,
          "caller_name": "",
          "caller_did_number": "",
          "callee_account_code": "",
          "callee_number": "",
          "callee_number_type": 1,
          "callee_name": "",
          "callee_did_number": "",
          "duration": 1,
          "download_url": "",
          "date_time": "",
          "user_id": "",
          "call_id": "",
          "call_element_id": "",
          "end_time": "",
          "recording_type": "",
          "site": {
            "id": ""
          },
          "owner": {
            "type": "",
            "id": "",
            "name": "",
            "extension_number": 1,
            "has_access_permission": true
          },
          "direction": "inbound",
          "outgoing_by": {
            "name": "",
            "extension_number": ""
          },
          "accepted_by": {
            "name": "",
            "extension_number": ""
          }
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.recording_resumed

  • Method: POST
  • Path: phone.recording_resumed
  • Tags: webhook

The Call recording has resumed event triggers when the owner resumes the recording during a phone call.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • Call recording has resumed subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — Unique identifier of the call.

      • callee_number (required)

        string — Phone number or the extension number of the callee.

      • caller_number (required)

        string — Phone number or the extension number of the caller.

      • date_time (required)

        string, format: date-time — The time and date when the recording has resumed.

      • direction (required)

        string, possible values: "inbound", "outbound" — Direction of the call: `inbound` or `outbound`.

      • id (required)

        string — The recording ID.

      • owner (required)

        object — The owner of the recording.

        • extension_number (required)

          integer — Extension number of the owner

        • id (required)

          string — The owner ID.

        • name (required)

          string — Display name of the owner.

        • type (required)

          string, possible values: "user", "callQueue", "commonArea" — The owner type: `user` or `callQueue`.

      • recording_type (required)

        string, possible values: "OnDemand", "Automatic" — The type of the recording: `OnDemand` or `Automatic`.

      • user_id (required)

        string — The user ID.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "",
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "user_id": "",
      "caller_account_code": "",
      "caller_number": "",
      "callee_account_code": "",
      "callee_number": "",
      "direction": "inbound",
      "date_time": "",
      "recording_type": "OnDemand",
      "call_id": "",
      "owner": {
        "type": "user",
        "id": "",
        "name": "",
        "extension_number": 1,
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    }
  },
  "event_ts": 1
}

Responses

Status: 200 Successfully received the webhook event.

phone.fax_log_deleted

  • Method: POST
  • Path: phone.fax_log_deleted
  • Tags: Fax

The Fax Log Deleted event triggers when one or more fax logs are deleted from a Zoom Phone account.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • Fax Log Deleted subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.fax_log_deleted" — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp, in milliseconds since epoch, at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The owner account ID.

    • object (required)

      object — object

      • fax_logs (required)

        array — The deleted fax logs information.

        Items:
        • fax_log_id (required)

          string — The unique fax log ID.

Example:

{
  "event": "phone.fax_log_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "fax_logs": [
        {
          "fax_log_id": ""
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.whatsapp_message_sent_failed

  • Method: POST
  • Path: phone.whatsapp_message_sent_failed
  • Tags: webhook

The WhatsApp message sent failed from Zoom phone event triggers when a user account fails to send the WhatsApp message. The sender must either be a user on your account or a user of your webhook-enabled app.

Prerequisites

  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • WhatsApp message sent failed from Zoom phone subscription enabled under the Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.whatsapp_message_sent_failed" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The payload of the WhatsApp message that failed to be sent.

      • attachments (required)

        array — The media file information.

        Items:
        • download_url (required)

          string — The URL to download the file.

        • file_id (required)

          string — The unique identifier for a media file.

        • name (required)

          string — The name of the file.

        • size (required)

          integer — The size of the file in bytes.

        • type (required)

          string, possible values: "JPG", "JPEG", "PNG", "GIF", "PDF" — The type of file.

      • date_time (required)

        string, format: date-time — The date and time at which the WhatsApp message was sent.

      • message (required)

        string — The WhatsApp message text content.

      • message_id (required)

        string — The WhatsApp message ID.

      • recipient (required)

        object — The WhatsApp message recipient.

        • phone_number (required)

          string — The WhatsApp message recipient's phone number.

      • sender (required)

        object — The WhatsApp message sender.

        • phone_number (required)

          string — The WhatsApp message sender's phone number.

        • display_name

          string — The WhatsApp message sender's display name.

        • id

          string — The WhatsApp message sender's ID.

        • type

          string, possible values: "user" — The type of sender: * `user`.

      • session_id (required)

        string — The WhatsApp message session ID.

      • failure_reason

        string — The reason for a WhatsApp message send failure.

Example:

{
  "event": "phone.whatsapp_message_sent_failed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "sender": {
        "phone_number": "",
        "id": "",
        "type": "user",
        "display_name": "",
        "additionalProperty": "anything"
      },
      "recipient": {
        "phone_number": "",
        "additionalProperty": "anything"
      },
      "message": "",
      "attachments": [
        {
          "file_id": "",
          "size": 1,
          "name": "",
          "type": "JPG",
          "download_url": "",
          "additionalProperty": "anything"
        }
      ],
      "session_id": "",
      "message_id": "",
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.fax_log_permanently_deleted

  • Method: POST
  • Path: phone.fax_log_permanently_deleted
  • Tags: Fax

The Fax Log Permanently Deleted event triggers when one or more fax logs are permanently deleted from a Zoom Phone account.

This event occurs when fax logs are removed permanently, typically after being deleted from the trash or recycle bin.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • Fax Log Permanently Deleted subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.fax_log_permanently_deleted" — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp, in milliseconds since epoch, at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The owner account ID.

    • object (required)

      object — object

      • fax_logs (required)

        array — The list of permanently deleted fax logs.

        Items:
        • fax_log_id (required)

          string — The unique fax log ID.

Example:

{
  "event": "phone.fax_log_permanently_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "fax_logs": [
        {
          "fax_log_id": ""
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.transfer_recipient_updated

  • Method: POST
  • Path: phone.transfer_recipient_updated
  • Tags: webhook

The Recipient of warm/blind transfer call updated event triggers when the recipient of warm/blind transfer call is updated, to inform that the call connector has changed.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • "Recipient of warm/blind transfer call updated" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch when the event occurred, in `int64` format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The unique identifier for the call.

      • date_time (required)

        string — The date and time (GMT) when the recipient of the warm/blind transfer call was updated, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • recipient (required)

        object — The recipient who received the warm/blind transfer call from the event owner.

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_number

          integer, format: int64 — The recipient's extension number.

        • name

          string — The name of the recipient.

        • phone_number

          string — The phone number of the recipient in E164 format.

      • failure_reason

        string — The reason why the recipient update for the warm/blind transfer call failed. An empty string indicates success.

      • owner

        object — The owner of this event.

        • extension_number

          integer, format: int64 — The owner's extension number.

        • id

          string — The unique identifier for the owner.

        • name

          string — The name of the owner.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the owner.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "call_id": "",
      "owner": {
        "extension_number": "1001019",
        "id": "z8yCxjabcdEFGHfp8uQ",
        "name": "Tom Jones",
        "type": "user"
      },
      "recipient": {
        "extension_number": "1001020",
        "phone_number": "+12192818492",
        "name": "Jane Smith",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.recording_transcript_completed

  • Method: POST
  • Path: phone.recording_transcript_completed
  • Tags: webhook

The Call recording transcription is complete event triggers when a transcription of a call recording has completed.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • "Call recording transcription is complete" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.recording_transcript_completed" — Event name.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — Account ID of the user who recorded the call.

    • object (required)

      object

      • recordings (required)

        array

        Items:
        • callee_name (required)

          string — Name of the callee.

        • callee_number (required)

          string — Phone number of the callee.

        • callee_number_type (required)

          integer, possible values: 1, 2 — Phone number type of the callee. The value can be one of the following: * `1` - internal * `2` - external

        • caller_number (required)

          string — Phone number of the caller.

        • caller_number_type (required)

          integer, possible values: 1, 2 — Phone number type of the caller. The value can be one of the following: * `1` - internal * `2` - external

        • date_time (required)

          string, format: date-time — Start date and time of the call.

        • direction (required)

          string, possible values: "inbound", "outbound" — Direction of the call. The value of this field can either be `inbound` or `outbound`.

        • id (required)

          string — Recording ID: Unique Identifier of the call recording.

        • transcript_download_url (required)

          string — URL using which the call recording transcript can be downloaded. To download the recording transcript via this URL, you must add an “access_token” query parameter to the download URL and provide either the user's OAuth access token or your app's **JWT** as the value of the “access_token” parameter. For example, if the value of this field is "https://zoom.us/v2/phone/recording_transcript/download/abcD666T”, the complete URL path to download the recording trancsript will be as below: `https://zoom.us/v2/phone/recording_transcript/download/abcD666T?access_token={YOUR_ACCESS_TOKEN_HERE}`

        • accepted_by

          object — The call-receiving user. The current recording must belong to the receiver and call queue for it to be available.

          • extension_number

            string — User extension number

          • name

            string — User name

        • call_id

          string — Unique identifier of the call.

        • call_log_id

          string — Call log id.

        • callee_account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • caller_account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • caller_name

          string — Name of the caller.

        • duration

          integer — Duration of the call in seconds.

        • end_time

          string, format: date-time — The recording's end time.

        • outgoing_by

          object — The call-initiating user. The current recording must belong to the initiator and call queue for it to be available.

          • extension_number

            string — User extension number

          • name

            string — User name

        • owner

          object — Owner of the call.

          • id (required)

            string — Owner id.

          • name (required)

            string — Owner name.

          • type (required)

            string — Owner type. This value field can be `user` or `callQueue`.

          • extension_number

            integer — Extension number of the owner

        • recording_type

          string — Recording type of the call. This value field can be `OnDemand` or `Automatic`.

        • site

          object — Site of the call.

          • id (required)

            string — Site ID of the call.

        • user_id

          string — Unique identifier of the user.

Example:

{
  "event": "phone.recording_transcript_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "recordings": [
        {
          "id": "",
          "caller_account_code": "",
          "caller_number": "",
          "caller_number_type": 1,
          "caller_name": "",
          "callee_account_code": "",
          "callee_number": "",
          "callee_number_type": 1,
          "callee_name": "",
          "duration": 1,
          "transcript_download_url": "",
          "date_time": "",
          "user_id": "",
          "call_id": "",
          "call_log_id": "",
          "end_time": "",
          "recording_type": "",
          "site": {
            "id": ""
          },
          "owner": {
            "type": "",
            "id": "",
            "name": "",
            "extension_number": 1
          },
          "direction": "inbound",
          "outgoing_by": {
            "name": "",
            "extension_number": ""
          },
          "accepted_by": {
            "name": "",
            "extension_number": ""
          }
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.call_log_permanently_deleted

  • Method: POST
  • Path: phone.call_log_permanently_deleted
  • Tags: webhook

The Call log has been permanently deleted event triggers each time a call log is permanently deleted from the trash.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
      • "Call log has been permanently deleted" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.call_log_permanently_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the call log.

    • object (required)

      object

      • call_logs (required)

        array

        Items:
        • call_id (required)

          string — The unique identifier of the call.

        • id (required)

          string — The unique identifier of the call log.

      • user_id (required)

        string — The user ID of the call log owner.

Example:

{
  "event": "phone.call_log_permanently_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_logs": [
        {
          "id": "",
          "call_id": ""
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.transfer_call_to_voicemail_initiated

  • Method: POST
  • Path: phone.transfer_call_to_voicemail_initiated
  • Tags: webhook

The Transfer call to voicemail initiated event triggers when a call begins transferring to voicemail.

Prerequisites

  • Zoom Phone plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • "Transfer call to voicemail is initiated" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.transfer_call_to_voicemail_initiated" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • date_time (required)

        string — The date and time (GMT) at which the transfer call to voicemail was completed, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • transfer_phone_number (required)

        string — The phone number required for the transfer call to voicemail. It may be the user's phone number, extension number or the user's phone number that displays in E164 format.

      • failure_reason

        string — The failure reason for transfer call to voicemail. If it is an empty string, it means success.

      • owner

        object

        • extension_number

          integer — The owner's extension number.

        • id

          string — The owner ID.

        • name

          string — The owner name.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonAreaPhone", "sharedLineGroup" — The owner type: *`user` *`callQueue` *`autoReceptionist` *`commonAreaPhone` *`sharedLineGroup`

      • transfer_account_code

        string — The transfer account code. To transfer a call between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "phone.transfer_call_to_voicemail_initiated",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "call_id": "",
      "transfer_account_code": "",
      "transfer_phone_number": "",
      "owner": {
        "extension_number": "1000001019",
        "id": "N3hAhug-QVyFPYZJrHpRaQ",
        "name": "123@test.com",
        "type": "user"
      },
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.callee_missed

  • Method: POST
  • Path: phone.callee_missed
  • Tags: webhook

The Callee missed a phone call event triggers every time a callee misses a phone call.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • A valid Event notification endpoint URL.
    • Callee missed a phone call subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • call_end_time (required)

        string — The GMT time at which the call was ended, in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • call_id (required)

        string — The unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • phone_number (required)

          string — The phone number of the callee in E164 format. Example: +12192818492 Note: `phone_number` and `extension_number` can't be empty at the same time.

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — Zoom clients generate an ID when installed on a device. <b>Note:</b> Does not apply to desk phones.

        • extension_id

          string — The extension ID of the callee.

        • extension_number

          integer, format: int64 — The extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the callee.

        • timezone

          string — The timezone of the callee.

        • user_id

          string — The Zoom user ID of the callee.

      • caller (required)

        object — Caller object: Represents the person who initiated the call.

        • phone_number (required)

          string — The phone number of the caller in E164 format. Example: +12192818492

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — The extension ID of the caller.

        • extension_number

          integer, format: int64 — The extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the caller.

        • timezone

          string — The timezone of the caller.

        • user_id

          string — The Zoom user ID of the caller.

      • ringing_start_time (required)

        string — The GMT time at which the ringing started in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • forwarded_by

        object — The webhook displays this field if the call was routed from a call queue, shared line group, shared lines, or auto receptionist. See [Setting up call delegation](https://support.zoom.us/hc/en-us/articles/360032881731-Setting-up-call-delegation) for more information.

        • extension_number

          string — The extension number the call was forwarded from.

        • extension_type

          string — The type of extension the call was forwarded from. Values: callQueue | sharedLineGroup | sharedLines | autoReceptionist

        • name

          string — The name of the extension the call was forwarded from.

      • handup_result

        string — The reason the call was missed. Values: No Answer | Busy | Call Cancel

      • redirect_forwarded_by

        object — The webhook displays this field if the call was indirectly routed from an auto receptionist. A routing path example is selected as A->auto receptionist->call queue->B, where A and B are users. In this case, the call is indirectly forwarded by auto receptionist.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": "",
      "call_end_time": "",
      "forwarded_by": {
        "name": "",
        "extension_number": "",
        "extension_type": ""
      },
      "redirect_forwarded_by": {},
      "handup_result": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.caller_ringing

  • Method: POST
  • Path: phone.caller_ringing
  • Tags: webhook

The Caller hears a ringback tone event triggers every time your account user or app user dials a call over Zoom Phone and hears a ringing tone on the phone device. To receive this notification, you must meet the prerequisites listed below.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • A valid Event Notification Endpoint URL.
    • "Caller hears a ringback tone" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — Account ID of the caller.

    • object (required)

      object

      • call_id (required)

        string — Unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — Extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • name

          string — Callee's user name.

        • phone_number

          string — Phone number of the callee in E164 format. Example: +12192818492

      • caller (required)

        object — Caller object: Represents the person who initiated the call.

        • phone_number (required)

          string — Phone number of the caller in E164 format. Example: +12192818492

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • device_name

          string — The name of device on which the Zoom Client is installed.

        • device_type

          string — Device type of the caller.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — Extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • name

          string — Caller's user name.

        • timezone

          string — Timezone of the caller.

        • user_id

          string — Zoom User ID of the caller.

      • ringing_start_time (required)

        string — The GMT time at which the ringing started in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "name": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_type": "",
        "device_name": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "name": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.voicemail_received

  • Method: POST
  • Path: phone.voicemail_received
  • Tags: webhook

The Voicemail is received event triggers each time a callee (the person called by a caller over Zoom Phone) misses a call and receives a voicemail from the caller.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
      • A Voicemail is received subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.voicemail_received" — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp, in milliseconds since epoch, at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • callee_extension_type (required)

        string, possible values: "user", "callQueue", "autoReceptionist", "sharedLineGroup" — The callee's extension type: * `user` * `callQueue` * `autoReceptionist` * `shareLineGroup`

      • callee_id (required)

        string — The callee's ID. Depending on the type of extension, this value can be one of the following: * For a regular user (`user`) — `callee_id` is the same as `callee_user_id`. * For call queue (`callQueue`) — `callee_id` is the same as the call queue `group_id` value. * For an auto-receptionist (`autoReceptionist`) — `callee_id` is the same as `auto_receptionist_id`. * For a shared line group (`shareLineGroup`) — `callee_id` is the same as `share_line_group_id`.

      • callee_name (required)

        string — The callee's name.

      • callee_number (required)

        string — The callee's phone number.

      • callee_number_type (required)

        integer, possible values: 1, 2 — The callee's number type: * `1` — Internal. * `2` — External.

      • caller_name (required)

        string — The caller's name.

      • caller_number (required)

        string — The caller's phone number.

      • caller_number_type (required)

        integer, possible values: 1, 2 — The caller's number type: * `1` — Internal. * `2` — External.

      • date_time (required)

        string, format: date-time — The date and time at which the voicemail was received.

      • download_url (required)

        string, format: url — The URL at which the voicemail can be downloaded.

      • duration (required)

        integer — The duration of the voicemail.

      • id (required)

        string — The voicemail's unique ID.

      • call_element_id

        string — The call element ID.

      • call_history_id

        string — Use `call_element_id` instead. The call history ID.

      • call_id

        string — The call's unique ID.

      • call_log_id

        string — The call log ID. <b>Deprecated:</b> This is the legacy call log ID. Zoom will stop producing legacy call log data in a future release, and the associated [Get call log details](https://developers.zoom.us/docs/api/phone/#tag/call-logs/get/phone/call_logs/{callLogId}) API has also been deprecated. As an alternative, use `call_element_id` together with the call element / call history APIs.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • callee_did_number

        string — Callee's DID number.

      • callee_user_id

        string — The callee's user ID.

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • caller_did_number

        string — Caller's DID number.

      • caller_user_id

        string — The caller's user ID. This field will only exist if the caller is a user of this account.

Example:

{
  "event": "phone.voicemail_received",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "date_time": "",
      "download_url": "",
      "duration": 1,
      "caller_user_id": "",
      "caller_account_code": "",
      "caller_number": "",
      "caller_number_type": 1,
      "caller_name": "",
      "caller_did_number": "",
      "callee_user_id": "",
      "callee_account_code": "",
      "callee_number": "",
      "callee_number_type": 1,
      "callee_name": "",
      "callee_did_number": "",
      "callee_extension_type": "user",
      "callee_id": "",
      "call_element_id": "",
      "call_id": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.sms_sent

  • Method: POST
  • Path: phone.sms_sent
  • Tags: webhook

The SMS sent from Zoom phone event triggers when a user account sends an SMS message. The sender must either be a user on your account or a user of your webhook-enabled app.

Zoom phone users can send text messages (SMS) using the Zoom desktop client or a webhook-enabled mobile app.

Prerequisites

  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • SMS sent from Zoom phone subscription enabled under the Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.sms_sent" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The payload of SMS/MMS message that was sent.

      • attachments (required)

        array — The media file information.

        Items:
        • download_url (required)

          string — The URL using which the file can be downloaded.

        • id (required)

          string — The unique identifier for a media file.

        • name (required)

          string — The name of the file.

        • size (required)

          integer — The size of the file in bytes.

        • type (required)

          string — The type of file.

      • date_time (required)

        string, format: date-time — The date and time at which the SMS was sent.

      • message (required)

        string — The SMS text content.

      • message_id (required)

        string — The SMS message ID.

      • message_type (required)

        integer — The type of messages.

      • owner (required)

        object — The owner of this SMS/MMS.

        • id

          string — The owner ID.

        • sms_sender_user_id

          string — The user ID of the call queue or auto receptionist member who sent the SMS when the owner type is callQueue or autoReceptionist.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist" — The owner type: *`user` *`callQueue` *`autoReceptionist`

      • sender (required)

        object — The SMS sender.

        • phone_number (required)

          string — The SMS sender's phone number.

        • display_name

          string — The SMS sender's display name.

        • id

          string — SMS sender's user ID.

        • type

          string, possible values: "user" — The type of sender: *`user`.

      • session_id (required)

        string — The SMS session ID.

      • to_members (required)

        array — The SMS receivers.

        Items:
        • phone_number (required)

          string — The SMS receiver's phone number.

        • display_name

          string — The SMS receiver's display name.

        • id

          string — The SMS receiver's ID.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist" — The type of receiver: *`user` *`callQueue` *`autoReceptionist`.

      • failure_reason

        string — The reason for SMS send failure. An empty field means the SMS send was successful.

      • phone_number_campaign_opt_statuses

        array — The list of opt statuses for each number pair.

        Items:
        • consumer_phone_number (required)

          string — The end user's phone number in E164 format that sends the Opt-in or Opt-out keyword to the Zoom Phone number.

        • opt_status (required)

          string, possible values: "pending", "opt_out", "opt_in" — The opt status.

        • zoom_phone_user_number (required)

          string — The Zoom user's phone number in E164 format that receives the Opt-in or Opt-out keyword from the end user.

        • opt_in_message

          string — If opt_in_status=1, the opt_in_message will return the Opt-In message of the Campaign bound to zoom_phone_user_number. In this case, you must send the opt_in_message as the first message in the SMS session and then wait for the Opt-In response.

        • opt_in_status

          integer, possible values: 0, 1, 2, 3, 4 — The Opt-In status between the Zoom Phone user number and consumer phone number. This is a sub-status of `opt_status` and uses the following enumeration: 0: Default status. The Opt-In status for the Zoom Phone user number cannot be determined. This may occur when the Zoom Phone user number is not associated with a Campaign, among other reasons. 1: This is a new SMS session and an Opt-In message must be sent first. 2: An Opt-In message has been sent and a response is pending. 3: An Opt-In message has been sent and the recipient has consented to receive additional SMS messages. 4: An Opt-In message has been sent, but the recipient has declined to receive additional SMS messages, or the number has been configured to block all outbound SMS messages.

Example:

{
  "event": "phone.sms_sent",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "sender": {
        "phone_number": "",
        "id": "",
        "type": "user",
        "display_name": "",
        "additionalProperty": "anything"
      },
      "to_members": [
        {
          "id": "",
          "type": "user",
          "display_name": "",
          "phone_number": "",
          "additionalProperty": "anything"
        }
      ],
      "owner": {
        "type": "user",
        "id": "",
        "sms_sender_user_id": ""
      },
      "message": "",
      "attachments": [
        {
          "id": "",
          "size": 1,
          "name": "",
          "type": "",
          "download_url": "",
          "additionalProperty": "anything"
        }
      ],
      "session_id": "",
      "message_id": "",
      "message_type": 1,
      "date_time": "",
      "phone_number_campaign_opt_statuses": [
        {
          "consumer_phone_number": "+150434XXXXX",
          "zoom_phone_user_number": "+12094XXXXX",
          "opt_status": "opt_out",
          "opt_in_status": 0,
          "opt_in_message": "Text START to receive text messages from ZOOM. Message frequency may vary. Message and Data Rates may apply. To end messaging from us, reply with STOP. Reply with HELP for more information."
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.voicemail_deleted

  • Method: POST
  • Path: phone.voicemail_deleted
  • Tags: webhook

The Voicemail has been deleted event triggers each time a voicemail is deleted. When a voicemail is deleted, it is sent to the trash.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
      • "Voicemail has been deleted" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.voicemail_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • voice_mails (required)

        array

        Items:
        • id (required)

          string — The unique identifier of the voice mail.

Example:

{
  "event": "phone.voicemail_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "voice_mails": [
        {
          "id": ""
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.voicemail_transcript_completed

  • Method: POST
  • Path: phone.voicemail_transcript_completed
  • Tags: webhook

The Voicemail transcription is complete event triggers when a voicemail transcription has completed.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • The Voicemail transcription is complete subscription enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.voicemail_transcript_completed" — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp, in milliseconds since epoch, at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • callee_name (required)

        string — The callee's name.

      • callee_number (required)

        string — The callee's phone number.

      • callee_number_type (required)

        integer, possible values: 1, 2 — The callee's number type: * `1` — Internal. * `2` — External.

      • caller_name (required)

        string — The caller's name.

      • caller_number (required)

        string — The caller's phone number.

      • caller_number_type (required)

        integer, possible values: 1, 2 — The caller's number type: * `1` — Internal. * `2` — External.

      • date_time (required)

        string, format: date-time — The date and time at which the voicemail was received.

      • id (required)

        string — The voicemail's unique ID.

      • transcription (required)

        object — Voicemail transcript

        • content (required)

          string — Content of the voicemail transcript

        • status (required)

          integer, possible values: 0, 1, 2, 4, 5, 9, 11, 12, 13, 14, 409, 415, 422, 500, 601, 602, 603, 999 — Status of the voicemail transcript: * `0` — Transcript is not available. * `1` — Transcript is processing. * `2` - Transcript processed successfully * `4` — Transcript is disabled. * `5` — Transcript is enabled. * `9` — Transcript web error. * `11` — Transcript download error. * `12` — Transcript upload error. * `13` — Transcript web database error. * `14` — Transcript BYOS (Bring Your Own Storage) upload error. * `409` — Transcript duplicate processing request error. * `415` — Transcript unsupported media error. * `422` — Transcript is unprocessable. * `500` — Transcript server error. * `601` — Transcript AISense after retry error. * `602` — Transcript AISense upload file error. * `603` — Transcript AISense download file error. * `999` — Transcript AISense error.

      • call_element_id

        string — The call element ID.

      • call_history_id

        string — Use `call_element_id` instead. The call history ID.

      • call_id

        string — The call's unique ID.

      • call_log_id

        string — The call log ID. <b>Deprecated:</b> This is the legacy call log ID. Zoom will stop producing legacy call log data in a future release, and the associated [Get call log details](https://developers.zoom.us/docs/api/phone/#tag/call-logs/get/phone/call_logs/{callLogId}) API has also been deprecated. As an alternative, use `call_element_id` together with the call element / call history APIs.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • callee_extension_type

        string, possible values: "user", "callQueue", "autoReceptionist", "sharedLineGroup" — The callee's extension type: * `user` * `callQueue` * `autoReceptionist` * `shareLineGroup`

      • callee_id

        string — The callee's ID. Depending on the type of extension, this value can be one of the following: * For a regular user (`user`) — `callee_id` is the same as `callee_user_id`. * For call queue (`callQueue`) — `callee_id` is the same as the call queue `group_id` value. * For an auto-receptionist (`autoReceptionist`) — `callee_id` is the same as `auto_receptionist_id`. * For a shared line group (`shareLineGroup`) — `callee_id` is the same as `share_line_group_id`.

      • callee_user_id

        string — The callee's user ID.

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "phone.voicemail_transcript_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "date_time": "",
      "caller_account_code": "",
      "caller_number": "",
      "caller_number_type": 1,
      "caller_name": "",
      "callee_user_id": "",
      "callee_account_code": "",
      "callee_number": "",
      "callee_number_type": 1,
      "callee_name": "",
      "callee_extension_type": "user",
      "callee_id": "",
      "call_element_id": "",
      "call_id": "",
      "transcription": {
        "status": 0,
        "content": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.recording_permanently_deleted

  • Method: POST
  • Path: phone.recording_permanently_deleted
  • Tags: webhook

The Call recording has been permenently deleted event triggers when a recording has been deleted permanently.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • Call recording has been permanently deleted subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.recording_permanently_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The ID of the account to which the recording belongs.

    • object (required)

      object

      • recordings (required)

        array

        Items:
        • call_id (required)

          string — The call ID.

        • id (required)

          string — The recording ID.

Example:

{
  "event": "phone.recording_permanently_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "recordings": [
        {
          "id": "",
          "call_id": ""
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.peering_number_emergency_address_updated

  • Method: POST
  • Path: phone.peering_number_emergency_address_updated
  • Tags: webhook

The Emergency address has changed event triggers when the emergency addresses associated with PSTN phone numbers have been updated.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • "Emergency address has changed" subscription must be enabled under the Zoom Phone event.

This event is for use by partners that have completed the MoU to peer with Zoom. To become a peering provider/ carrier, please submit your request.

Request Body

Content-Type: application/json
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — Account ID of the customer using provider exchange.

    • object (required)

      object

      • carrier_code (required)

        integer — The carrier code.

      • phone_numbers (required)

        array — The phone numbers with emergency address updates.

      • emergency_address

        object — The emergency address info.

        • address_line1 (required)

          string — Emergency address(house number and street name).

        • address_line2

          string — Additional emergency address information (building, floor or unit number).

        • city

          string — The city.

        • country

          string — Abbreviated [country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of country.

        • state_code

          string — Abbreviated [state code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#states-1) of the state.

        • zip

          string — Zip code.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "emergency_address": {
        "country": "",
        "address_line1": "",
        "address_line2": "",
        "city": "",
        "zip": "",
        "state_code": ""
      },
      "carrier_code": 1,
      "phone_numbers": []
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.sms_campaign_number_opt_out

  • Method: POST
  • Path: phone.sms_campaign_number_opt_out
  • Tags: webhook

The SMS Opt-out event from Zoom phone triggers when an account user receives an SMS message with text of an opt-out keyword, such as STOP. The recipient must be a user of your webhook-enabled app.

Zoom Phone admins can receive opt-out-status event using a webhook-enabled mobile app.

Prerequisites:

  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • SMS Opt-out event from Zoom phone subscription enabled under the Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.sms_campaign_number_opt_out" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The phone number campaign opt status payload

      • date_time (required)

        string, format: date_time — The date time at which the event occurred. The value of this field is returned in format FMT_DATE_ISO_2 according to the account's timezone. Otherwise it would be in UTC timezone.

      • phone_number_campaign_opt_statuses (required)

        array — The list of phone number pairs.

        Items:
        • consumer_phone_number (required)

          string — The end user's phone number in E164 format that sends the Opt-out keyword to the Zoom Phone number.

        • zoom_phone_user_number (required)

          string — Zoom user's phone number in E164 format that receives the Opt-out keyword from the end user.

Example:

{
  "event": "phone.sms_campaign_number_opt_out",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "phone_number_campaign_opt_statuses": [
        {
          "consumer_phone_number": "",
          "zoom_phone_user_number": ""
        }
      ],
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.caller_ended

  • Method: POST
  • Path: phone.caller_ended
  • Tags: webhook

The Caller ended a phone call event triggers whenever a caller, who is also a user in your account or app, ends a phone call on Zoom Phone.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • A valid Event notification endpoint URL.
    • Caller ended a phone call subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the caller.

    • object (required)

      object

      • call_end_time (required)

        string — The GMT time at which the call was ended."yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • call_id (required)

        string — Thr unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Thr extension ID of the callee.

        • extension_number

          integer, format: int64 — The extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the callee.

        • phone_number

          string — The phone number of the callee in E164 format. Example: +12192818492 Note: `phone_number` and `extension_number` can't be empty at the same time.

        • timezone

          string — The timezone of the callee.

        • user_id

          string — The Zoom user ID of the callee.

      • caller (required)

        object — Caller object: Represents the person who initiated the call.

        • phone_number (required)

          string — The phone number of the caller in E164 format. Example: +12192818492

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — Zoom clients generate an ID when installed on a device. <b>Note:</b> Does not apply to desk phones.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the caller.

        • timezone

          string — The timezone of the caller.

        • user_id

          string — The Zoom user ID of the caller.

      • ringing_start_time (required)

        string — The GMT time at which the ringing started,"yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • answer_start_time

        string — The GMT time at which the call was answered, "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • handup_result

        string — The reason the call was ended. Values: Call connected | Call Cancel | Voicemail

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": "",
      "answer_start_time": "",
      "call_end_time": "",
      "handup_result": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.callee_ended

  • Method: POST
  • Path: phone.callee_ended
  • Tags: webhook

The Callee ended the phone call event triggers whenever the callee, who is either a user on your account or a user of your app, terminates a call on Zoom Phone.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • A valid Event notification endpoint URL.
    • Callee ended a phone call subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • call_end_time (required)

        string — The GMT time( in "yyyy-MM-dd'T'HH:mm:ss'Z'" format) at which the call was ended by the callee.

      • call_id (required)

        string — The unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • phone_number (required)

          string — The phone number of the callee in E164 format. Example: +12192818492

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — An ID generated by Zoom clients when installed on a device. <b>Note:</b> Does not apply to desk phones.

        • device_name

          string — The name of device on which the Zoom Client is installed.

        • extension_id

          string — The extension ID of the callee.

        • extension_number

          integer, format: int64 — The extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the callee.

        • name

          string — The callee's user name.

        • timezone

          string — The timezone of the callee.

        • user_id

          string — The Zoom user ID of the callee.

      • caller (required)

        object — Caller object: Represents the person who initiated the call.

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — The extension ID of the caller.

        • extension_number

          integer, format: int64 — The extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the caller.

        • phone_number

          string — The phone number of the caller in E164 format. Example: +12192818492

        • timezone

          string — The timezone of the caller.

        • user_id

          string — The Zoom user ID of the caller.

      • ringing_start_time (required)

        string — The GMT time at which the ringing started in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • answer_start_time

        string — The GMT time( in "yyyy-MM-dd'T'HH:mm:ss'Z'" format) at which the call was answered.

      • forwarded_by

        object — The webhook displays this field if the call was routed from a call queue, shared line group, shared lines, or auto receptionist. See [Setting up call delegation](https://support.zoom.us/hc/en-us/articles/360032881731-Setting-up-call-delegation) for more information.

        • extension_number

          string — The extension number the call was forwarded from.

        • extension_type

          string — The type of extension the call was forwarded from. Values: callQueue | sharedLineGroup | sharedLines | autoReceptionist

        • name

          string — The name of the extension the call was forwarded from.

      • redirect_forwarded_by

        object — The webhook displays this field if the call was indirectly routed from an auto receptionist. A routing path example is selected as A->auto receptionist->call queue->B, where A and B are users. In this case, the call is indirectly forwarded by auto receptionist.

        • extension_number

          string — The extension number the call was forwarded from.

        • extension_type

          string — The type of extension the call was forwarded from. Values: autoReceptionist

        • name

          string — The name of the extension the call was forwarded from.

        • phone_number

          string — The phone number the call was forwarded from.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "name": "",
        "phone_number": "",
        "extension_number": 1,
        "timezone": "",
        "device_name": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": "",
      "answer_start_time": "",
      "call_end_time": "",
      "forwarded_by": {
        "name": "",
        "extension_number": "",
        "extension_type": ""
      },
      "redirect_forwarded_by": {
        "name": "",
        "extension_number": "",
        "phone_number": "",
        "extension_type": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.callee_call_history_completed ⚠️ Deprecated

  • Method: POST
  • Path: phone.callee_call_history_completed
  • Tags: webhook

The Callee call history is completed event triggers every time the incoming call history record for a call is made available for the callee to view.

Deprecation Note: This event is deprecated and will be removed in a future release.

  • Replacement event: phone.callee_call_element_completed — delivers the incoming call element record for the callee, which supersedes the legacy call log payload with a richer, forward-compatible data model.
  • Migration guidance: Subscribe to phone.callee_call_element_completed and adapt your handler to the call_elements array (replacing the legacy call_logs array). The account_id, user_id, and trigger semantics remain the same on the callee side.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
      • The Callee call history is completed subscription enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.callee_call_history_completed" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object — The event object.

      • call_logs (required)

        array — The list of call logs.

        Items:
        • call_id (required)

          string — The ID of the phone call.

        • call_path_id (required)

          string — The call path ID of the call.

        • id (required)

          string — The ID of the call history.

        • result (required)

          string, possible values: "answered", "accepted", "picked_up", "connected", "succeeded", "voicemail", "hang_up", "canceled", "call_failed", "unconnected", "rejected", "busy", "ring_timeout", "overflowed", "no_answer", "invalid_key", "invalid_operation", "abandoned", "system_blocked", "service_unavailable" — The detail result of an event for a call log.

        • start_time (required)

          string — The call start time in GMT `date-time` format.

        • answer_time

          string — The call answer time in GMT `date-time` format.

        • call_type

          string, possible values: "general", "emergency" — The type of call.

        • callee_account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • callee_cost_center

          string — The callee's cost center.

        • callee_country_code

          string — The callee's country code.

        • callee_country_iso_code

          string — The callee's country ISO code.

        • callee_department

          string — The callee's department.

        • callee_device_private_ip

          string — The callee's private IP.

        • callee_device_public_ip

          string — The callee's public IP.

        • callee_device_type

          string — The callee's device type.

        • callee_did_number

          string — The callee's DID number in e164 format.

        • callee_email

          string — The callee's email.

        • callee_employee_id

          string — Ther callee's employee id

        • callee_ext_id

          string — The callee's extension ID.

        • callee_ext_number

          string — The extension number of the callee.

        • callee_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The callee's extension type.

        • callee_name

          string — The name of the callee.

        • callee_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The callee's number type.

        • callee_site_id

          string — The callee's site ID.

        • caller_account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • caller_cost_center

          string — The caller's cost center.

        • caller_country_code

          string — The caller's country code.

        • caller_country_iso_code

          string — The caller's country ISO code.

        • caller_department

          string — The caller's department.

        • caller_device_private_ip

          string — The caller's private IP.

        • caller_device_public_ip

          string — The caller's public IP.

        • caller_device_type

          string — The caller's device type.

        • caller_did_number

          string — The caller's DID number in e164 format.

        • caller_email

          string — The caller's email.

        • caller_employee_id

          string — Ther caller's employee id

        • caller_ext_id

          string — The caller's extension ID.

        • caller_ext_number

          string — The extension number of the caller.

        • caller_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The caller's extension type.

        • caller_name

          string — The name of the caller.

        • caller_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The caller's number type.

        • caller_site_id

          string — The caller's site ID.

        • connect_type

          string, possible values: "internal", "external" — The connect type of call.

        • direction

          string, possible values: "inbound", "outbound" — The direction of the call.

        • end_time

          string — The call end time in GMT `date-time` format.

        • end_to_end

          boolean — A flag to indicate the call is End-to-End Encryption or not.

        • event

          string, possible values: "incoming", "transfer_from_zoom_contact_center", "shared_line_incoming", "outgoing", "call_me_on", "outgoing_to_zoom_contact_center", "warm_transfer", "forward", "ring_to_member", "overflow", "direct_transfer", "barge", "monitor", "whisper", "listen", "takeover", "conference_barge", "park", "timeout", "park_pick_up", "merge", "shared" — An event within a call log.

        • group_id

          string — The primary group of which the user belongs.

        • hide_caller_id

          boolean — A flag to indicate the call is hide caller ID or not.

        • hold_time

          integer — The call hold time in seconds.

        • operator_ext_id

          string — The operator extension ID.

        • operator_ext_number

          string — The operator extension number.

        • operator_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The operator extension type.

        • operator_name

          string — The operator's name.

        • recording_id

          string — The unique identifier of the call recording.

        • recording_type

          string, possible values: "ad-hoc", "automatic" — The type of call recording.

        • result_reason

          string, possible values: "answered_by_other", "pickup_by_other", "call_out_by_other" — The reason of result of an event for a call log.

        • talk_time

          integer — The call talk time in seconds.

        • voicemail_id

          string — The ID of the call voicemail.

        • wait_time

          integer — The call wait time in seconds.

      • user_id (required)

        string — The user ID of the caller.

Example:

{
  "event": "phone.callee_call_history_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_logs": [
        {
          "id": "",
          "call_path_id": "",
          "call_id": "",
          "group_id": "",
          "connect_type": "internal",
          "call_type": "general",
          "direction": "inbound",
          "hide_caller_id": true,
          "end_to_end": true,
          "caller_ext_id": "",
          "caller_name": "",
          "caller_email": "",
          "caller_employee_id": "",
          "caller_did_number": "",
          "caller_account_code": "",
          "caller_ext_number": "",
          "caller_ext_type": "user",
          "caller_number_type": "zoom_pstn",
          "caller_device_private_ip": "",
          "caller_device_public_ip": "",
          "caller_device_type": "",
          "caller_country_iso_code": "",
          "caller_country_code": "",
          "caller_site_id": "",
          "caller_department": "",
          "caller_cost_center": "",
          "callee_ext_id": "",
          "callee_name": "",
          "callee_did_number": "",
          "callee_account_code": "",
          "callee_ext_number": "",
          "callee_email": "",
          "callee_employee_id": "",
          "callee_ext_type": "user",
          "callee_number_type": "zoom_pstn",
          "callee_device_private_ip": "",
          "callee_device_public_ip": "",
          "callee_device_type": "",
          "callee_country_iso_code": "",
          "callee_country_code": "",
          "callee_site_id": "",
          "callee_department": "",
          "callee_cost_center": "",
          "start_time": "",
          "answer_time": "",
          "end_time": "",
          "event": "incoming",
          "result": "answered",
          "result_reason": "answered_by_other",
          "operator_ext_number": "",
          "operator_ext_id": "",
          "operator_ext_type": "user",
          "operator_name": "",
          "recording_id": "",
          "recording_type": "ad-hoc",
          "voicemail_id": "",
          "talk_time": 1,
          "hold_time": 1,
          "wait_time": 1
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.call_element_deleted

  • Method: POST
  • Path: phone.call_element_deleted
  • Tags: webhook

The Call element has been deleted event triggers each time a call element is deleted.

When the account has the call log trash setting enabled, the deleted log will be sent to trash.

Prerequisites

  • Pro or higher account with Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
      • Call element has been deleted subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.call_element_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the call log.

    • object (required)

      object

      • user_id (required)

        string — The user ID of the call log owner.

      • call_element_ids

        array — The deleted call element ID list. This will be empty when the `delete_all` is true.

        Items:

        string

      • delete_all

        boolean — The value is true if the user delete all call logs

      • execute_time

        string — The delete event time in GMT `date-time` format. All call logs prior to this user have been deleted.

      • move_to_trash

        boolean — If the account has enabled call log trash, this value is true.

Example:

{
  "event": "phone.call_element_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "move_to_trash": true,
      "execute_time": "",
      "delete_all": true,
      "call_element_ids": [
        ""
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.voicemail_permanently_deleted

  • Method: POST
  • Path: phone.voicemail_permanently_deleted
  • Tags: webhook

The Voicemail has been permanently deleted event triggers each time a voicemail is permanently deleted from the trash.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
      • "Voicemail has been permanently deleted" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.voicemail_permanently_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • voice_mails (required)

        array

        Items:
        • id (required)

          string — The unique identifier of the voice mail.

Example:

{
  "event": "phone.voicemail_permanently_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "voice_mails": [
        {
          "id": ""
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.sms_campaign_number_opt_in

  • Method: POST
  • Path: phone.sms_campaign_number_opt_in
  • Tags: webhook

The Opt-in-status event received by Zoom phone triggers when an account user receives an SMS message with text of an opt-in keyword, such as START. The recipient must be a user of your webhook-enabled app.

Zoom Phone admins can receive opt-in-status event using a webhook-enabled mobile app.

Prerequisites:

  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Opt-in-status event received by Zoom phone subscription enabled under the Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.sms_campaign_number_opt_in" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The phone number campaign opt-status payload.

      • date_time (required)

        string, format: date-time — The date time at which the event occurred. The value of this field is returned in format FMT_DATE_ISO_2 according to the account's timezone. Otherwise it would be in UTC timezone.

      • phone_number_campaign_opt_statuses (required)

        array — The list of phone number pairs.

        Items:
        • consumer_phone_number (required)

          string — End user's phone number in E164 format that sends the Opt-in keyword to the Zoom Phone number.

        • zoom_phone_user_number (required)

          string — Zoom user's phone number in E164 format that receives Opt-in keyword from the end user.

Example:

{
  "event": "phone.sms_campaign_number_opt_in",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "phone_number_campaign_opt_statuses": [
        {
          "consumer_phone_number": "",
          "zoom_phone_user_number": ""
        }
      ],
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.fax_received

  • Method: POST
  • Path: phone.fax_received
  • Tags: Fax

The Fax Received event triggers when a fax is received.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • The Fax Received subscription enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.fax_received" — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp, in milliseconds since epoch, at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The owner account ID.

    • object (required)

      object — object

      • create_time (required)

        integer, format: int64 — The fax creation timestamp in UTC time zone.

      • direction (required)

        string, possible values: "inbound", "outbound" — The fax log's direction: * `inbound` * `outbound`

      • extension_id (required)

        string — The owner's extension ID.

      • extension_type (required)

        string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "sharedLineGroup" — The owner's extension type: * `user` * `callQueue` * `autoReceptionist` * `commonArea` * `sharedLineGroup`

      • fax_id (required)

        string — The unique fax session ID.

      • fax_log_id (required)

        string — The unique fax log ID.

      • file_id (required)

        string — The fax PDF file ID.

      • file_pages_count (required)

        integer — The number of pages in the fax file.

      • receiver_extension_id (required)

        string — The receiver extension ID.

      • receiver_extension_number (required)

        string — The receiver extension number.

      • receiver_name (required)

        string — The receiver name.

      • receiver_number (required)

        string — The receiver fax number.

      • receiver_type (required)

        string, possible values: "client", "ata", "pstn", "email", "openapi", "sdk", "byop", "unknown" — The receiver endpoint type: * `client` * `ata` * `pstn` * `email` * `openapi` * `sdk` * `byop` * `unknown`

      • sender_extension_id (required)

        string — The sender extension ID.

      • sender_extension_number (required)

        string — The sender extension number.

      • sender_name (required)

        string — The sender name.

      • sender_number (required)

        string — The sender fax number.

      • sender_type (required)

        string, possible values: "client", "ata", "pstn", "email", "openapi", "sdk", "byop", "unknown" — The sender endpoint type: * `client` * `ata` * `pstn` * `email` * `openapi` * `sdk` * `byop` * `unknown`

      • site_id (required)

        string — The site ID.

      • site_name (required)

        string — The site name.

      • status (required)

        string, possible values: "failed", "processing", "submitted", "sent", "received", "canceled" — The fax status: * `failed` * `processing` * `submitted` * `sent` * `received` * `canceled`

      • created_at

        string — The fax creation time in UTC time zone.

      • receiver_extension_type

        string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "sharedLineGroup" — The receiver extension type: * `user` * `callQueue` * `autoReceptionist` * `commonArea` * `sharedLineGroup`

      • receiver_location

        string — The receiver location.

      • sender_extension_type

        string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "sharedLineGroup" — The sender extension type: * `user` * `callQueue` * `autoReceptionist` * `commonArea` * `sharedLineGroup`

      • sender_location

        string — The sender location.

Example:

{
  "event": "phone.fax_received",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "fax_log_id": "",
      "fax_id": "",
      "site_id": "",
      "site_name": "",
      "extension_id": "",
      "extension_type": "user",
      "direction": "inbound",
      "sender_extension_id": "",
      "sender_extension_type": "user",
      "sender_extension_number": "",
      "sender_name": "",
      "sender_number": "",
      "sender_type": "client",
      "sender_location": "",
      "receiver_extension_id": "",
      "receiver_extension_type": "user",
      "receiver_extension_number": "",
      "receiver_name": "",
      "receiver_number": "",
      "receiver_type": "client",
      "receiver_location": "",
      "file_id": "",
      "file_pages_count": 1,
      "status": "failed",
      "created_at": "",
      "additionalProperty": "anything"
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.callee_call_element_completed

  • Method: POST
  • Path: phone.callee_call_element_completed
  • Tags: webhook

The Callee call element is completed event triggers every time the incoming call element record for a call is made available for the callee to view.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
      • Callee call element is completed subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.callee_call_element_completed" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • call_elements (required)

        array

        Items:
        • call_element_id (required)

          string — The ID of the call element.

        • call_history_uuid (required)

          string — The call history ID of the call.

        • call_id (required)

          string — The ID of the phone call.

        • result (required)

          string, possible values: "answered", "accepted", "picked_up", "connected", "succeeded", "voicemail", "hang_up", "canceled", "call_failed", "unconnected", "rejected", "busy", "ring_timeout", "overflowed", "no_answer", "invalid_key", "invalid_operation", "abandoned", "system_blocked", "service_unavailable" — The detail result of an event for a call log.

        • start_time (required)

          string — The call start time in GMT `date-time` format.

        • answer_time

          string — The call answer time in GMT `date-time` format.

        • call_type

          string, possible values: "general", "emergency" — The type of call.

        • callee_cost_center

          string — The callee's cost center.

        • callee_country_code

          string — The callee's country code.

        • callee_country_iso_code

          string — The callee's country ISO code.

        • callee_department

          string — The callee's department.

        • callee_device_private_ip

          string — The callee's private IP.

        • callee_device_public_ip

          string — The callee's public IP.

        • callee_device_type

          string — The callee's device type.

        • callee_did_number

          string — The callee's DID number in e164 format.

        • callee_email

          string — The callee's email.

        • callee_employee_id

          string — Ther callee's employee id

        • callee_ext_id

          string — The callee's extension ID.

        • callee_ext_number

          string — The extension number of the callee.

        • callee_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The callee's extension type.

        • callee_name

          string — The name of the callee.

        • callee_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The callee's number type.

        • callee_site_id

          string — The callee's site ID.

        • caller_cost_center

          string — The caller's cost center.

        • caller_country_code

          string — The caller's country code.

        • caller_country_iso_code

          string — The caller's country ISO code.

        • caller_department

          string — The caller's department.

        • caller_device_private_ip

          string — The caller's private IP.

        • caller_device_public_ip

          string — The caller's public IP.

        • caller_device_type

          string — The caller's device type.

        • caller_did_number

          string — The caller's DID number in e164 format.

        • caller_email

          string — The caller's email.

        • caller_employee_id

          string — Ther caller's employee id

        • caller_ext_id

          string — The caller's extension ID.

        • caller_ext_number

          string — The extension number of the caller.

        • caller_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The caller's extension type.

        • caller_name

          string — The name of the caller.

        • caller_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The caller's number type.

        • caller_site_id

          string — The caller's site ID.

        • connect_type

          string, possible values: "internal", "external" — The connect type of call.

        • direction

          string, possible values: "inbound", "outbound" — The direction of the call.

        • end_time

          string — The call end time in GMT `date-time` format.

        • end_to_end

          boolean — A flag to indicate the call is End-to-End Encryption or not.

        • event

          string, possible values: "incoming", "transfer_from_zoom_contact_center", "shared_line_incoming", "outgoing", "call_me_on", "outgoing_to_zoom_contact_center", "warm_transfer", "forward", "ring_to_member", "overflow", "direct_transfer", "barge", "monitor", "whisper", "listen", "takeover", "conference_barge", "park", "timeout", "park_pick_up", "merge", "shared" — An event within a call log.

        • group_id

          string — The primary group of which the user belongs.

        • handler_ext_id

          string — The handler extension id, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • handler_ext_number

          string — The handler extension number, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • handler_ext_type

          string, possible values: "user", "common_area", "zoom_room", "cisco_room" — The handler extension type, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • handler_name

          string — The handler's name, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • hide_caller_id

          boolean — A flag to indicate the call is hide caller ID or not.

        • hold_time

          integer — The call hold time in seconds.

        • operator_ext_id

          string — The operator extension ID.

        • operator_ext_number

          string — The operator extension number.

        • operator_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The operator extension type.

        • operator_name

          string — The operator's name.

        • recording_id

          string — The unique identifier of the call recording.

        • recording_type

          string, possible values: "ad-hoc", "automatic" — The type of call recording.

        • result_reason

          string, possible values: "answered_by_other", "pickup_by_other", "call_out_by_other" — The reason of result of an event for a call log.

        • talk_time

          integer — The call talk time in seconds.

        • voicemail_id

          string — The ID of the call voicemail.

        • wait_time

          integer — The call wait time in seconds.

      • user_id (required)

        string — The user ID of the caller.

Example:

{
  "event": "phone.callee_call_element_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_elements": [
        {
          "call_element_id": "",
          "call_history_uuid": "",
          "call_id": "",
          "group_id": "",
          "connect_type": "internal",
          "call_type": "general",
          "direction": "inbound",
          "hide_caller_id": true,
          "end_to_end": true,
          "caller_ext_id": "",
          "caller_name": "",
          "caller_email": "",
          "caller_employee_id": "",
          "caller_did_number": "",
          "caller_ext_number": "",
          "caller_ext_type": "user",
          "caller_number_type": "zoom_pstn",
          "caller_device_private_ip": "",
          "caller_device_public_ip": "",
          "caller_device_type": "",
          "caller_country_iso_code": "",
          "caller_country_code": "",
          "caller_site_id": "",
          "caller_department": "",
          "caller_cost_center": "",
          "callee_ext_id": "",
          "callee_name": "",
          "callee_did_number": "",
          "callee_ext_number": "",
          "callee_email": "",
          "callee_employee_id": "",
          "callee_ext_type": "user",
          "callee_number_type": "zoom_pstn",
          "callee_device_private_ip": "",
          "callee_device_public_ip": "",
          "callee_device_type": "",
          "callee_country_iso_code": "",
          "callee_country_code": "",
          "callee_site_id": "",
          "callee_department": "",
          "callee_cost_center": "",
          "start_time": "",
          "answer_time": "",
          "end_time": "",
          "event": "incoming",
          "result": "answered",
          "result_reason": "answered_by_other",
          "operator_ext_number": "",
          "operator_ext_id": "",
          "operator_ext_type": "user",
          "operator_name": "",
          "handler_ext_number": "",
          "handler_ext_id": "",
          "handler_ext_type": "user",
          "handler_name": "",
          "recording_id": "",
          "recording_type": "ad-hoc",
          "voicemail_id": "",
          "talk_time": 1,
          "hold_time": 1,
          "wait_time": 1
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.warm_transfer_completed

  • Method: POST
  • Path: phone.warm_transfer_completed
  • Tags: webhook

The Warm transfer is completed event triggers when a call warm transfer is completed. Note: Applicable only to Zoom desktop clients (version 6.1.0 or later) using Zoom native phone numbers. Not applicable to IP phones or BYOC numbers.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • "Warm transfer is completed" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the webhook event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch when the event occurred, in long (`int64`) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The unique identifier of the call.

      • date_time (required)

        string — The date and time (GMT) when the call warm transfer was completed, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • failure_reason

        string — The reason why the warm transfer failed to complete. An empty string indicates success.

      • owner

        object

        • extension_number

          integer — The owner's extension number.

        • id

          string — The unique identifier of the owner.

        • name

          string — The name of the owner.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonAreaPhone", "sharedLineGroup" — The owner type. Possible values: `user`, `callQueue`, `autoReceptionist`, `commonAreaPhone`, `sharedLineGroup`.

      • transfer_account_code

        string — The transfer account code. To transfer a call between accounts, use the format: [Account code] - [extension number].

      • transfer_phone_number

        string — The phone number required for the warm transfer. This may be the user's phone number, extension number, or phone number in E164 format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "call_id": "",
      "transfer_account_code": "",
      "transfer_phone_number": "",
      "owner": {
        "extension_number": "1000001019",
        "id": "N3hAhug-QVyFPYZJrHpRaQ",
        "name": "123@test.com",
        "type": "user"
      },
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.callee_mute

  • Method: POST
  • Path: phone.callee_mute
  • Tags: webhook

The Callee mutes a phone call event triggers when the callee mutes themselves during a call.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • Callee mutes a phone call subscription must be enabled under the Zoom Phone event.

phone.callee_mute

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch at which the event occurred; long (`int64`) format.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The time and date (GMT) at which the callee muted a call in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.sms_etiquette_warn

  • Method: POST
  • Path: phone.sms_etiquette_warn
  • Tags: webhook

The SMS etiquette warn event from Zoom phone triggers when an account user's outbound text violates a SMS etiquette warn policy defined in Zoom phone web admin portal. The recipient must be a user of your webhook-enabled app.

Zoom Phone admins can receive the sms-etiquette-warn event using a webhook-enabled mobile app.

Prerequisites:

  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • SMS etiquette warn event from Zoom phone subscription enabled under the Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.sms_etiquette_warn" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The sms etiquette event payload.

      • date_time (required)

        string, format: date_time — The date time at which the event occurred.

      • email (required)

        string — an email of a zoom phone user that violated SMS Etiquette warn policy.

      • message (required)

        string — Message content that violated SMS Etiquette warn policy.

      • policy_name (required)

        string — SMS Etiquette warn policy that was violated.

Example:

{
  "event": "phone.sms_etiquette_warn",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "email": "",
      "message": "",
      "policy_name": "",
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.call_history_deleted ⚠️ Deprecated

  • Method: POST
  • Path: phone.call_history_deleted
  • Tags: webhook

The Call history has been deleted event triggers each time a call history is deleted.

When the account has the call log trash setting enabled, the deleted log will be sent to trash.

Deprecation Note: This event is deprecated and will be removed in a future release.

  • Replacement event: phone.call_element_deleted — triggers when a call element record is deleted, which supersedes the legacy call history deletion payload with a forward-compatible data model.
  • Migration guidance: Subscribe to phone.call_element_deleted and adapt your handler to consume the call element deletion payload (replacing the legacy call history deletion payload). The account_id and trigger semantics remain the same.

Prerequisites

  • Pro or higher account with Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
      • The Call history has been deleted subscription enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.call_history_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the call log.

    • object (required)

      object — The object of the event.

      • user_id (required)

        string — The user ID of the call log owner.

      • call_log_ids

        array — The deleted call log ID list. This will be empty when the `delete_all` is true.

        Items:

        string

      • delete_all

        boolean — The value is true if the user delete all call logs

      • execute_time

        string — The delete event time in GMT `date-time` format. All call logs prior to this user have been deleted.

      • move_to_trash

        boolean — If the account has enabled call log trash, this value is true.

Example:

{
  "event": "phone.call_history_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "move_to_trash": true,
      "execute_time": "",
      "delete_all": true,
      "call_log_ids": [
        ""
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.sms_etiquette_block

  • Method: POST
  • Path: phone.sms_etiquette_block
  • Tags: webhook

The SMS etiquette block event from Zoom phone triggers when an account user's outbound text violates a SMS etiquette block policy defined in the Zoom phone web admin portal. The recipient must be a user of your webhook-enabled app.

Zoom Phone admins can receive the sms-etiquette-block event using a webhook-enabled mobile app.

Prerequisites:

  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • SMS etiquette block event from Zoom phone subscription enabled under the Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.sms_etiquette_block" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The sms etiquette event payload.

      • date_time (required)

        string, format: date_time — The date time at which the event occurred.

      • email (required)

        string — an email of a zoom phone user that violated SMS Etiquette block policy.

      • message (required)

        string — Message content that violated SMS Etiquette block policy.

      • policy_name (required)

        string — SMS Etiquette block policy that was violated.

Example:

{
  "event": "phone.sms_etiquette_block",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "email": "",
      "message": "",
      "policy_name": "",
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.call_log_deleted

  • Method: POST
  • Path: phone.call_log_deleted
  • Tags: webhook

The Call log has been deleted event triggers each time a call log is deleted. When a log is deleted, it is sent to the trash.

Prerequisites

  • Pro or higher account with Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
      • "Call log has been deleted" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.call_log_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the call log.

    • object (required)

      object

      • call_logs (required)

        array

        Items:
        • call_id (required)

          string — The unique identifier of the call.

        • id (required)

          string — The unique identifier of the call log.

      • user_id (required)

        string — The user ID of the call log owner.

Example:

{
  "event": "phone.call_log_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_logs": [
        {
          "id": "",
          "call_id": ""
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.caller_hold

  • Method: POST
  • Path: phone.caller_hold
  • Tags: webhook

The Caller hold a phone call event triggers every time a caller over Zoom Phone puts a phone call on hold.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be an account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • The "Caller hold a phone call" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The caller's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • phone_number

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • phone_number

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The date and time (GMT) at which the call hold began, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.caller_connected

  • Method: POST
  • Path: phone.caller_connected
  • Tags: webhook

The Caller is connected to the callee event triggers when a connection starts between the caller and callee on Zoom Phone after the caller hears the ringing tone. To receive this notification, you must meet the prerequisites listed below.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • A valid Event notification endpoint URL.
    • Caller is connected to the callee subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — Account ID of the caller.

    • object (required)

      object

      • call_id (required)

        string — Unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — Extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • name

          string — Callee's user name.

        • phone_number

          string — Phone number of the callee in E164 format. Example: +12192818492

      • caller (required)

        object — Caller object: Represents the person who initiated the call.

        • phone_number (required)

          string — Phone number of the caller in E164 format. Example: +12192818492

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — An ID generated by Zoom clients when installed on a device. <b>Note:</b> Does not apply to desk phones.

        • device_type

          string — The type of device on which the Zoom client is installed. <b>Note:</b> For desk phones, the value is applicable to limited devices.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — Extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • name

          string — Caller's user name.

        • timezone

          string — Timezone of the caller.

        • user_id

          string — Zoom User ID of the caller.

      • connected_start_time (required)

        string — The GMT time at which the connection was established between the caller and the Zoom Phone network in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • ringing_start_time (required)

        string — The GMT time at which the ringing started in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "name": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_type": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "name": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": "",
      "connected_start_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.recording_completed

  • Method: POST
  • Path: phone.recording_completed
  • Tags: webhook

The Call recording is completed event triggers when a recording of a Zoom phone call completes.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • The Call recording is completed subscription enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.recording_completed" — Event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who recorded the call.

    • object (required)

      object

      • recordings (required)

        array

        Items:
        • callee_name (required)

          string — The name of the callee.

        • callee_number (required)

          string — The phone number of the callee.

        • callee_number_type (required)

          integer, possible values: 1, 2 — The phone number type of the callee. The value can be one of the following: * `1` - internal * `2` - external

        • caller_number (required)

          string — The phone number of the caller.

        • caller_number_type (required)

          integer, possible values: 1, 2 — The phone number type of the caller. The value can be one of the following: * `1` - internal * `2` - external

        • date_time (required)

          string, format: date-time — The start date and time of the call.

        • direction (required)

          string, possible values: "inbound", "outbound" — The direction of the call. The value of this field can either be `inbound` or `outbound`.

        • download_url (required)

          string — The URL to download the call recording. To download the recording via this URL, you must add an “access_token” query parameter to the download URL and provide either the user's OAuth access token or your app's **JWT** as the value of the “access_token” parameter. For example, if the value of this field is "https://zoom.us/v2/phone/recording/download/abcD666T”, the complete URL path to download the recording will be as below: `https://zoom.us/v2/phone/recording/download/abcD666T?access_token={YOUR_ACCESS_TOKEN_HERE}`

        • duration (required)

          integer — The duration of the call in seconds.

        • id (required)

          string — The recording ID is the unique Identifier of the call recording.

        • accepted_by

          object — The call-receiving user. The current recording must belong to the receiver and call queue for it to be available.

          • extension_number

            string — The user's extension number.

          • name

            string — The user's name

        • call_element_id

          string — The call element ID.

        • call_history_id

          string — Use `call_element_id` instead. The call history ID.

        • call_id

          string — The unique identifier of the call.

        • call_log_id

          string — The call log ID. <b>Deprecated:</b> This is the legacy call log ID. Zoom will stop producing legacy call log data in a future release, and the associated [Get call log details](https://developers.zoom.us/docs/api/phone/#tag/call-logs/get/phone/call_logs/{callLogId}) API has also been deprecated. As an alternative, use `call_element_id` together with the call element / call history APIs.

        • callee_account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • callee_did_number

          string — The callee's DID number.

        • caller_account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • caller_did_number

          string — The caller's DID number.

        • caller_name

          string — The name of the caller.

        • end_time

          string, format: date-time — The recording's end time.

        • outgoing_by

          object — The call-initiating user. The current recording must belong to the initiator and call queue for it to be available.

          • extension_number

            string — The user's extension number.

          • name

            string — The user's name.

        • owner

          object — The owner of the call.

          • id (required)

            string — The owner's ID.

          • name (required)

            string — The owner's name.

          • type (required)

            string — The owner's type. This value field can be `user` or `callQueue`.

          • extension_number

            integer — The extension number of the owner

          • has_access_permission

            boolean — Whether the owner has the access permission to this recording.

        • recording_type

          string — The recording type of the call. This value field can be `OnDemand` or `Automatic`.

        • site

          object — The site of the call.

          • id

            string — The site ID of the call.

        • user_id

          string — The unique identifier of the user.

Example:

{
  "event": "phone.recording_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "recordings": [
        {
          "id": "",
          "caller_account_code": "",
          "caller_number": "",
          "caller_number_type": 1,
          "caller_name": "",
          "caller_did_number": "",
          "callee_account_code": "",
          "callee_number": "",
          "callee_number_type": 1,
          "callee_name": "",
          "callee_did_number": "",
          "duration": 1,
          "download_url": "",
          "date_time": "",
          "user_id": "",
          "call_id": "",
          "call_element_id": "",
          "end_time": "",
          "recording_type": "",
          "site": {
            "id": ""
          },
          "owner": {
            "type": "",
            "id": "",
            "name": "",
            "extension_number": 1,
            "has_access_permission": true
          },
          "direction": "inbound",
          "outgoing_by": {
            "name": "",
            "extension_number": ""
          },
          "accepted_by": {
            "name": "",
            "extension_number": ""
          }
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.recording_started

  • Method: POST
  • Path: phone.recording_started
  • Tags: webhook

The Call recording has started event triggers when the recordings has been initiated in a phone call.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • Call recording has started subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The Account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — Unique identifier of the call.

      • callee_number (required)

        string — Phone number or extension number of the caller.

      • caller_number (required)

        string — Phone number or extension number of the caller.

      • channel_id (required)

        string — ID of the channel

      • date_time (required)

        string, format: date-time — Start date and time of the call.

      • direction (required)

        string, possible values: "inbound", "outbound" — Direction of the call. The value of this field can either be `inbound` or `outbound`.

      • id (required)

        string — ID of the recording

      • owner (required)

        object — The owner of the recording.

        • id (required)

          string — ID of the owner.

        • name (required)

          string — Display name of the owner

        • type (required)

          string, possible values: "user", "callQueue", "commonArea" — Type of the owner. This value field can be `user` or `callQueue`.

        • extension_number

          integer — Extension number of the owner

      • recording_type (required)

        string, possible values: "OnDemand", "Automatic" — The type of the recording. This value field can be `OnDemand` or `Automatic`.

      • sip_id (required)

        string — ID of the sip call

      • user_id (required)

        string — ID of the user.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "",
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "user_id": "",
      "caller_account_code": "",
      "caller_number": "",
      "callee_account_code": "",
      "callee_number": "",
      "direction": "inbound",
      "date_time": "",
      "recording_type": "OnDemand",
      "call_id": "",
      "channel_id": "",
      "sip_id": "",
      "owner": {
        "type": "user",
        "id": "",
        "name": "",
        "extension_number": 1
      }
    }
  },
  "event_ts": 1
}

Responses

Status: 200 Successfully received the webhook event.

phone.sms_sent_failed

  • Method: POST
  • Path: phone.sms_sent_failed
  • Tags: webhook

The SMS sent failed from Zoom phone event triggers when a user account fails to send the SMS message. The sender must either be a user on your account or a user of your webhook-enabled app.

Prerequisites

  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • SMS sent failed from Zoom phone subscription enabled under the Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.sms_sent_failed" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The payload of SMS/MMS message that failed to be sent.

      • attachments (required)

        array — The media file information.

        Items:
        • download_url (required)

          string — The URL using which the file can be downloaded.

        • id (required)

          string — The unique identifier for a media file.

        • name (required)

          string — The name of the file.

        • size (required)

          integer — The size of the file in bytes.

        • type (required)

          string — The type of file.

      • date_time (required)

        string, format: date-time — The date and time at which the SMS was sent.

      • message (required)

        string — The SMS text content.

      • message_id (required)

        string — The SMS message ID.

      • message_type (required)

        integer — The type of messages.

      • owner (required)

        object — The owner of this SMS/MMS.

        • id

          string — The owner ID.

        • sms_sender_user_id

          string — The user ID of the call queue or auto receptionist member who sent the SMS when the owner type is callQueue or autoReceptionist.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist" — The owner type: *`user` *`callQueue` *`autoReceptionist`

      • sender (required)

        object — The SMS sender.

        • phone_number (required)

          string — The SMS sender's phone number.

        • display_name

          string — The SMS sender's display name.

        • id

          string — SMS sender's user ID.

        • type

          string, possible values: "user" — The type of sender: *`user`.

      • session_id (required)

        string — The SMS session ID.

      • to_members (required)

        array — The SMS receivers.

        Items:
        • phone_number (required)

          string — The SMS receiver's phone number.

        • display_name

          string — The SMS receiver's display name.

        • id

          string — The SMS receiver's user ID.

        • is_message_owner

          boolean — Whether it is the owner of the message.

      • failure_reason

        string — The reason for an SMS send failure.

      • phone_number_campaign_opt_statuses

        array — The list of opt statuses for each number pair.

        Items:
        • consumer_phone_number (required)

          string — The end user's phone number in E164 format that sends the Opt-in or Opt-out keyword to the Zoom Phone number.

        • opt_status (required)

          string, possible values: "pending", "opt_out", "opt_in" — The opt status.

        • zoom_phone_user_number (required)

          string — The Zoom user's phone number in E164 format that receives the Opt-in or Opt-out keyword from the end user.

        • opt_in_message

          string — If opt_in_status=1, the opt_in_message will return the Opt-In message of the Campaign bound to zoom_phone_user_number. In this case, you must send the opt_in_message as the first message in the SMS session and then wait for the Opt-In response.

        • opt_in_status

          integer, possible values: 0, 1, 2, 3, 4 — The Opt-In status between the Zoom Phone user number and consumer phone number. This is a sub-status of `opt_status` and uses the following enumeration: 0: Default status. The Opt-In status for the Zoom Phone user number cannot be determined. This may occur when the Zoom Phone user number is not associated with a Campaign, among other reasons. 1: This is a new SMS session and an Opt-In message must be sent first. 2: An Opt-In message has been sent and a response is pending. 3: An Opt-In message has been sent and the recipient has consented to receive additional SMS messages. 4: An Opt-In message has been sent, but the recipient has declined to receive additional SMS messages, or the number has been configured to block all outbound SMS messages.

Example:

{
  "event": "phone.sms_sent_failed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "sender": {
        "phone_number": "",
        "id": "",
        "type": "user",
        "display_name": "",
        "additionalProperty": "anything"
      },
      "to_members": [
        {
          "id": "",
          "display_name": "",
          "phone_number": "",
          "is_message_owner": true,
          "additionalProperty": "anything"
        }
      ],
      "owner": {
        "type": "user",
        "id": "",
        "sms_sender_user_id": ""
      },
      "message": "",
      "attachments": [
        {
          "id": "",
          "size": 1,
          "name": "",
          "type": "",
          "download_url": "",
          "additionalProperty": "anything"
        }
      ],
      "session_id": "",
      "message_id": "",
      "message_type": 1,
      "date_time": "",
      "phone_number_campaign_opt_statuses": [
        {
          "consumer_phone_number": "+150434XXXXX",
          "zoom_phone_user_number": "+120944XXXXX",
          "opt_status": "opt_out",
          "opt_in_status": 0,
          "opt_in_message": "Text START to receive text messages from ZOOM. Message frequency may vary. Message and Data Rates may apply. To end messaging from us, reply with STOP. Reply with HELP for more information."
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.callee_call_log_completed

  • Method: POST
  • Path: phone.callee_call_log_completed
  • Tags: webhook

The Callee call log is completed event triggers every time the incoming call log record for a call is made available for the callee to view.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
      • Callee call log is completed subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.callee_call_log_completed" — Event name.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — Account ID of the callee.

    • object (required)

      object

      • call_logs (required)

        array

        Items:
        • call_id (required)

          string — Unique identifier of the call.

        • callee_number (required)

          string — Phone number of the callee.

        • callee_number_type (required)

          integer, possible values: 1, 2 — Phone number type of the callee. The value can be one of the following: * `1` - extension number. * `2` - phone number.

        • caller_number (required)

          string — Phone number of the caller.

        • caller_number_type (required)

          integer, possible values: 1, 2 — Phone number type of the caller. The value can be one of the following: * `1` - extension number. * `2` - phone number.

        • date_time (required)

          string, format: date-time — Start date and time of the call.

        • has_voicemail (required)

          boolean — Indicates whether the call log includes voicemail or not.

        • id (required)

          string — Unique Identifier of the call log.

        • path (required)

          string — Path of the call log.

        • result (required)

          string — Status of the call. The value of this field can be one of the following:<br> * `Answered by another Member`: This value will be returned if simultaneous distribution option is enabled for a [call queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-call-queues) and a member of the queue answers the call. * `Busy`: This value is returned if the phone line of the callee is busy. * `Call Cancel`: This value is returned if the call was cancelled. * `No Answer`: This value is returned if the callee did not answer the call. * `Park`: This value is returned if the call was [parked](https://support.zoom.us/hc/en-us/articles/360042175291-Using-call-park). * `Rejected`: This value is returned if the callee declined the call.

        • answer_start_time

          string — The GMT time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format at which the callee answered the call.

        • call_end_time

          string, format: date-time — End time of the call.

        • call_type

          string, possible values: "voip", "pstn", "tollfree", "international", "contactCenter" — The type of call: * `voip` (Voice over IP) * `pstn` (Public Switched Telephone Network) * `tollfree` * `international` * `contactCenter`

        • callee_country_code

          string — Callee's country code.

        • callee_country_iso_code

          string — ISO alpha2 country code.

        • callee_did_number

          string — Callee's DID number.

        • callee_location

          string — Location of the callee.

        • callee_name

          string — Name of the callee.

        • callee_number_source

          string, possible values: "internal", "external", "byop" — Phone number source of the caller. The value can be one of the following: * `internal` - ZP native. * `external` — BYOC or Provider Exchange. * `byop` — Premise peering. Not available when `callee_number_type = 1`.

        • callee_user_id

          string — The callee's user ID.

        • caller_country_code

          string — Caller's country code.

        • caller_country_iso_code

          string — ISO alpha2 country code.

        • caller_did_number

          string — Caller's DID number.

        • caller_location

          string — Location of the caller.

        • caller_name

          string — Name of the caller.

        • caller_number_source

          string, possible values: "internal", "external", "byop" — Phone number source of the caller. The value can be one of the following: * `internal` - ZP native. * `external` — BYOC or Provider Exchange. * `byop` — Premise peering. Not available when `caller_number_type = 1`.

        • caller_user_id

          string — The caller's user ID. This field will only exist if the caller is a user of this account.

        • client_code

          string — Client code.

        • cost_center

          string — Cost center name.

        • department

          string — Department name.

        • direction

          string, possible values: "inbound", "outbound" — Direction of the call. The value of this field can either be `inbound` or `outbound`.

        • duration

          integer — Duration of the call.

        • forwarded_by

          object — Indicates where the call was forwarded from.

          • extension_number

            string

          • extension_type

            string, possible values: "user", "callQueue", "autoReceptionist", "sharedLineGroup"

          • location

            string

          • name

            string

          • number_type

            integer — Phone number types: `1` - Extension `2`- E164 number `3` - Custom number.

          • phone_number

            string

        • forwarded_to

          object — Indicates who the call was forwarded to.

          • extension_number

            string

          • extension_type

            string, possible values: "user", "callQueue", "autoReceptionist", "sharedLineGroup"

          • location

            string

          • name

            string

          • number_type

            integer — Phone number types: `1` - Extension `2`- E164 number `3` - Custom number.

          • phone_number

            string

        • has_recording

          boolean — Indicates whether the call log includes recording or not.

        • hold_time

          integer — Hold time during a call in seconds.

        • recording_id

          string — ID of this recording.

        • recording_type

          string — Recording type of the call. This value field can be `OnDemand` or `Automatic`.

        • site

          object

          • id

            string — The phone number's assigned target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites). Sites allow you to organize the phone users in your organization. For example, sites created and based on different office locations.

        • waiting_time

          integer — Waiting time of the call.

      • user_id (required)

        string — User Id of the caller.

Example:

{
  "event": "phone.callee_call_log_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_logs": [
        {
          "id": "",
          "caller_user_id": "",
          "caller_number": "",
          "caller_number_type": 1,
          "caller_number_source": "internal",
          "caller_name": "",
          "caller_location": "",
          "caller_did_number": "",
          "caller_country_code": "",
          "caller_country_iso_code": "",
          "callee_user_id": "",
          "callee_number": "",
          "callee_number_type": 1,
          "callee_number_source": "internal",
          "callee_name": "",
          "callee_location": "",
          "callee_did_number": "",
          "callee_country_code": "",
          "callee_country_iso_code": "",
          "duration": 1,
          "result": "",
          "date_time": "",
          "path": "",
          "site": {
            "id": ""
          },
          "has_recording": true,
          "recording_id": "",
          "recording_type": "",
          "has_voicemail": true,
          "call_id": "",
          "client_code": "",
          "call_type": "voip",
          "call_end_time": "",
          "direction": "inbound",
          "answer_start_time": "",
          "waiting_time": 1,
          "forwarded_to": {
            "extension_number": "",
            "extension_type": "user",
            "location": "",
            "name": "",
            "number_type": 1,
            "phone_number": ""
          },
          "forwarded_by": {
            "extension_number": "",
            "extension_type": "user",
            "location": "",
            "name": "",
            "number_type": 1,
            "phone_number": ""
          },
          "hold_time": 1,
          "department": "",
          "cost_center": ""
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.callee_ringing

  • Method: POST
  • Path: phone.callee_ringing
  • Tags: webhook

The Callee phone is ringing event triggers whenever the caller starts a Zoom Phone call, and the callee receives a call notification or hears the phone ring..

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • A valid Event notification endpoint URL.
    • Callee phone is ringing subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • call_id (required)

        string — The unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • phone_number (required)

          string — The phone number of the callee in E164 format. Example: +12192818492

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — Zoom clients generate an ID when installed on a device. <b>Note:</b> Does not apply to desk phones.

        • device_name

          string — The name of device on which the Zoom Client installs on.

        • device_type

          string — This field indicates the specific type of device the Zoom client installs on. <b>Note:</b> For desk phones, the value is applicable to limited devices.

        • extension_id

          string — The extension ID of the callee.

        • extension_number

          integer, format: int64 — The extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the callee.

        • name

          string — The callee's user name.

        • timezone

          string — The timezone of the callee.

        • user_id

          string — The Zoom user ID of the callee.

      • caller (required)

        object — Caller object: Represents the person who initiated the call.

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — The extension ID of the caller.

        • extension_number

          integer, format: int64 — The extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the caller.

        • name

          string — The caller's user name.

        • phone_number

          string — The phone number of the caller in E164 format. Example: +12192818492

      • ringing_start_time (required)

        string — The GMT time at which the ringing started. "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • forwarded_by

        object — The webhook displays this field if the call was routed from a call queue, shared line group, shared lines, or auto receptionist. See [Setting up call delegation](https://support.zoom.us/hc/en-us/articles/360032881731-Setting-up-call-delegation) for more information.

        • extension_number

          string — The extension number the call was forwarded from.

        • extension_type

          string — The type of extension the call was forwarded from. Values: callQueue | sharedLineGroup | sharedLines | autoReceptionist

        • name

          string — The name of the extension the call was forwarded from.

      • redirect_forwarded_by

        object — The webhook displays this field if the call was indirectly routed from an auto receptionist. A routing path example is selected as A->auto receptionist->call queue->B, where A and B are users. In this case, the call is indirectly forwarded by auto receptionist.

        • extension_number

          string — The extension number the call was forwarded from.

        • extension_type

          string — The type of extension the call was forwarded from. Values: autoReceptionist

        • name

          string — The name of the extension the call was forwarded from.

        • phone_number

          string — The phone number the call was forwarded from.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "name": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_type": "",
        "device_name": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "name": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": "",
      "forwarded_by": {
        "name": "",
        "extension_number": "",
        "extension_type": ""
      },
      "redirect_forwarded_by": {
        "name": "",
        "extension_number": "",
        "phone_number": "",
        "extension_type": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.caller_unhold

  • Method: POST
  • Path: phone.caller_unhold
  • Tags: webhook

The Caller unhold a phone call event triggers every time the person who is being called by the caller over Zoom Phone unholds the phone call.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • The "Caller unhold a phone call" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The caller's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • phone_number

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • phone_number

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The date and time (GMT) at which the call hold ended, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.callee_hold

  • Method: POST
  • Path: phone.callee_hold
  • Tags: webhook

The Callee hold a phone call event triggers every time the person who is being called by the caller over Zoom Phone puts a phone call on hold.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be an account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • The "Callee hold a phone call" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The callee's account code. To dial between accounts, use the format [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The caller's account code. To dial between accounts, use the format [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The date and time (GMT) when the call hold began, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.callee_answered

  • Method: POST
  • Path: phone.callee_answered
  • Tags: webhook

The Callee Answered event triggers whenever the recipient of a Zoom Phone call answers the incoming call..

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • Callee answered a phone call subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • answer_start_time (required)

        string — The GMT time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format at which the callee answered the call.

      • call_id (required)

        string — The unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • phone_number (required)

          string — The phone number of the callee in E164 format. Example: +12192818492

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — An ID generated by Zoom clients when installed on a device. <b>Note:</b> Does not apply to desk phones.

        • device_name

          string — The name of device on which the Zoom Client is installed.

        • device_type

          string — The type of device on which the Zoom client is installed. <b>Note:</b> For desk phones, the value is applicable to limited devices.

        • extension_id

          string — The extension ID of the callee.

        • extension_number

          integer, format: int64 — The extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the callee.

        • name

          string — The callee's user name.

        • timezone

          string — The timezone of the callee.

        • user_id

          string — The Zoom user ID of the callee.

      • caller (required)

        object — Caller object: Represents the entity that initiated the call.

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — The extension ID of the caller.

        • extension_number

          integer, format: int64 — The extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the caller.

        • name

          string — The caller's user name.

        • phone_number

          string — The phone number of the caller in E164 format. Example: +12192818492

      • ringing_start_time (required)

        string — The GMT time at which the ringing started in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • forwarded_by

        object — The webhook displays this field if the call was routed from a call queue, shared line group, shared lines, or auto receptionist. See [Setting up call delegation](https://support.zoom.us/hc/en-us/articles/360032881731-Setting-up-call-delegation) for more information.

        • extension_number

          string — The extension number the call was forwarded from.

        • extension_type

          string — The type of extension the call was forwarded from. Values: callQueue | sharedLineGroup | sharedLines | autoReceptionist

        • name

          string — The name of the extension the call was forwarded from.

      • redirect_forwarded_by

        object — The webhook displays this field if the call was indirectly routed from an auto receptionist. A routing path example is selected as A->auto receptionist->call queue->B, where A and B are users. In this case, the call is indirectly forwarded by auto receptionist.

        • extension_number

          string — The extension number the call was forwarded from.

        • extension_type

          string — The type of extension the call was forwarded from. Values: autoReceptionist

        • name

          string — The name of the extension the call was forwarded from.

        • phone_number

          string — The phone number the call was forwarded from.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "name": "",
        "phone_number": "",
        "extension_number": 1,
        "timezone": "",
        "device_type": "",
        "device_name": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "name": "",
        "phone_number": "",
        "extension_number": 1,
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": "",
      "answer_start_time": "",
      "forwarded_by": {
        "name": "",
        "extension_number": "",
        "extension_type": ""
      },
      "redirect_forwarded_by": {
        "name": "",
        "extension_number": "",
        "phone_number": "",
        "extension_type": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.whatsapp_message_received

  • Method: POST
  • Path: phone.whatsapp_message_received
  • Tags: webhook

The WhatsApp message received by Zoom phone event triggers when a user account receives a WhatsApp message. The recipient must be a user on your account or a user of your webhook-enabled app.

Zoom Phone users can receive WhatsApp messages using the Zoom desktop client or a webhook-enabled mobile app.

Prerequisites

  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • WhatsApp message received by Zoom phone subscription enabled under the Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.whatsapp_message_received" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The payload of the received WhatsApp message.

      • attachments (required)

        array — The media file information.

        Items:
        • download_url (required)

          string — The URL from which the file can be downloaded.

        • file_id (required)

          string — The media file ID.

        • name (required)

          string — The name of the file.

        • size (required)

          integer — The size of the file in bytes.

        • type (required)

          string, possible values: "JPG", "JPEG", "PNG", "GIF", "PDF" — The file's type.

      • date_time (required)

        string, format: date-time — The date and time at which the WhatsApp message was received.

      • message (required)

        string — The WhatsApp message text content.

      • message_id (required)

        string — The WhatsApp message ID.

      • message_status (required)

        string, possible values: "received", "edited" — The status of the message: * `received` * `edited`

      • recipient (required)

        object — The WhatsApp message recipient.

        • phone_number (required)

          string — The WhatsApp message recipient's phone number.

        • display_name

          string — The WhatsApp message recipient's display name.

        • id

          string — The WhatsApp message recipient's user ID.

        • is_message_owner

          boolean — Whether the recipient is the owner of the message.

        • type

          string, possible values: "user" — The type of recipient: * `user`.

      • sender (required)

        object — The WhatsApp message sender.

        • phone_number (required)

          string — The WhatsApp message sender's phone number.

        • display_name

          string — The WhatsApp message sender's display name.

      • session_id (required)

        string — The WhatsApp message session ID.

Example:

{
  "event": "phone.whatsapp_message_received",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "sender": {
        "phone_number": "",
        "display_name": "",
        "additionalProperty": "anything"
      },
      "recipient": {
        "id": "",
        "type": "user",
        "display_name": "",
        "phone_number": "",
        "is_message_owner": true,
        "additionalProperty": "anything"
      },
      "message": "",
      "attachments": [
        {
          "file_id": "",
          "size": 1,
          "name": "",
          "type": "JPG",
          "download_url": "",
          "additionalProperty": "anything"
        }
      ],
      "session_id": "",
      "message_id": "",
      "date_time": "",
      "message_status": "received"
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.warm_transfer_initiated

  • Method: POST
  • Path: phone.warm_transfer_initiated
  • Tags: webhook

The Warm transfer is initiated event triggers when a call warm transfer is initiated. Note: Applicable only to Zoom desktop clients (version 6.1.0 or later) using Zoom native phone numbers. Not applicable to IP phones or BYOC numbers.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • "Warm transfer is initiated" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch when the event occurred, in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • date_time (required)

        string — The date and time (GMT) when the call warm transfer was answered, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • transfer_phone_number (required)

        string — The phone number required for the warm transfer. This may be a user's phone number, extension number, or phone number in E164 format.

      • failure_reason

        string — The failure reason for the warm transfer. An empty string indicates a successful transfer.

      • owner

        object

        • extension_number

          integer — The owner's extension number.

        • id

          string — The owner ID.

        • name

          string — The owner's name or identifier.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonAreaPhone", "sharedLineGroup" — The owner type: * `user` * `callQueue` * `autoReceptionist` * `commonAreaPhone` * `sharedLineGroup`

      • transfer_account_code

        string — The transfer account code. To transfer a call between accounts, use the format: [Account code] - [extension number].

      • transfer_call_id

        string — The newly generated call ID when the call is transferred.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "owner": {
        "extension_number": "1000001019",
        "id": "N3hAhug-QVyFPYZJrHpRaQ",
        "name": "123@test.com",
        "type": "user"
      },
      "call_id": "",
      "transfer_account_code": "",
      "transfer_phone_number": "",
      "transfer_call_id": "",
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.caller_unmute

  • Method: POST
  • Path: phone.caller_unmute
  • Tags: webhook

The Caller unmutes a phone call event triggers when the caller unmutes during a call.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • Caller unmutes a phone call subscription must be enabled under the Zoom Phone event.

phone.caller_unmute

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch at which the event occurred; long (`int64`) format.

  • payload (required)

    object

    • account_id (required)

      string — The caller's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The time and date (GMT) at which the caller unmuted a call in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.device_registration

  • Method: POST
  • Path: phone.device_registration
  • Tags: webhook

The Desk phone registered event triggers the first time a new desk phone or device is registered.

To receive this notification, you must meet the prerequisites listed below:

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • A valid Event Notification Endpoint URL.
    • "Desk phone registered" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, default: "phone.device_registration" — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The Account ID of the user.

    • object (required)

      object

      • device_id (required)

        string — The device ID.

      • device_name (required)

        string — Device name.

      • mac_address (required)

        string — MAC address or serial number.

Example:

{
  "event": "phone.device_registration",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "device_id": "",
      "device_name": "",
      "mac_address": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.blind_transfer_initiated

  • Method: POST
  • Path: phone.blind_transfer_initiated
  • Tags: webhook

The Blind transfer is initiated event triggers when a call blind transfer is initiated.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • "Blind transfer is initiated" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • date_time (required)

        string — The date and time (GMT) at which the call warm transfer was completed, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • transfer_phone_number (required)

        string — The phone number required for the blind transfer. It may be the user's phone number, extension number or the user's phone number that displays in E164 format.

      • failure_reason

        string — The failure reason for blind transfer. If it is an empty string, it means success.

      • owner

        object

        • extension_number

          integer — The owner's extension number.

        • id

          string — The owner ID.

        • name

          string — The owner name.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonAreaPhone", "sharedLineGroup" — The owner type: *`user` *`callQueue` *`autoReceptionist` *`commonAreaPhone` *`sharedLineGroup`

      • transfer_account_code

        string — The transfer account code. To transfer a call between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "call_id": "",
      "transfer_phone_number": "",
      "transfer_account_code": "",
      "owner": {
        "extension_number": "1000001019",
        "id": "N3hAhug-QVyFPYZJrHpRaQ",
        "name": "123@test.com",
        "type": "user"
      },
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.caller_call_element_completed

  • Method: POST
  • Path: phone.caller_call_element_completed
  • Tags: webhook

The Caller call element is completed event triggers every time the outgoing call element record for a call is made available for the caller to view.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
      • Caller call element is completed subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.caller_call_element_completed" — Event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the caller.

    • object (required)

      object

      • call_elements (required)

        array

        Items:
        • call_element_id (required)

          string — The ID of the call element.

        • call_history_uuid (required)

          string — The call history ID of the call.

        • call_id (required)

          string — The ID of the phone call.

        • result (required)

          string, possible values: "answered", "accepted", "picked_up", "connected", "succeeded", "voicemail", "hang_up", "canceled", "call_failed", "unconnected", "rejected", "busy", "ring_timeout", "overflowed", "no_answer", "invalid_key", "invalid_operation", "abandoned", "system_blocked", "service_unavailable" — The detail result of an event for a call log.

        • start_time (required)

          string — The call start time in GMT `date-time` format.

        • answer_time

          string — The call answer time in GMT `date-time` format.

        • call_type

          string, possible values: "general", "emergency" — The type of call.

        • callee_cost_center

          string — The callee's cost center.

        • callee_country_code

          string — The callee's country code.

        • callee_country_iso_code

          string — The callee's country ISO code.

        • callee_department

          string — The callee's department.

        • callee_device_private_ip

          string — The callee's private IP.

        • callee_device_public_ip

          string — The callee's public IP.

        • callee_device_type

          string — The callee's device type.

        • callee_did_number

          string — The callee's DID number in e164 format.

        • callee_email

          string — The callee's email.

        • callee_employee_id

          string — Ther callee's employee id

        • callee_ext_id

          string — The callee's extension ID.

        • callee_ext_number

          string — The extension number of the callee.

        • callee_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The callee's extension type.

        • callee_name

          string — The name of the callee.

        • callee_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The callee's number type.

        • callee_site_id

          string — The callee's site ID.

        • caller_cost_center

          string — The caller's cost center.

        • caller_country_code

          string — The caller's country code.

        • caller_country_iso_code

          string — The caller's country ISO code.

        • caller_department

          string — The caller's department.

        • caller_device_private_ip

          string — The caller's private IP.

        • caller_device_public_ip

          string — The caller's public IP.

        • caller_device_type

          string — The caller's device type.

        • caller_did_number

          string — The caller's DID number in e164 format.

        • caller_email

          string — The caller's email.

        • caller_employee_id

          string — Ther caller's employee id

        • caller_ext_id

          string — The caller's extension ID.

        • caller_ext_number

          string — The extension number of the caller.

        • caller_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The caller's extension type.

        • caller_name

          string — The name of the caller.

        • caller_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The caller's number type.

        • caller_site_id

          string — The caller's site ID.

        • connect_type

          string, possible values: "internal", "external" — The connect type of call.

        • direction

          string, possible values: "inbound", "outbound" — The direction of the call.

        • end_time

          string — The call end time in GMT `date-time` format.

        • end_to_end

          boolean — A flag to indicate the call is End-to-End Encryption or not.

        • event

          string, possible values: "incoming", "transfer_from_zoom_contact_center", "shared_line_incoming", "outgoing", "call_me_on", "outgoing_to_zoom_contact_center", "warm_transfer", "forward", "ring_to_member", "overflow", "direct_transfer", "barge", "monitor", "whisper", "listen", "takeover", "conference_barge", "park", "timeout", "park_pick_up", "merge", "shared" — An event within a call log.

        • group_id

          string — The primary group of which the user belongs.

        • handler_ext_id

          string — The handler extension id, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • handler_ext_number

          string — The handler extension number, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • handler_ext_type

          string, possible values: "user", "common_area", "zoom_room", "cisco_room" — The handler extension type, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • handler_name

          string — The handler's name, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • hide_caller_id

          boolean — A flag to indicate the call is hide caller ID or not.

        • hold_time

          integer — The call hold time in seconds.

        • operator_ext_id

          string — The operator extension ID.

        • operator_ext_number

          string — The operator extension number.

        • operator_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The operator extension type.

        • operator_name

          string — The operator's name.

        • recording_id

          string — The unique identifier of the call recording.

        • recording_type

          string, possible values: "ad-hoc", "automatic" — The type of call recording.

        • result_reason

          string, possible values: "answered_by_other", "pickup_by_other", "call_out_by_other" — The reason of result of an event for a call log.

        • talk_time

          integer — The call talk time in seconds.

        • voicemail_id

          string — The ID of the call voicemail.

        • wait_time

          integer — The call wait time in seconds.

      • user_id (required)

        string — The user ID of the caller.

Example:

{
  "event": "phone.caller_call_element_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_elements": [
        {
          "call_element_id": "",
          "call_history_uuid": "",
          "call_id": "",
          "group_id": "",
          "connect_type": "internal",
          "call_type": "general",
          "direction": "inbound",
          "hide_caller_id": true,
          "end_to_end": true,
          "caller_ext_id": "",
          "caller_name": "",
          "caller_email": "",
          "caller_employee_id": "",
          "caller_did_number": "",
          "caller_ext_number": "",
          "caller_ext_type": "user",
          "caller_number_type": "zoom_pstn",
          "caller_device_private_ip": "",
          "caller_device_public_ip": "",
          "caller_device_type": "",
          "caller_country_iso_code": "",
          "caller_country_code": "",
          "caller_site_id": "",
          "caller_department": "",
          "caller_cost_center": "",
          "callee_ext_id": "",
          "callee_name": "",
          "callee_did_number": "",
          "callee_ext_number": "",
          "callee_email": "",
          "callee_employee_id": "",
          "callee_ext_type": "user",
          "callee_number_type": "zoom_pstn",
          "callee_device_private_ip": "",
          "callee_device_public_ip": "",
          "callee_device_type": "",
          "callee_country_iso_code": "",
          "callee_country_code": "",
          "callee_site_id": "",
          "callee_department": "",
          "callee_cost_center": "",
          "start_time": "",
          "answer_time": "",
          "end_time": "",
          "event": "incoming",
          "result": "answered",
          "result_reason": "answered_by_other",
          "operator_ext_number": "",
          "operator_ext_id": "",
          "operator_ext_type": "user",
          "operator_name": "",
          "handler_ext_number": "",
          "handler_ext_id": "",
          "handler_ext_type": "user",
          "handler_name": "",
          "recording_id": "",
          "recording_type": "ad-hoc",
          "voicemail_id": "",
          "talk_time": 1,
          "hold_time": 1,
          "wait_time": 1
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.account_settings_updated

  • Method: POST
  • Path: phone.account_settings_updated
  • Tags: webhook

The Account settings updated event is triggered every time an Account's settings are updated.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
  • A valid Event Notification Endpoint URL.
  • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
  • "Account settings updated" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.account_settings_updated" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field returns in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that updated the account settings.

    • object (required)

      object — Information about the account's updated settings.

      • id (required)

        string — The updated account's ID.

      • settings (required)

        object

        • ad_hoc_call_recording

          object — Whether to allow extensions to record and save calls in the cloud.

          • allow_delete

            boolean — Whether to allow user to delete their own ad-hoc recording.

          • allow_download

            boolean — Whether to allow user to download their own ad-hoc recording.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • play_recording_beep_tone

            object — Whether to play the side tone beep for recorded users while recording. It displays only when auto call recording policy uses the new framework.

            • enable

              boolean — Whether to play the side tone beep for recorded users while recording. It displays only when auto call recording policy uses the new framework.

            • play_beep_member

              string, possible values: "allMembers", "recordingUser" — Whether to play the recording beep tone all participants in the call or only the recording user. It displays only when `enable` is true.

            • play_beep_time_interval

              integer, possible values: 5, 10, 15, 20, 25, 30, 60, 120 — The beep time interval in seconds. It displays only when the `enable` is set to true.

            • play_beep_volume

              integer, possible values: 0, 20, 40, 60, 80, 100 — The side tone beep volume. It displays only when `enable` is set to `true`.

          • recording_explicit_consent

            boolean — Whether the `Press 1 option for recording consent` is enabled.

          • recording_start_prompt

            boolean — Whether a prompt plays to call participants when the recording has started.

          • recording_transcription

            boolean — Whether to call recording transcription is enabled.

        • advanced_encryption

          object — Whether to allow voicemail to be encrypted with keys which are not accessible to Zoom servers. These voicemails can be decrypted only by the intended user recipient. Shared Line Appearance, Shared Line Group, Call Queue, or Auto Receptionist voicemail will not be encrypted, but can still be played. Email to voicemail, transcriptions, and the ability to check voicemails by dialing into the voicemail system or web are not available when this feature is enabled. This policy requires a Power Pack license to be enabled. If the user inherits this policy and does not have a Power Pack license, the policy will not be applied. Settings is only available with client version 5.12 or later.

          • disable_incoming_unencrypted_voicemail

            boolean — Whether to disable incoming unencrypted voicemail

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • allow_emergency_calls

          object — Enables users to place emergency calls through the system. Disabling this setting will deactivate emergency call functionality.

          • allow_emergency_calls_from_clients

            boolean — Allow emergency calls for Zoom clients

          • allow_emergency_calls_from_deskphones

            boolean — Allow emergency calls for desk phone and Zoom Phone Appliances

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • allow_end_user_edit_call_handling

          object — Once disabled, users will not be able to edit their call handling settings on the web portal or enable call forwarding on the client.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • allow_mobile_home_phone_callout

          object — Allow users to use mobile or home phone to place calls. Zoom app will call this device first before ringing the called number. Users' Call Me On phone number will be masked with Zoom Phone caller ID.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • allowed_call_locations

          object — Once enabled, define whether the extension or user can make and accept calls and send SMS.

          • allow_internal_calls

            boolean — Whether to allow internal calls when outside of allowed locations

          • enable

            boolean

          • locations_applied

            boolean — Whether locations have been applied.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • allowed_device_locations

          object — Define when hardware devices will be blocked. Devices can be disconnected and blocked from accessing the Zoom service when a device is detected outside an allowed network or when any network change is detected.

          • block_devices_type

            string, possible values: "network_change_detected", "outside_allowed_location" — Block devices condition.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • audio_intercom

          object — Whether to allow hands-free peer-to-peer conversations. When an intercom call is received, the phone beeps to notify the user of the incoming intercom call, and the user's phone automatically answers the intercom call.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • auto_call_from_third_party_apps

          object — This setting allows users to perform call control actions from authorized Zoom Marketplace apps.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • auto_call_recording

          object — Whether to allow automatic recording of all inbound and outbound calls.

          • allow_stop_resume_recording

            boolean — Whether the stop and resume of automatic call recording is enabled.

          • disconnect_on_recording_failure

            boolean — Whether a call disconnects when there is an issue with the automatic call recording and the call cannot reconnect after five seconds. This does **not** include emergency calls.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • play_recording_beep_tone

            object — Whether to play the side tone beep for recorded users while recording. It displays only when ad hoc call recording policy uses the new framework.

            • enable

              boolean — Whether to play a side tone beep for recorded users while recording.

            • play_beep_member

              string, possible values: "allMembers", "recordingUser" — Whether to play the recording beep tone all participants in the call or only the recording user. It displays only when `enable` is true.

            • play_beep_time_interval

              integer, possible values: 5, 10, 15, 20, 25, 30, 60, 120 — The beep time interval in seconds. It displays only when `enable` is true.

            • play_beep_volume

              integer, possible values: 0, 20, 40, 60, 80, 100 — The volume of the side tone beep. It displays only when `enable` is set to `true`.

          • recording_calls

            string, possible values: "inbound", "outbound", "both" — The type of calls automatically recorded: * `inbound` * `outbound` * `both`

          • recording_explicit_consent

            boolean — Whether the `Press 1 option that provides recording consent` is enabled.

          • recording_start_prompt

            boolean — Whether a prompt plays to call participants when the recording has started.

          • recording_start_prompt_audio_id

            string — The audio that plays when the recording has started. You can use this audio ID to get the audio information in [Get an audio item](https://marketplace.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.

          • recording_transcription

            boolean — Whether call recording transcription is enabled.

        • auto_delete_data_after_retention_duration

          object — This field allows Zoom to automatically delete data after the retention duration has lapsed.

          • delete_type

            integer, possible values: 1, 2 — The deletion policy. <br>* 1 - soft delete <br>* 2 - permanent delete

          • enable

            boolean

          • items

            array

            Items:
            • duration

              integer — The retention duration where -1 means unlimited. For units of time, see the `time_unit` below. For `year`, the duration:-1, 1-10; for `day`, the duration:-1, 1-60; for `month`, the duration:-1, 1-18.

            • time_unit

              string, possible values: "year", "month", "day" — The unit of time.

            • type

              string, possible values: "callLog", "onDemandRecording", "automaticRecording", "voicemail", "videomail", "sms", "fax" — The data types.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • permanently_delete_after_days

            integer — Number of days after which the data will be permanently deleted automatically. Use -1 to retain data indefinitely.

        • auto_opt_out_in_call_queue

          object — Once enabled, when Call Queue members log out of Zoom (Except for desk phones and Zoom Phone appliances), they will be automatically Opted-out from the Call Queue as well.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • prompt_before_opt_out_call_queue

            boolean — Always ask the user if they want to opt-out from the Call Queue when they sign out of Zoom

        • block_calls_without_caller_id

          object — Whether calls without caller ID will be blocked.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • block_external_calls

          object — This field allows you to set rules for blocking external calls during business, closed, and holiday hours. This feature is only available for user, Zoom Room, and common areas.

          • block_business_hours

            boolean — This field blocks external calls during business hours

          • block_call_action

            integer, possible values: 0, 9 — The action when a call is blocked. `9` - Disconnect, `0`- Forward to voicemail/videomail.

          • block_closed_hours

            boolean — This field blocks external calls during closed hours

          • block_holiday_hours

            boolean — This field blocks external calls during holiday hours

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • call_handling_forwarding_to_other_users

          object — Whether to allow users to forward their calls to other numbers.

          • call_forwarding_type

            object

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • call_live_transcription

          object — Whether to let users turn on live transcriptions for a call.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • transcription_start_prompt

            object — Whether to play a prompt to call participants when the transcription has started.

            • audio_id

              string — The audio prompt file ID. If the audio was removed from the user's audio library, it will be marked with a prefix, `removed_vWby3OZaQlS1nAdmEAqgwA` for example. You can still use this audio ID to get the audio information in [Get an audio item](https://marketplace.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.

            • audio_name

              string — The audio prompt file name.

            • enable

              boolean

        • call_overflow

          object — Whether to allow users to forward their calls to other numbers when a call is not answered

          • call_overflow_type

            object

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • call_park

          object — Whether to allow calls placed on hold to be resumed from another location using a retrieval code.

          • call_not_picked_up_action

            integer — The action when a parked call is not picked up. `100` - Ring back to parker `0` - Forward to voicemail of the parker `9` - Disconnect `50` - Forward to another extension

          • enable

            boolean

          • expiration_period

            integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 — A time limit for parked calls in minutes. After the expiration period ends, the retrieval code is no longer valid and a new code will be generated.

          • forward_to

            object — The extension's forwarding information.

            • display_name

              string — The extension's name.

            • extension_id

              string — The extension ID.

            • extension_number

              integer — The extension number.

            • extension_type

              string, possible values: "user", "zoomRoom", "commonArea", "ciscoRoom/polycomRoom", "autoReceptionist", "callQueue", "sharedLineGroup" — The type of extension: * `user` * `zoomRoom` * `commonArea` * `ciscoRoom/polycomRoom` * `autoReceptionist` * `sharedLineGroup` * `callQueue`

            • id

              string — The ID of the extension `user`, `zoomRoom`, `commonArea`, `ciscoRoom/polycomRoom`, `autoReceptionist`, `callQueue` or `sharedLineGroup`.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • music_on_park

            object — Play music when a call is parked.

            • audio_id

              string — The audio prompt file ID. You can still use this audio ID to get the audio information in [Get an audio item](https://developers.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.

            • audio_name

              string — The audio prompt file name.

          • sequence

            integer, possible values: 0, 1 — This field is only used in the new policy framework. Choose how parked calls are assigned to a BLF (Busy Lamp Field) key. Sequential assignment will park the call at the next available BLF key. Random assignment will park the call at a randomly selected BLF key. `0` - Random `1` - Sequential

        • call_queue_opt_out_reason

          object — This field sets the opt-out reasons for call queues. When enabled, call queue members will need to select an opt-out reason when they turn off the `receive queue call` feature.

          • call_queue_opt_out_reasons_list

            array — The opt-out reasons list

            Items:
            • code

              string — Opt out code.

            • enable

              boolean

            • system

              boolean — The system default reason. It cannot be edited.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • call_screening

          object — Incoming direct external callers will be prompted to respond to a button to reach users, callers who don't respond will be disconnected. Devices will not be able to receive any third party faxes.

          • enable

            boolean — Whether this policy is enabled

          • exclude_user_company_contacts

            boolean — Exclude user and company contacts from call screening, calls will reach users as normal

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • call_transferring

          object — This setting allows users to warm or blind transfer their calls. This does not apply to warm transfer on IP Phones except for Yealink. Voicemail is transferable only to internal extensions.

          • call_transferring_type

            object

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • chat_channel

          object — Enable chat channel functionality for call queues

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • check_voicemails_over_phone

          object — Whether to allow extension owners or members of a shared line group to check voicemails for extension numbers over the phone using PIN code.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • conference_dtmf

          object — This allows users to interact with automated systems, input access codes, or perform other functions without disrupting the call.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • connect_to_operator

          object — Once disabled, users will not be able to route their calls to an operator as part of the 'When a call is not answered' setting.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • customize_line_name

          object — Customize Line Name

          • common_area_line_name

            string, possible values: "phoneNumber", "extensionNumber", "displayName", "displayName;extensionNumber" — The common area line name.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • user_line_name

            string, possible values: "phoneNumber", "extensionNumber", "displayName", "displayName;extensionNumber", "firstName;extensionNumber", "firstName;lastName;extensionNumber" — The user line name.

        • delegation

          object — Whether the user can use [call delegation](https://support.zoom.us/hc/en-us/articles/360032881731-Setting-up-call-delegation-shared-lines-appearance-).

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • desk_phone_smart_key_positions_layout

          object — Allow Zoom to move your frequently used line keys to your pre-programmed smart keys layout. Smart keys will be updated on a weekly basis.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • display_call_feedback_survey

          object — Whether to display a thumbs up or down survey at the end of each call. If participants respond with thumbs down, they can provide additional information about what went wrong.

          • enable

            boolean

          • feedback_duration

            object — The call duration, in seconds, 0-60.

            • enable

              boolean

            • max

              integer

            • min

              integer

          • feedback_mos

            object — The MOS score. Min: 1.0, Max: 3.0, format one decimal point.

            • enable

              boolean

            • max

              string — Max

            • min

              string — Min

          • feedback_type

            integer, possible values: 1, 2 — This field allows you to display feedback survey, `1` - display for every call, `2` - display when call quality issues are detected. Default `1`, if set with value `2`, need to set `feed_back_mos` or `feedback_duration`.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • e2e_encryption

          object — Whether to allow users to switch their calls to End-to-End Encryption. If users have Automatic Call Recording turned on, they will not be able to use End-to-End Encryption.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • elevate_to_meeting

          object — Whether to allow users to elevate their phone calls to a meeting.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • end_conference_call_when_originator_drops

          object — Once enabled, a personal conference call will end when the originator, who first merges other participant(s) into the conference call, drops. This will not affect the conference barge feature of Shared Line Group.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • external_calling_on_zoom_room_common_area

          object — Whether to allow Zoom Rooms to call external phone numbers based on the calling plans and other Zoom Phone policies.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • hand_off_to_room

          object — Whether to allow users to send a call to a Zoom Room.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • hide_phone_call_history_in_ios

          object — Hide Zoom Phone calls in iOS/iPadOS device call history.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • international_calling

          object — Whether to allow extensions to place international calls outside of the calling plan.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • local_survivability_mode

          object — Whether to allow user or extension to have core phone services in the event of an outage.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • mobile_switch_to_carrier

          object — Whether to allow users to switch from a Zoom Phone to their native carrier.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • no_hold_conference

          object — Users can set up a conference call without any interruption in the current call

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • obfuscate_sensitive_data_during_call

          object — Obfuscate sensitive data during a call

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • online_fax

          object — Allow user to send and receive faxes.

          • enable

            boolean — Whether this policy is enabled

          • enable_new_fax_email_notifications

            boolean — Enable email notifications when a new fax is received

          • include_fax_as_attachment

            boolean — Include fax as an attachment in the email notification

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • outbound_calling

          object — Whether to define calling rules to restrict user or extension from calling specific countries, cities, or numbers. Note: Only for use by customers who opted for OP flag `Enable New Version Outbound Blocked List`.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • outbound_sms

          object — Whether to allow users to send and receive messages. You will need to assign a valid calling plan and phone number to each user for them to send and receive messages. Note: Only for use by customers who opted for OP flag `Enable New Version Outbound Blocked List`.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • override_default_port

          object — This field sets a range for port assignment. Ports are used by Zoom desktop, mobile clients, Zoom Rooms and Zoom Phone Appliances during a call. The range should be between 9,000 and 9,999. At least 50 ports need to be configured to make sure the functionality is not affected..

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • max_port

            integer — Max port.

          • min_port

            integer — Min port.

        • peer_to_peer_media

          object — Whether to allow Zoom clients to send media directly to each other. Users or devices that have certain features like recording or monitoring enabled might not be able to use Peer to Peer Media.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • personal_audio_library

          object — This field allows users to change their own Audio Library.

          • allow_music_on_hold_customization

            boolean — Whether to allow music on hold customization.

          • allow_voicemail_and_message_greeting_customization

            boolean — Whether to allow voicemail and message greeting customization.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • prevent_users_upload_audio_files

          object — Prevent users from uploading audio files

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • private_call_park

          object — Allow calls placed on hold to be resumed by allowed users with the retrieval code.

          • call_not_picked_up_action

            integer — The action when a parked call is not picked up. `100` - Ring back to parker `0` - Forward to voicemail of the parker `9` - Disconnect `50` - Forward to another extension

          • enable

            boolean — Whether this policy is enabled

          • expiration_period

            integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 — A time limit for parked calls in minutes. After the expiration period ends, the retrieval code is no longer valid and a new code generates.

          • forward_to

            object — The extension's forwarding information.

            • display_name

              string — The extension's name.

            • extension_id

              string — The extension ID.

            • extension_number

              integer, format: int64 — The extension number.

            • extension_type

              string, possible values: "user", "zoomRoom", "commonArea", "ciscoRoom/polycomRoom", "autoReceptionist", "callQueue", "sharedLineGroup" — The type of extension: * `user` * `zoomRoom` * `commonArea` * `ciscoRoom/polycomRoom` * `autoReceptionist` * `sharedLineGroup` * `callQueue`

            • id

              string — The ID of the extension `user`, `zoomRoom`, `commonArea`, `ciscoRoom/polycomRoom`, `autoReceptionist`, `callQueue` or `sharedLineGroup`.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • music_on_park

            object — Play music when a call is parked.

            • audio_id

              string — The audio prompt file ID. You can still use this audio ID to get the audio information in [Get an audio item](https://developers.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.

            • audio_name

              string — The audio prompt file name.

          • sequence

            integer, possible values: 0, 1 — This field chooses how parked calls are assigned to a BLF (Busy Lamp Field) key. Sequential assignment parks the call at the next available BLF key. Random assignment parks the call at a randomly selected BLF key. `0` - Random `1` - Sequential

        • restricted_call_hours

          object — Once enabled, define when the extension or user cannot make or accept calls and send SMS.

          • allow_internal_calls

            boolean — Whether to allow internal calls/SMS during restricted hours.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • restricted_holiday_hours_applied

            boolean — Whether restricted holiday hours has been applied.

          • restricted_hours_applied

            boolean — Whether restricted hours has been applied.

          • time_zone

            object — This field sets either time zone `id` or `set_by_extension`.

            • id

              string — The [time zone list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists/#timezones) for supported time zones and their formats.

            • name

              string — The time zone name. If time zone id is empty, it shows as `setByExtension`.

        • select_outbound_caller_id

          object — Whether to allow extensions to change outbound caller ID when placing calls.

          • allow_hide_outbound_caller_id

            boolean — Whether to allow extensions to hide outbound caller ID.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • shared_voicemail_notification_by_email

          object — Once enabled, users receive email notification when there is a new shared voicemail or videomail. If the extension that shares the voicemail or videomail has disabled the voicemail or videomail notification by email policy, then users do not receive notifications. It only displays when the voicemail policy is using the new policy framework.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • show_custom_disclaimer_when_using_zoom_phone

          object — Show a custom disclaimer when starting to use Zoom Phone service

          • custom_disclaimer_list

            array — Custom disclaimer list

            Items:
            • body

              string — Custom disclaimer body

            • language

              string — The audio prompt language code. American English: `en-US` British English: `en-GB` Espa&ntilde;ol americano: `es-US` Fran&ccedil;ais canadien: `fr-CA` Dansk: `da-DK` Deutsch: `de-DE` Espa&ntilde;ol: `es-ES` Fran&ccedil;ais: `fr-FR` Italiano: `it-IT` Nederlands: `nl-NL` Portugues portugal: `pt-PT` Japanese: `ja-JP` Korean: `ko-KO` Portugues brasil: `pt-BR` Chinese: `zh-CN` Taiwanese: `zh-TW`

            • title

              string — Custom disclaimer title

          • display_frequency

            string, possible values: "first_time_only", "every_time", "every_month", "every_quarter", "every_6_months", "every_year" — Display frequency

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • sms

          object — Whether to allow users to send and receive messages. You will need to assign a valid calling plan and phone number to each user for them to send and receive messages.

          • enable

            boolean

          • international_sms

            boolean — Whether users can send and receive international messages. You can set this only if `sms` is enabled.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • sms_auto_reply

          object — Enable SMS Auto Reply feature for User, Auto Receptionist, and Call Queue. Power Pack license is required for this feature to work.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • sms_etiquette_tool

          object — This field identifies defined keywords and text patterns over SMS and prevents users from sharing unwanted messages.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • sms_etiquette_policy

            array — The SMS etiquette policy. The maximum size is 50.

            Items:
            • action

              integer, possible values: 1, 2 — The actions taken when a policy is triggered, `1` - ask user to confirm sending of message, `2` - block the message.

            • active

              boolean — Whether active or not.

            • content

              string — The SMS etiquette policy content. For rule `1`, add keywords separated by comma, the following characters are supported A-Z, a-z, 0-9. For rule `2`, add regular expressions, back references and zero-width assertions area not supported.

            • description

              string — The SMS etiquette policy description.

            • id

              string — The SMS etiquette policy ID.

            • name

              string — The SMS etiquette policy name.

            • rule

              integer, possible values: 1, 2 — The SMS etiquette policy rule, `1` - Keywords, `2` - Regular Expression.

        • sms_template

          object — Use pre-defined templates to help users compose messages. Power Pack license is required for this feature to work.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • sms_template_list

            array — The SMS template list.

            Items:
            • active

              boolean — Whether it is active.

            • content

              string — Text to Display. This text will be editable by users. Customer input fields may be added by using the buttons below. Customer information will be removed if not available.

            • description

              string — The SMS template description.

            • name

              string — The SMS template name.

            • sms_template_id

              string — The SMS template ID.

        • team_sms_thread_summary

          object — Team SMS thread summary with AI Companion

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • use_callkit_for_incoming_call_notifications_in_ios

          object — Use CallKit always for Incoming call notifications on iOS/iPadOS devices. When this feature is enabled for a user or common area, their iOS/iPadOS device will always use CallKit for incoming call notifications no matter if the Zoom App is running in the foreground or background, preventing interruptions when receiving inbound calls on the device. This setting only applies to iOS/iPadOS devices with CallKit enabled. If a user modifies this setting on their client, the value will be updated on this policy. Locking this policy will prevent users from making changes to the setting.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • voicemail

          object — This field allows users to access, share, download, and to delete voicemail and videomail

          • allow_delete

            boolean — This setting allows users to delete their own voicemail or videomail.

          • allow_download

            boolean — This setting allows users to download their own voicemail or videomail.

          • allow_share

            boolean — This setting allows users to share their own voicemail.

          • allow_videomail

            boolean — This setting allows videomail

          • allow_virtual_background

            boolean — This setting allows virtual background for voicemail or videomail greeting

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • voicemail_intent_based_prioritization

          object — Voicemail prioritization with AI Companion

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • voicemail_notification_by_email

          object — Whether to enable voicemail or videomail transcription feature for User, Auto Receptionist, Call Queue and Shared Line Groups.

          • enable

            boolean

          • forward_voicemail_to_email

            boolean — Whether to forward the voicemail to email.

          • include_voicemail_file

            boolean — Whether to include the voicemail file.

          • include_voicemail_transcription

            boolean — Whether to include the voicemail transcription.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • voicemail_tasks

          object — Voicemail tasks with AI Companion

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • voicemail_transcription

          object — Whether to enable voicemail or videomail transcription feature for User, Auto Receptionist, Call Queue and Shared Line Groups.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • zoom_phone_on_desktop

          object — Whether to allow users to use Zoom Phone on desktop clients (Mac OS, Windows, VDI client and Linux).

          • allow_calling_clients

            array — The clients in this list are allowed to make and receive calls.

            Items:

            string, possible values: "mac_os", "windows", "vdi_client", "linux" — The acceptable value is mac_os windows vdi_client linux.

          • allow_sms_mms_clients

            array — The clients in this list are allowed to use the SMS/MMS function.

            Items:

            string, possible values: "mac_os", "windows", "vdi_client", "linux" — The acceptable value is mac_os windows vdi_client linux.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • zoom_phone_on_mobile

          object — Whether to allow users to use Zoom Phone on mobile clients (iOS, iPad OS and Android).

          • allow_calling_clients

            array — The clients in this list are allowed to make and receive calls.

            Items:

            string, possible values: "ios", "android", "intune", "blackberry" — The acceptable value is: ios android intune blackberry

          • allow_calling_sms_mms

            boolean — This field allows calling and SMS or MMS functions on mobile.

          • allow_sms_mms_clients

            array — The clients in this list are allowed to use the SMS/MMS function.

            Items:

            string, possible values: "ios", "android", "intune", "blackberry" — The acceptable value is ios android intune blackberry.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • zoom_phone_on_pwa

          object — Whether to allow users to use Zoom Phone on Zoom Progressive Web App.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

    • old_object (required)

      object

Example:

{
  "event": "phone.account_settings_updated",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "settings": {
        "call_live_transcription": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "transcription_start_prompt": {
            "enable": true,
            "audio_id": "yCT14TwySDGVUypVlKNEyA",
            "audio_name": "example.mp3"
          }
        },
        "local_survivability_mode": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "external_calling_on_zoom_room_common_area": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "select_outbound_caller_id": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "allow_hide_outbound_caller_id": true
        },
        "personal_audio_library": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "allow_music_on_hold_customization": true,
          "allow_voicemail_and_message_greeting_customization": true
        },
        "voicemail": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "allow_videomail": true,
          "allow_download": false,
          "allow_delete": true,
          "allow_share": true,
          "allow_virtual_background": true
        },
        "voicemail_transcription": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "voicemail_notification_by_email": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "include_voicemail_file": true,
          "include_voicemail_transcription": false,
          "forward_voicemail_to_email": true
        },
        "shared_voicemail_notification_by_email": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "restricted_call_hours": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "time_zone": {
            "id": "America/Adak",
            "name": "(GMT-9:00) Adak"
          },
          "restricted_hours_applied": false,
          "restricted_holiday_hours_applied": false,
          "allow_internal_calls": true
        },
        "allowed_call_locations": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "locations_applied": false,
          "allow_internal_calls": true
        },
        "check_voicemails_over_phone": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "auto_call_recording": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "recording_calls": "inbound",
          "recording_transcription": true,
          "recording_start_prompt": true,
          "recording_start_prompt_audio_id": "yCT14TwySDGVUypVlKNEyA",
          "recording_explicit_consent": true,
          "allow_stop_resume_recording": true,
          "disconnect_on_recording_failure": true,
          "play_recording_beep_tone": {
            "enable": true,
            "play_beep_member": "allMembers",
            "play_beep_volume": 60,
            "play_beep_time_interval": 15
          }
        },
        "ad_hoc_call_recording": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "recording_transcription": true,
          "allow_download": true,
          "allow_delete": true,
          "recording_start_prompt": true,
          "recording_explicit_consent": true,
          "play_recording_beep_tone": {
            "enable": true,
            "play_beep_member": "allMembers",
            "play_beep_volume": 60,
            "play_beep_time_interval": 15
          }
        },
        "international_calling": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "outbound_calling": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "outbound_sms": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "sms": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "international_sms": true
        },
        "sms_etiquette_tool": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "sms_etiquette_policy": [
            {
              "id": "PdPtFFDbQhKr05WepCHhWQ",
              "name": "invalid symbol",
              "description": "invalid symbol",
              "rule": 1,
              "content": "test",
              "action": 1,
              "active": true
            }
          ]
        },
        "zoom_phone_on_mobile": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "allow_calling_clients": [
            "ios"
          ],
          "allow_sms_mms_clients": [
            "ios"
          ]
        },
        "zoom_phone_on_pwa": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "e2e_encryption": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "call_handling_forwarding_to_other_users": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "call_forwarding_type": null
        },
        "call_overflow": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "call_overflow_type": null
        },
        "call_transferring": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "call_transferring_type": null
        },
        "elevate_to_meeting": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "call_park": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "expiration_period": 3,
          "call_not_picked_up_action": 50,
          "forward_to": {
            "display_name": "ZOOM_API Test",
            "extension_id": "TO586CYlQFC_WCUvPRXytA",
            "extension_number": 100014,
            "extension_type": "user",
            "id": "oG_nYRFuTJiY1tu0Fur_4Q"
          },
          "sequence": 1,
          "music_on_park": {
            "audio_id": "yCT14TwySDGVUypVlKNEyA",
            "audio_name": "example.mp3"
          }
        },
        "hand_off_to_room": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "mobile_switch_to_carrier": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "delegation": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "audio_intercom": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "block_calls_without_caller_id": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "block_external_calls": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "block_business_hours": true,
          "block_closed_hours": true,
          "block_holiday_hours": true,
          "block_call_action": 0
        },
        "call_queue_opt_out_reason": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "call_queue_opt_out_reasons_list": [
            {
              "code": "Break",
              "system": true,
              "enable": true
            }
          ]
        },
        "auto_delete_data_after_retention_duration": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "items": [
            {
              "type": "callLog",
              "duration": -1,
              "time_unit": "year"
            }
          ],
          "delete_type": 1,
          "permanently_delete_after_days": -1
        },
        "auto_call_from_third_party_apps": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "override_default_port": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "min_port": 9000,
          "max_port": 9998
        },
        "peer_to_peer_media": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "advanced_encryption": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "disable_incoming_unencrypted_voicemail": true
        },
        "display_call_feedback_survey": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "feedback_type": 1,
          "feedback_mos": {
            "enable": true,
            "min": "1.1",
            "max": "3.0"
          },
          "feedback_duration": {
            "enable": true,
            "min": 0,
            "max": 60
          }
        },
        "zoom_phone_on_desktop": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "allow_calling_clients": [
            "mac_os"
          ],
          "allow_sms_mms_clients": [
            "mac_os"
          ]
        },
        "allowed_device_locations": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "block_devices_type": "network_change_detected"
        },
        "allow_emergency_calls": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "allow_emergency_calls_from_clients": true,
          "allow_emergency_calls_from_deskphones": true
        },
        "online_fax": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "enable_new_fax_email_notifications": true,
          "include_fax_as_attachment": false
        },
        "private_call_park": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "expiration_period": 3,
          "call_not_picked_up_action": 50,
          "forward_to": {
            "display_name": "ZOOM_API Test",
            "extension_id": "TO586CYlQFC_WCUvPRXytA",
            "extension_number": 100014,
            "extension_type": "user",
            "id": "oG_nYRFuTJiY1tu0Fur_4Q"
          },
          "sequence": 1,
          "music_on_park": {
            "audio_id": "yCT14TwySDGVUypVlKNEyA",
            "audio_name": "example.mp3"
          }
        },
        "sms_template": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "sms_template_list": [
            {
              "sms_template_id": "0qWIP8S8QXmo6KShUIyvZA",
              "name": "name",
              "description": "description",
              "content": "content",
              "active": true
            }
          ]
        },
        "call_screening": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "exclude_user_company_contacts": true
        },
        "sms_auto_reply": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "allow_end_user_edit_call_handling": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "connect_to_operator": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "no_hold_conference": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "conference_dtmf": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "end_conference_call_when_originator_drops": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "chat_channel": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "desk_phone_smart_key_positions_layout": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "auto_opt_out_in_call_queue": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "prompt_before_opt_out_call_queue": true
        },
        "allow_mobile_home_phone_callout": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "use_callkit_for_incoming_call_notifications_in_ios": {
          "enable": false,
          "locked": false,
          "locked_by": "account"
        },
        "hide_phone_call_history_in_ios": {
          "enable": false,
          "locked": false,
          "locked_by": "account"
        },
        "obfuscate_sensitive_data_during_call": {
          "enable": false,
          "locked": false,
          "locked_by": "account"
        },
        "prevent_users_upload_audio_files": {
          "enable": false,
          "locked": false,
          "locked_by": "account"
        },
        "voicemail_tasks": {
          "enable": false,
          "locked": false,
          "locked_by": "account"
        },
        "voicemail_intent_based_prioritization": {
          "enable": false,
          "locked": false,
          "locked_by": "account"
        },
        "team_sms_thread_summary": {
          "enable": false,
          "locked": false,
          "locked_by": "account"
        },
        "customize_line_name": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "user_line_name": "phoneNumber",
          "common_area_line_name": "phoneNumber"
        },
        "show_custom_disclaimer_when_using_zoom_phone": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "display_frequency": "first_time_only",
          "custom_disclaimer_list": [
            {
              "language": "en-GB",
              "title": "tilte",
              "body": "body"
            }
          ]
        }
      }
    },
    "old_object": null
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.callee_meeting_inviting

  • Method: POST
  • Path: phone.callee_meeting_inviting
  • Tags: webhook

The Callee invited to join a meeting event triggers each time a callee over Zoom Phone escalates a phone call to a Zoom meeting.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • The "Callee invited to join a meeting" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string, format: date-time — The date and time (GMT) at which the call escalated to a meeting, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • meeting_id

        string, format: int64 — The meeting's unique ID. This is also known as the meeting number.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "meeting_id": "",
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.callee_parked

  • Method: POST
  • Path: phone.callee_parked
  • Tags: webhook

The Callee parks a phone call event triggers every time the callee parks a phone call over a Zoom Phone.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • The "Callee park a phone call" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The date and time (GMT) at which the call park began, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • park_code

        string — The code to connect with caller.

      • park_failure_reason

        string — The reason why park failure

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "park_code": "",
      "park_failure_reason": "",
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.emergency_alert

  • Method: POST
  • Path: phone.emergency_alert
  • Tags: webhook

The Emergency Call Alert event triggers every time Zoom phone users dial 911 from their Zoom phone. To receive this notification, you must meet the prerequisites.

Prerequisites

  • User must have enrolled in a Zoom Phone Plan.
  • User must have enabled normadic emergency service and emergency addresses.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • A valid Event Notification Endpoint URL.
    • An Emergency Call Alert subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the caller.

    • object (required)

      object

      • call_id (required)

        string — The unique identifier of the call.

      • callee (required)

        object — The callee object that represents the person who is called by the caller.

        • phone_number

          string — The phone number of the callee.

      • caller (required)

        object — The caller object that represents the person who initiated the call.

        • extension_type (required)

          string, possible values: "user", "interop", "commonAreaPhone" — The extension type.

        • id (required)

          string — The Zoom User ID of the caller.

        • display_name

          string — The display name of the caller.

        • extension_number

          string — The extension number of the caller.

        • phone_number

          string — The phone number of the caller in E164 format. Example: +12192818492

        • site_id

          string — The unique identifier of the caller's [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).

        • site_name

          string — The name of the site.

        • timezone

          string — The timezone of the caller.

      • deliver_to (required)

        string, possible values: "PSAP", "SAFETY_TEAM", "NONE", "BOTH", "MOBILE_911_CALL", "SIP_GROUP", "BOTH_SAFETY_TEAM_AND_SIP", "OVERFLOW_TO_SIP_GROUP", "TO_PSAP_FOR_MISSED_BY_SAFETY_TEAM" — This field indicates where the call was routed to.

      • location (required)

        object

        • bssid

          array — The basic service set identifier of the caller's device.

          Items:

          string

        • gps

          array — The GPS location of the caller's device.

          Items:

          string

        • ip

          array — The IP address of the caller.

          Items:

          string

      • ringing_start_time (required)

        string — The GMT time at which the ringing started in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • router (required)

        string, possible values: "ZOOM", "BYOC Carrier", "Mobile Carrier" — This field indicates where the call was originally routed from.

      • emergency_address

        object

        • address_line1

          string — The emergency address(house number and street name) assigned to the user.

        • address_line2

          string — The additional emergency address information(building number, floor number, unit) assigned to the user.

        • city

          string — The user's city.

        • country

          string — The abbreviated [country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the user's country.

        • state_code

          string — The abbreviated [state code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#states-1) of the user's state.

        • zip

          string — The zip code of the user.

      • location_type

        integer, possible values: 0, 1, 2, 3 — The result of emergency-location matching. * `0` — The call matched a company location. * `1` — The call matched a personal location. * `2` — The call matched a pending location. * `3` — The call did not match any location.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "caller": {
        "id": "",
        "phone_number": "",
        "extension_number": "",
        "timezone": "",
        "display_name": "",
        "extension_type": "user",
        "site_id": "",
        "site_name": ""
      },
      "callee": {
        "phone_number": ""
      },
      "location": {
        "gps": [
          ""
        ],
        "ip": [
          ""
        ],
        "bssid": [
          ""
        ]
      },
      "location_type": 0,
      "router": "ZOOM",
      "deliver_to": "PSAP",
      "ringing_start_time": "",
      "emergency_address": {
        "country": "",
        "address_line1": "",
        "address_line2": "",
        "city": "",
        "zip": "",
        "state_code": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.ai_call_summary_changed

  • Method: POST
  • Path: phone.ai_call_summary_changed
  • Tags: webhook

The Call summary changed event triggers when the system generates or updates an AI call summary.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • Call summary changed subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since the epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The user's account ID.

    • object (required)

      object

      • ai_call_summary_id (required)

        string — The ID of AI call summary.

      • call_id (required)

        string — The call ID of the call summary.

      • user_id (required)

        string — The user ID.

      • call_element_ids

        array — The list of call element IDs for the call summary.

        Items:

        string

      • call_log_ids

        array — Use `call_element_ids` instead. The list of call log IDs for the call summary.

        Items:

        string

      • created_time

        string — The created time in GMT `date-time` format.

      • deleted

        boolean — Whether the call summary is deleted.

      • edited

        boolean — Whether the call summary is edited.

      • modified_time

        string — The modified time in GMT `date-time` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "edited": true,
      "deleted": true,
      "ai_call_summary_id": "HfBQmSIARZi5zeDMmofwTA",
      "user_id": "FvB3CRfOQUuhF1IOB176Tg",
      "call_id": "7018317023722949162",
      "call_element_ids": [
        "b8a98b45-09c4-4828-988d-eaa886d039ef"
      ],
      "created_time": "2023-10-08T16:12:04Z",
      "modified_time": "2023-10-08T16:12:04Z"
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.callee_rejected

  • Method: POST
  • Path: phone.callee_rejected
  • Tags: webhook

The Callee rejected a phone call event triggers whenever a callee, who is either a user in your account or a user of your app, declines an incoming call on their Zoom Phone.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • A valid Event notification endpoint URL.
    • Callee rejected a phone call subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • call_end_time (required)

        string — The callee declined the call at a specific GMT time. "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • call_id (required)

        string — The unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • phone_number (required)

          string — Thr Phone number of the callee in E164 format. Example: +12192818492

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — Zoom clients generate an ID when installed on a device. <b>Note:</b> Does not apply to desk phones.

        • extension_id

          string — The extension ID of the callee.

        • extension_number

          integer, format: int64 — The extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the callee.

        • timezone

          string — The timezone of the callee.

        • user_id

          string — The Zoom user ID of the callee.

      • caller (required)

        object — Caller object: Represents the person who initiated the call.

        • phone_number (required)

          string — The phone number of the caller in E164 format. Example: +12192818492

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — The extension ID of the caller.

        • extension_number

          integer, format: int64 — The extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the caller.

        • timezone

          string — The timezone of the caller.

        • user_id

          string — The Zoom user ID of the caller.

      • ringing_start_time (required)

        string — The GMT time at which the ringing started. "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • handup_result

        string — The reason the call was rejected. Values: Rejected

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": "",
      "call_end_time": "",
      "handup_result": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.group_settings_updated

  • Method: POST
  • Path: phone.group_settings_updated
  • Tags: webhook

The Group settings updated event triggers when group settings changed.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
  • A valid Event Notification Endpoint URL.
  • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
  • Group settings updated subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.group_settings_updated" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field returns in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that updated the group's settings.

    • object (required)

      object — Information about the group's updated settings.

      • group_id (required)

        string — The group ID.

      • settings (required)

        object

        • ad_hoc_call_recording

          object — Whether to allow extensions to record and save calls in the cloud.

          • allow_delete

            boolean — Whether to allow user to delete their own ad-hoc recording.

          • allow_download

            boolean — Whether to allow user to download their own ad-hoc recording.

          • enable

            boolean — Whether the current extension can record and save calls to the cloud.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "site" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

          • play_recording_beep_tone

            object

            • enable

              boolean — Whether to play the side tone beep for recorded users while recording. It displays only when ad hoc call recording policy uses the new framework.

            • play_beep_member

              string, possible values: "allMember", "recordingSide" — The beep sides. It displays only when the `enable` is set to true.

            • play_beep_time_interval

              integer, possible values: 5, 10, 15, 20, 25, 30, 60, 120 — The beep time interval in seconds. It displays only when the `enable` is set to true.

            • play_beep_volume

              integer, possible values: 0, 20, 40, 60, 80, 100 — The side tone beep volume. It displays only when `enable` is set to `true`.

          • recording_explicit_consent

            boolean — Whether the Press 1 option that provides recording consent is enabled.

          • recording_start_prompt

            boolean — Whether a prompt plays to call participants when the recording has started.

          • recording_transcription

            boolean — Whether the call recording transcription is enabled.

        • advanced_encryption

          object — Whether to allow Voicemail to be encrypted with keys which are not accessible to Zoom servers. These Voicemail can be decrypted only by the intended user recipient. Shared Line Appearance, Shared Line Group, Call Queue, or Auto Receptionist Voicemail will not be encrypted but can still be played. Email to Voicemail, transcriptions, ability to check Voicemails by dialing into the Voicemail system or web are not available when this feature is enabled. This policy requires a Power Pack license to be enabled. If the user does who inherits this policy does not have a Power Pack license, the policy will not be applied. Settings is only available with client version 5.12 or later.

          • disable_incoming_unencrypted_voicemail

            boolean — Whether to disable incoming unencrypted voicemail

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset(displayed when using old or new policy framework).

        • allow_emergency_calls

          object — Enables users to place emergency calls through the system. Disabling this setting will deactivate emergency call functionality.

          • allow_emergency_calls_from_clients

            boolean — Allow emergency calls for Zoom clients

          • allow_emergency_calls_from_deskphones

            boolean — Allow emergency calls for desk phone and Zoom Phone Appliances

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • allow_end_user_edit_call_handling

          object — Once disabled, users will not be able to edit their call handling settings on the web portal or enable call forwarding on the client.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • allow_mobile_home_phone_callout

          object — Allow users to use mobile or home phone to place calls. Zoom app will call this device first before ringing the called number. Users' Call Me On phone number will be masked with Zoom Phone caller ID.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • allowed_call_locations

          object

          • allow_internal_calls

            boolean — Whether to allow internal calls when outside of allowed locations

          • enable

            boolean — Whether to define where the extension or user can make and accept calls and send SMS. When the extension or user is outside of the allowed locations, calls will follow "When a call is not answered" settings, meanwhile outbound and inbound emergency calls and SMS will still be allowed. Note: SMS settings will only be available to users.

          • locations_applied

            boolean — Whether locations has been applied.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits modifying the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • allowed_device_locations

          object — Define when hardware devices will be blocked. Devices can be disconnected and blocked from accessing the Zoom service when a device is detected outside an allowed network or when any network change is detected.

          • block_devices_type

            string, possible values: "network_change_detected", "outside_allowed_location" — Block devices condition.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • audio_intercom

          object — Whether to allow hands-free peer-to-peer conversations. When an intercom call is received, the phone will beep to notify the user of the incoming intercom call, and the user's phone will automatically answer the intercom call.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • auto_call_recording

          object — whether to automatically record all inbound and outbound calls.

          • allow_stop_resume_recording

            boolean — Whether the stop and resume of automatic call recording is enabled.

          • disconnect_on_recording_failure

            boolean — Whether a call disconnects when there is an issue with the automatic call recording and the call cannot reconnect after five seconds. This does **not** include emergency calls.

          • enable

            boolean — Whether automatic call recording is enabled.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • play_recording_beep_tone

            object

            • enable

              boolean — Whether to play a side tone beep for recorded users while recording. Only displayed when auto call recording policy uses the new framework.

            • play_beep_member

              string, possible values: "allMember", "recordingSide" — The beep sides. It displays only when `enable` is true.

            • play_beep_time_interval

              integer, possible values: 5, 10, 15, 20, 25, 30, 60, 120 — The beep time interval in seconds. It displays only when `enable` is true.

            • play_beep_volume

              integer, possible values: 0, 20, 40, 60, 80, 100 — The volume of the side tone beep. It displays only when `enable` is set to `true`.

          • recording_calls

            string, possible values: "inbound", "outbound", "both" — The type of calls automatically recorded: * `inbound` * `outbound` * `both`

          • recording_explicit_consent

            boolean — Whether the `Press 1 option that provides recording consent` is enabled.

          • recording_start_prompt

            boolean — Whether a prompt plays to call participants when the recording has started.

          • recording_start_prompt_audio_id

            string — The audio that plays when the recording has started. You can use this audio ID to get the audio information using [Get an audio item](https://marketplace.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.

          • recording_transcription

            boolean — Whether the call recording transcription is enabled.

        • auto_delete_data_after_retention_duration

          object — This field allows Zoom to automatically delete data after the retention duration has lapsed.

          • delete_type

            integer, possible values: 1, 2 — The deletion policy. * 1 - soft delete * 2 - permanent delete

          • enable

            boolean — Allows Zoom to automatically delete data after the retention duration has lapsed.

          • items

            array

            Items:
            • duration

              integer — The retention duration where -1 means unlimited. For units of time, see the `time_unit` below. For `year`, the duration:-1, 1-10; for `day`, the duration:-1, 1-60; for `month`, the duration:-1, 1-18.

            • time_unit

              string, possible values: "year", "month", "day" — The unit of time.

            • type

              string, possible values: "callLog", "onDemandRecording", "automaticRecording", "voicemail", "videomail", "sms", "fax" — The data types.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

          • permanently_delete_after_days

            integer — Number of days after which the data will be permanently deleted automatically. Use -1 to retain data indefinitely.

        • auto_opt_out_in_call_queue

          object — Once enabled, when Call Queue members log out of Zoom (Except for desk phones and Zoom Phone appliances), they will be automatically Opted-out from the Call Queue as well.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

          • prompt_before_opt_out_call_queue

            boolean — Always ask the user if they want to opt-out from the Call Queue when they sign out of Zoom

        • block_calls_without_caller_id

          object — Whether calls without caller ID will be blocked.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • block_external_calls

          object — This field allows you to set rules for blocking external calls during business, closed, and holiday hours. This feature is only available for User, Zoom Room and Common Area.

          • block_business_hours

            boolean

          • block_call_action

            integer, possible values: 0, 9 — The action when a call is blocked. `9` - Disconnect, `0`- Forward to voicemail/videomail.

          • block_closed_hours

            boolean

          • block_holiday_hours

            boolean

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset(displayed when using old or new policy framework).

        • call_handling_forwarding_to_other_users

          object — Whether to allow users to forward their calls to other numbers.

          • call_forwarding_type

            integer, possible values: 1, 2, 3, 4 — `1` - Low restriction (external numbers not allowed) `2` - Medium restriction (external numbers and external contacts not allowed) `3` - High restriction (external numbers, external contacts and internal extensions without inbound automatic call recording not allowed) `4` - No restriction

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • call_live_transcription

          object — Whether to let users turn on live transcriptions for a call.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified.

          • transcription_start_prompt

            object — Whether to play a prompt to call participants when the transcription has started.

            • audio_id

              string — The audio prompt file ID. If the audio was removed from the user's audio library, it will be marked with a prefix, `removed_vWby3OZaQlS1nAdmEAqgwA` for example. You can still use this audio ID to get the audio information in [Get an audio item](https://marketplace.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.

            • audio_name

              string — The audio prompt file name.

            • enable

              boolean

        • call_overflow

          object

          • call_overflow_type

            integer, possible values: 1, 2, 3, 4 — `1` - Can forward to internal extensions and to external contacts. `2` - Can forward only to internal extensions. `3` - Can forward only to internal extensions that require inbound Automatic Call Recording. `4` - Can forward to internal extensions, external contacts, and external numbers.

          • enable

            boolean — Whether to allow users to forward their calls to other numbers.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • call_park

          object

          • call_not_picked_up_action

            integer — The action when a parked call is not picked up. `100` - Ring back to parker `0` - Forward to voicemail of the parker `9` - Disconnect `50` - Forward to another extension

          • enable

            boolean — Whether to allow calls placed on hold to be resumed from another location using a retrieval code.

          • expiration_period

            integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 — A time limit for parked calls in minutes. After the expiration period ends, the retrieval code is no longer valid and a new code will be generated.

          • forward_to

            object — The extension's forwarding information.

            • display_name

              string — The extension's name.

            • extension_id

              string — The extension ID.

            • extension_number

              integer — The extension number.

            • extension_type

              string, possible values: "user", "zoomRoom", "commonArea", "ciscoRoom/polycomRoom", "autoReceptionist", "callQueue", "sharedLineGroup" — The type of extension: * `user` * `zoomRoom` * `commonArea` * `ciscoRoom/polycomRoom` * `autoReceptionist` * `sharedLineGroup` * `callQueue`

            • id

              string — The ID of the extension `user`, `zoomRoom`, `commonArea`, `ciscoRoom/polycomRoom`, `autoReceptionist`, `callQueue` or `sharedLineGroup`.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

          • music_on_park

            object — Play music when a call is parked.

            • audio_id

              string — The audio prompt file ID. You can still use this audio ID to get the audio information in [Get an audio item](https://developers.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.

            • audio_name

              string — The audio prompt file name.

          • sequence

            integer, possible values: 0, 1 — This field is only used in the new policy framework. Choose how parked calls are assigned to a BLF (Busy Lamp Field) key. Sequential assignment will park the call at the next available BLF key. Random assignment will park the call at a randomly selected BLF key. `0` - Random `1` - Sequential

        • call_screening

          object — Incoming direct external callers will be prompted to respond to a button to reach users, callers who don't respond will be disconnected. Devices will not be able to receive any third party faxes.

          • enable

            boolean — Whether this policy is enabled

          • exclude_user_company_contacts

            boolean — Exclude user and company contacts from call screening, calls will reach users as normal

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • call_transferring

          object

          • call_transferring_type

            integer, possible values: 1, 2, 3, 4 — 1-No restriction. 2-Medium restriction (external numbers and external contacts not allowed). 3-High restriction (external numbers, unrecorded external contacts, and internal extensions without inbound automatic recording not allowed). 4-Low restriction (external numbers not allowed).

          • enable

            boolean — Whether to allow user to warm or blind transfer their calls. This does not apply to warm transfer on IP Phones except for Yealink. Voicemail is transferable only to internal extensions.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • check_voicemails_over_phone

          object — Once enabled, users can check voicemails over phone using a PIN code.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • conference_dtmf

          object — This allows users to interact with automated systems, input access codes, or perform other functions without disrupting the call.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • connect_to_operator

          object — Once disabled, users will not be able to route their calls to an operator as part of the 'When a call is not answered' setting.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • delegation

          object — Whether to allow users to use delegation.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • desk_phone_smart_key_positions_layout

          object — Allow Zoom to move your frequently used line keys to your pre-programmed smart keys layout. Smart keys will be updated on a weekly basis.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • display_call_feedback_survey

          object — Whether to display a thumbs up or down survey at the end of each call. If participants respond with thumbs down, they can provide additional information about what went wrong.

          • enable

            boolean

          • feedback_duration

            object — The call duration, in seconds, 0-60.

            • enable

              boolean

            • max

              integer

            • min

              integer

          • feedback_mos

            object — The MOS score. Min: 1.0, Max: 3.0, format one decimal point.

            • enable

              boolean

            • max

              string

            • min

              string

          • feedback_type

            integer, possible values: 1, 2 — This field allows you to display feedback survey, `1` - display for every call, `2` - display when call quality issues are detected. Default `1`, if set with value `2`, need to set `feed_back_mos` or `feedback_duration`.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • e2e_encryption

          object

          • enable

            boolean — Whether to allow users to switch their calls to End-to-End Encryption. For users who have Automatic Call Recording turned on, they will need the option "Allow user to stop and resume automatic call recording" in order for them to use end-to-end encryption.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • elevate_to_meeting

          object

          • enable

            boolean — Whether to allow users to elevate their phone calls to a meeting.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • hand_off_to_room

          object

          • enable

            boolean — Whether to allow users to send a call to a Zoom Room.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • hide_phone_call_history_in_ios

          object — Hide Zoom Phone calls in iOS/iPadOS device call history.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • international_calling

          object — Whether the current extension can make international calls outside of their calling plan.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits modifying the current settings.

          • modified

            boolean — Whether the current settings have been modified.

        • local_survivability_mode

          object — Whether to allow user or extension to have core phone services in the event of an outage.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified.

        • mobile_switch_to_carrier

          object

          • enable

            boolean — Whether to allow the user to switch from a Zoom Phone to their native carrier.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • no_hold_conference

          object — Users can set up a conference call without any interruption in the current call

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • obfuscate_sensitive_data_during_call

          object — Obfuscate sensitive data during a call

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • online_fax

          object — Allow user to send and receive faxes.

          • enable

            boolean — Whether this policy is enabled

          • enable_new_fax_email_notifications

            boolean — Enable email notifications when a new fax is received

          • include_fax_as_attachment

            boolean — Include fax as an attachment in the email notification

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • outbound_calling

          object

          • enable

            boolean — Whether to define calling rules to restrict user or extension from calling specific countries, cities, or numbers.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • outbound_sms

          object

          • enable

            boolean — Whether to allow users to send and receive messages. You will still need to assign a valid calling plan and phone number to each user for them to send and receive messages.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • peer_to_peer_media

          object — Whether to allow Zoom clients to send media directly to each other. Users or devices that have certain features like recording or monitoring enabled might not be able to use Peer to Peer Media.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • personal_audio_library

          object

          • allow_music_on_hold_customization

            boolean — Whether to allow music on hold customization.

          • allow_voicemail_and_message_greeting_customization

            boolean — Whether to allow voicemail and message greeting customization.

          • enable

            boolean — Whether to allow users to change their own audio library.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified.

        • prevent_users_upload_audio_files

          object — Prevent users from uploading audio files

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • restricted_call_hours

          object

          • allow_internal_calls

            boolean — Whether to allow internal calls/SMS during restricted hours.

          • enable

            boolean — Whether to define when the user cannot make or accept calls and send SMS. In the restricted hours, calls will follow "When a call is not answered" settings. Outbound and inbound emergency calls will still be allowed.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits modifying the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

          • restricted_holiday_hours_applied

            boolean — Whether restricted holiday hours has been applied.

          • restricted_hours_applied

            boolean — Whether restricted hours has been applied.

          • time_zone

            object — Set either time zone `id` or `set_by_extension`.

            • id

              string — The [time zone list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists/#timezones) for supported time zones and their formats.

            • name

              string — The time zone name. If time zone id is empty, it shows as `setByExtension`.

        • select_outbound_caller_id

          object

          • allow_hide_outbound_caller_id

            boolean — Whether to allow the current extension to hide outbound caller id. Settings is only available with client version 5.13.5 or later.

          • enable

            boolean — Whether to allow extensions to change outbound caller ID when placing calls.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified.

        • shared_voicemail_notification_by_email

          object — Once enabled, users receive email notification when there is a new shared voicemail or videomail. If the extension that shares the voicemail or videomail has disabled the voicemail or videomail notification by email policy, then users do not receive notifications.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • show_custom_disclaimer_when_using_zoom_phone

          object — Show a custom disclaimer when starting to use Zoom Phone service

          • custom_disclaimer_list

            array — Custom disclaimer list

            Items:
            • body

              string — Custom disclaimer body

            • language

              string — The audio prompt language code. American English: `en-US` British English: `en-GB` Espa&ntilde;ol americano: `es-US` Fran&ccedil;ais canadien: `fr-CA` Dansk: `da-DK` Deutsch: `de-DE` Espa&ntilde;ol: `es-ES` Fran&ccedil;ais: `fr-FR` Italiano: `it-IT` Nederlands: `nl-NL` Portugues portugal: `pt-PT` Japanese: `ja-JP` Korean: `ko-KO` Portugues brasil: `pt-BR` Chinese: `zh-CN` Taiwanese: `zh-TW`

            • title

              string — Custom disclaimer title

          • display_frequency

            string, possible values: "first_time_only", "every_time", "every_month", "every_quarter", "every_6_months", "every_year" — Display frequency

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • sms

          object

          • enable

            boolean — Whether to allow user to send and receive messages. You will still need to assign a valid calling plan and phone number to the user in order to send and receive messages.

          • international_sms

            boolean — Whether the user can send and receive international messages.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • sms_auto_reply

          object — Enable SMS Auto Reply feature for User, Auto Receptionist, and Call Queue. Power Pack license is required for this feature to work.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • sms_etiquette_tool

          object — This field identifies defined keywords and text patterns over SMS and prevents users from sharing unwanted messages.

          • enable

            boolean

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

          • sms_etiquette_policy

            array — The SMS etiquette policy. The maximum size is 50.

            Items:
            • action

              integer, possible values: 1, 2 — The actions taken when a policy is triggered, `1` - ask user to confirm sending of message, `2` - block the message.

            • active

              boolean — Whether active or not.

            • content

              string — The SMS etiquette policy content. For rule `1`, add keywords separated by comma, the following characters are supported A-Z, a-z, 0-9. For rule `2`, add regular expressions, back references and zero-width assertions area not supported.

            • description

              string — The SMS etiquette policy description.

            • id

              string — The SMS etiquette policy ID.

            • name

              string — The SMS etiquette policy name.

            • rule

              integer, possible values: 1, 2 — The SMS etiquette policy rule, `1` - Keywords, `2` - Regular Expression.

        • sms_template

          object — Use pre-defined templates to help users compose messages. Power Pack license is required for this feature to work.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

          • sms_template_list

            array — The SMS template list.

            Items:
            • active

              boolean — Whether it is active.

            • content

              string — Text to Display. This text will be editable by users. Customer input fields may be added by using the buttons below. Customer information will be removed if not available.

            • description

              string — The SMS template description.

            • name

              string — The SMS template name.

            • sms_template_id

              string — The SMS template ID.

        • use_callkit_for_incoming_call_notifications_in_ios

          object — Use CallKit always for Incoming call notifications on iOS/iPadOS devices. When this feature is enabled for a user or common area, their iOS/iPadOS device will always use CallKit for incoming call notifications no matter if the Zoom App is running in the foreground or background, preventing interruptions when receiving inbound calls on the device. This setting only applies to iOS/iPadOS devices with CallKit enabled. If a user modifies this setting on their client, the value will be updated on this policy. Locking this policy will prevent users from making changes to the setting.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • voicemail

          object

          • allow_delete

            boolean — Whether to allow users to delete their own voicemail.

          • allow_download

            boolean — Whether to allow users to download their own voicemail.

          • allow_share

            boolean — Whether to allow user to share their own voicemail.

          • allow_videomail

            boolean — Whether to allow users to access, share, download or delete video mail.

          • allow_virtual_background

            boolean — Whether to allow virtual background for videomail or video greeting.

          • enable

            boolean — Whether to allow users to access, receive or share voicemail and video mail.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified.

        • voicemail_intent_based_prioritization

          object — Voicemail prioritization with AI Companion

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • voicemail_notification_by_email

          object — Once enabled, users receive email notifications when there is a new voicemail from users, call queues, auto receptionists, or shared line groups. Users who disabled the shared voicemail notification by email policy do not receive notifications.

          • enable

            boolean

          • forward_voicemail_to_email

            boolean — Whether to forward the voicemail to email.

          • include_voicemail_file

            boolean — Whether to include the voicemail file.

          • include_voicemail_transcription

            boolean — Whether to include the voicemail transcription.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • voicemail_tasks

          object — Voicemail tasks with AI Companion

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • voicemail_transcription

          object

          • enable

            boolean — Whether to enable voicemail/videomail transcription feature for User, Auto Receptionist, Call Queue, and Shared Line Groups.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified.

        • zoom_phone_on_desktop

          object — Whether to allow users to use Zoom Phone on desktop clients (Mac OS, Windows, VDI client and Linux).

          • allow_calling_clients

            array — The clients in this list are allowed to make and receive calls.

            Items:

            string, possible values: "mac_os", "windows", "vdi_client", "linux" — The acceptable value is mac_os windows vdi_client linux.

          • allow_sms_mms_clients

            array — The clients in this list are allowed to use the SMS/MMS function.

            Items:

            string, possible values: "mac_os", "windows", "vdi_client", "linux" — The acceptable value is mac_os windows vdi_client linux.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

        • zoom_phone_on_mobile

          object

          • allow_calling_sms_mms

            boolean — This field allows calling and SMS/MMS functions on mobile.

          • enable

            boolean — This field allows users to use Zoom Phone on mobile clients (iOS, iPad OS, and Android).

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • zoom_phone_on_pwa

          object — Whether to allow user to use Zoom Phone on Zoom Progressive Web App.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

    • old_object (required)

      object

Example:

{
  "event": "phone.group_settings_updated",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "group_id": "",
      "settings": {
        "call_live_transcription": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "transcription_start_prompt": {
            "enable": true,
            "audio_id": "",
            "audio_name": ""
          }
        },
        "local_survivability_mode": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "select_outbound_caller_id": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "allow_hide_outbound_caller_id": true
        },
        "personal_audio_library": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "allow_music_on_hold_customization": true,
          "allow_voicemail_and_message_greeting_customization": true
        },
        "voicemail": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "allow_delete": true,
          "allow_download": true,
          "allow_videomail": true,
          "allow_share": true,
          "allow_virtual_background": true
        },
        "voicemail_transcription": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "voicemail_notification_by_email": {
          "include_voicemail_file": true,
          "include_voicemail_transcription": true,
          "forward_voicemail_to_email": true,
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "shared_voicemail_notification_by_email": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "restricted_call_hours": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "time_zone": {
            "id": "",
            "name": "(GMT-9:00) Adak"
          },
          "restricted_hours_applied": true,
          "restricted_holiday_hours_applied": true,
          "allow_internal_calls": true
        },
        "allowed_call_locations": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "locations_applied": true,
          "allow_internal_calls": true
        },
        "check_voicemails_over_phone": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "auto_call_recording": {
          "enable": true,
          "locked": true,
          "locked_by": "user_group",
          "recording_calls": "inbound",
          "recording_transcription": true,
          "recording_start_prompt": true,
          "recording_start_prompt_audio_id": "ySMexBgBQsioV8KKCUybTA",
          "recording_explicit_consent": true,
          "allow_stop_resume_recording": true,
          "disconnect_on_recording_failure": true,
          "play_recording_beep_tone": {
            "enable": true,
            "play_beep_volume": 60,
            "play_beep_time_interval": 15,
            "play_beep_member": "allMember"
          }
        },
        "ad_hoc_call_recording": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "modified": true,
          "recording_transcription": true,
          "allow_download": true,
          "allow_delete": true,
          "recording_start_prompt": true,
          "recording_explicit_consent": true,
          "play_recording_beep_tone": {
            "enable": true,
            "play_beep_volume": 60,
            "play_beep_time_interval": 15,
            "play_beep_member": "allMember"
          }
        },
        "zoom_phone_on_mobile": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "allow_calling_sms_mms": true
        },
        "zoom_phone_on_pwa": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "sms_etiquette_tool": {
          "enable": true,
          "modified": true,
          "sms_etiquette_policy": [
            {
              "id": "",
              "name": "",
              "description": "",
              "rule": 1,
              "content": "",
              "action": 1,
              "active": true
            }
          ]
        },
        "outbound_calling": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "outbound_sms": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "international_calling": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "sms": {
          "enable": true,
          "international_sms": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "e2e_encryption": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "call_handling_forwarding_to_other_users": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "call_forwarding_type": 1
        },
        "call_overflow": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "call_overflow_type": 1
        },
        "call_transferring": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "call_transferring_type": 1
        },
        "elevate_to_meeting": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "call_park": {
          "enable": true,
          "expiration_period": 1,
          "call_not_picked_up_action": 1,
          "forward_to": {
            "display_name": "",
            "extension_id": "",
            "extension_number": 1,
            "extension_type": "user",
            "id": ""
          },
          "sequence": 0,
          "music_on_park": {
            "audio_id": "yCT14TwySDGVUypVlKNEyA",
            "audio_name": "example.mp3"
          },
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "hand_off_to_room": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "mobile_switch_to_carrier": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "delegation": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "audio_intercom": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "block_calls_without_caller_id": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "block_external_calls": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "block_business_hours": true,
          "block_closed_hours": true,
          "block_holiday_hours": true,
          "block_call_action": 0
        },
        "auto_delete_data_after_retention_duration": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "items": [
            {
              "type": "callLog",
              "duration": -1,
              "time_unit": "year"
            }
          ],
          "delete_type": 1,
          "permanently_delete_after_days": -1
        },
        "peer_to_peer_media": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "advanced_encryption": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "disable_incoming_unencrypted_voicemail": true
        },
        "display_call_feedback_survey": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "feedback_type": 1,
          "feedback_mos": {
            "enable": true,
            "min": "",
            "max": ""
          },
          "feedback_duration": {
            "enable": true,
            "min": 1,
            "max": 1
          }
        },
        "zoom_phone_on_desktop": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "allow_calling_clients": [
            "mac_os"
          ],
          "allow_sms_mms_clients": [
            "mac_os"
          ]
        },
        "allowed_device_locations": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "block_devices_type": "network_change_detected"
        },
        "allow_emergency_calls": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "allow_emergency_calls_from_clients": true,
          "allow_emergency_calls_from_deskphones": true
        },
        "online_fax": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "enable_new_fax_email_notifications": true,
          "include_fax_as_attachment": false
        },
        "sms_template": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "sms_template_list": [
            {
              "sms_template_id": "0qWIP8S8QXmo6KShUIyvZA",
              "name": "name",
              "description": "description",
              "content": "content",
              "active": true
            }
          ]
        },
        "call_screening": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "exclude_user_company_contacts": true
        },
        "sms_auto_reply": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "allow_end_user_edit_call_handling": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "connect_to_operator": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "no_hold_conference": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "conference_dtmf": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "desk_phone_smart_key_positions_layout": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "auto_opt_out_in_call_queue": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "prompt_before_opt_out_call_queue": true
        },
        "allow_mobile_home_phone_callout": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "use_callkit_for_incoming_call_notifications_in_ios": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "hide_phone_call_history_in_ios": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "obfuscate_sensitive_data_during_call": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "prevent_users_upload_audio_files": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "voicemail_tasks": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "voicemail_intent_based_prioritization": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "show_custom_disclaimer_when_using_zoom_phone": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "display_frequency": "first_time_only",
          "custom_disclaimer_list": [
            {
              "language": "en-GB",
              "title": "tilte",
              "body": "body"
            }
          ]
        }
      }
    },
    "old_object": null
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.callee_unmute

  • Method: POST
  • Path: phone.callee_unmute
  • Tags: webhook

The Callee unmutes a phone call event triggers when the callee unmutes themselves during a call.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • Callee unmutes a phone call subscription must be enabled under the Zoom Phone event.

phone.callee_unmute

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch at which the event occurred; long (`int64`) format.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The time and date (GMT) at which the callee unmuted a call in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.recording_stopped

  • Method: POST
  • Path: phone.recording_stopped
  • Tags: webhook

The Call recording has stopped event triggers when the recording of a phone call has stopped.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • Call recording has stopped subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The Account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — Unique identifier of the call.

      • callee_number (required)

        string — Phone number or extension number of the caller.

      • caller_number (required)

        string — Phone number or extension number of the caller.

      • channel_id (required)

        string — ID of the channel

      • date_time (required)

        string, format: date-time — Stop date and time of the call.

      • direction (required)

        string, possible values: "inbound", "outbound" — Direction of the call. The value of this field can either be `inbound` or `outbound`.

      • id (required)

        string — ID of the recording

      • owner (required)

        object — The owner of the recording. This value field can be `user` or `callQueue`.

        • id (required)

          string — ID of the owner.

        • name (required)

          string — Display name of the owner

        • type (required)

          string, possible values: "user", "callQueue", "commonArea" — Type of the owner

        • extension_number

          integer — Extension number of the owner

      • recording_type (required)

        string, possible values: "OnDemand", "Automatic" — The type of the recording. This value field can be `OnDemand` or `Automatic`.

      • sip_id (required)

        string — ID of the sip call

      • user_id (required)

        string — ID of the user.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "",
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "user_id": "",
      "caller_account_code": "",
      "caller_number": "",
      "callee_account_code": "",
      "callee_number": "",
      "direction": "inbound",
      "date_time": "",
      "recording_type": "OnDemand",
      "call_id": "",
      "channel_id": "",
      "sip_id": "",
      "owner": {
        "type": "user",
        "id": "",
        "name": "",
        "extension_number": 1
      }
    }
  },
  "event_ts": 1
}

Responses

Status: 200 Successfully received the webhook event.

phone.caller_meeting_inviting

  • Method: POST
  • Path: phone.caller_meeting_inviting
  • Tags: webhook

The Caller invited to join a meeting event triggers each time a callee over Zoom Phone escalates a phone call to a Zoom meeting.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • The "Caller invited to join a meeting" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The caller's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string, format: date-time — The date and time (GMT) at which the call escalated to meeting, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • meeting_id

        string, format: int64 — The meeting's unique ID. This is also known as the meeting number.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "meeting_id": "",
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.warm_transfer_cancelled

  • Method: POST
  • Path: phone.warm_transfer_cancelled
  • Tags: webhook

The Warm transfer is cancelled event triggers when a call warm transfer is cancelled. Note: Applicable only to Zoom desktop clients (version 6.1.0 or later) using Zoom native phone numbers. Not applicable to IP phones or BYOC numbers.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • "Warm transfer is cancelled" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch when the event occurred, in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • date_time (required)

        string — The date and time (UTC) at which the warm transfer call was completed, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • failure_reason

        string — The reason why the warm transfer failed to cancel. Returns an empty string if successful.

      • owner

        object

        • extension_number

          integer — The owner's extension number.

        • id

          string — The owner ID.

        • name

          string — The owner's name.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonAreaPhone", "sharedLineGroup" — The owner's type: *`user` *`callQueue` *`autoReceptionist` *`commonAreaPhone` *`sharedLineGroup`

      • transfer_account_code

        string — The transfer account code. To transfer a call between accounts, use the format: [Account code] - [extension number].

      • transfer_phone_number

        string — The phone number required for the warm transfer. This may be a user's phone number, extension number, or phone number displayed in E164 format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "call_id": "",
      "transfer_phone_number": "",
      "transfer_account_code": "",
      "owner": {
        "extension_number": "1000001019",
        "id": "N3hAhug-QVyFPYZJrHpRaQ",
        "name": "123@test.com",
        "type": "user"
      },
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.voicemail_received_for_access_member

  • Method: POST
  • Path: phone.voicemail_received_for_access_member
  • Tags: webhook

The Voicemail is received for access member event triggers each time a callee (the person called via Zoom Phone) misses a call and receives a voicemail from the caller. In this case, the callee's access member receives the event.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
      • A Voicemail is received for access member subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.voicemail_received_for_access_member" — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp, in milliseconds since epoch, at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The access member's account ID.

    • object (required)

      object

      • callee_extension_type (required)

        string, possible values: "user", "callQueue", "autoReceptionist", "sharedLineGroup" — The callee's extension type: * `user` * `callQueue` * `autoReceptionist` * `shareLineGroup`

      • callee_id (required)

        string — The callee's ID. Depending on the type of extension, this value can be one of the following: * For a regular user (`user`) — `callee_id` is the same as `callee_user_id`. * For call queue (`callQueue`) — `callee_id` is the same as the call queue `group_id` value. * For an auto-receptionist (`autoReceptionist`) — `callee_id` is the same as `auto_receptionist_id`. * For a shared line group (`shareLineGroup`) — `callee_id` is the same as `share_line_group_id`.

      • callee_name (required)

        string — The callee's name.

      • callee_number (required)

        string — The callee's phone number.

      • callee_number_type (required)

        integer, possible values: 1, 2 — The callee's number type: * `1` — Internal. * `2` — External.

      • caller_name (required)

        string — The caller's name.

      • caller_number (required)

        string — The caller's phone number.

      • caller_number_type (required)

        integer, possible values: 1, 2 — The caller's number type: * `1` — Internal. * `2` — External.

      • date_time (required)

        string, format: date-time — The date and time at which the voicemail was received.

      • download_url (required)

        string, format: url — The URL at which the voicemail can be downloaded.

      • duration (required)

        integer — The duration of the voicemail.

      • id (required)

        string — The voicemail's unique ID.

      • access_member_extension_type

        string, possible values: "user", "commonAreaPhone" — The callee's extension type: * `user` * `commonAreaPhone`

      • access_member_id

        string — The access member's ID. Depending on the type of extension, this value can be one of the following: * For a regular user (`user`) — `callee_id` is the same as `callee_user_id`. * For a common area (`commonAreaPhone`) — `callee_id` is the same as `common_area_ids`.

      • call_element_id

        string — The call element ID.

      • call_history_id

        string — Use `call_element_id` instead. The call history ID.

      • call_id

        string — The call's unique ID.

      • call_log_id

        string — The call log ID. <b>Deprecated:</b> This is the legacy call log ID. Zoom will stop producing legacy call log data in a future release, and the associated [Get call log details](https://developers.zoom.us/docs/api/phone/#tag/call-logs/get/phone/call_logs/{callLogId}) API has also been deprecated. As an alternative, use `call_element_id` together with the call element / call history APIs.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • callee_did_number

        string — Callee's DID number.

      • callee_user_id

        string — The callee's user ID.

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • caller_did_number

        string — Caller's DID number.

Example:

{
  "event": "phone.voicemail_received_for_access_member",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "date_time": "",
      "download_url": "",
      "duration": 1,
      "caller_account_code": "",
      "caller_number": "",
      "caller_number_type": 1,
      "caller_name": "",
      "caller_did_number": "",
      "callee_user_id": "",
      "callee_account_code": "",
      "callee_number": "",
      "callee_number_type": 1,
      "callee_name": "",
      "callee_did_number": "",
      "callee_extension_type": "user",
      "callee_id": "",
      "call_element_id": "",
      "call_id": "",
      "access_member_id": "",
      "access_member_extension_type": "user"
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.callee_unhold

  • Method: POST
  • Path: phone.callee_unhold
  • Tags: webhook

The Callee unhold a phone call event triggers every time the person who is being called by the caller over Zoom Phone unholds the phone call.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • The "Callee unhold a phone call" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • phone_number

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • phone_number

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The date and time (GMT) at which the call hold ended, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.whatsapp_message_sent

  • Method: POST
  • Path: phone.whatsapp_message_sent
  • Tags: webhook

The WhatsApp message sent from Zoom phone event triggers when a user account sends an WhatsApp message. The sender must either be a user on your account or a user of your webhook-enabled app.

Zoom phone users can send WhatsApp messages using the Zoom desktop client or a webhook-enabled mobile app.

Prerequisites

  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • WhatsApp message sent from Zoom phone subscription enabled under the Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.whatsapp_message_sent" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The payload of the WhatsApp message that was sent.

      • attachments (required)

        array — The media file information.

        Items:
        • download_url (required)

          string — The URL from which the file can be downloaded.

        • file_id (required)

          string — The unique identifier for a media file.

        • name (required)

          string — The name of the file.

        • size (required)

          integer — The size of the file in bytes.

        • type (required)

          string, possible values: "JPG", "JPEG", "PNG", "GIF", "PDF" — The type of file.

      • date_time (required)

        string, format: date-time — The date and time at which the WhatsApp message was sent.

      • message (required)

        string — The WhatsApp message text content.

      • message_id (required)

        string — The WhatsApp message ID.

      • recipient (required)

        object — The WhatsApp message recipient.

        • phone_number (required)

          string — The WhatsApp message recipient's phone number.

      • sender (required)

        object — The WhatsApp message sender.

        • phone_number (required)

          string — The WhatsApp message sender's phone number.

        • display_name

          string — The WhatsApp message sender's display name.

        • id

          string — The WhatsApp message sender's ID.

        • type

          string, possible values: "user" — The type of sender: * `user`.

      • session_id (required)

        string — The WhatsApp message session ID.

      • failure_reason

        string — The reason for the WhatsApp message send failure. An empty field means the WhatsApp message was sent successfully.

      • message_status

        string, possible values: "sent", "delivered", "read", "played" — The status of the message. Could be one of: * `delivered` * `played` * `read` * `sent` The detailed definition of the status can be found in [messages webhook reference](https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/reference/messages).

Example:

{
  "event": "phone.whatsapp_message_sent",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "sender": {
        "phone_number": "",
        "id": "",
        "type": "user",
        "display_name": "",
        "additionalProperty": "anything"
      },
      "recipient": {
        "phone_number": "",
        "additionalProperty": "anything"
      },
      "message": "",
      "attachments": [
        {
          "file_id": "",
          "size": 1,
          "name": "",
          "type": "JPG",
          "download_url": "",
          "additionalProperty": "anything"
        }
      ],
      "session_id": "",
      "message_id": "",
      "date_time": "",
      "message_status": "sent"
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.conference_started

  • Method: POST
  • Path: phone.conference_started
  • Tags: webhook

The Conference call started event triggers when a conference call has started.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • "Call conference started" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch when the event occurred; long (`int64`) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The call ID.

      • date_time (required)

        string — The date and time (GMT) when the conference call started, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • conference_id

        string — The conference ID. See `enable_multiple_party_conference` above. No conference ID provided if the option for multiple parties to join the conference is disabled.

      • enable_multiple_party_conference

        boolean — Whether to enable multiple parties to join the conference call.<br> `true`: enable<br> `false`: disable

      • failure_reason

        string — The reason a conference call failed to start. If it is an empty string, it means success.

      • owner

        object

        • extension_number

          integer — The owner's extension number.

        • id

          string — The owner ID.

        • name

          string — The owner name.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonAreaPhone", "sharedLineGroup" — The owner type: *`user` *`callQueue` *`autoReceptionist` *`commonAreaPhone` *`sharedLineGroup`

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "enable_multiple_party_conference": true,
      "conference_id": "",
      "call_id": "",
      "owner": {
        "extension_number": "1000001019",
        "id": "N3hAhug-QVyFPYZJrHpRaQ",
        "name": "123@test.com",
        "type": "user"
      },
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.fax_sent

  • Method: POST
  • Path: phone.fax_sent
  • Tags: Fax

The Fax Sent event triggers when a fax has been successfully sent from a Zoom Phone user or extension.

This event provides detailed information about the fax transmission, including sender and receiver details, file information, and transmission status.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • The Fax Sent subscription enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.fax_sent" — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp, in milliseconds since epoch, at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The owner account ID.

    • object (required)

      object — object

      • create_time (required)

        integer, format: int64 — The fax creation timestamp in UTC time zone.

      • direction (required)

        string, possible values: "inbound", "outbound" — The fax log's direction: * `inbound` * `outbound`

      • extension_id (required)

        string — The owner's extension ID.

      • extension_type (required)

        string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "sharedLineGroup" — The owner's extension type: * `user` * `callQueue` * `autoReceptionist` * `commonArea` * `sharedLineGroup`

      • fax_id (required)

        string — The unique fax session ID.

      • fax_log_id (required)

        string — The unique fax log ID.

      • file_id (required)

        string — The fax PDF file ID.

      • file_pages_count (required)

        integer — The number of pages in the fax file.

      • receiver_extension_id (required)

        string — The receiver extension ID.

      • receiver_extension_number (required)

        string — The receiver extension number.

      • receiver_name (required)

        string — The receiver name.

      • receiver_number (required)

        string — The receiver fax number.

      • receiver_type (required)

        string, possible values: "client", "ata", "pstn", "email", "openapi", "sdk", "byop", "unknown" — The receiver endpoint type: * `client` * `ata` * `pstn` * `email` * `openapi` * `sdk` * `byop` * `unknown`

      • sender_extension_id (required)

        string — The sender extension ID.

      • sender_extension_number (required)

        string — The sender extension number.

      • sender_name (required)

        string — The sender name.

      • sender_number (required)

        string — The sender fax number.

      • sender_type (required)

        string, possible values: "client", "ata", "pstn", "email", "openapi", "sdk", "byop", "unknown" — The sender endpoint type: * `client` * `ata` * `pstn` * `email` * `openapi` * `sdk` * `byop` * `unknown`

      • site_id (required)

        string — The site ID.

      • site_name (required)

        string — The site name.

      • status (required)

        string, possible values: "failed", "processing", "submitted", "sent", "received", "canceled" — The fax status: * `failed` * `processing` * `submitted` * `sent` * `received` * `canceled`

      • created_at

        string — The fax creation time in UTC time zone.

      • receiver_extension_type

        string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "sharedLineGroup" — The receiver extension type: * `user` * `callQueue` * `autoReceptionist` * `commonArea` * `sharedLineGroup`

      • receiver_location

        string — The receiver location.

      • sender_extension_type

        string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "sharedLineGroup" — The sender extension type: * `user` * `callQueue` * `autoReceptionist` * `commonArea` * `sharedLineGroup`

      • sender_location

        string — The sender location.

Example:

{
  "event": "phone.fax_sent",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "fax_log_id": "",
      "fax_id": "",
      "site_id": "",
      "site_name": "",
      "extension_id": "",
      "extension_type": "user",
      "direction": "inbound",
      "sender_extension_id": "",
      "sender_extension_type": "user",
      "sender_extension_number": "",
      "sender_name": "",
      "sender_number": "",
      "sender_type": "client",
      "sender_location": "",
      "receiver_extension_id": "",
      "receiver_extension_type": "user",
      "receiver_extension_number": "",
      "receiver_name": "",
      "receiver_number": "",
      "receiver_type": "client",
      "receiver_location": "",
      "file_id": "",
      "file_pages_count": 1,
      "status": "failed",
      "created_at": "",
      "additionalProperty": "anything"
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.generic_device_provision

  • Method: POST
  • Path: phone.generic_device_provision
  • Tags: webhook

The Zoom Phone device provisioned event triggers every time an admin or end user makes any of the following changes to a device:

  • Adding or removing a Direct Inward Dialing (DID) service
  • Adding or removing a delegation
  • Adding or removing a shared line group
  • Changing line labels or caller ID information
  • Changing the site where a user is assigned
  • Changing the Session Initiation Protocol (SIP) Zone assignment for a site where the user is assigned
  • Adding or removing a device from a user

To receive this notification, you must meet the prerequisites listed below.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • A valid Event Notification Endpoint URL.
    • "Zoom Phone device provisioned" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, default: "phone.generic_device_provision" — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The Account ID of the user.

    • object (required)

      object

      • device_type (required)

        string — Manufactuer name + model name.

      • display_name (required)

        string — Device name.

      • id (required)

        string — The device ID.

      • mac_address (required)

        string — MAC address or serial number.

      • provision

        object — If the device is unassigned, provision will not display.

        • type (required)

          string, possible values: "manual", default: "manual" — Value: `manual`

        • sip_accounts

          array — SIP account details for the device.

          Items:
          • authorization_id (required)

            string

          • outbound_proxy (required)

            string — The SIP/outbound proxy address for the Zoom phone.

          • password (required)

            string

          • user_name (required)

            string

          • secondary_outbound_proxy

            string — The secondary outbound proxy provided in the provisioning process.

          • shared_line

            object

            • line_subscription (required)

              object

              • display_name

                string

              • extension_number

                integer

              • phone_number

                string

            • alias

              string

            • outbound_caller_id

              string

          • sip_domain

            string, format: hostname — A SIP domain is a DNS hostname that can accept SIP traffic for your Zoom meeting. If you make a SIP request using SIP domain, such as sip:66666666@zoomcrc.com , it will route to the Zoom meeting service.

      • site

        object

        • id (required)

          string — The ID of the site to assign the phone user to.

        • name (required)

          string — The display name of the site to assign the phone user to.

Example:

{
  "event": "phone.generic_device_provision",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "display_name": "",
      "device_type": "",
      "mac_address": "",
      "site": {
        "id": "",
        "name": ""
      },
      "provision": {
        "type": "manual",
        "sip_accounts": [
          {
            "sip_domain": "",
            "outbound_proxy": "",
            "secondary_outbound_proxy": "",
            "user_name": "",
            "authorization_id": "",
            "password": "",
            "shared_line": {
              "line_subscription": {
                "phone_number": "",
                "extension_number": 1,
                "display_name": ""
              },
              "alias": "",
              "outbound_caller_id": ""
            }
          }
        ]
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.recording_paused

  • Method: POST
  • Path: phone.recording_paused
  • Tags: webhook

The Call recording is paused event triggers when the owner pauses the recording during a phone call.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • Call recording is paused subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — Unique identifier of the call.

      • callee_number (required)

        string — Phone number or the extension number of the callee.

      • caller_number (required)

        string — Phone number or the extension number of the caller.

      • date_time (required)

        string, format: date-time — Time and date when the recording was paused.

      • direction (required)

        string, possible values: "inbound", "outbound" — Direction of the call: `inbound` or `outbound`.

      • id (required)

        string — The recording ID.

      • owner (required)

        object — The owner of the recording.

        • id (required)

          string — The owner ID.

        • name (required)

          string — Display name of the owner.

        • type (required)

          string, possible values: "user", "callQueue", "commonArea" — The owner type: `user` or `callQueue`.

        • extension_number

          integer — Extension number of the owner

      • recording_type (required)

        string, possible values: "OnDemand", "Automatic" — The type of the recording: `OnDemand` or `Automatic`.

      • user_id (required)

        string — The user ID.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "",
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "user_id": "",
      "caller_account_code": "",
      "caller_number": "",
      "callee_account_code": "",
      "callee_number": "",
      "direction": "inbound",
      "date_time": "",
      "recording_type": "OnDemand",
      "call_id": "",
      "owner": {
        "type": "user",
        "id": "",
        "name": "",
        "extension_number": 1,
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    }
  },
  "event_ts": 1
}

Responses

Status: 200 Successfully received the webhook event.

phone.sms_received

  • Method: POST
  • Path: phone.sms_received
  • Tags: webhook

The SMS received by Zoom phone event triggers when a user account receives an SMS message. The recipient must be a user on your account or a user of your webhook-enabled app.

Zoom Phone users can receive text messages (SMS) using the Zoom desktop client or a webhook-enabled mobile app.

Prerequisites

  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • SMS received by Zoom phone subscription enabled under the Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.sms_received" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The payload of the received SMS/MMS.

      • attachments (required)

        array — The media file information.

        Items:
        • download_url (required)

          string — The URL using which the file can be downloaded.

        • id (required)

          string — The media file ID.

        • name (required)

          string — The name of the file.

        • size (required)

          integer — The size of the file in bytes.

        • type (required)

          string — The type of the file.

      • date_time (required)

        string, format: date-time — The date and time at which the SMS was received.

      • message (required)

        string — The SMS text content.

      • message_id (required)

        string — The SMS message ID.

      • message_type (required)

        integer — The type of messages.

      • owner (required)

        object — The owner of this SMS/MMS

        • id

          string — The user ID of the user who received this SMS.

        • team_id

          string — The owner's ID when the owner type is callQueue or autoReceptionist.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist" — The type of owner: *`user` *`callQueue` *`autoReceptionist`

      • sender (required)

        object — The SMS sender.

        • phone_number (required)

          string — The SMS sender's phone number.

        • display_name

          string — The SMS sender's display name.

        • id

          string — The SMS sender's ID.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist" — The type of sender: *`user` *`callQueue` *`autoReceptionist`.

      • session_id (required)

        string — The SMS session ID.

      • to_members (required)

        array — The SMS receivers.

        Items:
        • phone_number (required)

          string — The SMS receiver's phone number.

        • display_name

          string — The SMS receiver's display name.

        • id

          string — The SMS receiver's user ID.

        • is_message_owner

          boolean — Whether it is the owner of the message.

        • type

          string, possible values: "user" — The type of receiver: *`user`.

      • phone_number_campaign_opt_statuses

        array — The list of opt statuses for each number pair.

        Items:
        • consumer_phone_number (required)

          string — The end user's phone number in E164 format that sends the Opt-in or Opt-out keyword to the Zoom Phone number.

        • opt_status (required)

          string, possible values: "pending", "opt_out", "opt_in" — The opt status.

        • zoom_phone_user_number (required)

          string — The Zoom user's phone number in E164 format that receives the Opt-in or Opt-out keyword from the end user.

        • opt_in_message

          string — If opt_in_status=1, the opt_in_message will return the Opt-In message of the Campaign bound to zoom_phone_user_number. In this case, you must send the opt_in_message as the first message in the SMS session and then wait for the Opt-In response.

        • opt_in_status

          integer, possible values: 0, 1, 2, 3, 4 — The Opt-In status between the Zoom Phone user number and consumer phone number. This is a sub-status of `opt_status` and uses the following enumeration: 0: Default status. The Opt-In status for the Zoom Phone user number cannot be determined. This may occur when the Zoom Phone user number is not associated with a Campaign, among other reasons. 1: This is a new SMS session and an Opt-In message must be sent first. 2: An Opt-In message has been sent and a response is pending. 3: An Opt-In message has been sent and the recipient has consented to receive additional SMS messages. 4: An Opt-In message has been sent, but the recipient has declined to receive additional SMS messages, or the number has been configured to block all outbound SMS messages.

Example:

{
  "event": "phone.sms_received",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "sender": {
        "phone_number": "",
        "id": "",
        "type": "user",
        "display_name": "",
        "additionalProperty": "anything"
      },
      "to_members": [
        {
          "id": "",
          "type": "user",
          "display_name": "",
          "phone_number": "",
          "is_message_owner": true,
          "additionalProperty": "anything"
        }
      ],
      "owner": {
        "type": "user",
        "id": "",
        "team_id": ""
      },
      "message": "",
      "attachments": [
        {
          "id": "",
          "size": 1,
          "name": "",
          "type": "",
          "download_url": "",
          "additionalProperty": "anything"
        }
      ],
      "session_id": "",
      "message_id": "",
      "message_type": 1,
      "date_time": "",
      "phone_number_campaign_opt_statuses": [
        {
          "consumer_phone_number": "+150434XXXXX",
          "zoom_phone_user_number": "+120944XXXXX",
          "opt_status": "opt_out",
          "opt_in_status": 0,
          "opt_in_message": "Text START to receive text messages from ZOOM. Message frequency may vary. Message and Data Rates may apply. To end messaging from us, reply with STOP. Reply with HELP for more information."
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.recording_failed

  • Method: POST
  • Path: phone.recording_failed
  • Tags: webhook

The Call recording failed event triggers when the recording of a phone call fails.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook only app. For more information, see Enable webhooks.
    • Call recording failed subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The unique identifier of the call.

      • callee_number (required)

        string — The phone number or extension number of the caller.

      • caller_number (required)

        string — The phone number or extension number of the caller.

      • channel_id (required)

        string — The ID of the channel

      • date_time (required)

        string, format: date-time — The start date and time of the call.

      • direction (required)

        string, possible values: "inbound", "outbound" — The direction of the call. The value of this field can either be `inbound` or `outbound`.

      • id (required)

        string — The ID of the recording

      • owner (required)

        object — The owner of the recording.

        • id (required)

          string — The ID of the owner.

        • name (required)

          string — The display name of the owner

        • type (required)

          string, possible values: "user", "callQueue", "commonArea" — The type of the owner. This value field can be `user` or `callQueue`.

        • extension_number

          integer — The extension number of the owner

      • recording_type (required)

        string, possible values: "OnDemand", "Automatic" — The type of the recording. This value field can be `OnDemand` or `Automatic`.

      • sip_id (required)

        string — The ID of the sip call

      • user_id (required)

        string — The ID of the user.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "",
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "user_id": "",
      "caller_account_code": "",
      "caller_number": "",
      "callee_account_code": "",
      "callee_number": "",
      "direction": "inbound",
      "date_time": "",
      "recording_type": "OnDemand",
      "call_id": "",
      "channel_id": "",
      "sip_id": "",
      "owner": {
        "type": "user",
        "id": "",
        "name": "",
        "extension_number": 1
      }
    }
  },
  "event_ts": 1
}

Responses

Status: 200 Successfully received the webhook event.

phone.route_group_status_changed

  • Method: POST
  • Path: phone.route_group_status_changed
  • Tags: webhook

The Route group status changed event triggers when a SIP trunk status changes.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
  • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
  • A valid Event Notification Endpoint URL.
  • "Route group status changed" subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.route_group_status_changed" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field returns in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The Account ID of the owner.

    • object (required)

      object — Information about the alert's settings.

      • module (required)

        string — The module for the alert.

      • name (required)

        string — The name of the alert.

      • rule (required)

        object — The rule for the alert

        • severity

          string — The severity of the alert rule, warning or critical.

        • type

          integer — The type of alert rule. `1` - Route groups status change.

      • target (required)

        object — The target of the alert.

        • type

          integer — The type of alert target. `1` - account.

      • detected_time

        string, format: date-time — The detected time of the alert.

      • route_groups

        array — A list of route groups

        Items:
        • id (required)

          string — The ID of the route group.

        • name (required)

          string — The name of the route group.

        • region (required)

          string — The region of the route group.

      • sbc

        string — The SBC of the route group.

Example:

{
  "event": "phone.route_group_status_changed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "name": "",
      "module": "",
      "rule": {
        "type": 1,
        "severity": ""
      },
      "target": {
        "type": 1
      },
      "detected_time": "",
      "sbc": "",
      "route_groups": [
        {
          "id": "",
          "name": "",
          "region": ""
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.caller_call_history_completed ⚠️ Deprecated

  • Method: POST
  • Path: phone.caller_call_history_completed
  • Tags: webhook

The Caller call history is completed event triggers every time the outgoing call history record for a call is made available for the caller to view.

Deprecation Note: This event is deprecated and will be removed in a future release.

  • Replacement event: phone.caller_call_element_completed — delivers the outgoing call element record for the caller, which supersedes the legacy call history payload with a richer, forward-compatible data model.
  • Migration guidance: Subscribe to phone.caller_call_element_completed and adapt your handler to consume the call element payload (replacing the legacy call history payload). The account_id, user_id, and trigger semantics remain the same on the caller side.

Prerequisites

  • Zoom Phone Plan
  • Event subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
      • The Caller call history is completed subscription enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string, possible values: "phone.caller_call_history_completed" — Event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the caller.

    • object (required)

      object — The event object.

      • call_logs (required)

        array — The list of call logs.

        Items:
        • call_id (required)

          string — The ID of the phone call.

        • call_path_id (required)

          string — The call path ID of the call.

        • id (required)

          string — The ID of the call history.

        • result (required)

          string, possible values: "answered", "accepted", "picked_up", "connected", "succeeded", "voicemail", "hang_up", "canceled", "call_failed", "unconnected", "rejected", "busy", "ring_timeout", "overflowed", "no_answer", "invalid_key", "invalid_operation", "abandoned", "system_blocked", "service_unavailable" — The detail result of an event for a call log.

        • start_time (required)

          string — The call start time in GMT `date-time` format.

        • answer_time

          string — The call answer time in GMT `date-time` format.

        • call_type

          string, possible values: "general", "emergency" — The type of call.

        • callee_account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • callee_cost_center

          string — The callee's cost center.

        • callee_country_code

          string — The callee's country code.

        • callee_country_iso_code

          string — The callee's country ISO code.

        • callee_department

          string — The callee's department.

        • callee_device_private_ip

          string — The callee's private IP.

        • callee_device_public_ip

          string — The callee's public IP.

        • callee_device_type

          string — The callee's device type.

        • callee_did_number

          string — The callee's DID number in e164 format.

        • callee_email

          string — The callee's email.

        • callee_employee_id

          string — Ther callee's employee id

        • callee_ext_id

          string — The callee's extension ID.

        • callee_ext_number

          string — The extension number of the callee.

        • callee_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The callee's extension type.

        • callee_name

          string — The name of the callee.

        • callee_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The callee's number type.

        • callee_site_id

          string — The callee's site ID.

        • caller_account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • caller_cost_center

          string — The caller's cost center.

        • caller_country_code

          string — The caller's country code.

        • caller_country_iso_code

          string — The caller's country ISO code.

        • caller_department

          string — The caller's department.

        • caller_device_private_ip

          string — The caller's private IP.

        • caller_device_public_ip

          string — The caller's public IP.

        • caller_device_type

          string — The caller's device type.

        • caller_did_number

          string — The caller's DID number in e164 format.

        • caller_email

          string — The caller's email.

        • caller_employee_id

          string — Ther caller's employee id

        • caller_ext_id

          string — The caller's extension ID.

        • caller_ext_number

          string — The extension number of the caller.

        • caller_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The caller's extension type.

        • caller_name

          string — The name of the caller.

        • caller_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The caller's number type.

        • caller_site_id

          string — The caller's site ID.

        • connect_type

          string, possible values: "internal", "external" — The connect type of call.

        • direction

          string, possible values: "inbound", "outbound" — The direction of the call.

        • end_time

          string — The call end time in GMT `date-time` format.

        • end_to_end

          boolean — A flag to indicate the call is End-to-End Encryption or not.

        • event

          string, possible values: "incoming", "transfer_from_zoom_contact_center", "shared_line_incoming", "outgoing", "call_me_on", "outgoing_to_zoom_contact_center", "warm_transfer", "forward", "ring_to_member", "overflow", "direct_transfer", "barge", "monitor", "whisper", "listen", "takeover", "conference_barge", "park", "timeout", "park_pick_up", "merge", "shared" — An event within a call log.

        • group_id

          string — The primary group of which the user belongs.

        • hide_caller_id

          boolean — A flag to indicate the call is hide caller ID or not.

        • hold_time

          integer — The call hold time in seconds.

        • operator_ext_id

          string — The operator extension ID.

        • operator_ext_number

          string — The operator extension number.

        • operator_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The operator extension type.

        • operator_name

          string — The operator's name.

        • recording_id

          string — The unique identifier of the call recording.

        • recording_type

          string, possible values: "ad-hoc", "automatic" — The type of call recording.

        • result_reason

          string, possible values: "answered_by_other", "pickup_by_other", "call_out_by_other" — The reason of result of an event for a call log.

        • talk_time

          integer — The call talk time in seconds.

        • voicemail_id

          string — The ID of the call voicemail.

        • wait_time

          integer — The call wait time in seconds.

      • user_id (required)

        string — The user ID of the caller.

Example:

{
  "event": "phone.caller_call_history_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_logs": [
        {
          "id": "",
          "call_path_id": "",
          "call_id": "",
          "group_id": "",
          "connect_type": "internal",
          "call_type": "general",
          "direction": "inbound",
          "hide_caller_id": true,
          "end_to_end": true,
          "caller_ext_id": "",
          "caller_name": "",
          "caller_email": "",
          "caller_employee_id": "",
          "caller_did_number": "",
          "caller_account_code": "",
          "caller_ext_number": "",
          "caller_ext_type": "user",
          "caller_number_type": "zoom_pstn",
          "caller_device_private_ip": "",
          "caller_device_public_ip": "",
          "caller_device_type": "",
          "caller_country_iso_code": "",
          "caller_country_code": "",
          "caller_site_id": "",
          "caller_department": "",
          "caller_cost_center": "",
          "callee_ext_id": "",
          "callee_name": "",
          "callee_did_number": "",
          "callee_account_code": "",
          "callee_ext_number": "",
          "callee_email": "",
          "callee_employee_id": "",
          "callee_ext_type": "user",
          "callee_number_type": "zoom_pstn",
          "callee_device_private_ip": "",
          "callee_device_public_ip": "",
          "callee_device_type": "",
          "callee_country_iso_code": "",
          "callee_country_code": "",
          "callee_site_id": "",
          "callee_department": "",
          "callee_cost_center": "",
          "start_time": "",
          "answer_time": "",
          "end_time": "",
          "event": "incoming",
          "result": "answered",
          "result_reason": "answered_by_other",
          "operator_ext_number": "",
          "operator_ext_id": "",
          "operator_ext_type": "user",
          "operator_name": "",
          "recording_id": "",
          "recording_type": "ad-hoc",
          "voicemail_id": "",
          "talk_time": 1,
          "hold_time": 1,
          "wait_time": 1
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.peering_number_cnam_updated

  • Method: POST
  • Path: phone.peering_number_cnam_updated
  • Tags: webhook

The CNAM has changed event triggers when the Caller ID name (CNAM) has been updated for PSTN phone numbers.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be a user or account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • "CNAM has changed" subscription must be enabled under the Zoom Phone event.

This event is for use by partners that have completed the MoU to peer with Zoom. To become a peering provider/ carrier, please submit your request.

Request Body

Content-Type: application/json
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — Account ID of the customer using provider exchange.

    • object (required)

      object

      • carrier_code (required)

        integer — The carrier code.

      • phone_numbers (required)

        array — The phone numbers with CNAM updates.

      • cnam

        string — The caller ID name.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "cnam": "",
      "carrier_code": 1,
      "phone_numbers": []
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

phone.caller_mute

  • Method: POST
  • Path: phone.caller_mute
  • Tags: webhook

The Caller mutes a phone call event triggers when the caller mutes themselves during a call.

Prerequisites

  • Zoom Phone Plan
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • Your app must either be an account level OAuth App or a Webhook Only app. For more information, see Enable webhooks.
    • Caller mutes a phone call subscription must be enabled under the Zoom Phone event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch at which the event occurred; long (`int64`) format.

  • payload (required)

    object

    • account_id (required)

      string — The caller's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The time and date (GMT) at which the caller muted a call in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

Schemas

Phone.recording_deletedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.recording_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The ID of the account to which the recording belongs.

    • object (required)

      object

      • recordings (required)

        array

        Items:
        • call_id (required)

          string — The call ID.

        • id (required)

          string — The recording ID.

Example:

{
  "event": "phone.recording_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "recordings": [
        {
          "id": "",
          "call_id": ""
        }
      ]
    }
  }
}

Phone.caller_call_log_completedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.caller_call_log_completed" — Event name.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — Account ID of the caller.

    • object (required)

      object

      • call_logs (required)

        array

        Items:
        • call_id (required)

          string — Unique identifier of the call.

        • call_type (required)

          string, possible values: "voip", "pstn", "tollfree", "international", "contactCenter" — The type of call: * `voip` (Voice over IP) * `pstn` (Public Switched Telephone Network) * `tollfree` * `international` * `contactCenter`

        • callee_number (required)

          string — Phone number of the callee.

        • callee_number_type (required)

          integer, possible values: 1, 2, 3 — The callee's phone number type: * `1` — extension number. * `2` — phone number. * `3` — Customized emergency number.

        • caller_number (required)

          string — Phone number of the caller.

        • caller_number_type (required)

          integer, possible values: 1, 2 — Phone number type of the caller. The value can be one of the following: * `1` - extension number. * `2` - phone number.

        • date_time (required)

          string, format: date-time — Start date and time of the call.

        • has_voicemail (required)

          boolean — Indicates whether the call log includes voicemail or not.

        • id (required)

          string — Unique Identifier of the call log.

        • path (required)

          string — Path of the call log.

        • result (required)

          string — Status of the call.

        • call_end_time

          string, format: date-time — End time of the call.

        • callee_country_code

          string — Callee's country code.

        • callee_country_iso_code

          string — ISO alpha2 country code.

        • callee_did_number

          string — Callee's DID number.

        • callee_location

          string — Location of the callee.

        • callee_name

          string — Name of the callee.

        • callee_number_source

          string, possible values: "internal", "external", "byop" — Phone number source of the caller. The value can be one of the following: * `internal` - ZP native. * `external` — BYOC or Provider Exchange. * `byop` — Premise peering. Not available when `callee_number_type = 1`.

        • caller_country_code

          string — Caller's country code.

        • caller_country_iso_code

          string — ISO alpha2 country code.

        • caller_did_number

          string — Caller's DID number.

        • caller_location

          string — Location of the caller.

        • caller_name

          string — Name of the caller.

        • caller_number_source

          string, possible values: "internal", "external", "byop" — Phone number source of the caller. The value can be one of the following: * `internal` - ZP native. * `external` — BYOC or Provider Exchange. * `byop` — Premise peering. Not available when `caller_number_type = 1`.

        • client_code

          string — Client code.

        • cost_center

          string — Cost center name.

        • department

          string — Department name.

        • direction

          string, possible values: "inbound", "outbound" — Direction of the call. The value of this field can either be `inbound` or `outbound`.

        • duration

          integer — Duration of the call.

        • forwarded_by

          object — Indicates where the call was forwarded from.

          • extension_number

            string

          • extension_type

            string, possible values: "user", "callQueue", "autoReceptionist", "sharedLineGroup"

          • location

            string

          • name

            string

          • number_type

            integer — Phone number types: `1` - Extension `2`- E164 number `3` - Custom number.

          • phone_number

            string

        • forwarded_to

          object — Indicates who the call was forwarded to.

          • extension_number

            string

          • extension_type

            string, possible values: "user", "callQueue", "autoReceptionist", "sharedLineGroup", "pstn"

          • location

            string

          • name

            string

          • number_type

            integer — Phone number types: `1` - Extension `2`- E164 number `3` - Custom number.

          • phone_number

            string

        • has_recording

          boolean — Indicates whether the call log includes recording or not.

        • hold_time

          integer — Hold time during a call in seconds.

        • recording_id

          string — ID of this recording.

        • recording_type

          string — Recording type of the call. This value field can be `OnDemand` or `Automatic`.

        • site

          object

          • id

            string — The phone number's assigned target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites). Sites allow you to organize the phone users in your organization. For example, sites created and based on different office locations.

      • user_id (required)

        string — User Id of the caller.

Example:

{
  "event": "phone.caller_call_log_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_logs": [
        {
          "id": "",
          "caller_number": "",
          "caller_number_type": 1,
          "caller_number_source": "internal",
          "caller_name": "",
          "caller_location": "",
          "caller_did_number": "",
          "caller_country_code": "",
          "caller_country_iso_code": "",
          "callee_number": "",
          "callee_number_type": 1,
          "callee_number_source": "internal",
          "callee_name": "",
          "callee_location": "",
          "callee_did_number": "",
          "callee_country_code": "",
          "callee_country_iso_code": "",
          "duration": 1,
          "result": "",
          "date_time": "",
          "path": "",
          "site": {
            "id": ""
          },
          "has_recording": true,
          "recording_id": "",
          "recording_type": "",
          "has_voicemail": true,
          "call_id": "",
          "client_code": "",
          "call_type": "voip",
          "call_end_time": "",
          "direction": "inbound",
          "forwarded_to": {
            "extension_number": "",
            "extension_type": "user",
            "location": "",
            "name": "",
            "number_type": 1,
            "phone_number": ""
          },
          "forwarded_by": {
            "extension_number": "",
            "extension_type": "user",
            "location": "",
            "name": "",
            "number_type": 1,
            "phone_number": ""
          },
          "hold_time": 1,
          "department": "",
          "cost_center": ""
        }
      ]
    }
  }
}

Phone.recording_completed_for_access_memberEvent

  • Type:object
  • event (required)

    string, possible values: "phone.recording_completed_for_access_member" — Event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who recorded the call.

    • object (required)

      object

      • recordings (required)

        array

        Items:
        • callee_name (required)

          string — The name of the callee.

        • callee_number (required)

          string — The phone number of the callee.

        • callee_number_type (required)

          integer, possible values: 1, 2 — The phone number type of the callee. The value can be one of the following: * `1` - internal * `2` - external

        • caller_number (required)

          string — The phone number of the caller.

        • caller_number_type (required)

          integer, possible values: 1, 2 — The phone number type of the caller. The value can be one of the following: * `1` - internal * `2` - external

        • date_time (required)

          string, format: date-time — The start date and time of the call.

        • direction (required)

          string, possible values: "inbound", "outbound" — The direction of the call. The value of this field can either be `inbound` or `outbound`.

        • download_url (required)

          string — The URL to download the call recording. To download the recording via this URL, you must add an “access_token” query parameter to the download URL and provide either the user's OAuth access token or your app's **JWT** as the value of the “access_token” parameter. For example, if the value of this field is "https://zoom.us/v2/phone/recording/download/abcD666T”, the complete URL path to download the recording will be as below: `https://zoom.us/v2/phone/recording/download/abcD666T?access_token={YOUR_ACCESS_TOKEN_HERE}`

        • duration (required)

          integer — The duration of the call in seconds.

        • id (required)

          string — The recording ID is the unique Identifier of the call recording.

        • accepted_by

          object — The call-receiving user. The current recording must belong to the receiver and call queue for it to be available.

          • extension_number

            string — The user extension number.

          • name

            string — User name

        • call_element_id

          string — The call element ID.

        • call_history_id

          string — Use `call_element_id` instead. The call history ID.

        • call_id

          string — The unique identifier of the call.

        • call_log_id

          string — The call log ID. <b>Deprecated:</b> This is the legacy call log ID. Zoom will stop producing legacy call log data in a future release, and the associated [Get call log details](https://developers.zoom.us/docs/api/phone/#tag/call-logs/get/phone/call_logs/{callLogId}) API has also been deprecated. As an alternative, use `call_element_id` together with the call element / call history APIs.

        • callee_account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • callee_did_number

          string — The callee's DID number.

        • caller_account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • caller_did_number

          string — The caller's DID number.

        • caller_name

          string — The name of the caller.

        • end_time

          string, format: date-time — The recording's end time.

        • outgoing_by

          object — The call-initiating user. The current recording must belong to the initiator and call queue for it to be available.

          • extension_number

            string — The user's extension number.

          • name

            string — The user name.

        • owner

          object — The owner of the call.

          • id (required)

            string — The owner ID.

          • name (required)

            string — The owner name.

          • type (required)

            string — The owner type. This value field can be `user` or `callQueue`.

          • extension_number

            integer — The extension number of the owner

          • has_access_permission

            boolean — Whether the owner has the access permission to this recording.

        • recording_type

          string — The recording type of the call. This value field can be `OnDemand` or `Automatic`.

        • site

          object — The site of the call.

          • id

            string — The site ID of the call.

        • user_id

          string — The unique identifier of the user.

Example:

{
  "event": "phone.recording_completed_for_access_member",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "recordings": [
        {
          "id": "",
          "caller_account_code": "",
          "caller_number": "",
          "caller_number_type": 1,
          "caller_name": "",
          "caller_did_number": "",
          "callee_account_code": "",
          "callee_number": "",
          "callee_number_type": 1,
          "callee_name": "",
          "callee_did_number": "",
          "duration": 1,
          "download_url": "",
          "date_time": "",
          "user_id": "",
          "call_id": "",
          "call_element_id": "",
          "end_time": "",
          "recording_type": "",
          "site": {
            "id": ""
          },
          "owner": {
            "type": "",
            "id": "",
            "name": "",
            "extension_number": 1,
            "has_access_permission": true
          },
          "direction": "inbound",
          "outgoing_by": {
            "name": "",
            "extension_number": ""
          },
          "accepted_by": {
            "name": "",
            "extension_number": ""
          }
        }
      ]
    }
  }
}

Phone.recording_resumedEvent

  • Type:object
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — Unique identifier of the call.

      • callee_number (required)

        string — Phone number or the extension number of the callee.

      • caller_number (required)

        string — Phone number or the extension number of the caller.

      • date_time (required)

        string, format: date-time — The time and date when the recording has resumed.

      • direction (required)

        string, possible values: "inbound", "outbound" — Direction of the call: `inbound` or `outbound`.

      • id (required)

        string — The recording ID.

      • owner (required)

        object — The owner of the recording.

        • extension_number (required)

          integer — Extension number of the owner

        • id (required)

          string — The owner ID.

        • name (required)

          string — Display name of the owner.

        • type (required)

          string, possible values: "user", "callQueue", "commonArea" — The owner type: `user` or `callQueue`.

      • recording_type (required)

        string, possible values: "OnDemand", "Automatic" — The type of the recording: `OnDemand` or `Automatic`.

      • user_id (required)

        string — The user ID.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "",
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "user_id": "",
      "caller_account_code": "",
      "caller_number": "",
      "callee_account_code": "",
      "callee_number": "",
      "direction": "inbound",
      "date_time": "",
      "recording_type": "OnDemand",
      "call_id": "",
      "owner": {
        "type": "user",
        "id": "",
        "name": "",
        "extension_number": 1,
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    }
  },
  "event_ts": 1
}

Phone.fax_log_deletedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.fax_log_deleted" — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp, in milliseconds since epoch, at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The owner account ID.

    • object (required)

      object — object

      • fax_logs (required)

        array — The deleted fax logs information.

        Items:
        • fax_log_id (required)

          string — The unique fax log ID.

Example:

{
  "event": "phone.fax_log_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "fax_logs": [
        {
          "fax_log_id": ""
        }
      ]
    }
  }
}

Phone.whatsapp_message_sent_failedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.whatsapp_message_sent_failed" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The payload of the WhatsApp message that failed to be sent.

      • attachments (required)

        array — The media file information.

        Items:
        • download_url (required)

          string — The URL to download the file.

        • file_id (required)

          string — The unique identifier for a media file.

        • name (required)

          string — The name of the file.

        • size (required)

          integer — The size of the file in bytes.

        • type (required)

          string, possible values: "JPG", "JPEG", "PNG", "GIF", "PDF" — The type of file.

      • date_time (required)

        string, format: date-time — The date and time at which the WhatsApp message was sent.

      • message (required)

        string — The WhatsApp message text content.

      • message_id (required)

        string — The WhatsApp message ID.

      • recipient (required)

        object — The WhatsApp message recipient.

        • phone_number (required)

          string — The WhatsApp message recipient's phone number.

      • sender (required)

        object — The WhatsApp message sender.

        • phone_number (required)

          string — The WhatsApp message sender's phone number.

        • display_name

          string — The WhatsApp message sender's display name.

        • id

          string — The WhatsApp message sender's ID.

        • type

          string, possible values: "user" — The type of sender: * `user`.

      • session_id (required)

        string — The WhatsApp message session ID.

      • failure_reason

        string — The reason for a WhatsApp message send failure.

Example:

{
  "event": "phone.whatsapp_message_sent_failed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "sender": {
        "phone_number": "",
        "id": "",
        "type": "user",
        "display_name": "",
        "additionalProperty": "anything"
      },
      "recipient": {
        "phone_number": "",
        "additionalProperty": "anything"
      },
      "message": "",
      "attachments": [
        {
          "file_id": "",
          "size": 1,
          "name": "",
          "type": "JPG",
          "download_url": "",
          "additionalProperty": "anything"
        }
      ],
      "session_id": "",
      "message_id": "",
      "date_time": ""
    }
  }
}

Phone.fax_log_permanently_deletedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.fax_log_permanently_deleted" — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp, in milliseconds since epoch, at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The owner account ID.

    • object (required)

      object — object

      • fax_logs (required)

        array — The list of permanently deleted fax logs.

        Items:
        • fax_log_id (required)

          string — The unique fax log ID.

Example:

{
  "event": "phone.fax_log_permanently_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "fax_logs": [
        {
          "fax_log_id": ""
        }
      ]
    }
  }
}

Phone.transfer_recipient_updatedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch when the event occurred, in `int64` format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The unique identifier for the call.

      • date_time (required)

        string — The date and time (GMT) when the recipient of the warm/blind transfer call was updated, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • recipient (required)

        object — The recipient who received the warm/blind transfer call from the event owner.

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_number

          integer, format: int64 — The recipient's extension number.

        • name

          string — The name of the recipient.

        • phone_number

          string — The phone number of the recipient in E164 format.

      • failure_reason

        string — The reason why the recipient update for the warm/blind transfer call failed. An empty string indicates success.

      • owner

        object — The owner of this event.

        • extension_number

          integer, format: int64 — The owner's extension number.

        • id

          string — The unique identifier for the owner.

        • name

          string — The name of the owner.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the owner.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "call_id": "",
      "owner": {
        "extension_number": "1001019",
        "id": "z8yCxjabcdEFGHfp8uQ",
        "name": "Tom Jones",
        "type": "user"
      },
      "recipient": {
        "extension_number": "1001020",
        "phone_number": "+12192818492",
        "name": "Jane Smith",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Phone.recording_transcript_completedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.recording_transcript_completed" — Event name.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — Account ID of the user who recorded the call.

    • object (required)

      object

      • recordings (required)

        array

        Items:
        • callee_name (required)

          string — Name of the callee.

        • callee_number (required)

          string — Phone number of the callee.

        • callee_number_type (required)

          integer, possible values: 1, 2 — Phone number type of the callee. The value can be one of the following: * `1` - internal * `2` - external

        • caller_number (required)

          string — Phone number of the caller.

        • caller_number_type (required)

          integer, possible values: 1, 2 — Phone number type of the caller. The value can be one of the following: * `1` - internal * `2` - external

        • date_time (required)

          string, format: date-time — Start date and time of the call.

        • direction (required)

          string, possible values: "inbound", "outbound" — Direction of the call. The value of this field can either be `inbound` or `outbound`.

        • id (required)

          string — Recording ID: Unique Identifier of the call recording.

        • transcript_download_url (required)

          string — URL using which the call recording transcript can be downloaded. To download the recording transcript via this URL, you must add an “access_token” query parameter to the download URL and provide either the user's OAuth access token or your app's **JWT** as the value of the “access_token” parameter. For example, if the value of this field is "https://zoom.us/v2/phone/recording_transcript/download/abcD666T”, the complete URL path to download the recording trancsript will be as below: `https://zoom.us/v2/phone/recording_transcript/download/abcD666T?access_token={YOUR_ACCESS_TOKEN_HERE}`

        • accepted_by

          object — The call-receiving user. The current recording must belong to the receiver and call queue for it to be available.

          • extension_number

            string — User extension number

          • name

            string — User name

        • call_id

          string — Unique identifier of the call.

        • call_log_id

          string — Call log id.

        • callee_account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • caller_account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • caller_name

          string — Name of the caller.

        • duration

          integer — Duration of the call in seconds.

        • end_time

          string, format: date-time — The recording's end time.

        • outgoing_by

          object — The call-initiating user. The current recording must belong to the initiator and call queue for it to be available.

          • extension_number

            string — User extension number

          • name

            string — User name

        • owner

          object — Owner of the call.

          • id (required)

            string — Owner id.

          • name (required)

            string — Owner name.

          • type (required)

            string — Owner type. This value field can be `user` or `callQueue`.

          • extension_number

            integer — Extension number of the owner

        • recording_type

          string — Recording type of the call. This value field can be `OnDemand` or `Automatic`.

        • site

          object — Site of the call.

          • id (required)

            string — Site ID of the call.

        • user_id

          string — Unique identifier of the user.

Example:

{
  "event": "phone.recording_transcript_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "recordings": [
        {
          "id": "",
          "caller_account_code": "",
          "caller_number": "",
          "caller_number_type": 1,
          "caller_name": "",
          "callee_account_code": "",
          "callee_number": "",
          "callee_number_type": 1,
          "callee_name": "",
          "duration": 1,
          "transcript_download_url": "",
          "date_time": "",
          "user_id": "",
          "call_id": "",
          "call_log_id": "",
          "end_time": "",
          "recording_type": "",
          "site": {
            "id": ""
          },
          "owner": {
            "type": "",
            "id": "",
            "name": "",
            "extension_number": 1
          },
          "direction": "inbound",
          "outgoing_by": {
            "name": "",
            "extension_number": ""
          },
          "accepted_by": {
            "name": "",
            "extension_number": ""
          }
        }
      ]
    }
  }
}

Phone.call_log_permanently_deletedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.call_log_permanently_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the call log.

    • object (required)

      object

      • call_logs (required)

        array

        Items:
        • call_id (required)

          string — The unique identifier of the call.

        • id (required)

          string — The unique identifier of the call log.

      • user_id (required)

        string — The user ID of the call log owner.

Example:

{
  "event": "phone.call_log_permanently_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_logs": [
        {
          "id": "",
          "call_id": ""
        }
      ]
    }
  }
}

Phone.transfer_call_to_voicemail_initiatedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.transfer_call_to_voicemail_initiated" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • date_time (required)

        string — The date and time (GMT) at which the transfer call to voicemail was completed, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • transfer_phone_number (required)

        string — The phone number required for the transfer call to voicemail. It may be the user's phone number, extension number or the user's phone number that displays in E164 format.

      • failure_reason

        string — The failure reason for transfer call to voicemail. If it is an empty string, it means success.

      • owner

        object

        • extension_number

          integer — The owner's extension number.

        • id

          string — The owner ID.

        • name

          string — The owner name.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonAreaPhone", "sharedLineGroup" — The owner type: *`user` *`callQueue` *`autoReceptionist` *`commonAreaPhone` *`sharedLineGroup`

      • transfer_account_code

        string — The transfer account code. To transfer a call between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "phone.transfer_call_to_voicemail_initiated",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "call_id": "",
      "transfer_account_code": "",
      "transfer_phone_number": "",
      "owner": {
        "extension_number": "1000001019",
        "id": "N3hAhug-QVyFPYZJrHpRaQ",
        "name": "123@test.com",
        "type": "user"
      },
      "date_time": ""
    }
  }
}

Phone.callee_missedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • call_end_time (required)

        string — The GMT time at which the call was ended, in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • call_id (required)

        string — The unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • phone_number (required)

          string — The phone number of the callee in E164 format. Example: +12192818492 Note: `phone_number` and `extension_number` can't be empty at the same time.

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — Zoom clients generate an ID when installed on a device. <b>Note:</b> Does not apply to desk phones.

        • extension_id

          string — The extension ID of the callee.

        • extension_number

          integer, format: int64 — The extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the callee.

        • timezone

          string — The timezone of the callee.

        • user_id

          string — The Zoom user ID of the callee.

      • caller (required)

        object — Caller object: Represents the person who initiated the call.

        • phone_number (required)

          string — The phone number of the caller in E164 format. Example: +12192818492

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — The extension ID of the caller.

        • extension_number

          integer, format: int64 — The extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the caller.

        • timezone

          string — The timezone of the caller.

        • user_id

          string — The Zoom user ID of the caller.

      • ringing_start_time (required)

        string — The GMT time at which the ringing started in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • forwarded_by

        object — The webhook displays this field if the call was routed from a call queue, shared line group, shared lines, or auto receptionist. See [Setting up call delegation](https://support.zoom.us/hc/en-us/articles/360032881731-Setting-up-call-delegation) for more information.

        • extension_number

          string — The extension number the call was forwarded from.

        • extension_type

          string — The type of extension the call was forwarded from. Values: callQueue | sharedLineGroup | sharedLines | autoReceptionist

        • name

          string — The name of the extension the call was forwarded from.

      • handup_result

        string — The reason the call was missed. Values: No Answer | Busy | Call Cancel

      • redirect_forwarded_by

        object — The webhook displays this field if the call was indirectly routed from an auto receptionist. A routing path example is selected as A->auto receptionist->call queue->B, where A and B are users. In this case, the call is indirectly forwarded by auto receptionist.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": "",
      "call_end_time": "",
      "forwarded_by": {
        "name": "",
        "extension_number": "",
        "extension_type": ""
      },
      "redirect_forwarded_by": {},
      "handup_result": ""
    }
  }
}

Phone.caller_ringingEvent

  • Type:object
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — Account ID of the caller.

    • object (required)

      object

      • call_id (required)

        string — Unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — Extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • name

          string — Callee's user name.

        • phone_number

          string — Phone number of the callee in E164 format. Example: +12192818492

      • caller (required)

        object — Caller object: Represents the person who initiated the call.

        • phone_number (required)

          string — Phone number of the caller in E164 format. Example: +12192818492

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • device_name

          string — The name of device on which the Zoom Client is installed.

        • device_type

          string — Device type of the caller.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — Extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • name

          string — Caller's user name.

        • timezone

          string — Timezone of the caller.

        • user_id

          string — Zoom User ID of the caller.

      • ringing_start_time (required)

        string — The GMT time at which the ringing started in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "name": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_type": "",
        "device_name": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "name": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": ""
    }
  }
}

Phone.voicemail_receivedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.voicemail_received" — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp, in milliseconds since epoch, at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • callee_extension_type (required)

        string, possible values: "user", "callQueue", "autoReceptionist", "sharedLineGroup" — The callee's extension type: * `user` * `callQueue` * `autoReceptionist` * `shareLineGroup`

      • callee_id (required)

        string — The callee's ID. Depending on the type of extension, this value can be one of the following: * For a regular user (`user`) — `callee_id` is the same as `callee_user_id`. * For call queue (`callQueue`) — `callee_id` is the same as the call queue `group_id` value. * For an auto-receptionist (`autoReceptionist`) — `callee_id` is the same as `auto_receptionist_id`. * For a shared line group (`shareLineGroup`) — `callee_id` is the same as `share_line_group_id`.

      • callee_name (required)

        string — The callee's name.

      • callee_number (required)

        string — The callee's phone number.

      • callee_number_type (required)

        integer, possible values: 1, 2 — The callee's number type: * `1` — Internal. * `2` — External.

      • caller_name (required)

        string — The caller's name.

      • caller_number (required)

        string — The caller's phone number.

      • caller_number_type (required)

        integer, possible values: 1, 2 — The caller's number type: * `1` — Internal. * `2` — External.

      • date_time (required)

        string, format: date-time — The date and time at which the voicemail was received.

      • download_url (required)

        string, format: url — The URL at which the voicemail can be downloaded.

      • duration (required)

        integer — The duration of the voicemail.

      • id (required)

        string — The voicemail's unique ID.

      • call_element_id

        string — The call element ID.

      • call_history_id

        string — Use `call_element_id` instead. The call history ID.

      • call_id

        string — The call's unique ID.

      • call_log_id

        string — The call log ID. <b>Deprecated:</b> This is the legacy call log ID. Zoom will stop producing legacy call log data in a future release, and the associated [Get call log details](https://developers.zoom.us/docs/api/phone/#tag/call-logs/get/phone/call_logs/{callLogId}) API has also been deprecated. As an alternative, use `call_element_id` together with the call element / call history APIs.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • callee_did_number

        string — Callee's DID number.

      • callee_user_id

        string — The callee's user ID.

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • caller_did_number

        string — Caller's DID number.

      • caller_user_id

        string — The caller's user ID. This field will only exist if the caller is a user of this account.

Example:

{
  "event": "phone.voicemail_received",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "date_time": "",
      "download_url": "",
      "duration": 1,
      "caller_user_id": "",
      "caller_account_code": "",
      "caller_number": "",
      "caller_number_type": 1,
      "caller_name": "",
      "caller_did_number": "",
      "callee_user_id": "",
      "callee_account_code": "",
      "callee_number": "",
      "callee_number_type": 1,
      "callee_name": "",
      "callee_did_number": "",
      "callee_extension_type": "user",
      "callee_id": "",
      "call_element_id": "",
      "call_id": ""
    }
  }
}

Phone.sms_sentEvent

  • Type:object
  • event (required)

    string, possible values: "phone.sms_sent" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The payload of SMS/MMS message that was sent.

      • attachments (required)

        array — The media file information.

        Items:
        • download_url (required)

          string — The URL using which the file can be downloaded.

        • id (required)

          string — The unique identifier for a media file.

        • name (required)

          string — The name of the file.

        • size (required)

          integer — The size of the file in bytes.

        • type (required)

          string — The type of file.

      • date_time (required)

        string, format: date-time — The date and time at which the SMS was sent.

      • message (required)

        string — The SMS text content.

      • message_id (required)

        string — The SMS message ID.

      • message_type (required)

        integer — The type of messages.

      • owner (required)

        object — The owner of this SMS/MMS.

        • id

          string — The owner ID.

        • sms_sender_user_id

          string — The user ID of the call queue or auto receptionist member who sent the SMS when the owner type is callQueue or autoReceptionist.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist" — The owner type: *`user` *`callQueue` *`autoReceptionist`

      • sender (required)

        object — The SMS sender.

        • phone_number (required)

          string — The SMS sender's phone number.

        • display_name

          string — The SMS sender's display name.

        • id

          string — SMS sender's user ID.

        • type

          string, possible values: "user" — The type of sender: *`user`.

      • session_id (required)

        string — The SMS session ID.

      • to_members (required)

        array — The SMS receivers.

        Items:
        • phone_number (required)

          string — The SMS receiver's phone number.

        • display_name

          string — The SMS receiver's display name.

        • id

          string — The SMS receiver's ID.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist" — The type of receiver: *`user` *`callQueue` *`autoReceptionist`.

      • failure_reason

        string — The reason for SMS send failure. An empty field means the SMS send was successful.

      • phone_number_campaign_opt_statuses

        array — The list of opt statuses for each number pair.

        Items:
        • consumer_phone_number (required)

          string — The end user's phone number in E164 format that sends the Opt-in or Opt-out keyword to the Zoom Phone number.

        • opt_status (required)

          string, possible values: "pending", "opt_out", "opt_in" — The opt status.

        • zoom_phone_user_number (required)

          string — The Zoom user's phone number in E164 format that receives the Opt-in or Opt-out keyword from the end user.

        • opt_in_message

          string — If opt_in_status=1, the opt_in_message will return the Opt-In message of the Campaign bound to zoom_phone_user_number. In this case, you must send the opt_in_message as the first message in the SMS session and then wait for the Opt-In response.

        • opt_in_status

          integer, possible values: 0, 1, 2, 3, 4 — The Opt-In status between the Zoom Phone user number and consumer phone number. This is a sub-status of `opt_status` and uses the following enumeration: 0: Default status. The Opt-In status for the Zoom Phone user number cannot be determined. This may occur when the Zoom Phone user number is not associated with a Campaign, among other reasons. 1: This is a new SMS session and an Opt-In message must be sent first. 2: An Opt-In message has been sent and a response is pending. 3: An Opt-In message has been sent and the recipient has consented to receive additional SMS messages. 4: An Opt-In message has been sent, but the recipient has declined to receive additional SMS messages, or the number has been configured to block all outbound SMS messages.

Example:

{
  "event": "phone.sms_sent",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "sender": {
        "phone_number": "",
        "id": "",
        "type": "user",
        "display_name": "",
        "additionalProperty": "anything"
      },
      "to_members": [
        {
          "id": "",
          "type": "user",
          "display_name": "",
          "phone_number": "",
          "additionalProperty": "anything"
        }
      ],
      "owner": {
        "type": "user",
        "id": "",
        "sms_sender_user_id": ""
      },
      "message": "",
      "attachments": [
        {
          "id": "",
          "size": 1,
          "name": "",
          "type": "",
          "download_url": "",
          "additionalProperty": "anything"
        }
      ],
      "session_id": "",
      "message_id": "",
      "message_type": 1,
      "date_time": "",
      "phone_number_campaign_opt_statuses": [
        {
          "consumer_phone_number": "+150434XXXXX",
          "zoom_phone_user_number": "+12094XXXXX",
          "opt_status": "opt_out",
          "opt_in_status": 0,
          "opt_in_message": "Text START to receive text messages from ZOOM. Message frequency may vary. Message and Data Rates may apply. To end messaging from us, reply with STOP. Reply with HELP for more information."
        }
      ]
    }
  }
}

Phone.voicemail_deletedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.voicemail_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • voice_mails (required)

        array

        Items:
        • id (required)

          string — The unique identifier of the voice mail.

Example:

{
  "event": "phone.voicemail_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "voice_mails": [
        {
          "id": ""
        }
      ]
    }
  }
}

Phone.voicemail_transcript_completedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.voicemail_transcript_completed" — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp, in milliseconds since epoch, at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • callee_name (required)

        string — The callee's name.

      • callee_number (required)

        string — The callee's phone number.

      • callee_number_type (required)

        integer, possible values: 1, 2 — The callee's number type: * `1` — Internal. * `2` — External.

      • caller_name (required)

        string — The caller's name.

      • caller_number (required)

        string — The caller's phone number.

      • caller_number_type (required)

        integer, possible values: 1, 2 — The caller's number type: * `1` — Internal. * `2` — External.

      • date_time (required)

        string, format: date-time — The date and time at which the voicemail was received.

      • id (required)

        string — The voicemail's unique ID.

      • transcription (required)

        object — Voicemail transcript

        • content (required)

          string — Content of the voicemail transcript

        • status (required)

          integer, possible values: 0, 1, 2, 4, 5, 9, 11, 12, 13, 14, 409, 415, 422, 500, 601, 602, 603, 999 — Status of the voicemail transcript: * `0` — Transcript is not available. * `1` — Transcript is processing. * `2` - Transcript processed successfully * `4` — Transcript is disabled. * `5` — Transcript is enabled. * `9` — Transcript web error. * `11` — Transcript download error. * `12` — Transcript upload error. * `13` — Transcript web database error. * `14` — Transcript BYOS (Bring Your Own Storage) upload error. * `409` — Transcript duplicate processing request error. * `415` — Transcript unsupported media error. * `422` — Transcript is unprocessable. * `500` — Transcript server error. * `601` — Transcript AISense after retry error. * `602` — Transcript AISense upload file error. * `603` — Transcript AISense download file error. * `999` — Transcript AISense error.

      • call_element_id

        string — The call element ID.

      • call_history_id

        string — Use `call_element_id` instead. The call history ID.

      • call_id

        string — The call's unique ID.

      • call_log_id

        string — The call log ID. <b>Deprecated:</b> This is the legacy call log ID. Zoom will stop producing legacy call log data in a future release, and the associated [Get call log details](https://developers.zoom.us/docs/api/phone/#tag/call-logs/get/phone/call_logs/{callLogId}) API has also been deprecated. As an alternative, use `call_element_id` together with the call element / call history APIs.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • callee_extension_type

        string, possible values: "user", "callQueue", "autoReceptionist", "sharedLineGroup" — The callee's extension type: * `user` * `callQueue` * `autoReceptionist` * `shareLineGroup`

      • callee_id

        string — The callee's ID. Depending on the type of extension, this value can be one of the following: * For a regular user (`user`) — `callee_id` is the same as `callee_user_id`. * For call queue (`callQueue`) — `callee_id` is the same as the call queue `group_id` value. * For an auto-receptionist (`autoReceptionist`) — `callee_id` is the same as `auto_receptionist_id`. * For a shared line group (`shareLineGroup`) — `callee_id` is the same as `share_line_group_id`.

      • callee_user_id

        string — The callee's user ID.

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "phone.voicemail_transcript_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "date_time": "",
      "caller_account_code": "",
      "caller_number": "",
      "caller_number_type": 1,
      "caller_name": "",
      "callee_user_id": "",
      "callee_account_code": "",
      "callee_number": "",
      "callee_number_type": 1,
      "callee_name": "",
      "callee_extension_type": "user",
      "callee_id": "",
      "call_element_id": "",
      "call_id": "",
      "transcription": {
        "status": 0,
        "content": ""
      }
    }
  }
}

Phone.recording_permanently_deletedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.recording_permanently_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The ID of the account to which the recording belongs.

    • object (required)

      object

      • recordings (required)

        array

        Items:
        • call_id (required)

          string — The call ID.

        • id (required)

          string — The recording ID.

Example:

{
  "event": "phone.recording_permanently_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "recordings": [
        {
          "id": "",
          "call_id": ""
        }
      ]
    }
  }
}

Phone.peering_number_emergency_address_updatedEvent

  • Type:object
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — Account ID of the customer using provider exchange.

    • object (required)

      object

      • carrier_code (required)

        integer — The carrier code.

      • phone_numbers (required)

        array — The phone numbers with emergency address updates.

      • emergency_address

        object — The emergency address info.

        • address_line1 (required)

          string — Emergency address(house number and street name).

        • address_line2

          string — Additional emergency address information (building, floor or unit number).

        • city

          string — The city.

        • country

          string — Abbreviated [country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of country.

        • state_code

          string — Abbreviated [state code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#states-1) of the state.

        • zip

          string — Zip code.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "emergency_address": {
        "country": "",
        "address_line1": "",
        "address_line2": "",
        "city": "",
        "zip": "",
        "state_code": ""
      },
      "carrier_code": 1,
      "phone_numbers": []
    }
  }
}

Phone.sms_campaign_number_opt_outEvent

  • Type:object
  • event (required)

    string, possible values: "phone.sms_campaign_number_opt_out" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The phone number campaign opt status payload

      • date_time (required)

        string, format: date_time — The date time at which the event occurred. The value of this field is returned in format FMT_DATE_ISO_2 according to the account's timezone. Otherwise it would be in UTC timezone.

      • phone_number_campaign_opt_statuses (required)

        array — The list of phone number pairs.

        Items:
        • consumer_phone_number (required)

          string — The end user's phone number in E164 format that sends the Opt-out keyword to the Zoom Phone number.

        • zoom_phone_user_number (required)

          string — Zoom user's phone number in E164 format that receives the Opt-out keyword from the end user.

Example:

{
  "event": "phone.sms_campaign_number_opt_out",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "phone_number_campaign_opt_statuses": [
        {
          "consumer_phone_number": "",
          "zoom_phone_user_number": ""
        }
      ],
      "date_time": ""
    }
  }
}

Phone.caller_endedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the caller.

    • object (required)

      object

      • call_end_time (required)

        string — The GMT time at which the call was ended."yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • call_id (required)

        string — Thr unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Thr extension ID of the callee.

        • extension_number

          integer, format: int64 — The extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the callee.

        • phone_number

          string — The phone number of the callee in E164 format. Example: +12192818492 Note: `phone_number` and `extension_number` can't be empty at the same time.

        • timezone

          string — The timezone of the callee.

        • user_id

          string — The Zoom user ID of the callee.

      • caller (required)

        object — Caller object: Represents the person who initiated the call.

        • phone_number (required)

          string — The phone number of the caller in E164 format. Example: +12192818492

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — Zoom clients generate an ID when installed on a device. <b>Note:</b> Does not apply to desk phones.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the caller.

        • timezone

          string — The timezone of the caller.

        • user_id

          string — The Zoom user ID of the caller.

      • ringing_start_time (required)

        string — The GMT time at which the ringing started,"yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • answer_start_time

        string — The GMT time at which the call was answered, "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • handup_result

        string — The reason the call was ended. Values: Call connected | Call Cancel | Voicemail

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": "",
      "answer_start_time": "",
      "call_end_time": "",
      "handup_result": ""
    }
  }
}

Phone.callee_endedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • call_end_time (required)

        string — The GMT time( in "yyyy-MM-dd'T'HH:mm:ss'Z'" format) at which the call was ended by the callee.

      • call_id (required)

        string — The unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • phone_number (required)

          string — The phone number of the callee in E164 format. Example: +12192818492

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — An ID generated by Zoom clients when installed on a device. <b>Note:</b> Does not apply to desk phones.

        • device_name

          string — The name of device on which the Zoom Client is installed.

        • extension_id

          string — The extension ID of the callee.

        • extension_number

          integer, format: int64 — The extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the callee.

        • name

          string — The callee's user name.

        • timezone

          string — The timezone of the callee.

        • user_id

          string — The Zoom user ID of the callee.

      • caller (required)

        object — Caller object: Represents the person who initiated the call.

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — The extension ID of the caller.

        • extension_number

          integer, format: int64 — The extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the caller.

        • phone_number

          string — The phone number of the caller in E164 format. Example: +12192818492

        • timezone

          string — The timezone of the caller.

        • user_id

          string — The Zoom user ID of the caller.

      • ringing_start_time (required)

        string — The GMT time at which the ringing started in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • answer_start_time

        string — The GMT time( in "yyyy-MM-dd'T'HH:mm:ss'Z'" format) at which the call was answered.

      • forwarded_by

        object — The webhook displays this field if the call was routed from a call queue, shared line group, shared lines, or auto receptionist. See [Setting up call delegation](https://support.zoom.us/hc/en-us/articles/360032881731-Setting-up-call-delegation) for more information.

        • extension_number

          string — The extension number the call was forwarded from.

        • extension_type

          string — The type of extension the call was forwarded from. Values: callQueue | sharedLineGroup | sharedLines | autoReceptionist

        • name

          string — The name of the extension the call was forwarded from.

      • redirect_forwarded_by

        object — The webhook displays this field if the call was indirectly routed from an auto receptionist. A routing path example is selected as A->auto receptionist->call queue->B, where A and B are users. In this case, the call is indirectly forwarded by auto receptionist.

        • extension_number

          string — The extension number the call was forwarded from.

        • extension_type

          string — The type of extension the call was forwarded from. Values: autoReceptionist

        • name

          string — The name of the extension the call was forwarded from.

        • phone_number

          string — The phone number the call was forwarded from.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "name": "",
        "phone_number": "",
        "extension_number": 1,
        "timezone": "",
        "device_name": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": "",
      "answer_start_time": "",
      "call_end_time": "",
      "forwarded_by": {
        "name": "",
        "extension_number": "",
        "extension_type": ""
      },
      "redirect_forwarded_by": {
        "name": "",
        "extension_number": "",
        "phone_number": "",
        "extension_type": ""
      }
    }
  }
}

Phone.callee_call_history_completedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.callee_call_history_completed" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object — The event object.

      • call_logs (required)

        array — The list of call logs.

        Items:
        • call_id (required)

          string — The ID of the phone call.

        • call_path_id (required)

          string — The call path ID of the call.

        • id (required)

          string — The ID of the call history.

        • result (required)

          string, possible values: "answered", "accepted", "picked_up", "connected", "succeeded", "voicemail", "hang_up", "canceled", "call_failed", "unconnected", "rejected", "busy", "ring_timeout", "overflowed", "no_answer", "invalid_key", "invalid_operation", "abandoned", "system_blocked", "service_unavailable" — The detail result of an event for a call log.

        • start_time (required)

          string — The call start time in GMT `date-time` format.

        • answer_time

          string — The call answer time in GMT `date-time` format.

        • call_type

          string, possible values: "general", "emergency" — The type of call.

        • callee_account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • callee_cost_center

          string — The callee's cost center.

        • callee_country_code

          string — The callee's country code.

        • callee_country_iso_code

          string — The callee's country ISO code.

        • callee_department

          string — The callee's department.

        • callee_device_private_ip

          string — The callee's private IP.

        • callee_device_public_ip

          string — The callee's public IP.

        • callee_device_type

          string — The callee's device type.

        • callee_did_number

          string — The callee's DID number in e164 format.

        • callee_email

          string — The callee's email.

        • callee_employee_id

          string — Ther callee's employee id

        • callee_ext_id

          string — The callee's extension ID.

        • callee_ext_number

          string — The extension number of the callee.

        • callee_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The callee's extension type.

        • callee_name

          string — The name of the callee.

        • callee_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The callee's number type.

        • callee_site_id

          string — The callee's site ID.

        • caller_account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • caller_cost_center

          string — The caller's cost center.

        • caller_country_code

          string — The caller's country code.

        • caller_country_iso_code

          string — The caller's country ISO code.

        • caller_department

          string — The caller's department.

        • caller_device_private_ip

          string — The caller's private IP.

        • caller_device_public_ip

          string — The caller's public IP.

        • caller_device_type

          string — The caller's device type.

        • caller_did_number

          string — The caller's DID number in e164 format.

        • caller_email

          string — The caller's email.

        • caller_employee_id

          string — Ther caller's employee id

        • caller_ext_id

          string — The caller's extension ID.

        • caller_ext_number

          string — The extension number of the caller.

        • caller_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The caller's extension type.

        • caller_name

          string — The name of the caller.

        • caller_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The caller's number type.

        • caller_site_id

          string — The caller's site ID.

        • connect_type

          string, possible values: "internal", "external" — The connect type of call.

        • direction

          string, possible values: "inbound", "outbound" — The direction of the call.

        • end_time

          string — The call end time in GMT `date-time` format.

        • end_to_end

          boolean — A flag to indicate the call is End-to-End Encryption or not.

        • event

          string, possible values: "incoming", "transfer_from_zoom_contact_center", "shared_line_incoming", "outgoing", "call_me_on", "outgoing_to_zoom_contact_center", "warm_transfer", "forward", "ring_to_member", "overflow", "direct_transfer", "barge", "monitor", "whisper", "listen", "takeover", "conference_barge", "park", "timeout", "park_pick_up", "merge", "shared" — An event within a call log.

        • group_id

          string — The primary group of which the user belongs.

        • hide_caller_id

          boolean — A flag to indicate the call is hide caller ID or not.

        • hold_time

          integer — The call hold time in seconds.

        • operator_ext_id

          string — The operator extension ID.

        • operator_ext_number

          string — The operator extension number.

        • operator_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The operator extension type.

        • operator_name

          string — The operator's name.

        • recording_id

          string — The unique identifier of the call recording.

        • recording_type

          string, possible values: "ad-hoc", "automatic" — The type of call recording.

        • result_reason

          string, possible values: "answered_by_other", "pickup_by_other", "call_out_by_other" — The reason of result of an event for a call log.

        • talk_time

          integer — The call talk time in seconds.

        • voicemail_id

          string — The ID of the call voicemail.

        • wait_time

          integer — The call wait time in seconds.

      • user_id (required)

        string — The user ID of the caller.

Example:

{
  "event": "phone.callee_call_history_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_logs": [
        {
          "id": "",
          "call_path_id": "",
          "call_id": "",
          "group_id": "",
          "connect_type": "internal",
          "call_type": "general",
          "direction": "inbound",
          "hide_caller_id": true,
          "end_to_end": true,
          "caller_ext_id": "",
          "caller_name": "",
          "caller_email": "",
          "caller_employee_id": "",
          "caller_did_number": "",
          "caller_account_code": "",
          "caller_ext_number": "",
          "caller_ext_type": "user",
          "caller_number_type": "zoom_pstn",
          "caller_device_private_ip": "",
          "caller_device_public_ip": "",
          "caller_device_type": "",
          "caller_country_iso_code": "",
          "caller_country_code": "",
          "caller_site_id": "",
          "caller_department": "",
          "caller_cost_center": "",
          "callee_ext_id": "",
          "callee_name": "",
          "callee_did_number": "",
          "callee_account_code": "",
          "callee_ext_number": "",
          "callee_email": "",
          "callee_employee_id": "",
          "callee_ext_type": "user",
          "callee_number_type": "zoom_pstn",
          "callee_device_private_ip": "",
          "callee_device_public_ip": "",
          "callee_device_type": "",
          "callee_country_iso_code": "",
          "callee_country_code": "",
          "callee_site_id": "",
          "callee_department": "",
          "callee_cost_center": "",
          "start_time": "",
          "answer_time": "",
          "end_time": "",
          "event": "incoming",
          "result": "answered",
          "result_reason": "answered_by_other",
          "operator_ext_number": "",
          "operator_ext_id": "",
          "operator_ext_type": "user",
          "operator_name": "",
          "recording_id": "",
          "recording_type": "ad-hoc",
          "voicemail_id": "",
          "talk_time": 1,
          "hold_time": 1,
          "wait_time": 1
        }
      ]
    }
  }
}

Phone.call_element_deletedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.call_element_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the call log.

    • object (required)

      object

      • user_id (required)

        string — The user ID of the call log owner.

      • call_element_ids

        array — The deleted call element ID list. This will be empty when the `delete_all` is true.

        Items:

        string

      • delete_all

        boolean — The value is true if the user delete all call logs

      • execute_time

        string — The delete event time in GMT `date-time` format. All call logs prior to this user have been deleted.

      • move_to_trash

        boolean — If the account has enabled call log trash, this value is true.

Example:

{
  "event": "phone.call_element_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "move_to_trash": true,
      "execute_time": "",
      "delete_all": true,
      "call_element_ids": [
        ""
      ]
    }
  }
}

Phone.voicemail_permanently_deletedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.voicemail_permanently_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • voice_mails (required)

        array

        Items:
        • id (required)

          string — The unique identifier of the voice mail.

Example:

{
  "event": "phone.voicemail_permanently_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "voice_mails": [
        {
          "id": ""
        }
      ]
    }
  }
}

Phone.sms_campaign_number_opt_inEvent

  • Type:object
  • event (required)

    string, possible values: "phone.sms_campaign_number_opt_in" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The phone number campaign opt-status payload.

      • date_time (required)

        string, format: date-time — The date time at which the event occurred. The value of this field is returned in format FMT_DATE_ISO_2 according to the account's timezone. Otherwise it would be in UTC timezone.

      • phone_number_campaign_opt_statuses (required)

        array — The list of phone number pairs.

        Items:
        • consumer_phone_number (required)

          string — End user's phone number in E164 format that sends the Opt-in keyword to the Zoom Phone number.

        • zoom_phone_user_number (required)

          string — Zoom user's phone number in E164 format that receives Opt-in keyword from the end user.

Example:

{
  "event": "phone.sms_campaign_number_opt_in",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "phone_number_campaign_opt_statuses": [
        {
          "consumer_phone_number": "",
          "zoom_phone_user_number": ""
        }
      ],
      "date_time": ""
    }
  }
}

Phone.fax_receivedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.fax_received" — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp, in milliseconds since epoch, at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The owner account ID.

    • object (required)

      object — object

      • create_time (required)

        integer, format: int64 — The fax creation timestamp in UTC time zone.

      • direction (required)

        string, possible values: "inbound", "outbound" — The fax log's direction: * `inbound` * `outbound`

      • extension_id (required)

        string — The owner's extension ID.

      • extension_type (required)

        string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "sharedLineGroup" — The owner's extension type: * `user` * `callQueue` * `autoReceptionist` * `commonArea` * `sharedLineGroup`

      • fax_id (required)

        string — The unique fax session ID.

      • fax_log_id (required)

        string — The unique fax log ID.

      • file_id (required)

        string — The fax PDF file ID.

      • file_pages_count (required)

        integer — The number of pages in the fax file.

      • receiver_extension_id (required)

        string — The receiver extension ID.

      • receiver_extension_number (required)

        string — The receiver extension number.

      • receiver_name (required)

        string — The receiver name.

      • receiver_number (required)

        string — The receiver fax number.

      • receiver_type (required)

        string, possible values: "client", "ata", "pstn", "email", "openapi", "sdk", "byop", "unknown" — The receiver endpoint type: * `client` * `ata` * `pstn` * `email` * `openapi` * `sdk` * `byop` * `unknown`

      • sender_extension_id (required)

        string — The sender extension ID.

      • sender_extension_number (required)

        string — The sender extension number.

      • sender_name (required)

        string — The sender name.

      • sender_number (required)

        string — The sender fax number.

      • sender_type (required)

        string, possible values: "client", "ata", "pstn", "email", "openapi", "sdk", "byop", "unknown" — The sender endpoint type: * `client` * `ata` * `pstn` * `email` * `openapi` * `sdk` * `byop` * `unknown`

      • site_id (required)

        string — The site ID.

      • site_name (required)

        string — The site name.

      • status (required)

        string, possible values: "failed", "processing", "submitted", "sent", "received", "canceled" — The fax status: * `failed` * `processing` * `submitted` * `sent` * `received` * `canceled`

      • created_at

        string — The fax creation time in UTC time zone.

      • receiver_extension_type

        string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "sharedLineGroup" — The receiver extension type: * `user` * `callQueue` * `autoReceptionist` * `commonArea` * `sharedLineGroup`

      • receiver_location

        string — The receiver location.

      • sender_extension_type

        string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "sharedLineGroup" — The sender extension type: * `user` * `callQueue` * `autoReceptionist` * `commonArea` * `sharedLineGroup`

      • sender_location

        string — The sender location.

Example:

{
  "event": "phone.fax_received",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "fax_log_id": "",
      "fax_id": "",
      "site_id": "",
      "site_name": "",
      "extension_id": "",
      "extension_type": "user",
      "direction": "inbound",
      "sender_extension_id": "",
      "sender_extension_type": "user",
      "sender_extension_number": "",
      "sender_name": "",
      "sender_number": "",
      "sender_type": "client",
      "sender_location": "",
      "receiver_extension_id": "",
      "receiver_extension_type": "user",
      "receiver_extension_number": "",
      "receiver_name": "",
      "receiver_number": "",
      "receiver_type": "client",
      "receiver_location": "",
      "file_id": "",
      "file_pages_count": 1,
      "status": "failed",
      "created_at": "",
      "additionalProperty": "anything"
    }
  }
}

Phone.callee_call_element_completedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.callee_call_element_completed" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • call_elements (required)

        array

        Items:
        • call_element_id (required)

          string — The ID of the call element.

        • call_history_uuid (required)

          string — The call history ID of the call.

        • call_id (required)

          string — The ID of the phone call.

        • result (required)

          string, possible values: "answered", "accepted", "picked_up", "connected", "succeeded", "voicemail", "hang_up", "canceled", "call_failed", "unconnected", "rejected", "busy", "ring_timeout", "overflowed", "no_answer", "invalid_key", "invalid_operation", "abandoned", "system_blocked", "service_unavailable" — The detail result of an event for a call log.

        • start_time (required)

          string — The call start time in GMT `date-time` format.

        • answer_time

          string — The call answer time in GMT `date-time` format.

        • call_type

          string, possible values: "general", "emergency" — The type of call.

        • callee_cost_center

          string — The callee's cost center.

        • callee_country_code

          string — The callee's country code.

        • callee_country_iso_code

          string — The callee's country ISO code.

        • callee_department

          string — The callee's department.

        • callee_device_private_ip

          string — The callee's private IP.

        • callee_device_public_ip

          string — The callee's public IP.

        • callee_device_type

          string — The callee's device type.

        • callee_did_number

          string — The callee's DID number in e164 format.

        • callee_email

          string — The callee's email.

        • callee_employee_id

          string — Ther callee's employee id

        • callee_ext_id

          string — The callee's extension ID.

        • callee_ext_number

          string — The extension number of the callee.

        • callee_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The callee's extension type.

        • callee_name

          string — The name of the callee.

        • callee_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The callee's number type.

        • callee_site_id

          string — The callee's site ID.

        • caller_cost_center

          string — The caller's cost center.

        • caller_country_code

          string — The caller's country code.

        • caller_country_iso_code

          string — The caller's country ISO code.

        • caller_department

          string — The caller's department.

        • caller_device_private_ip

          string — The caller's private IP.

        • caller_device_public_ip

          string — The caller's public IP.

        • caller_device_type

          string — The caller's device type.

        • caller_did_number

          string — The caller's DID number in e164 format.

        • caller_email

          string — The caller's email.

        • caller_employee_id

          string — Ther caller's employee id

        • caller_ext_id

          string — The caller's extension ID.

        • caller_ext_number

          string — The extension number of the caller.

        • caller_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The caller's extension type.

        • caller_name

          string — The name of the caller.

        • caller_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The caller's number type.

        • caller_site_id

          string — The caller's site ID.

        • connect_type

          string, possible values: "internal", "external" — The connect type of call.

        • direction

          string, possible values: "inbound", "outbound" — The direction of the call.

        • end_time

          string — The call end time in GMT `date-time` format.

        • end_to_end

          boolean — A flag to indicate the call is End-to-End Encryption or not.

        • event

          string, possible values: "incoming", "transfer_from_zoom_contact_center", "shared_line_incoming", "outgoing", "call_me_on", "outgoing_to_zoom_contact_center", "warm_transfer", "forward", "ring_to_member", "overflow", "direct_transfer", "barge", "monitor", "whisper", "listen", "takeover", "conference_barge", "park", "timeout", "park_pick_up", "merge", "shared" — An event within a call log.

        • group_id

          string — The primary group of which the user belongs.

        • handler_ext_id

          string — The handler extension id, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • handler_ext_number

          string — The handler extension number, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • handler_ext_type

          string, possible values: "user", "common_area", "zoom_room", "cisco_room" — The handler extension type, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • handler_name

          string — The handler's name, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • hide_caller_id

          boolean — A flag to indicate the call is hide caller ID or not.

        • hold_time

          integer — The call hold time in seconds.

        • operator_ext_id

          string — The operator extension ID.

        • operator_ext_number

          string — The operator extension number.

        • operator_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The operator extension type.

        • operator_name

          string — The operator's name.

        • recording_id

          string — The unique identifier of the call recording.

        • recording_type

          string, possible values: "ad-hoc", "automatic" — The type of call recording.

        • result_reason

          string, possible values: "answered_by_other", "pickup_by_other", "call_out_by_other" — The reason of result of an event for a call log.

        • talk_time

          integer — The call talk time in seconds.

        • voicemail_id

          string — The ID of the call voicemail.

        • wait_time

          integer — The call wait time in seconds.

      • user_id (required)

        string — The user ID of the caller.

Example:

{
  "event": "phone.callee_call_element_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_elements": [
        {
          "call_element_id": "",
          "call_history_uuid": "",
          "call_id": "",
          "group_id": "",
          "connect_type": "internal",
          "call_type": "general",
          "direction": "inbound",
          "hide_caller_id": true,
          "end_to_end": true,
          "caller_ext_id": "",
          "caller_name": "",
          "caller_email": "",
          "caller_employee_id": "",
          "caller_did_number": "",
          "caller_ext_number": "",
          "caller_ext_type": "user",
          "caller_number_type": "zoom_pstn",
          "caller_device_private_ip": "",
          "caller_device_public_ip": "",
          "caller_device_type": "",
          "caller_country_iso_code": "",
          "caller_country_code": "",
          "caller_site_id": "",
          "caller_department": "",
          "caller_cost_center": "",
          "callee_ext_id": "",
          "callee_name": "",
          "callee_did_number": "",
          "callee_ext_number": "",
          "callee_email": "",
          "callee_employee_id": "",
          "callee_ext_type": "user",
          "callee_number_type": "zoom_pstn",
          "callee_device_private_ip": "",
          "callee_device_public_ip": "",
          "callee_device_type": "",
          "callee_country_iso_code": "",
          "callee_country_code": "",
          "callee_site_id": "",
          "callee_department": "",
          "callee_cost_center": "",
          "start_time": "",
          "answer_time": "",
          "end_time": "",
          "event": "incoming",
          "result": "answered",
          "result_reason": "answered_by_other",
          "operator_ext_number": "",
          "operator_ext_id": "",
          "operator_ext_type": "user",
          "operator_name": "",
          "handler_ext_number": "",
          "handler_ext_id": "",
          "handler_ext_type": "user",
          "handler_name": "",
          "recording_id": "",
          "recording_type": "ad-hoc",
          "voicemail_id": "",
          "talk_time": 1,
          "hold_time": 1,
          "wait_time": 1
        }
      ]
    }
  }
}

Phone.warm_transfer_completedEvent

  • Type:object
  • event (required)

    string — The name of the webhook event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch when the event occurred, in long (`int64`) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The unique identifier of the call.

      • date_time (required)

        string — The date and time (GMT) when the call warm transfer was completed, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • failure_reason

        string — The reason why the warm transfer failed to complete. An empty string indicates success.

      • owner

        object

        • extension_number

          integer — The owner's extension number.

        • id

          string — The unique identifier of the owner.

        • name

          string — The name of the owner.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonAreaPhone", "sharedLineGroup" — The owner type. Possible values: `user`, `callQueue`, `autoReceptionist`, `commonAreaPhone`, `sharedLineGroup`.

      • transfer_account_code

        string — The transfer account code. To transfer a call between accounts, use the format: [Account code] - [extension number].

      • transfer_phone_number

        string — The phone number required for the warm transfer. This may be the user's phone number, extension number, or phone number in E164 format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "call_id": "",
      "transfer_account_code": "",
      "transfer_phone_number": "",
      "owner": {
        "extension_number": "1000001019",
        "id": "N3hAhug-QVyFPYZJrHpRaQ",
        "name": "123@test.com",
        "type": "user"
      },
      "date_time": ""
    }
  }
}

Phone.callee_muteEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch at which the event occurred; long (`int64`) format.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The time and date (GMT) at which the callee muted a call in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Phone.sms_etiquette_warnEvent

  • Type:object
  • event (required)

    string, possible values: "phone.sms_etiquette_warn" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The sms etiquette event payload.

      • date_time (required)

        string, format: date_time — The date time at which the event occurred.

      • email (required)

        string — an email of a zoom phone user that violated SMS Etiquette warn policy.

      • message (required)

        string — Message content that violated SMS Etiquette warn policy.

      • policy_name (required)

        string — SMS Etiquette warn policy that was violated.

Example:

{
  "event": "phone.sms_etiquette_warn",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "email": "",
      "message": "",
      "policy_name": "",
      "date_time": ""
    }
  }
}

Phone.call_history_deletedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.call_history_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the call log.

    • object (required)

      object — The object of the event.

      • user_id (required)

        string — The user ID of the call log owner.

      • call_log_ids

        array — The deleted call log ID list. This will be empty when the `delete_all` is true.

        Items:

        string

      • delete_all

        boolean — The value is true if the user delete all call logs

      • execute_time

        string — The delete event time in GMT `date-time` format. All call logs prior to this user have been deleted.

      • move_to_trash

        boolean — If the account has enabled call log trash, this value is true.

Example:

{
  "event": "phone.call_history_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "move_to_trash": true,
      "execute_time": "",
      "delete_all": true,
      "call_log_ids": [
        ""
      ]
    }
  }
}

Phone.sms_etiquette_blockEvent

  • Type:object
  • event (required)

    string, possible values: "phone.sms_etiquette_block" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The sms etiquette event payload.

      • date_time (required)

        string, format: date_time — The date time at which the event occurred.

      • email (required)

        string — an email of a zoom phone user that violated SMS Etiquette block policy.

      • message (required)

        string — Message content that violated SMS Etiquette block policy.

      • policy_name (required)

        string — SMS Etiquette block policy that was violated.

Example:

{
  "event": "phone.sms_etiquette_block",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "email": "",
      "message": "",
      "policy_name": "",
      "date_time": ""
    }
  }
}

Phone.call_log_deletedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.call_log_deleted" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the call log.

    • object (required)

      object

      • call_logs (required)

        array

        Items:
        • call_id (required)

          string — The unique identifier of the call.

        • id (required)

          string — The unique identifier of the call log.

      • user_id (required)

        string — The user ID of the call log owner.

Example:

{
  "event": "phone.call_log_deleted",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_logs": [
        {
          "id": "",
          "call_id": ""
        }
      ]
    }
  }
}

Phone.caller_holdEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The caller's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • phone_number

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • phone_number

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The date and time (GMT) at which the call hold began, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Phone.caller_connectedEvent

  • Type:object
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — Account ID of the caller.

    • object (required)

      object

      • call_id (required)

        string — Unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — Extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • name

          string — Callee's user name.

        • phone_number

          string — Phone number of the callee in E164 format. Example: +12192818492

      • caller (required)

        object — Caller object: Represents the person who initiated the call.

        • phone_number (required)

          string — Phone number of the caller in E164 format. Example: +12192818492

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — An ID generated by Zoom clients when installed on a device. <b>Note:</b> Does not apply to desk phones.

        • device_type

          string — The type of device on which the Zoom client is installed. <b>Note:</b> For desk phones, the value is applicable to limited devices.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — Extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • name

          string — Caller's user name.

        • timezone

          string — Timezone of the caller.

        • user_id

          string — Zoom User ID of the caller.

      • connected_start_time (required)

        string — The GMT time at which the connection was established between the caller and the Zoom Phone network in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • ringing_start_time (required)

        string — The GMT time at which the ringing started in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "name": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_type": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "name": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": "",
      "connected_start_time": ""
    }
  }
}

Phone.recording_completedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.recording_completed" — Event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who recorded the call.

    • object (required)

      object

      • recordings (required)

        array

        Items:
        • callee_name (required)

          string — The name of the callee.

        • callee_number (required)

          string — The phone number of the callee.

        • callee_number_type (required)

          integer, possible values: 1, 2 — The phone number type of the callee. The value can be one of the following: * `1` - internal * `2` - external

        • caller_number (required)

          string — The phone number of the caller.

        • caller_number_type (required)

          integer, possible values: 1, 2 — The phone number type of the caller. The value can be one of the following: * `1` - internal * `2` - external

        • date_time (required)

          string, format: date-time — The start date and time of the call.

        • direction (required)

          string, possible values: "inbound", "outbound" — The direction of the call. The value of this field can either be `inbound` or `outbound`.

        • download_url (required)

          string — The URL to download the call recording. To download the recording via this URL, you must add an “access_token” query parameter to the download URL and provide either the user's OAuth access token or your app's **JWT** as the value of the “access_token” parameter. For example, if the value of this field is "https://zoom.us/v2/phone/recording/download/abcD666T”, the complete URL path to download the recording will be as below: `https://zoom.us/v2/phone/recording/download/abcD666T?access_token={YOUR_ACCESS_TOKEN_HERE}`

        • duration (required)

          integer — The duration of the call in seconds.

        • id (required)

          string — The recording ID is the unique Identifier of the call recording.

        • accepted_by

          object — The call-receiving user. The current recording must belong to the receiver and call queue for it to be available.

          • extension_number

            string — The user's extension number.

          • name

            string — The user's name

        • call_element_id

          string — The call element ID.

        • call_history_id

          string — Use `call_element_id` instead. The call history ID.

        • call_id

          string — The unique identifier of the call.

        • call_log_id

          string — The call log ID. <b>Deprecated:</b> This is the legacy call log ID. Zoom will stop producing legacy call log data in a future release, and the associated [Get call log details](https://developers.zoom.us/docs/api/phone/#tag/call-logs/get/phone/call_logs/{callLogId}) API has also been deprecated. As an alternative, use `call_element_id` together with the call element / call history APIs.

        • callee_account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • callee_did_number

          string — The callee's DID number.

        • caller_account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • caller_did_number

          string — The caller's DID number.

        • caller_name

          string — The name of the caller.

        • end_time

          string, format: date-time — The recording's end time.

        • outgoing_by

          object — The call-initiating user. The current recording must belong to the initiator and call queue for it to be available.

          • extension_number

            string — The user's extension number.

          • name

            string — The user's name.

        • owner

          object — The owner of the call.

          • id (required)

            string — The owner's ID.

          • name (required)

            string — The owner's name.

          • type (required)

            string — The owner's type. This value field can be `user` or `callQueue`.

          • extension_number

            integer — The extension number of the owner

          • has_access_permission

            boolean — Whether the owner has the access permission to this recording.

        • recording_type

          string — The recording type of the call. This value field can be `OnDemand` or `Automatic`.

        • site

          object — The site of the call.

          • id

            string — The site ID of the call.

        • user_id

          string — The unique identifier of the user.

Example:

{
  "event": "phone.recording_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "recordings": [
        {
          "id": "",
          "caller_account_code": "",
          "caller_number": "",
          "caller_number_type": 1,
          "caller_name": "",
          "caller_did_number": "",
          "callee_account_code": "",
          "callee_number": "",
          "callee_number_type": 1,
          "callee_name": "",
          "callee_did_number": "",
          "duration": 1,
          "download_url": "",
          "date_time": "",
          "user_id": "",
          "call_id": "",
          "call_element_id": "",
          "end_time": "",
          "recording_type": "",
          "site": {
            "id": ""
          },
          "owner": {
            "type": "",
            "id": "",
            "name": "",
            "extension_number": 1,
            "has_access_permission": true
          },
          "direction": "inbound",
          "outgoing_by": {
            "name": "",
            "extension_number": ""
          },
          "accepted_by": {
            "name": "",
            "extension_number": ""
          }
        }
      ]
    }
  }
}

Phone.recording_startedEvent

  • Type:object
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The Account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — Unique identifier of the call.

      • callee_number (required)

        string — Phone number or extension number of the caller.

      • caller_number (required)

        string — Phone number or extension number of the caller.

      • channel_id (required)

        string — ID of the channel

      • date_time (required)

        string, format: date-time — Start date and time of the call.

      • direction (required)

        string, possible values: "inbound", "outbound" — Direction of the call. The value of this field can either be `inbound` or `outbound`.

      • id (required)

        string — ID of the recording

      • owner (required)

        object — The owner of the recording.

        • id (required)

          string — ID of the owner.

        • name (required)

          string — Display name of the owner

        • type (required)

          string, possible values: "user", "callQueue", "commonArea" — Type of the owner. This value field can be `user` or `callQueue`.

        • extension_number

          integer — Extension number of the owner

      • recording_type (required)

        string, possible values: "OnDemand", "Automatic" — The type of the recording. This value field can be `OnDemand` or `Automatic`.

      • sip_id (required)

        string — ID of the sip call

      • user_id (required)

        string — ID of the user.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "",
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "user_id": "",
      "caller_account_code": "",
      "caller_number": "",
      "callee_account_code": "",
      "callee_number": "",
      "direction": "inbound",
      "date_time": "",
      "recording_type": "OnDemand",
      "call_id": "",
      "channel_id": "",
      "sip_id": "",
      "owner": {
        "type": "user",
        "id": "",
        "name": "",
        "extension_number": 1
      }
    }
  },
  "event_ts": 1
}

Phone.sms_sent_failedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.sms_sent_failed" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The payload of SMS/MMS message that failed to be sent.

      • attachments (required)

        array — The media file information.

        Items:
        • download_url (required)

          string — The URL using which the file can be downloaded.

        • id (required)

          string — The unique identifier for a media file.

        • name (required)

          string — The name of the file.

        • size (required)

          integer — The size of the file in bytes.

        • type (required)

          string — The type of file.

      • date_time (required)

        string, format: date-time — The date and time at which the SMS was sent.

      • message (required)

        string — The SMS text content.

      • message_id (required)

        string — The SMS message ID.

      • message_type (required)

        integer — The type of messages.

      • owner (required)

        object — The owner of this SMS/MMS.

        • id

          string — The owner ID.

        • sms_sender_user_id

          string — The user ID of the call queue or auto receptionist member who sent the SMS when the owner type is callQueue or autoReceptionist.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist" — The owner type: *`user` *`callQueue` *`autoReceptionist`

      • sender (required)

        object — The SMS sender.

        • phone_number (required)

          string — The SMS sender's phone number.

        • display_name

          string — The SMS sender's display name.

        • id

          string — SMS sender's user ID.

        • type

          string, possible values: "user" — The type of sender: *`user`.

      • session_id (required)

        string — The SMS session ID.

      • to_members (required)

        array — The SMS receivers.

        Items:
        • phone_number (required)

          string — The SMS receiver's phone number.

        • display_name

          string — The SMS receiver's display name.

        • id

          string — The SMS receiver's user ID.

        • is_message_owner

          boolean — Whether it is the owner of the message.

      • failure_reason

        string — The reason for an SMS send failure.

      • phone_number_campaign_opt_statuses

        array — The list of opt statuses for each number pair.

        Items:
        • consumer_phone_number (required)

          string — The end user's phone number in E164 format that sends the Opt-in or Opt-out keyword to the Zoom Phone number.

        • opt_status (required)

          string, possible values: "pending", "opt_out", "opt_in" — The opt status.

        • zoom_phone_user_number (required)

          string — The Zoom user's phone number in E164 format that receives the Opt-in or Opt-out keyword from the end user.

        • opt_in_message

          string — If opt_in_status=1, the opt_in_message will return the Opt-In message of the Campaign bound to zoom_phone_user_number. In this case, you must send the opt_in_message as the first message in the SMS session and then wait for the Opt-In response.

        • opt_in_status

          integer, possible values: 0, 1, 2, 3, 4 — The Opt-In status between the Zoom Phone user number and consumer phone number. This is a sub-status of `opt_status` and uses the following enumeration: 0: Default status. The Opt-In status for the Zoom Phone user number cannot be determined. This may occur when the Zoom Phone user number is not associated with a Campaign, among other reasons. 1: This is a new SMS session and an Opt-In message must be sent first. 2: An Opt-In message has been sent and a response is pending. 3: An Opt-In message has been sent and the recipient has consented to receive additional SMS messages. 4: An Opt-In message has been sent, but the recipient has declined to receive additional SMS messages, or the number has been configured to block all outbound SMS messages.

Example:

{
  "event": "phone.sms_sent_failed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "sender": {
        "phone_number": "",
        "id": "",
        "type": "user",
        "display_name": "",
        "additionalProperty": "anything"
      },
      "to_members": [
        {
          "id": "",
          "display_name": "",
          "phone_number": "",
          "is_message_owner": true,
          "additionalProperty": "anything"
        }
      ],
      "owner": {
        "type": "user",
        "id": "",
        "sms_sender_user_id": ""
      },
      "message": "",
      "attachments": [
        {
          "id": "",
          "size": 1,
          "name": "",
          "type": "",
          "download_url": "",
          "additionalProperty": "anything"
        }
      ],
      "session_id": "",
      "message_id": "",
      "message_type": 1,
      "date_time": "",
      "phone_number_campaign_opt_statuses": [
        {
          "consumer_phone_number": "+150434XXXXX",
          "zoom_phone_user_number": "+120944XXXXX",
          "opt_status": "opt_out",
          "opt_in_status": 0,
          "opt_in_message": "Text START to receive text messages from ZOOM. Message frequency may vary. Message and Data Rates may apply. To end messaging from us, reply with STOP. Reply with HELP for more information."
        }
      ]
    }
  }
}

Phone.callee_call_log_completedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.callee_call_log_completed" — Event name.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — Account ID of the callee.

    • object (required)

      object

      • call_logs (required)

        array

        Items:
        • call_id (required)

          string — Unique identifier of the call.

        • callee_number (required)

          string — Phone number of the callee.

        • callee_number_type (required)

          integer, possible values: 1, 2 — Phone number type of the callee. The value can be one of the following: * `1` - extension number. * `2` - phone number.

        • caller_number (required)

          string — Phone number of the caller.

        • caller_number_type (required)

          integer, possible values: 1, 2 — Phone number type of the caller. The value can be one of the following: * `1` - extension number. * `2` - phone number.

        • date_time (required)

          string, format: date-time — Start date and time of the call.

        • has_voicemail (required)

          boolean — Indicates whether the call log includes voicemail or not.

        • id (required)

          string — Unique Identifier of the call log.

        • path (required)

          string — Path of the call log.

        • result (required)

          string — Status of the call. The value of this field can be one of the following:<br> * `Answered by another Member`: This value will be returned if simultaneous distribution option is enabled for a [call queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-call-queues) and a member of the queue answers the call. * `Busy`: This value is returned if the phone line of the callee is busy. * `Call Cancel`: This value is returned if the call was cancelled. * `No Answer`: This value is returned if the callee did not answer the call. * `Park`: This value is returned if the call was [parked](https://support.zoom.us/hc/en-us/articles/360042175291-Using-call-park). * `Rejected`: This value is returned if the callee declined the call.

        • answer_start_time

          string — The GMT time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format at which the callee answered the call.

        • call_end_time

          string, format: date-time — End time of the call.

        • call_type

          string, possible values: "voip", "pstn", "tollfree", "international", "contactCenter" — The type of call: * `voip` (Voice over IP) * `pstn` (Public Switched Telephone Network) * `tollfree` * `international` * `contactCenter`

        • callee_country_code

          string — Callee's country code.

        • callee_country_iso_code

          string — ISO alpha2 country code.

        • callee_did_number

          string — Callee's DID number.

        • callee_location

          string — Location of the callee.

        • callee_name

          string — Name of the callee.

        • callee_number_source

          string, possible values: "internal", "external", "byop" — Phone number source of the caller. The value can be one of the following: * `internal` - ZP native. * `external` — BYOC or Provider Exchange. * `byop` — Premise peering. Not available when `callee_number_type = 1`.

        • callee_user_id

          string — The callee's user ID.

        • caller_country_code

          string — Caller's country code.

        • caller_country_iso_code

          string — ISO alpha2 country code.

        • caller_did_number

          string — Caller's DID number.

        • caller_location

          string — Location of the caller.

        • caller_name

          string — Name of the caller.

        • caller_number_source

          string, possible values: "internal", "external", "byop" — Phone number source of the caller. The value can be one of the following: * `internal` - ZP native. * `external` — BYOC or Provider Exchange. * `byop` — Premise peering. Not available when `caller_number_type = 1`.

        • caller_user_id

          string — The caller's user ID. This field will only exist if the caller is a user of this account.

        • client_code

          string — Client code.

        • cost_center

          string — Cost center name.

        • department

          string — Department name.

        • direction

          string, possible values: "inbound", "outbound" — Direction of the call. The value of this field can either be `inbound` or `outbound`.

        • duration

          integer — Duration of the call.

        • forwarded_by

          object — Indicates where the call was forwarded from.

          • extension_number

            string

          • extension_type

            string, possible values: "user", "callQueue", "autoReceptionist", "sharedLineGroup"

          • location

            string

          • name

            string

          • number_type

            integer — Phone number types: `1` - Extension `2`- E164 number `3` - Custom number.

          • phone_number

            string

        • forwarded_to

          object — Indicates who the call was forwarded to.

          • extension_number

            string

          • extension_type

            string, possible values: "user", "callQueue", "autoReceptionist", "sharedLineGroup"

          • location

            string

          • name

            string

          • number_type

            integer — Phone number types: `1` - Extension `2`- E164 number `3` - Custom number.

          • phone_number

            string

        • has_recording

          boolean — Indicates whether the call log includes recording or not.

        • hold_time

          integer — Hold time during a call in seconds.

        • recording_id

          string — ID of this recording.

        • recording_type

          string — Recording type of the call. This value field can be `OnDemand` or `Automatic`.

        • site

          object

          • id

            string — The phone number's assigned target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites). Sites allow you to organize the phone users in your organization. For example, sites created and based on different office locations.

        • waiting_time

          integer — Waiting time of the call.

      • user_id (required)

        string — User Id of the caller.

Example:

{
  "event": "phone.callee_call_log_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_logs": [
        {
          "id": "",
          "caller_user_id": "",
          "caller_number": "",
          "caller_number_type": 1,
          "caller_number_source": "internal",
          "caller_name": "",
          "caller_location": "",
          "caller_did_number": "",
          "caller_country_code": "",
          "caller_country_iso_code": "",
          "callee_user_id": "",
          "callee_number": "",
          "callee_number_type": 1,
          "callee_number_source": "internal",
          "callee_name": "",
          "callee_location": "",
          "callee_did_number": "",
          "callee_country_code": "",
          "callee_country_iso_code": "",
          "duration": 1,
          "result": "",
          "date_time": "",
          "path": "",
          "site": {
            "id": ""
          },
          "has_recording": true,
          "recording_id": "",
          "recording_type": "",
          "has_voicemail": true,
          "call_id": "",
          "client_code": "",
          "call_type": "voip",
          "call_end_time": "",
          "direction": "inbound",
          "answer_start_time": "",
          "waiting_time": 1,
          "forwarded_to": {
            "extension_number": "",
            "extension_type": "user",
            "location": "",
            "name": "",
            "number_type": 1,
            "phone_number": ""
          },
          "forwarded_by": {
            "extension_number": "",
            "extension_type": "user",
            "location": "",
            "name": "",
            "number_type": 1,
            "phone_number": ""
          },
          "hold_time": 1,
          "department": "",
          "cost_center": ""
        }
      ]
    }
  }
}

Phone.callee_ringingEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • call_id (required)

        string — The unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • phone_number (required)

          string — The phone number of the callee in E164 format. Example: +12192818492

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — Zoom clients generate an ID when installed on a device. <b>Note:</b> Does not apply to desk phones.

        • device_name

          string — The name of device on which the Zoom Client installs on.

        • device_type

          string — This field indicates the specific type of device the Zoom client installs on. <b>Note:</b> For desk phones, the value is applicable to limited devices.

        • extension_id

          string — The extension ID of the callee.

        • extension_number

          integer, format: int64 — The extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the callee.

        • name

          string — The callee's user name.

        • timezone

          string — The timezone of the callee.

        • user_id

          string — The Zoom user ID of the callee.

      • caller (required)

        object — Caller object: Represents the person who initiated the call.

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — The extension ID of the caller.

        • extension_number

          integer, format: int64 — The extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the caller.

        • name

          string — The caller's user name.

        • phone_number

          string — The phone number of the caller in E164 format. Example: +12192818492

      • ringing_start_time (required)

        string — The GMT time at which the ringing started. "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • forwarded_by

        object — The webhook displays this field if the call was routed from a call queue, shared line group, shared lines, or auto receptionist. See [Setting up call delegation](https://support.zoom.us/hc/en-us/articles/360032881731-Setting-up-call-delegation) for more information.

        • extension_number

          string — The extension number the call was forwarded from.

        • extension_type

          string — The type of extension the call was forwarded from. Values: callQueue | sharedLineGroup | sharedLines | autoReceptionist

        • name

          string — The name of the extension the call was forwarded from.

      • redirect_forwarded_by

        object — The webhook displays this field if the call was indirectly routed from an auto receptionist. A routing path example is selected as A->auto receptionist->call queue->B, where A and B are users. In this case, the call is indirectly forwarded by auto receptionist.

        • extension_number

          string — The extension number the call was forwarded from.

        • extension_type

          string — The type of extension the call was forwarded from. Values: autoReceptionist

        • name

          string — The name of the extension the call was forwarded from.

        • phone_number

          string — The phone number the call was forwarded from.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "name": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_type": "",
        "device_name": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "name": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": "",
      "forwarded_by": {
        "name": "",
        "extension_number": "",
        "extension_type": ""
      },
      "redirect_forwarded_by": {
        "name": "",
        "extension_number": "",
        "phone_number": "",
        "extension_type": ""
      }
    }
  }
}

Phone.caller_unholdEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The caller's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • phone_number

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • phone_number

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The date and time (GMT) at which the call hold ended, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Phone.callee_holdEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The callee's account code. To dial between accounts, use the format [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The caller's account code. To dial between accounts, use the format [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The date and time (GMT) when the call hold began, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Phone.callee_answeredEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • answer_start_time (required)

        string — The GMT time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format at which the callee answered the call.

      • call_id (required)

        string — The unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • phone_number (required)

          string — The phone number of the callee in E164 format. Example: +12192818492

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — An ID generated by Zoom clients when installed on a device. <b>Note:</b> Does not apply to desk phones.

        • device_name

          string — The name of device on which the Zoom Client is installed.

        • device_type

          string — The type of device on which the Zoom client is installed. <b>Note:</b> For desk phones, the value is applicable to limited devices.

        • extension_id

          string — The extension ID of the callee.

        • extension_number

          integer, format: int64 — The extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the callee.

        • name

          string — The callee's user name.

        • timezone

          string — The timezone of the callee.

        • user_id

          string — The Zoom user ID of the callee.

      • caller (required)

        object — Caller object: Represents the entity that initiated the call.

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — The extension ID of the caller.

        • extension_number

          integer, format: int64 — The extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the caller.

        • name

          string — The caller's user name.

        • phone_number

          string — The phone number of the caller in E164 format. Example: +12192818492

      • ringing_start_time (required)

        string — The GMT time at which the ringing started in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • forwarded_by

        object — The webhook displays this field if the call was routed from a call queue, shared line group, shared lines, or auto receptionist. See [Setting up call delegation](https://support.zoom.us/hc/en-us/articles/360032881731-Setting-up-call-delegation) for more information.

        • extension_number

          string — The extension number the call was forwarded from.

        • extension_type

          string — The type of extension the call was forwarded from. Values: callQueue | sharedLineGroup | sharedLines | autoReceptionist

        • name

          string — The name of the extension the call was forwarded from.

      • redirect_forwarded_by

        object — The webhook displays this field if the call was indirectly routed from an auto receptionist. A routing path example is selected as A->auto receptionist->call queue->B, where A and B are users. In this case, the call is indirectly forwarded by auto receptionist.

        • extension_number

          string — The extension number the call was forwarded from.

        • extension_type

          string — The type of extension the call was forwarded from. Values: autoReceptionist

        • name

          string — The name of the extension the call was forwarded from.

        • phone_number

          string — The phone number the call was forwarded from.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "name": "",
        "phone_number": "",
        "extension_number": 1,
        "timezone": "",
        "device_type": "",
        "device_name": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "name": "",
        "phone_number": "",
        "extension_number": 1,
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": "",
      "answer_start_time": "",
      "forwarded_by": {
        "name": "",
        "extension_number": "",
        "extension_type": ""
      },
      "redirect_forwarded_by": {
        "name": "",
        "extension_number": "",
        "phone_number": "",
        "extension_type": ""
      }
    }
  }
}

Phone.whatsapp_message_receivedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.whatsapp_message_received" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The payload of the received WhatsApp message.

      • attachments (required)

        array — The media file information.

        Items:
        • download_url (required)

          string — The URL from which the file can be downloaded.

        • file_id (required)

          string — The media file ID.

        • name (required)

          string — The name of the file.

        • size (required)

          integer — The size of the file in bytes.

        • type (required)

          string, possible values: "JPG", "JPEG", "PNG", "GIF", "PDF" — The file's type.

      • date_time (required)

        string, format: date-time — The date and time at which the WhatsApp message was received.

      • message (required)

        string — The WhatsApp message text content.

      • message_id (required)

        string — The WhatsApp message ID.

      • message_status (required)

        string, possible values: "received", "edited" — The status of the message: * `received` * `edited`

      • recipient (required)

        object — The WhatsApp message recipient.

        • phone_number (required)

          string — The WhatsApp message recipient's phone number.

        • display_name

          string — The WhatsApp message recipient's display name.

        • id

          string — The WhatsApp message recipient's user ID.

        • is_message_owner

          boolean — Whether the recipient is the owner of the message.

        • type

          string, possible values: "user" — The type of recipient: * `user`.

      • sender (required)

        object — The WhatsApp message sender.

        • phone_number (required)

          string — The WhatsApp message sender's phone number.

        • display_name

          string — The WhatsApp message sender's display name.

      • session_id (required)

        string — The WhatsApp message session ID.

Example:

{
  "event": "phone.whatsapp_message_received",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "sender": {
        "phone_number": "",
        "display_name": "",
        "additionalProperty": "anything"
      },
      "recipient": {
        "id": "",
        "type": "user",
        "display_name": "",
        "phone_number": "",
        "is_message_owner": true,
        "additionalProperty": "anything"
      },
      "message": "",
      "attachments": [
        {
          "file_id": "",
          "size": 1,
          "name": "",
          "type": "JPG",
          "download_url": "",
          "additionalProperty": "anything"
        }
      ],
      "session_id": "",
      "message_id": "",
      "date_time": "",
      "message_status": "received"
    }
  }
}

Phone.warm_transfer_initiatedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch when the event occurred, in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • date_time (required)

        string — The date and time (GMT) when the call warm transfer was answered, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • transfer_phone_number (required)

        string — The phone number required for the warm transfer. This may be a user's phone number, extension number, or phone number in E164 format.

      • failure_reason

        string — The failure reason for the warm transfer. An empty string indicates a successful transfer.

      • owner

        object

        • extension_number

          integer — The owner's extension number.

        • id

          string — The owner ID.

        • name

          string — The owner's name or identifier.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonAreaPhone", "sharedLineGroup" — The owner type: * `user` * `callQueue` * `autoReceptionist` * `commonAreaPhone` * `sharedLineGroup`

      • transfer_account_code

        string — The transfer account code. To transfer a call between accounts, use the format: [Account code] - [extension number].

      • transfer_call_id

        string — The newly generated call ID when the call is transferred.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "owner": {
        "extension_number": "1000001019",
        "id": "N3hAhug-QVyFPYZJrHpRaQ",
        "name": "123@test.com",
        "type": "user"
      },
      "call_id": "",
      "transfer_account_code": "",
      "transfer_phone_number": "",
      "transfer_call_id": "",
      "date_time": ""
    }
  }
}

Phone.caller_unmuteEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch at which the event occurred; long (`int64`) format.

  • payload (required)

    object

    • account_id (required)

      string — The caller's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The time and date (GMT) at which the caller unmuted a call in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Phone.device_registrationEvent

  • Type:object
  • event (required)

    string, default: "phone.device_registration" — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The Account ID of the user.

    • object (required)

      object

      • device_id (required)

        string — The device ID.

      • device_name (required)

        string — Device name.

      • mac_address (required)

        string — MAC address or serial number.

Example:

{
  "event": "phone.device_registration",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "device_id": "",
      "device_name": "",
      "mac_address": ""
    }
  }
}

Phone.blind_transfer_initiatedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • date_time (required)

        string — The date and time (GMT) at which the call warm transfer was completed, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • transfer_phone_number (required)

        string — The phone number required for the blind transfer. It may be the user's phone number, extension number or the user's phone number that displays in E164 format.

      • failure_reason

        string — The failure reason for blind transfer. If it is an empty string, it means success.

      • owner

        object

        • extension_number

          integer — The owner's extension number.

        • id

          string — The owner ID.

        • name

          string — The owner name.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonAreaPhone", "sharedLineGroup" — The owner type: *`user` *`callQueue` *`autoReceptionist` *`commonAreaPhone` *`sharedLineGroup`

      • transfer_account_code

        string — The transfer account code. To transfer a call between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "call_id": "",
      "transfer_phone_number": "",
      "transfer_account_code": "",
      "owner": {
        "extension_number": "1000001019",
        "id": "N3hAhug-QVyFPYZJrHpRaQ",
        "name": "123@test.com",
        "type": "user"
      },
      "date_time": ""
    }
  }
}

Phone.caller_call_element_completedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.caller_call_element_completed" — Event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the caller.

    • object (required)

      object

      • call_elements (required)

        array

        Items:
        • call_element_id (required)

          string — The ID of the call element.

        • call_history_uuid (required)

          string — The call history ID of the call.

        • call_id (required)

          string — The ID of the phone call.

        • result (required)

          string, possible values: "answered", "accepted", "picked_up", "connected", "succeeded", "voicemail", "hang_up", "canceled", "call_failed", "unconnected", "rejected", "busy", "ring_timeout", "overflowed", "no_answer", "invalid_key", "invalid_operation", "abandoned", "system_blocked", "service_unavailable" — The detail result of an event for a call log.

        • start_time (required)

          string — The call start time in GMT `date-time` format.

        • answer_time

          string — The call answer time in GMT `date-time` format.

        • call_type

          string, possible values: "general", "emergency" — The type of call.

        • callee_cost_center

          string — The callee's cost center.

        • callee_country_code

          string — The callee's country code.

        • callee_country_iso_code

          string — The callee's country ISO code.

        • callee_department

          string — The callee's department.

        • callee_device_private_ip

          string — The callee's private IP.

        • callee_device_public_ip

          string — The callee's public IP.

        • callee_device_type

          string — The callee's device type.

        • callee_did_number

          string — The callee's DID number in e164 format.

        • callee_email

          string — The callee's email.

        • callee_employee_id

          string — Ther callee's employee id

        • callee_ext_id

          string — The callee's extension ID.

        • callee_ext_number

          string — The extension number of the callee.

        • callee_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The callee's extension type.

        • callee_name

          string — The name of the callee.

        • callee_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The callee's number type.

        • callee_site_id

          string — The callee's site ID.

        • caller_cost_center

          string — The caller's cost center.

        • caller_country_code

          string — The caller's country code.

        • caller_country_iso_code

          string — The caller's country ISO code.

        • caller_department

          string — The caller's department.

        • caller_device_private_ip

          string — The caller's private IP.

        • caller_device_public_ip

          string — The caller's public IP.

        • caller_device_type

          string — The caller's device type.

        • caller_did_number

          string — The caller's DID number in e164 format.

        • caller_email

          string — The caller's email.

        • caller_employee_id

          string — Ther caller's employee id

        • caller_ext_id

          string — The caller's extension ID.

        • caller_ext_number

          string — The extension number of the caller.

        • caller_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The caller's extension type.

        • caller_name

          string — The name of the caller.

        • caller_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The caller's number type.

        • caller_site_id

          string — The caller's site ID.

        • connect_type

          string, possible values: "internal", "external" — The connect type of call.

        • direction

          string, possible values: "inbound", "outbound" — The direction of the call.

        • end_time

          string — The call end time in GMT `date-time` format.

        • end_to_end

          boolean — A flag to indicate the call is End-to-End Encryption or not.

        • event

          string, possible values: "incoming", "transfer_from_zoom_contact_center", "shared_line_incoming", "outgoing", "call_me_on", "outgoing_to_zoom_contact_center", "warm_transfer", "forward", "ring_to_member", "overflow", "direct_transfer", "barge", "monitor", "whisper", "listen", "takeover", "conference_barge", "park", "timeout", "park_pick_up", "merge", "shared" — An event within a call log.

        • group_id

          string — The primary group of which the user belongs.

        • handler_ext_id

          string — The handler extension id, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • handler_ext_number

          string — The handler extension number, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • handler_ext_type

          string, possible values: "user", "common_area", "zoom_room", "cisco_room" — The handler extension type, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • handler_name

          string — The handler's name, when the result reason is `answer_by_other`, `pick_up_by_other` or `call_out_by_other`.

        • hide_caller_id

          boolean — A flag to indicate the call is hide caller ID or not.

        • hold_time

          integer — The call hold time in seconds.

        • operator_ext_id

          string — The operator extension ID.

        • operator_ext_number

          string — The operator extension number.

        • operator_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The operator extension type.

        • operator_name

          string — The operator's name.

        • recording_id

          string — The unique identifier of the call recording.

        • recording_type

          string, possible values: "ad-hoc", "automatic" — The type of call recording.

        • result_reason

          string, possible values: "answered_by_other", "pickup_by_other", "call_out_by_other" — The reason of result of an event for a call log.

        • talk_time

          integer — The call talk time in seconds.

        • voicemail_id

          string — The ID of the call voicemail.

        • wait_time

          integer — The call wait time in seconds.

      • user_id (required)

        string — The user ID of the caller.

Example:

{
  "event": "phone.caller_call_element_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_elements": [
        {
          "call_element_id": "",
          "call_history_uuid": "",
          "call_id": "",
          "group_id": "",
          "connect_type": "internal",
          "call_type": "general",
          "direction": "inbound",
          "hide_caller_id": true,
          "end_to_end": true,
          "caller_ext_id": "",
          "caller_name": "",
          "caller_email": "",
          "caller_employee_id": "",
          "caller_did_number": "",
          "caller_ext_number": "",
          "caller_ext_type": "user",
          "caller_number_type": "zoom_pstn",
          "caller_device_private_ip": "",
          "caller_device_public_ip": "",
          "caller_device_type": "",
          "caller_country_iso_code": "",
          "caller_country_code": "",
          "caller_site_id": "",
          "caller_department": "",
          "caller_cost_center": "",
          "callee_ext_id": "",
          "callee_name": "",
          "callee_did_number": "",
          "callee_ext_number": "",
          "callee_email": "",
          "callee_employee_id": "",
          "callee_ext_type": "user",
          "callee_number_type": "zoom_pstn",
          "callee_device_private_ip": "",
          "callee_device_public_ip": "",
          "callee_device_type": "",
          "callee_country_iso_code": "",
          "callee_country_code": "",
          "callee_site_id": "",
          "callee_department": "",
          "callee_cost_center": "",
          "start_time": "",
          "answer_time": "",
          "end_time": "",
          "event": "incoming",
          "result": "answered",
          "result_reason": "answered_by_other",
          "operator_ext_number": "",
          "operator_ext_id": "",
          "operator_ext_type": "user",
          "operator_name": "",
          "handler_ext_number": "",
          "handler_ext_id": "",
          "handler_ext_type": "user",
          "handler_name": "",
          "recording_id": "",
          "recording_type": "ad-hoc",
          "voicemail_id": "",
          "talk_time": 1,
          "hold_time": 1,
          "wait_time": 1
        }
      ]
    }
  }
}

Phone.account_settings_updatedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.account_settings_updated" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field returns in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that updated the account settings.

    • object (required)

      object — Information about the account's updated settings.

      • id (required)

        string — The updated account's ID.

      • settings (required)

        object

        • ad_hoc_call_recording

          object — Whether to allow extensions to record and save calls in the cloud.

          • allow_delete

            boolean — Whether to allow user to delete their own ad-hoc recording.

          • allow_download

            boolean — Whether to allow user to download their own ad-hoc recording.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • play_recording_beep_tone

            object — Whether to play the side tone beep for recorded users while recording. It displays only when auto call recording policy uses the new framework.

            • enable

              boolean — Whether to play the side tone beep for recorded users while recording. It displays only when auto call recording policy uses the new framework.

            • play_beep_member

              string, possible values: "allMembers", "recordingUser" — Whether to play the recording beep tone all participants in the call or only the recording user. It displays only when `enable` is true.

            • play_beep_time_interval

              integer, possible values: 5, 10, 15, 20, 25, 30, 60, 120 — The beep time interval in seconds. It displays only when the `enable` is set to true.

            • play_beep_volume

              integer, possible values: 0, 20, 40, 60, 80, 100 — The side tone beep volume. It displays only when `enable` is set to `true`.

          • recording_explicit_consent

            boolean — Whether the `Press 1 option for recording consent` is enabled.

          • recording_start_prompt

            boolean — Whether a prompt plays to call participants when the recording has started.

          • recording_transcription

            boolean — Whether to call recording transcription is enabled.

        • advanced_encryption

          object — Whether to allow voicemail to be encrypted with keys which are not accessible to Zoom servers. These voicemails can be decrypted only by the intended user recipient. Shared Line Appearance, Shared Line Group, Call Queue, or Auto Receptionist voicemail will not be encrypted, but can still be played. Email to voicemail, transcriptions, and the ability to check voicemails by dialing into the voicemail system or web are not available when this feature is enabled. This policy requires a Power Pack license to be enabled. If the user inherits this policy and does not have a Power Pack license, the policy will not be applied. Settings is only available with client version 5.12 or later.

          • disable_incoming_unencrypted_voicemail

            boolean — Whether to disable incoming unencrypted voicemail

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • allow_emergency_calls

          object — Enables users to place emergency calls through the system. Disabling this setting will deactivate emergency call functionality.

          • allow_emergency_calls_from_clients

            boolean — Allow emergency calls for Zoom clients

          • allow_emergency_calls_from_deskphones

            boolean — Allow emergency calls for desk phone and Zoom Phone Appliances

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • allow_end_user_edit_call_handling

          object — Once disabled, users will not be able to edit their call handling settings on the web portal or enable call forwarding on the client.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • allow_mobile_home_phone_callout

          object — Allow users to use mobile or home phone to place calls. Zoom app will call this device first before ringing the called number. Users' Call Me On phone number will be masked with Zoom Phone caller ID.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • allowed_call_locations

          object — Once enabled, define whether the extension or user can make and accept calls and send SMS.

          • allow_internal_calls

            boolean — Whether to allow internal calls when outside of allowed locations

          • enable

            boolean

          • locations_applied

            boolean — Whether locations have been applied.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • allowed_device_locations

          object — Define when hardware devices will be blocked. Devices can be disconnected and blocked from accessing the Zoom service when a device is detected outside an allowed network or when any network change is detected.

          • block_devices_type

            string, possible values: "network_change_detected", "outside_allowed_location" — Block devices condition.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • audio_intercom

          object — Whether to allow hands-free peer-to-peer conversations. When an intercom call is received, the phone beeps to notify the user of the incoming intercom call, and the user's phone automatically answers the intercom call.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • auto_call_from_third_party_apps

          object — This setting allows users to perform call control actions from authorized Zoom Marketplace apps.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • auto_call_recording

          object — Whether to allow automatic recording of all inbound and outbound calls.

          • allow_stop_resume_recording

            boolean — Whether the stop and resume of automatic call recording is enabled.

          • disconnect_on_recording_failure

            boolean — Whether a call disconnects when there is an issue with the automatic call recording and the call cannot reconnect after five seconds. This does **not** include emergency calls.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • play_recording_beep_tone

            object — Whether to play the side tone beep for recorded users while recording. It displays only when ad hoc call recording policy uses the new framework.

            • enable

              boolean — Whether to play a side tone beep for recorded users while recording.

            • play_beep_member

              string, possible values: "allMembers", "recordingUser" — Whether to play the recording beep tone all participants in the call or only the recording user. It displays only when `enable` is true.

            • play_beep_time_interval

              integer, possible values: 5, 10, 15, 20, 25, 30, 60, 120 — The beep time interval in seconds. It displays only when `enable` is true.

            • play_beep_volume

              integer, possible values: 0, 20, 40, 60, 80, 100 — The volume of the side tone beep. It displays only when `enable` is set to `true`.

          • recording_calls

            string, possible values: "inbound", "outbound", "both" — The type of calls automatically recorded: * `inbound` * `outbound` * `both`

          • recording_explicit_consent

            boolean — Whether the `Press 1 option that provides recording consent` is enabled.

          • recording_start_prompt

            boolean — Whether a prompt plays to call participants when the recording has started.

          • recording_start_prompt_audio_id

            string — The audio that plays when the recording has started. You can use this audio ID to get the audio information in [Get an audio item](https://marketplace.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.

          • recording_transcription

            boolean — Whether call recording transcription is enabled.

        • auto_delete_data_after_retention_duration

          object — This field allows Zoom to automatically delete data after the retention duration has lapsed.

          • delete_type

            integer, possible values: 1, 2 — The deletion policy. <br>* 1 - soft delete <br>* 2 - permanent delete

          • enable

            boolean

          • items

            array

            Items:
            • duration

              integer — The retention duration where -1 means unlimited. For units of time, see the `time_unit` below. For `year`, the duration:-1, 1-10; for `day`, the duration:-1, 1-60; for `month`, the duration:-1, 1-18.

            • time_unit

              string, possible values: "year", "month", "day" — The unit of time.

            • type

              string, possible values: "callLog", "onDemandRecording", "automaticRecording", "voicemail", "videomail", "sms", "fax" — The data types.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • permanently_delete_after_days

            integer — Number of days after which the data will be permanently deleted automatically. Use -1 to retain data indefinitely.

        • auto_opt_out_in_call_queue

          object — Once enabled, when Call Queue members log out of Zoom (Except for desk phones and Zoom Phone appliances), they will be automatically Opted-out from the Call Queue as well.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • prompt_before_opt_out_call_queue

            boolean — Always ask the user if they want to opt-out from the Call Queue when they sign out of Zoom

        • block_calls_without_caller_id

          object — Whether calls without caller ID will be blocked.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • block_external_calls

          object — This field allows you to set rules for blocking external calls during business, closed, and holiday hours. This feature is only available for user, Zoom Room, and common areas.

          • block_business_hours

            boolean — This field blocks external calls during business hours

          • block_call_action

            integer, possible values: 0, 9 — The action when a call is blocked. `9` - Disconnect, `0`- Forward to voicemail/videomail.

          • block_closed_hours

            boolean — This field blocks external calls during closed hours

          • block_holiday_hours

            boolean — This field blocks external calls during holiday hours

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • call_handling_forwarding_to_other_users

          object — Whether to allow users to forward their calls to other numbers.

          • call_forwarding_type

            object

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • call_live_transcription

          object — Whether to let users turn on live transcriptions for a call.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • transcription_start_prompt

            object — Whether to play a prompt to call participants when the transcription has started.

            • audio_id

              string — The audio prompt file ID. If the audio was removed from the user's audio library, it will be marked with a prefix, `removed_vWby3OZaQlS1nAdmEAqgwA` for example. You can still use this audio ID to get the audio information in [Get an audio item](https://marketplace.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.

            • audio_name

              string — The audio prompt file name.

            • enable

              boolean

        • call_overflow

          object — Whether to allow users to forward their calls to other numbers when a call is not answered

          • call_overflow_type

            object

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • call_park

          object — Whether to allow calls placed on hold to be resumed from another location using a retrieval code.

          • call_not_picked_up_action

            integer — The action when a parked call is not picked up. `100` - Ring back to parker `0` - Forward to voicemail of the parker `9` - Disconnect `50` - Forward to another extension

          • enable

            boolean

          • expiration_period

            integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 — A time limit for parked calls in minutes. After the expiration period ends, the retrieval code is no longer valid and a new code will be generated.

          • forward_to

            object — The extension's forwarding information.

            • display_name

              string — The extension's name.

            • extension_id

              string — The extension ID.

            • extension_number

              integer — The extension number.

            • extension_type

              string, possible values: "user", "zoomRoom", "commonArea", "ciscoRoom/polycomRoom", "autoReceptionist", "callQueue", "sharedLineGroup" — The type of extension: * `user` * `zoomRoom` * `commonArea` * `ciscoRoom/polycomRoom` * `autoReceptionist` * `sharedLineGroup` * `callQueue`

            • id

              string — The ID of the extension `user`, `zoomRoom`, `commonArea`, `ciscoRoom/polycomRoom`, `autoReceptionist`, `callQueue` or `sharedLineGroup`.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • music_on_park

            object — Play music when a call is parked.

            • audio_id

              string — The audio prompt file ID. You can still use this audio ID to get the audio information in [Get an audio item](https://developers.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.

            • audio_name

              string — The audio prompt file name.

          • sequence

            integer, possible values: 0, 1 — This field is only used in the new policy framework. Choose how parked calls are assigned to a BLF (Busy Lamp Field) key. Sequential assignment will park the call at the next available BLF key. Random assignment will park the call at a randomly selected BLF key. `0` - Random `1` - Sequential

        • call_queue_opt_out_reason

          object — This field sets the opt-out reasons for call queues. When enabled, call queue members will need to select an opt-out reason when they turn off the `receive queue call` feature.

          • call_queue_opt_out_reasons_list

            array — The opt-out reasons list

            Items:
            • code

              string — Opt out code.

            • enable

              boolean

            • system

              boolean — The system default reason. It cannot be edited.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • call_screening

          object — Incoming direct external callers will be prompted to respond to a button to reach users, callers who don't respond will be disconnected. Devices will not be able to receive any third party faxes.

          • enable

            boolean — Whether this policy is enabled

          • exclude_user_company_contacts

            boolean — Exclude user and company contacts from call screening, calls will reach users as normal

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • call_transferring

          object — This setting allows users to warm or blind transfer their calls. This does not apply to warm transfer on IP Phones except for Yealink. Voicemail is transferable only to internal extensions.

          • call_transferring_type

            object

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • chat_channel

          object — Enable chat channel functionality for call queues

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • check_voicemails_over_phone

          object — Whether to allow extension owners or members of a shared line group to check voicemails for extension numbers over the phone using PIN code.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • conference_dtmf

          object — This allows users to interact with automated systems, input access codes, or perform other functions without disrupting the call.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • connect_to_operator

          object — Once disabled, users will not be able to route their calls to an operator as part of the 'When a call is not answered' setting.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • customize_line_name

          object — Customize Line Name

          • common_area_line_name

            string, possible values: "phoneNumber", "extensionNumber", "displayName", "displayName;extensionNumber" — The common area line name.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • user_line_name

            string, possible values: "phoneNumber", "extensionNumber", "displayName", "displayName;extensionNumber", "firstName;extensionNumber", "firstName;lastName;extensionNumber" — The user line name.

        • delegation

          object — Whether the user can use [call delegation](https://support.zoom.us/hc/en-us/articles/360032881731-Setting-up-call-delegation-shared-lines-appearance-).

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • desk_phone_smart_key_positions_layout

          object — Allow Zoom to move your frequently used line keys to your pre-programmed smart keys layout. Smart keys will be updated on a weekly basis.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • display_call_feedback_survey

          object — Whether to display a thumbs up or down survey at the end of each call. If participants respond with thumbs down, they can provide additional information about what went wrong.

          • enable

            boolean

          • feedback_duration

            object — The call duration, in seconds, 0-60.

            • enable

              boolean

            • max

              integer

            • min

              integer

          • feedback_mos

            object — The MOS score. Min: 1.0, Max: 3.0, format one decimal point.

            • enable

              boolean

            • max

              string — Max

            • min

              string — Min

          • feedback_type

            integer, possible values: 1, 2 — This field allows you to display feedback survey, `1` - display for every call, `2` - display when call quality issues are detected. Default `1`, if set with value `2`, need to set `feed_back_mos` or `feedback_duration`.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • e2e_encryption

          object — Whether to allow users to switch their calls to End-to-End Encryption. If users have Automatic Call Recording turned on, they will not be able to use End-to-End Encryption.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • elevate_to_meeting

          object — Whether to allow users to elevate their phone calls to a meeting.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • end_conference_call_when_originator_drops

          object — Once enabled, a personal conference call will end when the originator, who first merges other participant(s) into the conference call, drops. This will not affect the conference barge feature of Shared Line Group.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • external_calling_on_zoom_room_common_area

          object — Whether to allow Zoom Rooms to call external phone numbers based on the calling plans and other Zoom Phone policies.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • hand_off_to_room

          object — Whether to allow users to send a call to a Zoom Room.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • hide_phone_call_history_in_ios

          object — Hide Zoom Phone calls in iOS/iPadOS device call history.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • international_calling

          object — Whether to allow extensions to place international calls outside of the calling plan.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • local_survivability_mode

          object — Whether to allow user or extension to have core phone services in the event of an outage.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • mobile_switch_to_carrier

          object — Whether to allow users to switch from a Zoom Phone to their native carrier.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • no_hold_conference

          object — Users can set up a conference call without any interruption in the current call

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • obfuscate_sensitive_data_during_call

          object — Obfuscate sensitive data during a call

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • online_fax

          object — Allow user to send and receive faxes.

          • enable

            boolean — Whether this policy is enabled

          • enable_new_fax_email_notifications

            boolean — Enable email notifications when a new fax is received

          • include_fax_as_attachment

            boolean — Include fax as an attachment in the email notification

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • outbound_calling

          object — Whether to define calling rules to restrict user or extension from calling specific countries, cities, or numbers. Note: Only for use by customers who opted for OP flag `Enable New Version Outbound Blocked List`.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • outbound_sms

          object — Whether to allow users to send and receive messages. You will need to assign a valid calling plan and phone number to each user for them to send and receive messages. Note: Only for use by customers who opted for OP flag `Enable New Version Outbound Blocked List`.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • override_default_port

          object — This field sets a range for port assignment. Ports are used by Zoom desktop, mobile clients, Zoom Rooms and Zoom Phone Appliances during a call. The range should be between 9,000 and 9,999. At least 50 ports need to be configured to make sure the functionality is not affected..

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • max_port

            integer — Max port.

          • min_port

            integer — Min port.

        • peer_to_peer_media

          object — Whether to allow Zoom clients to send media directly to each other. Users or devices that have certain features like recording or monitoring enabled might not be able to use Peer to Peer Media.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • personal_audio_library

          object — This field allows users to change their own Audio Library.

          • allow_music_on_hold_customization

            boolean — Whether to allow music on hold customization.

          • allow_voicemail_and_message_greeting_customization

            boolean — Whether to allow voicemail and message greeting customization.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • prevent_users_upload_audio_files

          object — Prevent users from uploading audio files

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • private_call_park

          object — Allow calls placed on hold to be resumed by allowed users with the retrieval code.

          • call_not_picked_up_action

            integer — The action when a parked call is not picked up. `100` - Ring back to parker `0` - Forward to voicemail of the parker `9` - Disconnect `50` - Forward to another extension

          • enable

            boolean — Whether this policy is enabled

          • expiration_period

            integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 — A time limit for parked calls in minutes. After the expiration period ends, the retrieval code is no longer valid and a new code generates.

          • forward_to

            object — The extension's forwarding information.

            • display_name

              string — The extension's name.

            • extension_id

              string — The extension ID.

            • extension_number

              integer, format: int64 — The extension number.

            • extension_type

              string, possible values: "user", "zoomRoom", "commonArea", "ciscoRoom/polycomRoom", "autoReceptionist", "callQueue", "sharedLineGroup" — The type of extension: * `user` * `zoomRoom` * `commonArea` * `ciscoRoom/polycomRoom` * `autoReceptionist` * `sharedLineGroup` * `callQueue`

            • id

              string — The ID of the extension `user`, `zoomRoom`, `commonArea`, `ciscoRoom/polycomRoom`, `autoReceptionist`, `callQueue` or `sharedLineGroup`.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • music_on_park

            object — Play music when a call is parked.

            • audio_id

              string — The audio prompt file ID. You can still use this audio ID to get the audio information in [Get an audio item](https://developers.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.

            • audio_name

              string — The audio prompt file name.

          • sequence

            integer, possible values: 0, 1 — This field chooses how parked calls are assigned to a BLF (Busy Lamp Field) key. Sequential assignment parks the call at the next available BLF key. Random assignment parks the call at a randomly selected BLF key. `0` - Random `1` - Sequential

        • restricted_call_hours

          object — Once enabled, define when the extension or user cannot make or accept calls and send SMS.

          • allow_internal_calls

            boolean — Whether to allow internal calls/SMS during restricted hours.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • restricted_holiday_hours_applied

            boolean — Whether restricted holiday hours has been applied.

          • restricted_hours_applied

            boolean — Whether restricted hours has been applied.

          • time_zone

            object — This field sets either time zone `id` or `set_by_extension`.

            • id

              string — The [time zone list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists/#timezones) for supported time zones and their formats.

            • name

              string — The time zone name. If time zone id is empty, it shows as `setByExtension`.

        • select_outbound_caller_id

          object — Whether to allow extensions to change outbound caller ID when placing calls.

          • allow_hide_outbound_caller_id

            boolean — Whether to allow extensions to hide outbound caller ID.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • shared_voicemail_notification_by_email

          object — Once enabled, users receive email notification when there is a new shared voicemail or videomail. If the extension that shares the voicemail or videomail has disabled the voicemail or videomail notification by email policy, then users do not receive notifications. It only displays when the voicemail policy is using the new policy framework.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • show_custom_disclaimer_when_using_zoom_phone

          object — Show a custom disclaimer when starting to use Zoom Phone service

          • custom_disclaimer_list

            array — Custom disclaimer list

            Items:
            • body

              string — Custom disclaimer body

            • language

              string — The audio prompt language code. American English: `en-US` British English: `en-GB` Espa&ntilde;ol americano: `es-US` Fran&ccedil;ais canadien: `fr-CA` Dansk: `da-DK` Deutsch: `de-DE` Espa&ntilde;ol: `es-ES` Fran&ccedil;ais: `fr-FR` Italiano: `it-IT` Nederlands: `nl-NL` Portugues portugal: `pt-PT` Japanese: `ja-JP` Korean: `ko-KO` Portugues brasil: `pt-BR` Chinese: `zh-CN` Taiwanese: `zh-TW`

            • title

              string — Custom disclaimer title

          • display_frequency

            string, possible values: "first_time_only", "every_time", "every_month", "every_quarter", "every_6_months", "every_year" — Display frequency

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • sms

          object — Whether to allow users to send and receive messages. You will need to assign a valid calling plan and phone number to each user for them to send and receive messages.

          • enable

            boolean

          • international_sms

            boolean — Whether users can send and receive international messages. You can set this only if `sms` is enabled.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • sms_auto_reply

          object — Enable SMS Auto Reply feature for User, Auto Receptionist, and Call Queue. Power Pack license is required for this feature to work.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • sms_etiquette_tool

          object — This field identifies defined keywords and text patterns over SMS and prevents users from sharing unwanted messages.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • sms_etiquette_policy

            array — The SMS etiquette policy. The maximum size is 50.

            Items:
            • action

              integer, possible values: 1, 2 — The actions taken when a policy is triggered, `1` - ask user to confirm sending of message, `2` - block the message.

            • active

              boolean — Whether active or not.

            • content

              string — The SMS etiquette policy content. For rule `1`, add keywords separated by comma, the following characters are supported A-Z, a-z, 0-9. For rule `2`, add regular expressions, back references and zero-width assertions area not supported.

            • description

              string — The SMS etiquette policy description.

            • id

              string — The SMS etiquette policy ID.

            • name

              string — The SMS etiquette policy name.

            • rule

              integer, possible values: 1, 2 — The SMS etiquette policy rule, `1` - Keywords, `2` - Regular Expression.

        • sms_template

          object — Use pre-defined templates to help users compose messages. Power Pack license is required for this feature to work.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

          • sms_template_list

            array — The SMS template list.

            Items:
            • active

              boolean — Whether it is active.

            • content

              string — Text to Display. This text will be editable by users. Customer input fields may be added by using the buttons below. Customer information will be removed if not available.

            • description

              string — The SMS template description.

            • name

              string — The SMS template name.

            • sms_template_id

              string — The SMS template ID.

        • team_sms_thread_summary

          object — Team SMS thread summary with AI Companion

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • use_callkit_for_incoming_call_notifications_in_ios

          object — Use CallKit always for Incoming call notifications on iOS/iPadOS devices. When this feature is enabled for a user or common area, their iOS/iPadOS device will always use CallKit for incoming call notifications no matter if the Zoom App is running in the foreground or background, preventing interruptions when receiving inbound calls on the device. This setting only applies to iOS/iPadOS devices with CallKit enabled. If a user modifies this setting on their client, the value will be updated on this policy. Locking this policy will prevent users from making changes to the setting.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • voicemail

          object — This field allows users to access, share, download, and to delete voicemail and videomail

          • allow_delete

            boolean — This setting allows users to delete their own voicemail or videomail.

          • allow_download

            boolean — This setting allows users to download their own voicemail or videomail.

          • allow_share

            boolean — This setting allows users to share their own voicemail.

          • allow_videomail

            boolean — This setting allows videomail

          • allow_virtual_background

            boolean — This setting allows virtual background for voicemail or videomail greeting

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • voicemail_intent_based_prioritization

          object — Voicemail prioritization with AI Companion

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • voicemail_notification_by_email

          object — Whether to enable voicemail or videomail transcription feature for User, Auto Receptionist, Call Queue and Shared Line Groups.

          • enable

            boolean

          • forward_voicemail_to_email

            boolean — Whether to forward the voicemail to email.

          • include_voicemail_file

            boolean — Whether to include the voicemail file.

          • include_voicemail_transcription

            boolean — Whether to include the voicemail transcription.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • voicemail_tasks

          object — Voicemail tasks with AI Companion

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • voicemail_transcription

          object — Whether to enable voicemail or videomail transcription feature for User, Auto Receptionist, Call Queue and Shared Line Groups.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • zoom_phone_on_desktop

          object — Whether to allow users to use Zoom Phone on desktop clients (Mac OS, Windows, VDI client and Linux).

          • allow_calling_clients

            array — The clients in this list are allowed to make and receive calls.

            Items:

            string, possible values: "mac_os", "windows", "vdi_client", "linux" — The acceptable value is mac_os windows vdi_client linux.

          • allow_sms_mms_clients

            array — The clients in this list are allowed to use the SMS/MMS function.

            Items:

            string, possible values: "mac_os", "windows", "vdi_client", "linux" — The acceptable value is mac_os windows vdi_client linux.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • zoom_phone_on_mobile

          object — Whether to allow users to use Zoom Phone on mobile clients (iOS, iPad OS and Android).

          • allow_calling_clients

            array — The clients in this list are allowed to make and receive calls.

            Items:

            string, possible values: "ios", "android", "intune", "blackberry" — The acceptable value is: ios android intune blackberry

          • allow_calling_sms_mms

            boolean — This field allows calling and SMS or MMS functions on mobile.

          • allow_sms_mms_clients

            array — The clients in this list are allowed to use the SMS/MMS function.

            Items:

            string, possible values: "ios", "android", "intune", "blackberry" — The acceptable value is ios android intune blackberry.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

        • zoom_phone_on_pwa

          object — Whether to allow users to use Zoom Phone on Zoom Progressive Web App.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account" — Which level of administrator prohibits the modification of the current settings.

    • old_object (required)

      object

Example:

{
  "event": "phone.account_settings_updated",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "settings": {
        "call_live_transcription": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "transcription_start_prompt": {
            "enable": true,
            "audio_id": "yCT14TwySDGVUypVlKNEyA",
            "audio_name": "example.mp3"
          }
        },
        "local_survivability_mode": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "external_calling_on_zoom_room_common_area": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "select_outbound_caller_id": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "allow_hide_outbound_caller_id": true
        },
        "personal_audio_library": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "allow_music_on_hold_customization": true,
          "allow_voicemail_and_message_greeting_customization": true
        },
        "voicemail": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "allow_videomail": true,
          "allow_download": false,
          "allow_delete": true,
          "allow_share": true,
          "allow_virtual_background": true
        },
        "voicemail_transcription": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "voicemail_notification_by_email": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "include_voicemail_file": true,
          "include_voicemail_transcription": false,
          "forward_voicemail_to_email": true
        },
        "shared_voicemail_notification_by_email": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "restricted_call_hours": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "time_zone": {
            "id": "America/Adak",
            "name": "(GMT-9:00) Adak"
          },
          "restricted_hours_applied": false,
          "restricted_holiday_hours_applied": false,
          "allow_internal_calls": true
        },
        "allowed_call_locations": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "locations_applied": false,
          "allow_internal_calls": true
        },
        "check_voicemails_over_phone": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "auto_call_recording": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "recording_calls": "inbound",
          "recording_transcription": true,
          "recording_start_prompt": true,
          "recording_start_prompt_audio_id": "yCT14TwySDGVUypVlKNEyA",
          "recording_explicit_consent": true,
          "allow_stop_resume_recording": true,
          "disconnect_on_recording_failure": true,
          "play_recording_beep_tone": {
            "enable": true,
            "play_beep_member": "allMembers",
            "play_beep_volume": 60,
            "play_beep_time_interval": 15
          }
        },
        "ad_hoc_call_recording": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "recording_transcription": true,
          "allow_download": true,
          "allow_delete": true,
          "recording_start_prompt": true,
          "recording_explicit_consent": true,
          "play_recording_beep_tone": {
            "enable": true,
            "play_beep_member": "allMembers",
            "play_beep_volume": 60,
            "play_beep_time_interval": 15
          }
        },
        "international_calling": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "outbound_calling": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "outbound_sms": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "sms": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "international_sms": true
        },
        "sms_etiquette_tool": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "sms_etiquette_policy": [
            {
              "id": "PdPtFFDbQhKr05WepCHhWQ",
              "name": "invalid symbol",
              "description": "invalid symbol",
              "rule": 1,
              "content": "test",
              "action": 1,
              "active": true
            }
          ]
        },
        "zoom_phone_on_mobile": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "allow_calling_clients": [
            "ios"
          ],
          "allow_sms_mms_clients": [
            "ios"
          ]
        },
        "zoom_phone_on_pwa": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "e2e_encryption": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "call_handling_forwarding_to_other_users": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "call_forwarding_type": null
        },
        "call_overflow": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "call_overflow_type": null
        },
        "call_transferring": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "call_transferring_type": null
        },
        "elevate_to_meeting": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "call_park": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "expiration_period": 3,
          "call_not_picked_up_action": 50,
          "forward_to": {
            "display_name": "ZOOM_API Test",
            "extension_id": "TO586CYlQFC_WCUvPRXytA",
            "extension_number": 100014,
            "extension_type": "user",
            "id": "oG_nYRFuTJiY1tu0Fur_4Q"
          },
          "sequence": 1,
          "music_on_park": {
            "audio_id": "yCT14TwySDGVUypVlKNEyA",
            "audio_name": "example.mp3"
          }
        },
        "hand_off_to_room": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "mobile_switch_to_carrier": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "delegation": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "audio_intercom": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "block_calls_without_caller_id": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "block_external_calls": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "block_business_hours": true,
          "block_closed_hours": true,
          "block_holiday_hours": true,
          "block_call_action": 0
        },
        "call_queue_opt_out_reason": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "call_queue_opt_out_reasons_list": [
            {
              "code": "Break",
              "system": true,
              "enable": true
            }
          ]
        },
        "auto_delete_data_after_retention_duration": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "items": [
            {
              "type": "callLog",
              "duration": -1,
              "time_unit": "year"
            }
          ],
          "delete_type": 1,
          "permanently_delete_after_days": -1
        },
        "auto_call_from_third_party_apps": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "override_default_port": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "min_port": 9000,
          "max_port": 9998
        },
        "peer_to_peer_media": {
          "enable": true,
          "locked": true,
          "locked_by": "account"
        },
        "advanced_encryption": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "disable_incoming_unencrypted_voicemail": true
        },
        "display_call_feedback_survey": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "feedback_type": 1,
          "feedback_mos": {
            "enable": true,
            "min": "1.1",
            "max": "3.0"
          },
          "feedback_duration": {
            "enable": true,
            "min": 0,
            "max": 60
          }
        },
        "zoom_phone_on_desktop": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "allow_calling_clients": [
            "mac_os"
          ],
          "allow_sms_mms_clients": [
            "mac_os"
          ]
        },
        "allowed_device_locations": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "block_devices_type": "network_change_detected"
        },
        "allow_emergency_calls": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "allow_emergency_calls_from_clients": true,
          "allow_emergency_calls_from_deskphones": true
        },
        "online_fax": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "enable_new_fax_email_notifications": true,
          "include_fax_as_attachment": false
        },
        "private_call_park": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "expiration_period": 3,
          "call_not_picked_up_action": 50,
          "forward_to": {
            "display_name": "ZOOM_API Test",
            "extension_id": "TO586CYlQFC_WCUvPRXytA",
            "extension_number": 100014,
            "extension_type": "user",
            "id": "oG_nYRFuTJiY1tu0Fur_4Q"
          },
          "sequence": 1,
          "music_on_park": {
            "audio_id": "yCT14TwySDGVUypVlKNEyA",
            "audio_name": "example.mp3"
          }
        },
        "sms_template": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "sms_template_list": [
            {
              "sms_template_id": "0qWIP8S8QXmo6KShUIyvZA",
              "name": "name",
              "description": "description",
              "content": "content",
              "active": true
            }
          ]
        },
        "call_screening": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "exclude_user_company_contacts": true
        },
        "sms_auto_reply": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "allow_end_user_edit_call_handling": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "connect_to_operator": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "no_hold_conference": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "conference_dtmf": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "end_conference_call_when_originator_drops": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "chat_channel": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "desk_phone_smart_key_positions_layout": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "auto_opt_out_in_call_queue": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "prompt_before_opt_out_call_queue": true
        },
        "allow_mobile_home_phone_callout": {
          "enable": true,
          "locked": false,
          "locked_by": "account"
        },
        "use_callkit_for_incoming_call_notifications_in_ios": {
          "enable": false,
          "locked": false,
          "locked_by": "account"
        },
        "hide_phone_call_history_in_ios": {
          "enable": false,
          "locked": false,
          "locked_by": "account"
        },
        "obfuscate_sensitive_data_during_call": {
          "enable": false,
          "locked": false,
          "locked_by": "account"
        },
        "prevent_users_upload_audio_files": {
          "enable": false,
          "locked": false,
          "locked_by": "account"
        },
        "voicemail_tasks": {
          "enable": false,
          "locked": false,
          "locked_by": "account"
        },
        "voicemail_intent_based_prioritization": {
          "enable": false,
          "locked": false,
          "locked_by": "account"
        },
        "team_sms_thread_summary": {
          "enable": false,
          "locked": false,
          "locked_by": "account"
        },
        "customize_line_name": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "user_line_name": "phoneNumber",
          "common_area_line_name": "phoneNumber"
        },
        "show_custom_disclaimer_when_using_zoom_phone": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "display_frequency": "first_time_only",
          "custom_disclaimer_list": [
            {
              "language": "en-GB",
              "title": "tilte",
              "body": "body"
            }
          ]
        }
      }
    },
    "old_object": null
  }
}

Phone.callee_meeting_invitingEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string, format: date-time — The date and time (GMT) at which the call escalated to a meeting, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • meeting_id

        string, format: int64 — The meeting's unique ID. This is also known as the meeting number.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "meeting_id": "",
      "date_time": ""
    }
  }
}

Phone.callee_parkedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The date and time (GMT) at which the call park began, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • park_code

        string — The code to connect with caller.

      • park_failure_reason

        string — The reason why park failure

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "park_code": "",
      "park_failure_reason": "",
      "date_time": ""
    }
  }
}

Phone.emergency_alertEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the caller.

    • object (required)

      object

      • call_id (required)

        string — The unique identifier of the call.

      • callee (required)

        object — The callee object that represents the person who is called by the caller.

        • phone_number

          string — The phone number of the callee.

      • caller (required)

        object — The caller object that represents the person who initiated the call.

        • extension_type (required)

          string, possible values: "user", "interop", "commonAreaPhone" — The extension type.

        • id (required)

          string — The Zoom User ID of the caller.

        • display_name

          string — The display name of the caller.

        • extension_number

          string — The extension number of the caller.

        • phone_number

          string — The phone number of the caller in E164 format. Example: +12192818492

        • site_id

          string — The unique identifier of the caller's [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).

        • site_name

          string — The name of the site.

        • timezone

          string — The timezone of the caller.

      • deliver_to (required)

        string, possible values: "PSAP", "SAFETY_TEAM", "NONE", "BOTH", "MOBILE_911_CALL", "SIP_GROUP", "BOTH_SAFETY_TEAM_AND_SIP", "OVERFLOW_TO_SIP_GROUP", "TO_PSAP_FOR_MISSED_BY_SAFETY_TEAM" — This field indicates where the call was routed to.

      • location (required)

        object

        • bssid

          array — The basic service set identifier of the caller's device.

          Items:

          string

        • gps

          array — The GPS location of the caller's device.

          Items:

          string

        • ip

          array — The IP address of the caller.

          Items:

          string

      • ringing_start_time (required)

        string — The GMT time at which the ringing started in "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • router (required)

        string, possible values: "ZOOM", "BYOC Carrier", "Mobile Carrier" — This field indicates where the call was originally routed from.

      • emergency_address

        object

        • address_line1

          string — The emergency address(house number and street name) assigned to the user.

        • address_line2

          string — The additional emergency address information(building number, floor number, unit) assigned to the user.

        • city

          string — The user's city.

        • country

          string — The abbreviated [country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the user's country.

        • state_code

          string — The abbreviated [state code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#states-1) of the user's state.

        • zip

          string — The zip code of the user.

      • location_type

        integer, possible values: 0, 1, 2, 3 — The result of emergency-location matching. * `0` — The call matched a company location. * `1` — The call matched a personal location. * `2` — The call matched a pending location. * `3` — The call did not match any location.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "caller": {
        "id": "",
        "phone_number": "",
        "extension_number": "",
        "timezone": "",
        "display_name": "",
        "extension_type": "user",
        "site_id": "",
        "site_name": ""
      },
      "callee": {
        "phone_number": ""
      },
      "location": {
        "gps": [
          ""
        ],
        "ip": [
          ""
        ],
        "bssid": [
          ""
        ]
      },
      "location_type": 0,
      "router": "ZOOM",
      "deliver_to": "PSAP",
      "ringing_start_time": "",
      "emergency_address": {
        "country": "",
        "address_line1": "",
        "address_line2": "",
        "city": "",
        "zip": "",
        "state_code": ""
      }
    }
  }
}

Phone.ai_call_summary_changedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since the epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The user's account ID.

    • object (required)

      object

      • ai_call_summary_id (required)

        string — The ID of AI call summary.

      • call_id (required)

        string — The call ID of the call summary.

      • user_id (required)

        string — The user ID.

      • call_element_ids

        array — The list of call element IDs for the call summary.

        Items:

        string

      • call_log_ids

        array — Use `call_element_ids` instead. The list of call log IDs for the call summary.

        Items:

        string

      • created_time

        string — The created time in GMT `date-time` format.

      • deleted

        boolean — Whether the call summary is deleted.

      • edited

        boolean — Whether the call summary is edited.

      • modified_time

        string — The modified time in GMT `date-time` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "edited": true,
      "deleted": true,
      "ai_call_summary_id": "HfBQmSIARZi5zeDMmofwTA",
      "user_id": "FvB3CRfOQUuhF1IOB176Tg",
      "call_id": "7018317023722949162",
      "call_element_ids": [
        "b8a98b45-09c4-4828-988d-eaa886d039ef"
      ],
      "created_time": "2023-10-08T16:12:04Z",
      "modified_time": "2023-10-08T16:12:04Z"
    }
  }
}

Phone.callee_rejectedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the callee.

    • object (required)

      object

      • call_end_time (required)

        string — The callee declined the call at a specific GMT time. "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • call_id (required)

        string — The unique identifier of the call.

      • callee (required)

        object — Callee object: Represents the person who is called by the caller.

        • phone_number (required)

          string — Thr Phone number of the callee in E164 format. Example: +12192818492

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — Zoom clients generate an ID when installed on a device. <b>Note:</b> Does not apply to desk phones.

        • extension_id

          string — The extension ID of the callee.

        • extension_number

          integer, format: int64 — The extension number of the callee.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the callee.

        • timezone

          string — The timezone of the callee.

        • user_id

          string — The Zoom user ID of the callee.

      • caller (required)

        object — Caller object: Represents the person who initiated the call.

        • phone_number (required)

          string — The phone number of the caller in E164 format. Example: +12192818492

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — The extension ID of the caller.

        • extension_number

          integer, format: int64 — The extension number of the caller.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — The extension type of the caller.

        • timezone

          string — The timezone of the caller.

        • user_id

          string — The Zoom user ID of the caller.

      • ringing_start_time (required)

        string — The GMT time at which the ringing started. "yyyy-MM-dd'T'HH:mm:ss'Z'" format.

      • handup_result

        string — The reason the call was rejected. Values: Rejected

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "ringing_start_time": "",
      "call_end_time": "",
      "handup_result": ""
    }
  }
}

Phone.group_settings_updatedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.group_settings_updated" — The event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field returns in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that updated the group's settings.

    • object (required)

      object — Information about the group's updated settings.

      • group_id (required)

        string — The group ID.

      • settings (required)

        object

        • ad_hoc_call_recording

          object — Whether to allow extensions to record and save calls in the cloud.

          • allow_delete

            boolean — Whether to allow user to delete their own ad-hoc recording.

          • allow_download

            boolean — Whether to allow user to download their own ad-hoc recording.

          • enable

            boolean — Whether the current extension can record and save calls to the cloud.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "site" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

          • play_recording_beep_tone

            object

            • enable

              boolean — Whether to play the side tone beep for recorded users while recording. It displays only when ad hoc call recording policy uses the new framework.

            • play_beep_member

              string, possible values: "allMember", "recordingSide" — The beep sides. It displays only when the `enable` is set to true.

            • play_beep_time_interval

              integer, possible values: 5, 10, 15, 20, 25, 30, 60, 120 — The beep time interval in seconds. It displays only when the `enable` is set to true.

            • play_beep_volume

              integer, possible values: 0, 20, 40, 60, 80, 100 — The side tone beep volume. It displays only when `enable` is set to `true`.

          • recording_explicit_consent

            boolean — Whether the Press 1 option that provides recording consent is enabled.

          • recording_start_prompt

            boolean — Whether a prompt plays to call participants when the recording has started.

          • recording_transcription

            boolean — Whether the call recording transcription is enabled.

        • advanced_encryption

          object — Whether to allow Voicemail to be encrypted with keys which are not accessible to Zoom servers. These Voicemail can be decrypted only by the intended user recipient. Shared Line Appearance, Shared Line Group, Call Queue, or Auto Receptionist Voicemail will not be encrypted but can still be played. Email to Voicemail, transcriptions, ability to check Voicemails by dialing into the Voicemail system or web are not available when this feature is enabled. This policy requires a Power Pack license to be enabled. If the user does who inherits this policy does not have a Power Pack license, the policy will not be applied. Settings is only available with client version 5.12 or later.

          • disable_incoming_unencrypted_voicemail

            boolean — Whether to disable incoming unencrypted voicemail

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset(displayed when using old or new policy framework).

        • allow_emergency_calls

          object — Enables users to place emergency calls through the system. Disabling this setting will deactivate emergency call functionality.

          • allow_emergency_calls_from_clients

            boolean — Allow emergency calls for Zoom clients

          • allow_emergency_calls_from_deskphones

            boolean — Allow emergency calls for desk phone and Zoom Phone Appliances

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • allow_end_user_edit_call_handling

          object — Once disabled, users will not be able to edit their call handling settings on the web portal or enable call forwarding on the client.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • allow_mobile_home_phone_callout

          object — Allow users to use mobile or home phone to place calls. Zoom app will call this device first before ringing the called number. Users' Call Me On phone number will be masked with Zoom Phone caller ID.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • allowed_call_locations

          object

          • allow_internal_calls

            boolean — Whether to allow internal calls when outside of allowed locations

          • enable

            boolean — Whether to define where the extension or user can make and accept calls and send SMS. When the extension or user is outside of the allowed locations, calls will follow "When a call is not answered" settings, meanwhile outbound and inbound emergency calls and SMS will still be allowed. Note: SMS settings will only be available to users.

          • locations_applied

            boolean — Whether locations has been applied.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits modifying the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • allowed_device_locations

          object — Define when hardware devices will be blocked. Devices can be disconnected and blocked from accessing the Zoom service when a device is detected outside an allowed network or when any network change is detected.

          • block_devices_type

            string, possible values: "network_change_detected", "outside_allowed_location" — Block devices condition.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • audio_intercom

          object — Whether to allow hands-free peer-to-peer conversations. When an intercom call is received, the phone will beep to notify the user of the incoming intercom call, and the user's phone will automatically answer the intercom call.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • auto_call_recording

          object — whether to automatically record all inbound and outbound calls.

          • allow_stop_resume_recording

            boolean — Whether the stop and resume of automatic call recording is enabled.

          • disconnect_on_recording_failure

            boolean — Whether a call disconnects when there is an issue with the automatic call recording and the call cannot reconnect after five seconds. This does **not** include emergency calls.

          • enable

            boolean — Whether automatic call recording is enabled.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • play_recording_beep_tone

            object

            • enable

              boolean — Whether to play a side tone beep for recorded users while recording. Only displayed when auto call recording policy uses the new framework.

            • play_beep_member

              string, possible values: "allMember", "recordingSide" — The beep sides. It displays only when `enable` is true.

            • play_beep_time_interval

              integer, possible values: 5, 10, 15, 20, 25, 30, 60, 120 — The beep time interval in seconds. It displays only when `enable` is true.

            • play_beep_volume

              integer, possible values: 0, 20, 40, 60, 80, 100 — The volume of the side tone beep. It displays only when `enable` is set to `true`.

          • recording_calls

            string, possible values: "inbound", "outbound", "both" — The type of calls automatically recorded: * `inbound` * `outbound` * `both`

          • recording_explicit_consent

            boolean — Whether the `Press 1 option that provides recording consent` is enabled.

          • recording_start_prompt

            boolean — Whether a prompt plays to call participants when the recording has started.

          • recording_start_prompt_audio_id

            string — The audio that plays when the recording has started. You can use this audio ID to get the audio information using [Get an audio item](https://marketplace.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.

          • recording_transcription

            boolean — Whether the call recording transcription is enabled.

        • auto_delete_data_after_retention_duration

          object — This field allows Zoom to automatically delete data after the retention duration has lapsed.

          • delete_type

            integer, possible values: 1, 2 — The deletion policy. * 1 - soft delete * 2 - permanent delete

          • enable

            boolean — Allows Zoom to automatically delete data after the retention duration has lapsed.

          • items

            array

            Items:
            • duration

              integer — The retention duration where -1 means unlimited. For units of time, see the `time_unit` below. For `year`, the duration:-1, 1-10; for `day`, the duration:-1, 1-60; for `month`, the duration:-1, 1-18.

            • time_unit

              string, possible values: "year", "month", "day" — The unit of time.

            • type

              string, possible values: "callLog", "onDemandRecording", "automaticRecording", "voicemail", "videomail", "sms", "fax" — The data types.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

          • permanently_delete_after_days

            integer — Number of days after which the data will be permanently deleted automatically. Use -1 to retain data indefinitely.

        • auto_opt_out_in_call_queue

          object — Once enabled, when Call Queue members log out of Zoom (Except for desk phones and Zoom Phone appliances), they will be automatically Opted-out from the Call Queue as well.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

          • prompt_before_opt_out_call_queue

            boolean — Always ask the user if they want to opt-out from the Call Queue when they sign out of Zoom

        • block_calls_without_caller_id

          object — Whether calls without caller ID will be blocked.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • block_external_calls

          object — This field allows you to set rules for blocking external calls during business, closed, and holiday hours. This feature is only available for User, Zoom Room and Common Area.

          • block_business_hours

            boolean

          • block_call_action

            integer, possible values: 0, 9 — The action when a call is blocked. `9` - Disconnect, `0`- Forward to voicemail/videomail.

          • block_closed_hours

            boolean

          • block_holiday_hours

            boolean

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset(displayed when using old or new policy framework).

        • call_handling_forwarding_to_other_users

          object — Whether to allow users to forward their calls to other numbers.

          • call_forwarding_type

            integer, possible values: 1, 2, 3, 4 — `1` - Low restriction (external numbers not allowed) `2` - Medium restriction (external numbers and external contacts not allowed) `3` - High restriction (external numbers, external contacts and internal extensions without inbound automatic call recording not allowed) `4` - No restriction

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • call_live_transcription

          object — Whether to let users turn on live transcriptions for a call.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified.

          • transcription_start_prompt

            object — Whether to play a prompt to call participants when the transcription has started.

            • audio_id

              string — The audio prompt file ID. If the audio was removed from the user's audio library, it will be marked with a prefix, `removed_vWby3OZaQlS1nAdmEAqgwA` for example. You can still use this audio ID to get the audio information in [Get an audio item](https://marketplace.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.

            • audio_name

              string — The audio prompt file name.

            • enable

              boolean

        • call_overflow

          object

          • call_overflow_type

            integer, possible values: 1, 2, 3, 4 — `1` - Can forward to internal extensions and to external contacts. `2` - Can forward only to internal extensions. `3` - Can forward only to internal extensions that require inbound Automatic Call Recording. `4` - Can forward to internal extensions, external contacts, and external numbers.

          • enable

            boolean — Whether to allow users to forward their calls to other numbers.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • call_park

          object

          • call_not_picked_up_action

            integer — The action when a parked call is not picked up. `100` - Ring back to parker `0` - Forward to voicemail of the parker `9` - Disconnect `50` - Forward to another extension

          • enable

            boolean — Whether to allow calls placed on hold to be resumed from another location using a retrieval code.

          • expiration_period

            integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 — A time limit for parked calls in minutes. After the expiration period ends, the retrieval code is no longer valid and a new code will be generated.

          • forward_to

            object — The extension's forwarding information.

            • display_name

              string — The extension's name.

            • extension_id

              string — The extension ID.

            • extension_number

              integer — The extension number.

            • extension_type

              string, possible values: "user", "zoomRoom", "commonArea", "ciscoRoom/polycomRoom", "autoReceptionist", "callQueue", "sharedLineGroup" — The type of extension: * `user` * `zoomRoom` * `commonArea` * `ciscoRoom/polycomRoom` * `autoReceptionist` * `sharedLineGroup` * `callQueue`

            • id

              string — The ID of the extension `user`, `zoomRoom`, `commonArea`, `ciscoRoom/polycomRoom`, `autoReceptionist`, `callQueue` or `sharedLineGroup`.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

          • music_on_park

            object — Play music when a call is parked.

            • audio_id

              string — The audio prompt file ID. You can still use this audio ID to get the audio information in [Get an audio item](https://developers.zoom.us/docs/api-reference/phone/methods#tag/Audio-Library/operation/GetAudioItem) API.

            • audio_name

              string — The audio prompt file name.

          • sequence

            integer, possible values: 0, 1 — This field is only used in the new policy framework. Choose how parked calls are assigned to a BLF (Busy Lamp Field) key. Sequential assignment will park the call at the next available BLF key. Random assignment will park the call at a randomly selected BLF key. `0` - Random `1` - Sequential

        • call_screening

          object — Incoming direct external callers will be prompted to respond to a button to reach users, callers who don't respond will be disconnected. Devices will not be able to receive any third party faxes.

          • enable

            boolean — Whether this policy is enabled

          • exclude_user_company_contacts

            boolean — Exclude user and company contacts from call screening, calls will reach users as normal

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • call_transferring

          object

          • call_transferring_type

            integer, possible values: 1, 2, 3, 4 — 1-No restriction. 2-Medium restriction (external numbers and external contacts not allowed). 3-High restriction (external numbers, unrecorded external contacts, and internal extensions without inbound automatic recording not allowed). 4-Low restriction (external numbers not allowed).

          • enable

            boolean — Whether to allow user to warm or blind transfer their calls. This does not apply to warm transfer on IP Phones except for Yealink. Voicemail is transferable only to internal extensions.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • check_voicemails_over_phone

          object — Once enabled, users can check voicemails over phone using a PIN code.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • conference_dtmf

          object — This allows users to interact with automated systems, input access codes, or perform other functions without disrupting the call.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • connect_to_operator

          object — Once disabled, users will not be able to route their calls to an operator as part of the 'When a call is not answered' setting.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • delegation

          object — Whether to allow users to use delegation.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • desk_phone_smart_key_positions_layout

          object — Allow Zoom to move your frequently used line keys to your pre-programmed smart keys layout. Smart keys will be updated on a weekly basis.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • display_call_feedback_survey

          object — Whether to display a thumbs up or down survey at the end of each call. If participants respond with thumbs down, they can provide additional information about what went wrong.

          • enable

            boolean

          • feedback_duration

            object — The call duration, in seconds, 0-60.

            • enable

              boolean

            • max

              integer

            • min

              integer

          • feedback_mos

            object — The MOS score. Min: 1.0, Max: 3.0, format one decimal point.

            • enable

              boolean

            • max

              string

            • min

              string

          • feedback_type

            integer, possible values: 1, 2 — This field allows you to display feedback survey, `1` - display for every call, `2` - display when call quality issues are detected. Default `1`, if set with value `2`, need to set `feed_back_mos` or `feedback_duration`.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • e2e_encryption

          object

          • enable

            boolean — Whether to allow users to switch their calls to End-to-End Encryption. For users who have Automatic Call Recording turned on, they will need the option "Allow user to stop and resume automatic call recording" in order for them to use end-to-end encryption.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • elevate_to_meeting

          object

          • enable

            boolean — Whether to allow users to elevate their phone calls to a meeting.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • hand_off_to_room

          object

          • enable

            boolean — Whether to allow users to send a call to a Zoom Room.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • hide_phone_call_history_in_ios

          object — Hide Zoom Phone calls in iOS/iPadOS device call history.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • international_calling

          object — Whether the current extension can make international calls outside of their calling plan.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits modifying the current settings.

          • modified

            boolean — Whether the current settings have been modified.

        • local_survivability_mode

          object — Whether to allow user or extension to have core phone services in the event of an outage.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified.

        • mobile_switch_to_carrier

          object

          • enable

            boolean — Whether to allow the user to switch from a Zoom Phone to their native carrier.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • no_hold_conference

          object — Users can set up a conference call without any interruption in the current call

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • obfuscate_sensitive_data_during_call

          object — Obfuscate sensitive data during a call

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • online_fax

          object — Allow user to send and receive faxes.

          • enable

            boolean — Whether this policy is enabled

          • enable_new_fax_email_notifications

            boolean — Enable email notifications when a new fax is received

          • include_fax_as_attachment

            boolean — Include fax as an attachment in the email notification

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • outbound_calling

          object

          • enable

            boolean — Whether to define calling rules to restrict user or extension from calling specific countries, cities, or numbers.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • outbound_sms

          object

          • enable

            boolean — Whether to allow users to send and receive messages. You will still need to assign a valid calling plan and phone number to each user for them to send and receive messages.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • peer_to_peer_media

          object — Whether to allow Zoom clients to send media directly to each other. Users or devices that have certain features like recording or monitoring enabled might not be able to use Peer to Peer Media.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • personal_audio_library

          object

          • allow_music_on_hold_customization

            boolean — Whether to allow music on hold customization.

          • allow_voicemail_and_message_greeting_customization

            boolean — Whether to allow voicemail and message greeting customization.

          • enable

            boolean — Whether to allow users to change their own audio library.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified.

        • prevent_users_upload_audio_files

          object — Prevent users from uploading audio files

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • restricted_call_hours

          object

          • allow_internal_calls

            boolean — Whether to allow internal calls/SMS during restricted hours.

          • enable

            boolean — Whether to define when the user cannot make or accept calls and send SMS. In the restricted hours, calls will follow "When a call is not answered" settings. Outbound and inbound emergency calls will still be allowed.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits modifying the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

          • restricted_holiday_hours_applied

            boolean — Whether restricted holiday hours has been applied.

          • restricted_hours_applied

            boolean — Whether restricted hours has been applied.

          • time_zone

            object — Set either time zone `id` or `set_by_extension`.

            • id

              string — The [time zone list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists/#timezones) for supported time zones and their formats.

            • name

              string — The time zone name. If time zone id is empty, it shows as `setByExtension`.

        • select_outbound_caller_id

          object

          • allow_hide_outbound_caller_id

            boolean — Whether to allow the current extension to hide outbound caller id. Settings is only available with client version 5.13.5 or later.

          • enable

            boolean — Whether to allow extensions to change outbound caller ID when placing calls.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified.

        • shared_voicemail_notification_by_email

          object — Once enabled, users receive email notification when there is a new shared voicemail or videomail. If the extension that shares the voicemail or videomail has disabled the voicemail or videomail notification by email policy, then users do not receive notifications.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • show_custom_disclaimer_when_using_zoom_phone

          object — Show a custom disclaimer when starting to use Zoom Phone service

          • custom_disclaimer_list

            array — Custom disclaimer list

            Items:
            • body

              string — Custom disclaimer body

            • language

              string — The audio prompt language code. American English: `en-US` British English: `en-GB` Espa&ntilde;ol americano: `es-US` Fran&ccedil;ais canadien: `fr-CA` Dansk: `da-DK` Deutsch: `de-DE` Espa&ntilde;ol: `es-ES` Fran&ccedil;ais: `fr-FR` Italiano: `it-IT` Nederlands: `nl-NL` Portugues portugal: `pt-PT` Japanese: `ja-JP` Korean: `ko-KO` Portugues brasil: `pt-BR` Chinese: `zh-CN` Taiwanese: `zh-TW`

            • title

              string — Custom disclaimer title

          • display_frequency

            string, possible values: "first_time_only", "every_time", "every_month", "every_quarter", "every_6_months", "every_year" — Display frequency

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • sms

          object

          • enable

            boolean — Whether to allow user to send and receive messages. You will still need to assign a valid calling plan and phone number to the user in order to send and receive messages.

          • international_sms

            boolean — Whether the user can send and receive international messages.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • sms_auto_reply

          object — Enable SMS Auto Reply feature for User, Auto Receptionist, and Call Queue. Power Pack license is required for this feature to work.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • sms_etiquette_tool

          object — This field identifies defined keywords and text patterns over SMS and prevents users from sharing unwanted messages.

          • enable

            boolean

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

          • sms_etiquette_policy

            array — The SMS etiquette policy. The maximum size is 50.

            Items:
            • action

              integer, possible values: 1, 2 — The actions taken when a policy is triggered, `1` - ask user to confirm sending of message, `2` - block the message.

            • active

              boolean — Whether active or not.

            • content

              string — The SMS etiquette policy content. For rule `1`, add keywords separated by comma, the following characters are supported A-Z, a-z, 0-9. For rule `2`, add regular expressions, back references and zero-width assertions area not supported.

            • description

              string — The SMS etiquette policy description.

            • id

              string — The SMS etiquette policy ID.

            • name

              string — The SMS etiquette policy name.

            • rule

              integer, possible values: 1, 2 — The SMS etiquette policy rule, `1` - Keywords, `2` - Regular Expression.

        • sms_template

          object — Use pre-defined templates to help users compose messages. Power Pack license is required for this feature to work.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

          • sms_template_list

            array — The SMS template list.

            Items:
            • active

              boolean — Whether it is active.

            • content

              string — Text to Display. This text will be editable by users. Customer input fields may be added by using the buttons below. Customer information will be removed if not available.

            • description

              string — The SMS template description.

            • name

              string — The SMS template name.

            • sms_template_id

              string — The SMS template ID.

        • use_callkit_for_incoming_call_notifications_in_ios

          object — Use CallKit always for Incoming call notifications on iOS/iPadOS devices. When this feature is enabled for a user or common area, their iOS/iPadOS device will always use CallKit for incoming call notifications no matter if the Zoom App is running in the foreground or background, preventing interruptions when receiving inbound calls on the device. This setting only applies to iOS/iPadOS devices with CallKit enabled. If a user modifies this setting on their client, the value will be updated on this policy. Locking this policy will prevent users from making changes to the setting.

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • voicemail

          object

          • allow_delete

            boolean — Whether to allow users to delete their own voicemail.

          • allow_download

            boolean — Whether to allow users to download their own voicemail.

          • allow_share

            boolean — Whether to allow user to share their own voicemail.

          • allow_videomail

            boolean — Whether to allow users to access, share, download or delete video mail.

          • allow_virtual_background

            boolean — Whether to allow virtual background for videomail or video greeting.

          • enable

            boolean — Whether to allow users to access, receive or share voicemail and video mail.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified.

        • voicemail_intent_based_prioritization

          object — Voicemail prioritization with AI Companion

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • voicemail_notification_by_email

          object — Once enabled, users receive email notifications when there is a new voicemail from users, call queues, auto receptionists, or shared line groups. Users who disabled the shared voicemail notification by email policy do not receive notifications.

          • enable

            boolean

          • forward_voicemail_to_email

            boolean — Whether to forward the voicemail to email.

          • include_voicemail_file

            boolean — Whether to include the voicemail file.

          • include_voicemail_transcription

            boolean — Whether to include the voicemail transcription.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • voicemail_tasks

          object — Voicemail tasks with AI Companion

          • enable

            boolean — Whether this policy is enabled

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • voicemail_transcription

          object

          • enable

            boolean — Whether to enable voicemail/videomail transcription feature for User, Auto Receptionist, Call Queue, and Shared Line Groups.

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified.

        • zoom_phone_on_desktop

          object — Whether to allow users to use Zoom Phone on desktop clients (Mac OS, Windows, VDI client and Linux).

          • allow_calling_clients

            array — The clients in this list are allowed to make and receive calls.

            Items:

            string, possible values: "mac_os", "windows", "vdi_client", "linux" — The acceptable value is mac_os windows vdi_client linux.

          • allow_sms_mms_clients

            array — The clients in this list are allowed to use the SMS/MMS function.

            Items:

            string, possible values: "mac_os", "windows", "vdi_client", "linux" — The acceptable value is mac_os windows vdi_client linux.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

        • zoom_phone_on_mobile

          object

          • allow_calling_sms_mms

            boolean — This field allows calling and SMS/MMS functions on mobile.

          • enable

            boolean — This field allows users to use Zoom Phone on mobile clients (iOS, iPad OS, and Android).

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

        • zoom_phone_on_pwa

          object — Whether to allow user to use Zoom Phone on Zoom Progressive Web App.

          • enable

            boolean

          • locked

            boolean — Whether the senior administrator allows users to modify the current settings.

          • locked_by

            string, possible values: "invalid", "account", "user_group" — Which level of administrator prohibits the modification of the current settings.

          • modified

            boolean — Whether the current settings have been modified. If modified, they can be reset (displayed when using the new policy framework).

    • old_object (required)

      object

Example:

{
  "event": "phone.group_settings_updated",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "group_id": "",
      "settings": {
        "call_live_transcription": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "transcription_start_prompt": {
            "enable": true,
            "audio_id": "",
            "audio_name": ""
          }
        },
        "local_survivability_mode": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "select_outbound_caller_id": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "allow_hide_outbound_caller_id": true
        },
        "personal_audio_library": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "allow_music_on_hold_customization": true,
          "allow_voicemail_and_message_greeting_customization": true
        },
        "voicemail": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "allow_delete": true,
          "allow_download": true,
          "allow_videomail": true,
          "allow_share": true,
          "allow_virtual_background": true
        },
        "voicemail_transcription": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "voicemail_notification_by_email": {
          "include_voicemail_file": true,
          "include_voicemail_transcription": true,
          "forward_voicemail_to_email": true,
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "shared_voicemail_notification_by_email": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "restricted_call_hours": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "time_zone": {
            "id": "",
            "name": "(GMT-9:00) Adak"
          },
          "restricted_hours_applied": true,
          "restricted_holiday_hours_applied": true,
          "allow_internal_calls": true
        },
        "allowed_call_locations": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "locations_applied": true,
          "allow_internal_calls": true
        },
        "check_voicemails_over_phone": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "auto_call_recording": {
          "enable": true,
          "locked": true,
          "locked_by": "user_group",
          "recording_calls": "inbound",
          "recording_transcription": true,
          "recording_start_prompt": true,
          "recording_start_prompt_audio_id": "ySMexBgBQsioV8KKCUybTA",
          "recording_explicit_consent": true,
          "allow_stop_resume_recording": true,
          "disconnect_on_recording_failure": true,
          "play_recording_beep_tone": {
            "enable": true,
            "play_beep_volume": 60,
            "play_beep_time_interval": 15,
            "play_beep_member": "allMember"
          }
        },
        "ad_hoc_call_recording": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "modified": true,
          "recording_transcription": true,
          "allow_download": true,
          "allow_delete": true,
          "recording_start_prompt": true,
          "recording_explicit_consent": true,
          "play_recording_beep_tone": {
            "enable": true,
            "play_beep_volume": 60,
            "play_beep_time_interval": 15,
            "play_beep_member": "allMember"
          }
        },
        "zoom_phone_on_mobile": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "allow_calling_sms_mms": true
        },
        "zoom_phone_on_pwa": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "sms_etiquette_tool": {
          "enable": true,
          "modified": true,
          "sms_etiquette_policy": [
            {
              "id": "",
              "name": "",
              "description": "",
              "rule": 1,
              "content": "",
              "action": 1,
              "active": true
            }
          ]
        },
        "outbound_calling": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "outbound_sms": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "international_calling": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "sms": {
          "enable": true,
          "international_sms": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "e2e_encryption": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "call_handling_forwarding_to_other_users": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "call_forwarding_type": 1
        },
        "call_overflow": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "call_overflow_type": 1
        },
        "call_transferring": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "call_transferring_type": 1
        },
        "elevate_to_meeting": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "call_park": {
          "enable": true,
          "expiration_period": 1,
          "call_not_picked_up_action": 1,
          "forward_to": {
            "display_name": "",
            "extension_id": "",
            "extension_number": 1,
            "extension_type": "user",
            "id": ""
          },
          "sequence": 0,
          "music_on_park": {
            "audio_id": "yCT14TwySDGVUypVlKNEyA",
            "audio_name": "example.mp3"
          },
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "hand_off_to_room": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "mobile_switch_to_carrier": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "delegation": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "audio_intercom": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "block_calls_without_caller_id": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "block_external_calls": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "block_business_hours": true,
          "block_closed_hours": true,
          "block_holiday_hours": true,
          "block_call_action": 0
        },
        "auto_delete_data_after_retention_duration": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "items": [
            {
              "type": "callLog",
              "duration": -1,
              "time_unit": "year"
            }
          ],
          "delete_type": 1,
          "permanently_delete_after_days": -1
        },
        "peer_to_peer_media": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true
        },
        "advanced_encryption": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "disable_incoming_unencrypted_voicemail": true
        },
        "display_call_feedback_survey": {
          "enable": true,
          "locked": true,
          "locked_by": "invalid",
          "modified": true,
          "feedback_type": 1,
          "feedback_mos": {
            "enable": true,
            "min": "",
            "max": ""
          },
          "feedback_duration": {
            "enable": true,
            "min": 1,
            "max": 1
          }
        },
        "zoom_phone_on_desktop": {
          "enable": true,
          "locked": true,
          "locked_by": "account",
          "allow_calling_clients": [
            "mac_os"
          ],
          "allow_sms_mms_clients": [
            "mac_os"
          ]
        },
        "allowed_device_locations": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "block_devices_type": "network_change_detected"
        },
        "allow_emergency_calls": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "allow_emergency_calls_from_clients": true,
          "allow_emergency_calls_from_deskphones": true
        },
        "online_fax": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "enable_new_fax_email_notifications": true,
          "include_fax_as_attachment": false
        },
        "sms_template": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "sms_template_list": [
            {
              "sms_template_id": "0qWIP8S8QXmo6KShUIyvZA",
              "name": "name",
              "description": "description",
              "content": "content",
              "active": true
            }
          ]
        },
        "call_screening": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "exclude_user_company_contacts": true
        },
        "sms_auto_reply": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "allow_end_user_edit_call_handling": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "connect_to_operator": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "no_hold_conference": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "conference_dtmf": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "desk_phone_smart_key_positions_layout": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "auto_opt_out_in_call_queue": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "prompt_before_opt_out_call_queue": true
        },
        "allow_mobile_home_phone_callout": {
          "enable": true,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "use_callkit_for_incoming_call_notifications_in_ios": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "hide_phone_call_history_in_ios": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "obfuscate_sensitive_data_during_call": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "prevent_users_upload_audio_files": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "voicemail_tasks": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "voicemail_intent_based_prioritization": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true
        },
        "show_custom_disclaimer_when_using_zoom_phone": {
          "enable": false,
          "locked": false,
          "locked_by": "account",
          "modified": true,
          "display_frequency": "first_time_only",
          "custom_disclaimer_list": [
            {
              "language": "en-GB",
              "title": "tilte",
              "body": "body"
            }
          ]
        }
      }
    },
    "old_object": null
  }
}

Phone.callee_unmuteEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch at which the event occurred; long (`int64`) format.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The time and date (GMT) at which the callee unmuted a call in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Phone.recording_stoppedEvent

  • Type:object
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The Account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — Unique identifier of the call.

      • callee_number (required)

        string — Phone number or extension number of the caller.

      • caller_number (required)

        string — Phone number or extension number of the caller.

      • channel_id (required)

        string — ID of the channel

      • date_time (required)

        string, format: date-time — Stop date and time of the call.

      • direction (required)

        string, possible values: "inbound", "outbound" — Direction of the call. The value of this field can either be `inbound` or `outbound`.

      • id (required)

        string — ID of the recording

      • owner (required)

        object — The owner of the recording. This value field can be `user` or `callQueue`.

        • id (required)

          string — ID of the owner.

        • name (required)

          string — Display name of the owner

        • type (required)

          string, possible values: "user", "callQueue", "commonArea" — Type of the owner

        • extension_number

          integer — Extension number of the owner

      • recording_type (required)

        string, possible values: "OnDemand", "Automatic" — The type of the recording. This value field can be `OnDemand` or `Automatic`.

      • sip_id (required)

        string — ID of the sip call

      • user_id (required)

        string — ID of the user.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "",
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "user_id": "",
      "caller_account_code": "",
      "caller_number": "",
      "callee_account_code": "",
      "callee_number": "",
      "direction": "inbound",
      "date_time": "",
      "recording_type": "OnDemand",
      "call_id": "",
      "channel_id": "",
      "sip_id": "",
      "owner": {
        "type": "user",
        "id": "",
        "name": "",
        "extension_number": 1
      }
    }
  },
  "event_ts": 1
}

Phone.caller_meeting_invitingEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The caller's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string, format: date-time — The date and time (GMT) at which the call escalated to meeting, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • meeting_id

        string, format: int64 — The meeting's unique ID. This is also known as the meeting number.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "meeting_id": "",
      "date_time": ""
    }
  }
}

Phone.warm_transfer_cancelledEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch when the event occurred, in long (int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • date_time (required)

        string — The date and time (UTC) at which the warm transfer call was completed, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • failure_reason

        string — The reason why the warm transfer failed to cancel. Returns an empty string if successful.

      • owner

        object

        • extension_number

          integer — The owner's extension number.

        • id

          string — The owner ID.

        • name

          string — The owner's name.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonAreaPhone", "sharedLineGroup" — The owner's type: *`user` *`callQueue` *`autoReceptionist` *`commonAreaPhone` *`sharedLineGroup`

      • transfer_account_code

        string — The transfer account code. To transfer a call between accounts, use the format: [Account code] - [extension number].

      • transfer_phone_number

        string — The phone number required for the warm transfer. This may be a user's phone number, extension number, or phone number displayed in E164 format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "call_id": "",
      "transfer_phone_number": "",
      "transfer_account_code": "",
      "owner": {
        "extension_number": "1000001019",
        "id": "N3hAhug-QVyFPYZJrHpRaQ",
        "name": "123@test.com",
        "type": "user"
      },
      "date_time": ""
    }
  }
}

Phone.voicemail_received_for_access_memberEvent

  • Type:object
  • event (required)

    string, possible values: "phone.voicemail_received_for_access_member" — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp, in milliseconds since epoch, at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The access member's account ID.

    • object (required)

      object

      • callee_extension_type (required)

        string, possible values: "user", "callQueue", "autoReceptionist", "sharedLineGroup" — The callee's extension type: * `user` * `callQueue` * `autoReceptionist` * `shareLineGroup`

      • callee_id (required)

        string — The callee's ID. Depending on the type of extension, this value can be one of the following: * For a regular user (`user`) — `callee_id` is the same as `callee_user_id`. * For call queue (`callQueue`) — `callee_id` is the same as the call queue `group_id` value. * For an auto-receptionist (`autoReceptionist`) — `callee_id` is the same as `auto_receptionist_id`. * For a shared line group (`shareLineGroup`) — `callee_id` is the same as `share_line_group_id`.

      • callee_name (required)

        string — The callee's name.

      • callee_number (required)

        string — The callee's phone number.

      • callee_number_type (required)

        integer, possible values: 1, 2 — The callee's number type: * `1` — Internal. * `2` — External.

      • caller_name (required)

        string — The caller's name.

      • caller_number (required)

        string — The caller's phone number.

      • caller_number_type (required)

        integer, possible values: 1, 2 — The caller's number type: * `1` — Internal. * `2` — External.

      • date_time (required)

        string, format: date-time — The date and time at which the voicemail was received.

      • download_url (required)

        string, format: url — The URL at which the voicemail can be downloaded.

      • duration (required)

        integer — The duration of the voicemail.

      • id (required)

        string — The voicemail's unique ID.

      • access_member_extension_type

        string, possible values: "user", "commonAreaPhone" — The callee's extension type: * `user` * `commonAreaPhone`

      • access_member_id

        string — The access member's ID. Depending on the type of extension, this value can be one of the following: * For a regular user (`user`) — `callee_id` is the same as `callee_user_id`. * For a common area (`commonAreaPhone`) — `callee_id` is the same as `common_area_ids`.

      • call_element_id

        string — The call element ID.

      • call_history_id

        string — Use `call_element_id` instead. The call history ID.

      • call_id

        string — The call's unique ID.

      • call_log_id

        string — The call log ID. <b>Deprecated:</b> This is the legacy call log ID. Zoom will stop producing legacy call log data in a future release, and the associated [Get call log details](https://developers.zoom.us/docs/api/phone/#tag/call-logs/get/phone/call_logs/{callLogId}) API has also been deprecated. As an alternative, use `call_element_id` together with the call element / call history APIs.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • callee_did_number

        string — Callee's DID number.

      • callee_user_id

        string — The callee's user ID.

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • caller_did_number

        string — Caller's DID number.

Example:

{
  "event": "phone.voicemail_received_for_access_member",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "date_time": "",
      "download_url": "",
      "duration": 1,
      "caller_account_code": "",
      "caller_number": "",
      "caller_number_type": 1,
      "caller_name": "",
      "caller_did_number": "",
      "callee_user_id": "",
      "callee_account_code": "",
      "callee_number": "",
      "callee_number_type": 1,
      "callee_name": "",
      "callee_did_number": "",
      "callee_extension_type": "user",
      "callee_id": "",
      "call_element_id": "",
      "call_id": "",
      "access_member_id": "",
      "access_member_extension_type": "user"
    }
  }
}

Phone.callee_unholdEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The long (`int64`) format timestamp in milliseconds since epoch when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The callee's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • phone_number

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • phone_number

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The date and time (GMT) at which the call hold ended, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}

Phone.whatsapp_message_sentEvent

  • Type:object
  • event (required)

    string, possible values: "phone.whatsapp_message_sent" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The payload of the WhatsApp message that was sent.

      • attachments (required)

        array — The media file information.

        Items:
        • download_url (required)

          string — The URL from which the file can be downloaded.

        • file_id (required)

          string — The unique identifier for a media file.

        • name (required)

          string — The name of the file.

        • size (required)

          integer — The size of the file in bytes.

        • type (required)

          string, possible values: "JPG", "JPEG", "PNG", "GIF", "PDF" — The type of file.

      • date_time (required)

        string, format: date-time — The date and time at which the WhatsApp message was sent.

      • message (required)

        string — The WhatsApp message text content.

      • message_id (required)

        string — The WhatsApp message ID.

      • recipient (required)

        object — The WhatsApp message recipient.

        • phone_number (required)

          string — The WhatsApp message recipient's phone number.

      • sender (required)

        object — The WhatsApp message sender.

        • phone_number (required)

          string — The WhatsApp message sender's phone number.

        • display_name

          string — The WhatsApp message sender's display name.

        • id

          string — The WhatsApp message sender's ID.

        • type

          string, possible values: "user" — The type of sender: * `user`.

      • session_id (required)

        string — The WhatsApp message session ID.

      • failure_reason

        string — The reason for the WhatsApp message send failure. An empty field means the WhatsApp message was sent successfully.

      • message_status

        string, possible values: "sent", "delivered", "read", "played" — The status of the message. Could be one of: * `delivered` * `played` * `read` * `sent` The detailed definition of the status can be found in [messages webhook reference](https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/reference/messages).

Example:

{
  "event": "phone.whatsapp_message_sent",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "sender": {
        "phone_number": "",
        "id": "",
        "type": "user",
        "display_name": "",
        "additionalProperty": "anything"
      },
      "recipient": {
        "phone_number": "",
        "additionalProperty": "anything"
      },
      "message": "",
      "attachments": [
        {
          "file_id": "",
          "size": 1,
          "name": "",
          "type": "JPG",
          "download_url": "",
          "additionalProperty": "anything"
        }
      ],
      "session_id": "",
      "message_id": "",
      "date_time": "",
      "message_status": "sent"
    }
  }
}

Phone.conference_startedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch when the event occurred; long (`int64`) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The call ID.

      • date_time (required)

        string — The date and time (GMT) when the conference call started, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

      • conference_id

        string — The conference ID. See `enable_multiple_party_conference` above. No conference ID provided if the option for multiple parties to join the conference is disabled.

      • enable_multiple_party_conference

        boolean — Whether to enable multiple parties to join the conference call.<br> `true`: enable<br> `false`: disable

      • failure_reason

        string — The reason a conference call failed to start. If it is an empty string, it means success.

      • owner

        object

        • extension_number

          integer — The owner's extension number.

        • id

          string — The owner ID.

        • name

          string — The owner name.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonAreaPhone", "sharedLineGroup" — The owner type: *`user` *`callQueue` *`autoReceptionist` *`commonAreaPhone` *`sharedLineGroup`

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "failure_reason": "",
      "enable_multiple_party_conference": true,
      "conference_id": "",
      "call_id": "",
      "owner": {
        "extension_number": "1000001019",
        "id": "N3hAhug-QVyFPYZJrHpRaQ",
        "name": "123@test.com",
        "type": "user"
      },
      "date_time": ""
    }
  }
}

Phone.fax_sentEvent

  • Type:object
  • event (required)

    string, possible values: "phone.fax_sent" — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp, in milliseconds since epoch, at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The owner account ID.

    • object (required)

      object — object

      • create_time (required)

        integer, format: int64 — The fax creation timestamp in UTC time zone.

      • direction (required)

        string, possible values: "inbound", "outbound" — The fax log's direction: * `inbound` * `outbound`

      • extension_id (required)

        string — The owner's extension ID.

      • extension_type (required)

        string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "sharedLineGroup" — The owner's extension type: * `user` * `callQueue` * `autoReceptionist` * `commonArea` * `sharedLineGroup`

      • fax_id (required)

        string — The unique fax session ID.

      • fax_log_id (required)

        string — The unique fax log ID.

      • file_id (required)

        string — The fax PDF file ID.

      • file_pages_count (required)

        integer — The number of pages in the fax file.

      • receiver_extension_id (required)

        string — The receiver extension ID.

      • receiver_extension_number (required)

        string — The receiver extension number.

      • receiver_name (required)

        string — The receiver name.

      • receiver_number (required)

        string — The receiver fax number.

      • receiver_type (required)

        string, possible values: "client", "ata", "pstn", "email", "openapi", "sdk", "byop", "unknown" — The receiver endpoint type: * `client` * `ata` * `pstn` * `email` * `openapi` * `sdk` * `byop` * `unknown`

      • sender_extension_id (required)

        string — The sender extension ID.

      • sender_extension_number (required)

        string — The sender extension number.

      • sender_name (required)

        string — The sender name.

      • sender_number (required)

        string — The sender fax number.

      • sender_type (required)

        string, possible values: "client", "ata", "pstn", "email", "openapi", "sdk", "byop", "unknown" — The sender endpoint type: * `client` * `ata` * `pstn` * `email` * `openapi` * `sdk` * `byop` * `unknown`

      • site_id (required)

        string — The site ID.

      • site_name (required)

        string — The site name.

      • status (required)

        string, possible values: "failed", "processing", "submitted", "sent", "received", "canceled" — The fax status: * `failed` * `processing` * `submitted` * `sent` * `received` * `canceled`

      • created_at

        string — The fax creation time in UTC time zone.

      • receiver_extension_type

        string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "sharedLineGroup" — The receiver extension type: * `user` * `callQueue` * `autoReceptionist` * `commonArea` * `sharedLineGroup`

      • receiver_location

        string — The receiver location.

      • sender_extension_type

        string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "sharedLineGroup" — The sender extension type: * `user` * `callQueue` * `autoReceptionist` * `commonArea` * `sharedLineGroup`

      • sender_location

        string — The sender location.

Example:

{
  "event": "phone.fax_sent",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "fax_log_id": "",
      "fax_id": "",
      "site_id": "",
      "site_name": "",
      "extension_id": "",
      "extension_type": "user",
      "direction": "inbound",
      "sender_extension_id": "",
      "sender_extension_type": "user",
      "sender_extension_number": "",
      "sender_name": "",
      "sender_number": "",
      "sender_type": "client",
      "sender_location": "",
      "receiver_extension_id": "",
      "receiver_extension_type": "user",
      "receiver_extension_number": "",
      "receiver_name": "",
      "receiver_number": "",
      "receiver_type": "client",
      "receiver_location": "",
      "file_id": "",
      "file_pages_count": 1,
      "status": "failed",
      "created_at": "",
      "additionalProperty": "anything"
    }
  }
}

Phone.generic_device_provisionEvent

  • Type:object
  • event (required)

    string, default: "phone.generic_device_provision" — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The Account ID of the user.

    • object (required)

      object

      • device_type (required)

        string — Manufactuer name + model name.

      • display_name (required)

        string — Device name.

      • id (required)

        string — The device ID.

      • mac_address (required)

        string — MAC address or serial number.

      • provision

        object — If the device is unassigned, provision will not display.

        • type (required)

          string, possible values: "manual", default: "manual" — Value: `manual`

        • sip_accounts

          array — SIP account details for the device.

          Items:
          • authorization_id (required)

            string

          • outbound_proxy (required)

            string — The SIP/outbound proxy address for the Zoom phone.

          • password (required)

            string

          • user_name (required)

            string

          • secondary_outbound_proxy

            string — The secondary outbound proxy provided in the provisioning process.

          • shared_line

            object

            • line_subscription (required)

              object

              • display_name

                string

              • extension_number

                integer

              • phone_number

                string

            • alias

              string

            • outbound_caller_id

              string

          • sip_domain

            string, format: hostname — A SIP domain is a DNS hostname that can accept SIP traffic for your Zoom meeting. If you make a SIP request using SIP domain, such as sip:66666666@zoomcrc.com , it will route to the Zoom meeting service.

      • site

        object

        • id (required)

          string — The ID of the site to assign the phone user to.

        • name (required)

          string — The display name of the site to assign the phone user to.

Example:

{
  "event": "phone.generic_device_provision",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "display_name": "",
      "device_type": "",
      "mac_address": "",
      "site": {
        "id": "",
        "name": ""
      },
      "provision": {
        "type": "manual",
        "sip_accounts": [
          {
            "sip_domain": "",
            "outbound_proxy": "",
            "secondary_outbound_proxy": "",
            "user_name": "",
            "authorization_id": "",
            "password": "",
            "shared_line": {
              "line_subscription": {
                "phone_number": "",
                "extension_number": 1,
                "display_name": ""
              },
              "alias": "",
              "outbound_caller_id": ""
            }
          }
        ]
      }
    }
  }
}

Phone.recording_pausedEvent

  • Type:object
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — Unique identifier of the call.

      • callee_number (required)

        string — Phone number or the extension number of the callee.

      • caller_number (required)

        string — Phone number or the extension number of the caller.

      • date_time (required)

        string, format: date-time — Time and date when the recording was paused.

      • direction (required)

        string, possible values: "inbound", "outbound" — Direction of the call: `inbound` or `outbound`.

      • id (required)

        string — The recording ID.

      • owner (required)

        object — The owner of the recording.

        • id (required)

          string — The owner ID.

        • name (required)

          string — Display name of the owner.

        • type (required)

          string, possible values: "user", "callQueue", "commonArea" — The owner type: `user` or `callQueue`.

        • extension_number

          integer — Extension number of the owner

      • recording_type (required)

        string, possible values: "OnDemand", "Automatic" — The type of the recording: `OnDemand` or `Automatic`.

      • user_id (required)

        string — The user ID.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "",
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "user_id": "",
      "caller_account_code": "",
      "caller_number": "",
      "callee_account_code": "",
      "callee_number": "",
      "direction": "inbound",
      "date_time": "",
      "recording_type": "OnDemand",
      "call_id": "",
      "owner": {
        "type": "user",
        "id": "",
        "name": "",
        "extension_number": 1,
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    }
  },
  "event_ts": 1
}

Phone.sms_receivedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.sms_received" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the owner.

    • object (required)

      object — The payload of the received SMS/MMS.

      • attachments (required)

        array — The media file information.

        Items:
        • download_url (required)

          string — The URL using which the file can be downloaded.

        • id (required)

          string — The media file ID.

        • name (required)

          string — The name of the file.

        • size (required)

          integer — The size of the file in bytes.

        • type (required)

          string — The type of the file.

      • date_time (required)

        string, format: date-time — The date and time at which the SMS was received.

      • message (required)

        string — The SMS text content.

      • message_id (required)

        string — The SMS message ID.

      • message_type (required)

        integer — The type of messages.

      • owner (required)

        object — The owner of this SMS/MMS

        • id

          string — The user ID of the user who received this SMS.

        • team_id

          string — The owner's ID when the owner type is callQueue or autoReceptionist.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist" — The type of owner: *`user` *`callQueue` *`autoReceptionist`

      • sender (required)

        object — The SMS sender.

        • phone_number (required)

          string — The SMS sender's phone number.

        • display_name

          string — The SMS sender's display name.

        • id

          string — The SMS sender's ID.

        • type

          string, possible values: "user", "callQueue", "autoReceptionist" — The type of sender: *`user` *`callQueue` *`autoReceptionist`.

      • session_id (required)

        string — The SMS session ID.

      • to_members (required)

        array — The SMS receivers.

        Items:
        • phone_number (required)

          string — The SMS receiver's phone number.

        • display_name

          string — The SMS receiver's display name.

        • id

          string — The SMS receiver's user ID.

        • is_message_owner

          boolean — Whether it is the owner of the message.

        • type

          string, possible values: "user" — The type of receiver: *`user`.

      • phone_number_campaign_opt_statuses

        array — The list of opt statuses for each number pair.

        Items:
        • consumer_phone_number (required)

          string — The end user's phone number in E164 format that sends the Opt-in or Opt-out keyword to the Zoom Phone number.

        • opt_status (required)

          string, possible values: "pending", "opt_out", "opt_in" — The opt status.

        • zoom_phone_user_number (required)

          string — The Zoom user's phone number in E164 format that receives the Opt-in or Opt-out keyword from the end user.

        • opt_in_message

          string — If opt_in_status=1, the opt_in_message will return the Opt-In message of the Campaign bound to zoom_phone_user_number. In this case, you must send the opt_in_message as the first message in the SMS session and then wait for the Opt-In response.

        • opt_in_status

          integer, possible values: 0, 1, 2, 3, 4 — The Opt-In status between the Zoom Phone user number and consumer phone number. This is a sub-status of `opt_status` and uses the following enumeration: 0: Default status. The Opt-In status for the Zoom Phone user number cannot be determined. This may occur when the Zoom Phone user number is not associated with a Campaign, among other reasons. 1: This is a new SMS session and an Opt-In message must be sent first. 2: An Opt-In message has been sent and a response is pending. 3: An Opt-In message has been sent and the recipient has consented to receive additional SMS messages. 4: An Opt-In message has been sent, but the recipient has declined to receive additional SMS messages, or the number has been configured to block all outbound SMS messages.

Example:

{
  "event": "phone.sms_received",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "sender": {
        "phone_number": "",
        "id": "",
        "type": "user",
        "display_name": "",
        "additionalProperty": "anything"
      },
      "to_members": [
        {
          "id": "",
          "type": "user",
          "display_name": "",
          "phone_number": "",
          "is_message_owner": true,
          "additionalProperty": "anything"
        }
      ],
      "owner": {
        "type": "user",
        "id": "",
        "team_id": ""
      },
      "message": "",
      "attachments": [
        {
          "id": "",
          "size": 1,
          "name": "",
          "type": "",
          "download_url": "",
          "additionalProperty": "anything"
        }
      ],
      "session_id": "",
      "message_id": "",
      "message_type": 1,
      "date_time": "",
      "phone_number_campaign_opt_statuses": [
        {
          "consumer_phone_number": "+150434XXXXX",
          "zoom_phone_user_number": "+120944XXXXX",
          "opt_status": "opt_out",
          "opt_in_status": 0,
          "opt_in_message": "Text START to receive text messages from ZOOM. Message frequency may vary. Message and Data Rates may apply. To end messaging from us, reply with STOP. Reply with HELP for more information."
        }
      ]
    }
  }
}

Phone.recording_failedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user.

    • object (required)

      object

      • call_id (required)

        string — The unique identifier of the call.

      • callee_number (required)

        string — The phone number or extension number of the caller.

      • caller_number (required)

        string — The phone number or extension number of the caller.

      • channel_id (required)

        string — The ID of the channel

      • date_time (required)

        string, format: date-time — The start date and time of the call.

      • direction (required)

        string, possible values: "inbound", "outbound" — The direction of the call. The value of this field can either be `inbound` or `outbound`.

      • id (required)

        string — The ID of the recording

      • owner (required)

        object — The owner of the recording.

        • id (required)

          string — The ID of the owner.

        • name (required)

          string — The display name of the owner

        • type (required)

          string, possible values: "user", "callQueue", "commonArea" — The type of the owner. This value field can be `user` or `callQueue`.

        • extension_number

          integer — The extension number of the owner

      • recording_type (required)

        string, possible values: "OnDemand", "Automatic" — The type of the recording. This value field can be `OnDemand` or `Automatic`.

      • sip_id (required)

        string — The ID of the sip call

      • user_id (required)

        string — The ID of the user.

      • callee_account_code

        string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

      • caller_account_code

        string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

Example:

{
  "event": "",
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "user_id": "",
      "caller_account_code": "",
      "caller_number": "",
      "callee_account_code": "",
      "callee_number": "",
      "direction": "inbound",
      "date_time": "",
      "recording_type": "OnDemand",
      "call_id": "",
      "channel_id": "",
      "sip_id": "",
      "owner": {
        "type": "user",
        "id": "",
        "name": "",
        "extension_number": 1
      }
    }
  },
  "event_ts": 1
}

Phone.route_group_status_changedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.route_group_status_changed" — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field returns in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The Account ID of the owner.

    • object (required)

      object — Information about the alert's settings.

      • module (required)

        string — The module for the alert.

      • name (required)

        string — The name of the alert.

      • rule (required)

        object — The rule for the alert

        • severity

          string — The severity of the alert rule, warning or critical.

        • type

          integer — The type of alert rule. `1` - Route groups status change.

      • target (required)

        object — The target of the alert.

        • type

          integer — The type of alert target. `1` - account.

      • detected_time

        string, format: date-time — The detected time of the alert.

      • route_groups

        array — A list of route groups

        Items:
        • id (required)

          string — The ID of the route group.

        • name (required)

          string — The name of the route group.

        • region (required)

          string — The region of the route group.

      • sbc

        string — The SBC of the route group.

Example:

{
  "event": "phone.route_group_status_changed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "name": "",
      "module": "",
      "rule": {
        "type": 1,
        "severity": ""
      },
      "target": {
        "type": 1
      },
      "detected_time": "",
      "sbc": "",
      "route_groups": [
        {
          "id": "",
          "name": "",
          "region": ""
        }
      ]
    }
  }
}

Phone.caller_call_history_completedEvent

  • Type:object
  • event (required)

    string, possible values: "phone.caller_call_history_completed" — Event name.

  • event_ts (required)

    integer, format: int64 — The timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the caller.

    • object (required)

      object — The event object.

      • call_logs (required)

        array — The list of call logs.

        Items:
        • call_id (required)

          string — The ID of the phone call.

        • call_path_id (required)

          string — The call path ID of the call.

        • id (required)

          string — The ID of the call history.

        • result (required)

          string, possible values: "answered", "accepted", "picked_up", "connected", "succeeded", "voicemail", "hang_up", "canceled", "call_failed", "unconnected", "rejected", "busy", "ring_timeout", "overflowed", "no_answer", "invalid_key", "invalid_operation", "abandoned", "system_blocked", "service_unavailable" — The detail result of an event for a call log.

        • start_time (required)

          string — The call start time in GMT `date-time` format.

        • answer_time

          string — The call answer time in GMT `date-time` format.

        • call_type

          string, possible values: "general", "emergency" — The type of call.

        • callee_account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • callee_cost_center

          string — The callee's cost center.

        • callee_country_code

          string — The callee's country code.

        • callee_country_iso_code

          string — The callee's country ISO code.

        • callee_department

          string — The callee's department.

        • callee_device_private_ip

          string — The callee's private IP.

        • callee_device_public_ip

          string — The callee's public IP.

        • callee_device_type

          string — The callee's device type.

        • callee_did_number

          string — The callee's DID number in e164 format.

        • callee_email

          string — The callee's email.

        • callee_employee_id

          string — Ther callee's employee id

        • callee_ext_id

          string — The callee's extension ID.

        • callee_ext_number

          string — The extension number of the callee.

        • callee_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The callee's extension type.

        • callee_name

          string — The name of the callee.

        • callee_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The callee's number type.

        • callee_site_id

          string — The callee's site ID.

        • caller_account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • caller_cost_center

          string — The caller's cost center.

        • caller_country_code

          string — The caller's country code.

        • caller_country_iso_code

          string — The caller's country ISO code.

        • caller_department

          string — The caller's department.

        • caller_device_private_ip

          string — The caller's private IP.

        • caller_device_public_ip

          string — The caller's public IP.

        • caller_device_type

          string — The caller's device type.

        • caller_did_number

          string — The caller's DID number in e164 format.

        • caller_email

          string — The caller's email.

        • caller_employee_id

          string — Ther caller's employee id

        • caller_ext_id

          string — The caller's extension ID.

        • caller_ext_number

          string — The extension number of the caller.

        • caller_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The caller's extension type.

        • caller_name

          string — The name of the caller.

        • caller_number_type

          string, possible values: "zoom_pstn", "zoom_toll_free_number", "external_pstn", "external_contact", "byoc", "byop", "3rd_party_contact_center", "zoom_service_number", "external_service_number", "zoom_contact_center", "meeting_phone_number", "meeting_id", "anonymous_number" — The caller's number type.

        • caller_site_id

          string — The caller's site ID.

        • connect_type

          string, possible values: "internal", "external" — The connect type of call.

        • direction

          string, possible values: "inbound", "outbound" — The direction of the call.

        • end_time

          string — The call end time in GMT `date-time` format.

        • end_to_end

          boolean — A flag to indicate the call is End-to-End Encryption or not.

        • event

          string, possible values: "incoming", "transfer_from_zoom_contact_center", "shared_line_incoming", "outgoing", "call_me_on", "outgoing_to_zoom_contact_center", "warm_transfer", "forward", "ring_to_member", "overflow", "direct_transfer", "barge", "monitor", "whisper", "listen", "takeover", "conference_barge", "park", "timeout", "park_pick_up", "merge", "shared" — An event within a call log.

        • group_id

          string — The primary group of which the user belongs.

        • hide_caller_id

          boolean — A flag to indicate the call is hide caller ID or not.

        • hold_time

          integer — The call hold time in seconds.

        • operator_ext_id

          string — The operator extension ID.

        • operator_ext_number

          string — The operator extension number.

        • operator_ext_type

          string, possible values: "user", "call_queue", "auto_receptionist", "common_area", "zoom_room", "cisco_room", "shared_line_group", "group_call_pickup", "external_contact" — The operator extension type.

        • operator_name

          string — The operator's name.

        • recording_id

          string — The unique identifier of the call recording.

        • recording_type

          string, possible values: "ad-hoc", "automatic" — The type of call recording.

        • result_reason

          string, possible values: "answered_by_other", "pickup_by_other", "call_out_by_other" — The reason of result of an event for a call log.

        • talk_time

          integer — The call talk time in seconds.

        • voicemail_id

          string — The ID of the call voicemail.

        • wait_time

          integer — The call wait time in seconds.

      • user_id (required)

        string — The user ID of the caller.

Example:

{
  "event": "phone.caller_call_history_completed",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "user_id": "",
      "call_logs": [
        {
          "id": "",
          "call_path_id": "",
          "call_id": "",
          "group_id": "",
          "connect_type": "internal",
          "call_type": "general",
          "direction": "inbound",
          "hide_caller_id": true,
          "end_to_end": true,
          "caller_ext_id": "",
          "caller_name": "",
          "caller_email": "",
          "caller_employee_id": "",
          "caller_did_number": "",
          "caller_account_code": "",
          "caller_ext_number": "",
          "caller_ext_type": "user",
          "caller_number_type": "zoom_pstn",
          "caller_device_private_ip": "",
          "caller_device_public_ip": "",
          "caller_device_type": "",
          "caller_country_iso_code": "",
          "caller_country_code": "",
          "caller_site_id": "",
          "caller_department": "",
          "caller_cost_center": "",
          "callee_ext_id": "",
          "callee_name": "",
          "callee_did_number": "",
          "callee_account_code": "",
          "callee_ext_number": "",
          "callee_email": "",
          "callee_employee_id": "",
          "callee_ext_type": "user",
          "callee_number_type": "zoom_pstn",
          "callee_device_private_ip": "",
          "callee_device_public_ip": "",
          "callee_device_type": "",
          "callee_country_iso_code": "",
          "callee_country_code": "",
          "callee_site_id": "",
          "callee_department": "",
          "callee_cost_center": "",
          "start_time": "",
          "answer_time": "",
          "end_time": "",
          "event": "incoming",
          "result": "answered",
          "result_reason": "answered_by_other",
          "operator_ext_number": "",
          "operator_ext_id": "",
          "operator_ext_type": "user",
          "operator_name": "",
          "recording_id": "",
          "recording_type": "ad-hoc",
          "voicemail_id": "",
          "talk_time": 1,
          "hold_time": 1,
          "wait_time": 1
        }
      ]
    }
  }
}

Phone.peering_number_cnam_updatedEvent

  • Type:object
  • event (required)

    string — Name of the event.

  • event_ts (required)

    integer, format: int64 — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.

  • payload (required)

    object

    • account_id (required)

      string — Account ID of the customer using provider exchange.

    • object (required)

      object

      • carrier_code (required)

        integer — The carrier code.

      • phone_numbers (required)

        array — The phone numbers with CNAM updates.

      • cnam

        string — The caller ID name.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "cnam": "",
      "carrier_code": 1,
      "phone_numbers": []
    }
  }
}

Phone.caller_muteEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp in milliseconds since epoch at which the event occurred; long (`int64`) format.

  • payload (required)

    object

    • account_id (required)

      string — The caller's account ID.

    • object (required)

      object

      • call_id (required)

        string — The call's unique ID.

      • callee (required)

        object — Information about the person called by the caller.

        • phone_number (required)

          string — The callee's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The callee's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • extension_id

          string — Extension ID of the callee.

        • extension_number

          integer, format: int64 — The callee's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the callee.

        • timezone

          string — The callee's timezone.

        • user_id

          string — The callee's Zoom user ID.

      • caller (required)

        object — Information about the person who initiated the call.

        • phone_number (required)

          string — The caller's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164).

        • account_code

          string — The caller's account code. To dial between accounts, use the format: [Account code] - [extension number].

        • connection_type

          string, possible values: "pstn_off_net", "voip", "pstn_on_net", "contact_center", "byop" — The connection type.

        • device_id

          string — The device ID.

        • extension_id

          string — Extension ID of the caller.

        • extension_number

          integer, format: int64 — The caller's extension number.

        • extension_type

          string, possible values: "user", "callQueue", "autoReceptionist", "commonArea", "commonAreaPhone", "sharedLineGroup", "zoomRoom", "ciscoRoom/PolycomRoom", "contactCenter", "pstn", "five9", "twilio" — Extension type of the caller.

        • timezone

          string — The caller's timezone.

        • user_id

          string — The caller's Zoom user ID.

      • date_time (required)

        string — The time and date (GMT) at which the caller muted a call in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "call_id": "",
      "callee": {
        "extension_id": "",
        "extension_type": "user",
        "user_id": "",
        "phone_number": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "connection_type": "pstn_off_net"
      },
      "caller": {
        "extension_id": "",
        "extension_type": "user",
        "phone_number": "",
        "user_id": "",
        "account_code": "",
        "extension_number": 1,
        "timezone": "",
        "device_id": "",
        "connection_type": "pstn_off_net"
      },
      "date_time": ""
    }
  }
}