Missing AI Call Summary and Recording ID in Some Call Records

Hi Zoom Dev Team,

I’m currently integrating with Zoom (via API/webhooks) to process call data, and I’ve noticed some inconsistencies in the payload specifically regarding AI call summaries and recording IDs.

Context

My goal is to capture:

  • AI-generated call summaries (when available)

  • Recording IDs for calls that were recorded

However, I’m seeing that for some calls, these fields are missing or not returned, even when I expect them to be present.

Sample Observations

Case 1: Outbound - Call connected - no recording id - with ai call summary id
{
“id”: “a1b2c3d4-e5f6-7890-abcd-ef1234567890”,
“call_type”: “pstn”,
“caller_number”: “1001”,
“caller_number_type”: 1,
“caller_name”: “Test User”,
“callee_number”: “+10000000001”,
“callee_number_type”: 2,
“callee_number_source”: “external”,
“callee_location”: “United States”,
“direction”: “outbound”,
“duration”: 300,
“result”: “Call connected”,
“date_time”: “2026-01-01T00:00:00Z”,
“path”: “pstn”,
“has_recording”: false,
“has_voicemail”: false,
“log_details”: ,
“call_id”: “000000000000000000”,
“ai_call_summary_id”: “00000000-0000-0000-0000-000000000000”,
“caller_did_number”: “+10000000000”,
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“callee_country_code”: “1”,
“callee_country_iso_code”: “US”,
“call_end_time”: “2026-01-01T00:05:00Z”,
“department”: “Test Department”,
“cost_center”: “”
}

Case 2: Outbound - Call connected - no recording id - no ai call summary id
{
“id”: “a1b2c3d4-e5f6-7890-abcd-ef1234567890”,
“call_type”: “pstn”,
“caller_number”: “1001”,
“caller_number_type”: 1,
“caller_name”: “Test User”,
“callee_number”: “+10000000001”,
“callee_number_type”: 2,
“callee_number_source”: “external”,
“callee_location”: “United States”,
“direction”: “outbound”,
“duration”: 7,
“result”: “Call connected”,
“date_time”: “2026-01-01T00:00:00Z”,
“path”: “pstn”,
“has_recording”: false,
“has_voicemail”: false,
“log_details”: ,
“call_id”: “000000000000000000”,
“caller_did_number”: “+10000000000”,
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“callee_country_code”: “1”,
“callee_country_iso_code”: “US”,
“call_end_time”: “2026-01-01T00:00:07Z”,
“department”: “”,
“cost_center”: “”
}

Case 3: Inbound - Call connected - no recording id - no ai call summary id
{
“id”: “a1b2c3d4-e5f6-7890-abcd-ef1234567890”,
“call_type”: “pstn”,
“caller_number”: “+10000000001”,
“caller_number_type”: 2,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“callee_number”: “801”,
“callee_number_type”: 1,
“callee_name”: “Main Auto Receptionist”,
“direction”: “inbound”,
“duration”: 129,
“result”: “Call connected”,
“date_time”: “2026-01-01T00:00:00Z”,
“path”: “autoReceptionist”,
“charge”: “null0.0000”,
“rate”: “null0.0000”,
“has_recording”: false,
“has_voicemail”: false,
“log_details”: [
{
“id”: “b2c3d4e5-f6a7-8901-bcde-f12345678901”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 0,
“result”: “3”,
“date_time”: “2026-01-01T00:00:26Z”,
“path”: “ivrMenu”,
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“department”: “Test Department”,
“cost_center”: “”
},
{
“id”: “c3d4e5f6-a7b8-9012-cdef-123456789012”,
“call_type”: “pstn”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 129,
“result”: “Call connected”,
“date_time”: “2026-01-01T00:00:28Z”,
“path”: “pstn”,
“charge”: “$0.0000”,
“rate”: “$0.0000”,
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“callee_did_number”: “+10000000000”,
“callee_country_code”: “1”,
“callee_country_iso_code”: “US”,
“answer_start_time”: “2026-01-01T00:00:29Z”,
“call_end_time”: “2026-01-01T00:02:09Z”,
“department”: “Test Department”,
“cost_center”: “”
}
],
“call_id”: “000000000000000000”,
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“callee_did_number”: “+10000000000”,
“callee_country_code”: “1”,
“callee_country_iso_code”: “US”,
“answer_start_time”: “2026-01-01T00:00:00Z”,
“department”: “Test Department”,
“cost_center”: “”
}

Case 4: Inbound - Call connected - with recording id but Admin has disabled this transcription. - with ai call summary id
{
“id”: “a1b2c3d4-e5f6-7890-abcd-ef1234567890”,
“call_type”: “voip”,
“caller_number”: “+10000000001”,
“caller_number_type”: 2,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“callee_number”: “801”,
“callee_number_type”: 1,
“callee_name”: “Main Auto Receptionist”,
“direction”: “inbound”,
“duration”: 296,
“result”: “Call connected”,
“date_time”: “2026-01-01T00:00:00Z”,
“path”: “autoReceptionist”,
“has_recording”: false,
“has_voicemail”: false,
“log_details”: [
{
“id”: “b2c3d4e5-f6a7-8901-bcde-f12345678901”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 0,
“result”: “2”,
“date_time”: “2026-01-01T00:00:30Z”,
“path”: “ivrMenu”,
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“department”: “Test Department AR”,
“cost_center”: “”
},
{
“id”: “c3d4e5f6-a7b8-9012-cdef-123456789012”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 296,
“result”: “Auto Recorded”,
“date_time”: “2026-01-01T00:00:31Z”,
“path”: “callQueue”,
“recording_id”: “00000000000000000000000000000000”,
“recording_type”: “Automatic”,
“forward_to”: {
“type”: “callQueue”,
“name”: “Test Queue”,
“id”: “0000000000000000000000”,
“extension_number”: “981”
},
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“answer_start_time”: “2026-01-01T00:00:00Z”,
“department”: “Test Department - Intake”,
“cost_center”: “TEST”
},
{
“id”: “d4e5f6a7-b8c9-0123-defa-234567890123”,
“call_type”: “voip”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 0,
“result”: “Answered by Other Member”,
“date_time”: “2026-01-01T00:00:32Z”,
“path”: “extension”,
“forward_to”: {
“type”: “user”,
“name”: “Test User A”,
“id”: “0000000000000000000000”,
“extension_number”: “1019”
},
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“call_end_time”: “2026-01-01T00:00:37Z”,
“department”: “Test Department”,
“cost_center”: “”
},
{
“id”: “e5f6a7b8-c9d0-1234-efab-345678901234”,
“call_type”: “voip”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 296,
“result”: “Call connected”,
“date_time”: “2026-01-01T00:00:32Z”,
“path”: “extension”,
“forward_to”: {
“type”: “user”,
“name”: “Test User B”,
“id”: “0000000000000000000001”,
“extension_number”: “883”
},
“ai_call_summary_id”: “00000000-0000-0000-0000-000000000000”,
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“answer_start_time”: “2026-01-01T00:00:37Z”,
“call_end_time”: “2026-01-01T00:05:33Z”,
“department”: “Test Department”,
“cost_center”: “”
}
],
“call_id”: “000000000000000000”,
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“callee_did_number”: “+10000000000”,
“callee_country_code”: “1”,
“callee_country_iso_code”: “US”,
“answer_start_time”: “2026-01-01T00:00:00Z”,
“department”: “Test Department AR”,
“cost_center”: “”
}

Case 5: Inbound - Call connected - no recording id - with ai call summary id
{
“id”: “a1b2c3d4-e5f6-7890-abcd-ef1234567890”,
“call_type”: “voip”,
“caller_number”: “1001”,
“caller_number_type”: 1,
“caller_name”: “Test User A”,
“callee_number”: “1002”,
“callee_number_type”: 1,
“callee_name”: “Test User B”,
“direction”: “inbound”,
“duration”: 74,
“result”: “Call connected”,
“date_time”: “2026-01-01T00:00:00Z”,
“path”: “extension”,
“has_recording”: false,
“has_voicemail”: false,
“log_details”: ,
“call_id”: “000000000000000000”,
“ai_call_summary_id”: “00000000-0000-0000-0000-000000000000”,
“answer_start_time”: “2026-01-01T00:00:04Z”,
“call_end_time”: “2026-01-01T00:01:18Z”,
“department”: “”,
“cost_center”: “”
}

Case 6: Inbound - Call connected - with recording id but Unable to transcribe this recording. - with ai call summary id
{
“id”: “a1b2c3d4-e5f6-7890-abcd-ef1234567890”,
“call_type”: “voip”,
“caller_number”: “+10000000001”,
“caller_number_type”: 2,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“callee_number”: “801”,
“callee_number_type”: 1,
“callee_name”: “Main Auto Receptionist”,
“direction”: “inbound”,
“duration”: 5,
“result”: “Call connected”,
“date_time”: “2026-01-01T00:00:00Z”,
“path”: “autoReceptionist”,
“has_recording”: false,
“has_voicemail”: false,
“log_details”: [
{
“id”: “b2c3d4e5-f6a7-8901-bcde-f12345678901”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 0,
“result”: “1”,
“date_time”: “2026-01-01T00:00:34Z”,
“path”: “ivrMenu”,
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“department”: “Test Department AR”,
“cost_center”: “”
},
{
“id”: “c3d4e5f6-a7b8-9012-cdef-123456789012”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 5,
“result”: “Auto Recorded”,
“date_time”: “2026-01-01T00:00:34Z”,
“path”: “callQueue”,
“recording_id”: “00000000000000000000000000000000”,
“recording_type”: “Automatic”,
“forward_to”: {
“type”: “callQueue”,
“name”: “Test Intake Queue”,
“id”: “0000000000000000000000”,
“extension_number”: “980”
},
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“answer_start_time”: “2026-01-01T00:00:00Z”,
“department”: “Test Department”,
“cost_center”: “TEST - Intake”
},
{
“id”: “d4e5f6a7-b8c9-0123-defa-234567890123”,
“call_type”: “voip”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 0,
“result”: “Answered by Other Member”,
“date_time”: “2026-01-01T00:00:37Z”,
“path”: “extension”,
“forward_to”: {
“type”: “user”,
“name”: “Test User A”,
“id”: “0000000000000000000001”,
“extension_number”: “1015”
},
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“call_end_time”: “2026-01-01T00:01:08Z”,
“department”: “Test Department”,
“cost_center”: “”
},
{
“id”: “e5f6a7b8-c9d0-1234-efab-345678901234”,
“call_type”: “voip”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 0,
“result”: “No Answer”,
“date_time”: “2026-01-01T00:00:37Z”,
“path”: “extension”,
“forward_to”: {
“type”: “user”,
“name”: “Test User B”,
“id”: “0000000000000000000002”,
“extension_number”: “1054”
},
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“call_end_time”: “2026-01-01T00:01:08Z”,
“department”: “”,
“cost_center”: “”
},
{
“id”: “f6a7b8c9-d0e1-2345-fabc-456789012345”,
“call_type”: “voip”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 0,
“result”: “Answered by Other Member”,
“date_time”: “2026-01-01T00:00:37Z”,
“path”: “extension”,
“forward_to”: {
“type”: “user”,
“name”: “Test User C”,
“id”: “0000000000000000000003”,
“extension_number”: “1088”
},
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“call_end_time”: “2026-01-01T00:00:38Z”,
“department”: “Test Department”,
“cost_center”: “”
},
{
“id”: “a7b8c9d0-e1f2-3456-abcd-567890123456”,
“call_type”: “voip”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 0,
“result”: “Answered by Other Member”,
“date_time”: “2026-01-01T00:00:37Z”,
“path”: “extension”,
“forward_to”: {
“type”: “user”,
“name”: “Test User D”,
“id”: “0000000000000000000004”,
“extension_number”: “1056”
},
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“call_end_time”: “2026-01-01T00:00:37Z”,
“department”: “”,
“cost_center”: “”
},
{
“id”: “b8c9d0e1-f2a3-4567-bcde-678901234567”,
“call_type”: “voip”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 0,
“result”: “Answered by Other Member”,
“date_time”: “2026-01-01T00:00:37Z”,
“path”: “extension”,
“forward_to”: {
“type”: “user”,
“name”: “Test User E”,
“id”: “0000000000000000000005”,
“extension_number”: “1017”
},
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“call_end_time”: “2026-01-01T00:00:38Z”,
“department”: “Test Department”,
“cost_center”: “”
},
{
“id”: “c9d0e1f2-a3b4-5678-cdef-789012345678”,
“call_type”: “voip”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 0,
“result”: “Answered by Other Member”,
“date_time”: “2026-01-01T00:00:37Z”,
“path”: “extension”,
“forward_to”: {
“type”: “user”,
“name”: “Test User F”,
“id”: “0000000000000000000006”,
“extension_number”: “857”
},
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“call_end_time”: “2026-01-01T00:00:38Z”,
“department”: “Test Department”,
“cost_center”: “”
},
{
“id”: “d0e1f2a3-b4c5-6789-defa-890123456789”,
“call_type”: “voip”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 0,
“result”: “Answered by Other Member”,
“date_time”: “2026-01-01T00:00:37Z”,
“path”: “extension”,
“forward_to”: {
“type”: “user”,
“name”: “Test User G”,
“id”: “0000000000000000000007”,
“extension_number”: “985”
},
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“call_end_time”: “2026-01-01T00:00:37Z”,
“department”: “Test Department”,
“cost_center”: “”
},
{
“id”: “e1f2a3b4-c5d6-7890-efab-901234567890”,
“call_type”: “voip”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 0,
“result”: “Answered by Other Member”,
“date_time”: “2026-01-01T00:01:13Z”,
“path”: “extension”,
“forward_to”: {
“type”: “user”,
“name”: “Test User H”,
“id”: “0000000000000000000008”,
“extension_number”: “1081”
},
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“call_end_time”: “2026-01-01T00:01:25Z”,
“department”: “Test Department”,
“cost_center”: “”
},
{
“id”: “f2a3b4c5-d6e7-8901-abcd-012345678901”,
“call_type”: “voip”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 0,
“result”: “Answered by Other Member”,
“date_time”: “2026-01-01T00:01:13Z”,
“path”: “extension”,
“forward_to”: {
“type”: “user”,
“name”: “Test User A”,
“id”: “0000000000000000000001”,
“extension_number”: “1015”
},
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“call_end_time”: “2026-01-01T00:01:25Z”,
“department”: “Test Department”,
“cost_center”: “”
},
{
“id”: “a3b4c5d6-e7f8-9012-bcde-123456789012”,
“call_type”: “voip”,
“caller_number_source”: “external”,
“caller_location”: “United States”,
“duration”: 5,
“result”: “Call connected”,
“date_time”: “2026-01-01T00:01:13Z”,
“path”: “extension”,
“forward_to”: {
“type”: “user”,
“name”: “Test User B”,
“id”: “0000000000000000000002”,
“extension_number”: “1054”
},
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“answer_start_time”: “2026-01-01T00:01:25Z”,
“call_end_time”: “2026-01-01T00:01:30Z”,
“department”: “”,
“cost_center”: “”
}
],
“call_id”: “000000000000000000”,
“caller_country_code”: “1”,
“caller_country_iso_code”: “US”,
“callee_did_number”: “+10000000000”,
“callee_country_code”: “1”,
“callee_country_iso_code”: “US”,
“answer_start_time”: “2026-01-01T00:00:00Z”,
“department”: “Test Department AR”,
“cost_center”: “”
}

Questions

  1. Under what conditions are AI call summaries generated?

    • Are they limited to specific account types, regions, or features (e.g., Zoom AI Companion enabled)?
  2. When should we expect a recording ID to be present?

    • Is it only when cloud recording is explicitly enabled for the call?

    • Are there cases where a call is recorded but the recording ID is delayed or not included in the initial payload?

  3. Is there a recommended way to reliably retrieve:

    • AI summaries

    • Recording metadata
      (e.g., separate API endpoints instead of relying on webhook payloads?)

  4. Are there known differences between:

    • result = "call connected" vs result = "completed"
      in terms of recording or AI summary availability?

Goal

I want to build a reliable workflow that:

  • Detects successful calls

  • Retrieves recordings and AI summaries when available

  • Handles cases where data is delayed or missing

At the moment, the inconsistency makes it difficult to determine whether:

  • The data is unavailable

  • Delayed

  • Or requires a different API to retrieve

Any clarification or guidance would be greatly appreciated.

Thanks in advance!

Hi @Jessica_Nicole thanks for bringing this up! Let’s get you sorted out!

Yes there are different prerequisites and enablement flows. Please see it all outlined here: Enabling Call summary with AI Companion
Additionally, if is all set up correctly, it may be that the user did not generate a phone call summary during the call: Using Call summary with AI Companion

You should expect to receive a recording id provided these conditions are met: Managing Zoom Phone automatic call recording settings . Can you confirm if you see the recordings in the portal so we can narrow down if this is an API issue? Viewing Zoom Phone recording logs

Latency issue is unlikely, but possible. Please confirm the exact endpoints and webhooks you’re using. I want to make sure you’re not using any deprecated ones. See deprecations list here: Phone Changelog - Zoom Developer Changelog

Yes, by ensuring all the conditions for Phone AI summaries are met which is outlined in the support articles above and using the recording endpoints for recordings: Zoom Phone API - API - Zoom Developer Docs

Hmm, I’m uncertain about this one because I’m seeing conflicting documentation. In the support guide Viewing Zoom Phone call history logs (Classic View) , it says “call connected” means the call was answered by the recipient however, in the API and events documentation, “connected” means it is ringing. I’m not seeing “completed” as a result value though. Where are you seeing this?

This guide may also be helpful: