Repository: amp-labs/connectors
Pull request #1698 (2025-05-27 17:37:36)

feat(zoom): Update ListObjectMetadata V2

Cobalt0s: > [!WARNING]
> <b>This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack <a href="https://app.graphite.dev/github/pr/amp-labs/connectors/1698?utm_source=stack-comment-downstack-mergeability-warning" >on Graphite</a>.</b>
> <a href="https://graphite.dev/docs/merge-pull-requests">Learn more</a>

* **#1698** <a href="https://app.graphite.dev/github/pr/amp-labs/connectors/1698?utm_source=stack-comment-icon" target="_blank"><img src="https://static.graphite.dev/graphite-32x32-black.png" alt="Graphite" width="10px" height="10px"/></a> 👈 <a href="https://app.graphite.dev/github/pr/amp-labs/connectors/1698?utm_source=stack-comment-view-in-graphite" target="_blank">(View in Graphite)</a>
* **#1697** <a href="https://app.graphite.dev/github/pr/amp-labs/connectors/1697?utm_source=stack-comment-icon" target="_blank"><img src="https://static.graphite.dev/graphite-32x32-black.png" alt="Graphite" width="10px" height="10px"/></a>
* **#1691** <a href="https://app.graphite.dev/github/pr/amp-labs/connectors/1691?utm_source=stack-comment-icon" target="_blank"><img src="https://static.graphite.dev/graphite-32x32-black.png" alt="Graphite" width="10px" height="10px"/></a>
* `main`


<h2></h2>

This stack of pull requests is managed by <a href="https://graphite.dev?utm-source=stack-comment"><b>Graphite</b></a>. Learn more about <a href="https://stacking.dev/?utm_source=stack-comment">stacking</a>.
<!-- Current dependencies on/for this PR: -->

Patch:
diff --git a/providers/zoom/metadata/scraping.go b/providers/zoom/metadata/metadata.go
similarity index 92%
rename from providers/zoom/metadata/scraping.go
rename to providers/zoom/metadata/metadata.go
index c22a8d57..fd1bd3fb 100644
--- a/providers/zoom/metadata/scraping.go
+++ b/providers/zoom/metadata/metadata.go
@@ -14,7 +14,7 @@ var (
 	//go:embed schemas.json
 	schemas []byte
 
-	FileManager = scrapper.NewMetadataFileManager[staticschema.FieldMetadataMapV1]( // nolint:gochecknoglobals
+	FileManager = scrapper.NewMetadataFileManager[staticschema.FieldMetadataMapV2]( // nolint:gochecknoglobals
 		schemas, fileconv.NewSiblingFileLocator())
 
 	// Schemas is cached Object schemas.
diff --git a/providers/zoom/metadata/schemas.json b/providers/zoom/metadata/schemas.json
index 3d1f2edf..abd519fa 100644
--- a/providers/zoom/metadata/schemas.json
+++ b/providers/zoom/metadata/schemas.json
@@ -9,25 +9,121 @@
           "path": "/archive_files",
           "responseKey": "meetings",
           "fields": {
-            "account_name": "account_name",
-            "archive_files": "archive_files",
-            "complete_time": "complete_time",
-            "duration": "duration",
-            "duration_in_second": "duration_in_second",
-            "group_id": "group_id",
-            "host_id": "host_id",
-            "id": "id",
-            "is_breakout_room": "is_breakout_room",
-            "meeting_type": "meeting_type",
-            "parent_meeting_id": "parent_meeting_id",
-            "recording_count": "recording_count",
-            "start_time": "start_time",
-            "status": "status",
-            "timezone": "timezone",
-            "topic": "topic",
-            "total_size": "total_size",
-            "type": "type",
-            "uuid": "uuid"
+            "account_name": {
+              "displayName": "account_name",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "archive_files": {
+              "displayName": "archive_files",
+              "valueType": "other",
+              "providerType": "array"
+            },
+            "complete_time": {
+              "displayName": "complete_time",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "duration": {
+              "displayName": "duration",
+              "valueType": "int",
+              "providerType": "integer"
+            },
+            "duration_in_second": {
+              "displayName": "duration_in_second",
+              "valueType": "int",
+              "providerType": "integer"
+            },
+            "group_id": {
+              "displayName": "group_id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "host_id": {
+              "displayName": "host_id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "id": {
+              "displayName": "id",
+              "valueType": "int",
+              "providerType": "integer"
+            },
+            "is_breakout_room": {
+              "displayName": "is_breakout_room",
+              "valueType": "boolean",
+              "providerType": "boolean"
+            },
+            "meeting_type": {
+              "displayName": "meeting_type",
+              "valueType": "singleSelect",
+              "providerType": "string",
+              "values": [
+                {
+                  "value": "internal",
+                  "displayValue": "internal"
+                },
+                {
+                  "value": "external",
+                  "displayValue": "external"
+                }
+              ]
+            },
+            "parent_meeting_id": {
+              "displayName": "parent_meeting_id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "recording_count": {
+              "displayName": "recording_count",
+              "valueType": "int",
+              "providerType": "integer"
+            },
+            "start_time": {
+              "displayName": "start_time",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "status": {
+              "displayName": "status",
+              "valueType": "singleSelect",
+              "providerType": "string",
+              "values": [
+                {
+                  "value": "completed",
+                  "displayValue": "completed"
+                },
+                {
+                  "value": "processing",
+                  "displayValue": "processing"
+                }
+              ]
+            },
+            "timezone": {
+              "displayName": "timezone",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "topic": {
+              "displayName": "topic",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "total_size": {
+              "displayName": "total_size",
+              "valueType": "int",
+              "providerType": "integer"
+            },
+            "type": {
+              "displayName": "type",
+              "valueType": "int",
+              "providerType": "integer"
+            },
+            "uuid": {
+              "displayName": "uuid",
+              "valueType": "string",
+              "providerType": "string"
+            }
           }
         },
         "contacts/groups": {
@@ -35,10 +131,26 @@
           "path": "/contacts/groups",
           "responseKey": "groups",
           "fields": {
-            "description": "description",
-            "group_id": "group_id",
-            "group_name": "group_name",
-            "group_privacy": "group_privacy"
+            "description": {
+              "displayName": "description",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "group_id": {
+              "displayName": "group_id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "group_name": {
+              "displayName": "group_name",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "group_privacy": {
+              "displayName": "group_privacy",
+              "valueType": "int",
+              "providerType": "integer"
+            }
           }
         },
         "devices": {
@@ -46,24 +158,96 @@
           "path": "/devices",
           "responseKey": "devices",
           "fields": {
-            "app_version": "app_version",
-            "connected_to_zdm": "connected_to_zdm",
-            "device_id": "device_id",
-            "device_name": "device_name",
-            "device_status": "device_status",
-            "device_type": "device_type",
-            "enrolled_in_zdm": "enrolled_in_zdm",
-            "last_online": "last_online",
-            "mac_address": "mac_address",
-            "model": "model",
-            "platform_os": "platform_os",
-            "room_id": "room_id",
-            "room_name": "room_name",
-            "serial_number": "serial_number",
-            "skd_version": "skd_version",
-            "tag": "tag",
-            "user_email": "user_email",
-            "vendor": "vendor"
+            "app_version": {
+              "displayName": "app_version",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "connected_to_zdm": {
+              "displayName": "connected_to_zdm",
+              "valueType": "boolean",
+              "providerType": "boolean"
+            },
+            "device_id": {
+              "displayName": "device_id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "device_name": {
+              "displayName": "device_name",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "device_status": {
+              "displayName": "device_status",
+              "valueType": "int",
+              "providerType": "integer"
+            },
+            "device_type": {
+              "displayName": "device_type",
+              "valueType": "int",
+              "providerType": "integer"
+            },
+            "enrolled_in_zdm": {
+              "displayName": "enrolled_in_zdm",
+              "valueType": "boolean",
+              "providerType": "boolean"
+            },
+            "last_online": {
+              "displayName": "last_online",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "mac_address": {
+              "displayName": "mac_address",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "model": {
+              "displayName": "model",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "platform_os": {
+              "displayName": "platform_os",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "room_id": {
+              "displayName": "room_id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "room_name": {
+              "displayName": "room_name",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "serial_number": {
+              "displayName": "serial_number",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "skd_version": {
+              "displayName": "skd_version",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "tag": {
+              "displayName": "tag",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "user_email": {
+              "displayName": "user_email",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "vendor": {
+              "displayName": "vendor",
+              "valueType": "string",
+              "providerType": "string"
+            }
           }
         },
         "devices/groups": {
@@ -71,9 +255,21 @@
           "path": "/devices/groups",
           "responseKey": "groups",
           "fields": {
-            "description": "description",
-            "name": "name",
-            "zdm_group_id": "zdm_group_id"
+            "description": {
+              "displayName": "description",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "name": {
+              "displayName": "name",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "zdm_group_id": {
+              "displayName": "zdm_group_id",
+              "valueType": "string",
+              "providerType": "string"
+            }
           }
         },
         "groups": {
@@ -81,9 +277,21 @@
           "path": "/groups",
           "responseKey": "groups",
           "fields": {
-            "id": "id",
-            "name": "name",
-            "total_members": "total_members"
+            "id": {
+              "displayName": "id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "name": {
+              "displayName": "name",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "total_members": {
+              "displayName": "total_members",
+              "valueType": "int",
+              "providerType": "integer"
+            }
           }
         },
         "h323/devices": {
@@ -91,11 +299,55 @@
           "path": "/h323/devices",
           "responseKey": "devices",
           "fields": {
-            "encryption": "encryption",
-            "id": "id",
-            "ip": "ip",
-            "name": "name",
-            "protocol": "protocol"
+            "encryption": {
+              "displayName": "encryption",
+              "valueType": "singleSelect",
+              "providerType": "string",
+              "values": [
+                {
+                  "value": "auto",
+                  "displayValue": "auto"
+                },
+                {
+                  "value": "yes",
+                  "displayValue": "yes"
+                },
+                {
+                  "value": "no",
+                  "displayValue": "no"
+                }
+              ]
+            },
+            "id": {
+              "displayName": "id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "ip": {
+              "displayName": "ip",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "name": {
+              "displayName": "name",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "protocol": {
+              "displayName": "protocol",
+              "valueType": "singleSelect",
+              "providerType": "string",
+              "values": [
+                {
+                  "value": "H.323",
+                  "displayValue": "H.323"
+                },
+                {
+                  "value": "SIP",
+                  "displayValue": "SIP"
+                }
+              ]
+            }
           }
         },
         "meetings/meeting_summaries": {
@@ -103,17 +355,61 @@
           "path": "/meetings/meeting_summaries",
           "responseKey": "summaries",
           "fields": {
-            "meeting_end_time": "meeting_end_time",
-            "meeting_host_email": "meeting_host_email",
-            "meeting_host_id": "meeting_host_id",
-            "meeting_id": "meeting_id",
-            "meeting_start_time": "meeting_start_time",
-            "meeting_topic": "meeting_topic",
-            "meeting_uuid": "meeting_uuid",
-            "summary_created_time": "summary_created_time",
-            "summary_end_time": "summary_end_time",
-            "summary_last_modified_time": "summary_last_modified_time",
-            "summary_start_time": "summary_start_time"
+            "meeting_end_time": {
+              "displayName": "meeting_end_time",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "meeting_host_email": {
+              "displayName": "meeting_host_email",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "meeting_host_id": {
+              "displayName": "meeting_host_id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "meeting_id": {
+              "displayName": "meeting_id",
+              "valueType": "int",
+              "providerType": "integer"
+            },
+            "meeting_start_time": {
+              "displayName": "meeting_start_time",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "meeting_topic": {
+              "displayName": "meeting_topic",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "meeting_uuid": {
+              "displayName": "meeting_uuid",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "summary_created_time": {
+              "displayName": "summary_created_time",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "summary_end_time": {
+              "displayName": "summary_end_time",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "summary_last_modified_time": {
+              "displayName": "summary_last_modified_time",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "summary_start_time": {
+              "displayName": "summary_start_time",
+              "valueType": "string",
+              "providerType": "string"
+            }
           }
         },
         "report/activities": {
@@ -121,12 +417,46 @@
           "path": "/report/activities",
           "responseKey": "activity_logs",
           "fields": {
-            "client_type": "client_type",
-            "email": "email",
-            "ip_address": "ip_address",
-            "time": "time",
-            "type": "type",
-            "version": "version"
+            "client_type": {
+              "displayName": "client_type",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "email": {
+              "displayName": "email",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "ip_address": {
+              "displayName": "ip_address",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "time": {
+              "displayName": "time",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "type": {
+              "displayName": "type",
+              "valueType": "singleSelect",
+              "providerType": "string",
+              "values": [
+                {
+                  "value": "Sign in",
+                  "displayValue": "Sign in"
+                },
+                {
+                  "value": "Sign out",
+                  "displayValue": "Sign out"
+                }
+              ]
+            },
+            "version": {
+              "displayName": "version",
+              "valueType": "string",
+              "providerType": "string"
+            }
           }
         },
         "report/billing": {
@@ -134,12 +464,36 @@
           "path": "/report/billing",
           "responseKey": "billing_reports",
           "fields": {
-            "end_date": "end_date",
-            "id": "id",
-            "start_date": "start_date",
-            "tax_amount": "tax_amount",
-            "total_amount": "total_amount",
-            "type": "type"
+            "end_date": {
+              "displayName": "end_date",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "id": {
+              "displayName": "id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "start_date": {
+              "displayName": "start_date",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "tax_amount": {
+              "displayName": "tax_amount",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "total_amount": {
+              "displayName": "total_amount",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "type": {
+              "displayName": "type",
+              "valueType": "int",
+              "providerType": "integer"
+            }
           }
         },
         "sip_phones/phones": {
@@ -147,17 +501,61 @@
           "path": "/sip_phones/phones",
           "responseKey": "phones",
           "fields": {
-            "authorization_name": "authorization_name",
-            "domain": "domain",
-            "password": "password",
-            "phone_id": "phone_id",
-            "registration_expire_time": "registration_expire_time",
-            "server": "server",
-            "server_2": "server_2",
-            "server_3": "server_3",
-            "user_email": "user_email",
-            "user_name": "user_name",
-            "voice_mail": "voice_mail"
+            "authorization_name": {
+              "displayName": "authorization_name",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "domain": {
+              "displayName": "domain",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "password": {
+              "displayName": "password",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "phone_id": {
+              "displayName": "phone_id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "registration_expire_time": {
+              "displayName": "registration_expire_time",
+              "valueType": "int",
+              "providerType": "integer"
+            },
+            "server": {
+              "displayName": "server",
+              "valueType": "other",
+              "providerType": "object"
+            },
+            "server_2": {
+              "displayName": "server_2",
+              "valueType": "other",
+              "providerType": "object"
+            },
+            "server_3": {
+              "displayName": "server_3",
+              "valueType": "other",
+              "providerType": "object"
+            },
+            "user_email": {
+              "displayName": "user_email",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "user_name": {
+              "displayName": "user_name",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "voice_mail": {
+              "displayName": "voice_mail",
+              "valueType": "string",
+              "providerType": "string"
+            }
           }
         },
         "tracking_fields": {
@@ -165,11 +563,31 @@
           "path": "/tracking_fields",
           "responseKey": "tracking_fields",
           "fields": {
-            "field": "field",
-            "id": "id",
-            "recommended_values": "recommended_values",
-            "required": "required",
-            "visible": "visible"
+            "field": {
+              "displayName": "field",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "id": {
+              "displayName": "id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "recommended_values": {
+              "displayName": "recommended_values",
+              "valueType": "other",
+              "providerType": "array"
+            },
+            "required": {
+              "displayName": "required",
+              "valueType": "boolean",
+              "providerType": "boolean"
+            },
+            "visible": {
+              "displayName": "visible",
+              "valueType": "boolean",
+              "providerType": "boolean"
+            }
           }
         },
         "users": {
@@ -177,28 +595,204 @@
           "path": "/users",
           "responseKey": "users",
           "fields": {
-            "created_at": "created_at",
-            "custom_attributes": "custom_attributes",
-            "dept": "dept",
-            "display_name": "display_name",
-            "email": "email",
-            "employee_unique_id": "employee_unique_id",
-            "first_name": "first_name",
-            "group_ids": "group_ids",
-            "host_key": "host_key",
-            "id": "id",
-            "im_group_ids": "im_group_ids",
-            "last_client_version": "last_client_version",
-            "last_login_time": "last_login_time",
-            "last_name": "last_name",
-            "plan_united_type": "plan_united_type",
-            "pmi": "pmi",
-            "role_id": "role_id",
-            "status": "status",
-            "timezone": "timezone",
-            "type": "type",
-            "user_created_at": "user_created_at",
-            "verified": "verified"
+            "created_at": {
+              "displayName": "created_at",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "custom_attributes": {
+              "displayName": "custom_attributes",
+              "valueType": "other",
+              "providerType": "array"
+            },
+            "dept": {
+              "displayName": "dept",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "display_name": {
+              "displayName": "display_name",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "email": {
+              "displayName": "email",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "employee_unique_id": {
+              "displayName": "employee_unique_id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "first_name": {
+              "displayName": "first_name",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "group_ids": {
+              "displayName": "group_ids",
+              "valueType": "other",
+              "providerType": "array"
+            },
+            "host_key": {
+              "displayName": "host_key",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "id": {
+              "displayName": "id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "im_group_ids": {
+              "displayName": "im_group_ids",
+              "valueType": "other",
+              "providerType": "array"
+            },
+            "last_client_version": {
+              "displayName": "last_client_version",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "last_login_time": {
+              "displayName": "last_login_time",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "last_name": {
+              "displayName": "last_name",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "plan_united_type": {
+              "displayName": "plan_united_type",
+              "valueType": "singleSelect",
+              "providerType": "string",
+              "values": [
+                {
+                  "value": "1",
+                  "displayValue": "1"
+                },
+                {
+                  "value": "2",
+                  "displayValue": "2"
+                },
+                {
+                  "value": "4",
+                  "displayValue": "4"
+                },
+                {
+                  "value": "8",
+                  "displayValue": "8"
+                },
+                {
+                  "value": "16",
+                  "displayValue": "16"
+                },
+                {
+                  "value": "32",
+                  "displayValue": "32"
+                },
+                {
+                  "value": "64",
+                  "displayValue": "64"
+                },
+                {
+                  "value": "128",
+                  "displayValue": "128"
+                },
+                {
+                  "value": "256",
+                  "displayValue": "256"
+                },
+                {
+                  "value": "512",
+                  "displayValue": "512"
+                },
+                {
+                  "value": "1024",
+                  "displayValue": "1024"
+                },
+                {
+                  "value": "2048",
+                  "displayValue": "2048"
+                },
+                {
+                  "value": "4096",
+                  "displayValue": "4096"
+                },
+                {
+                  "value": "8192",
+                  "displayValue": "8192"
+                },
+                {
+                  "value": "16384",
+                  "displayValue": "16384"
+                },
+                {
+                  "value": "32768",
+                  "displayValue": "32768"
+                },
+                {
+                  "value": "65536",
+                  "displayValue": "65536"
+                },
+                {
+                  "value": "131072",
+                  "displayValue": "131072"
+                }
+              ]
+            },
+            "pmi": {
+              "displayName": "pmi",
+              "valueType": "int",
+              "providerType": "integer"
+            },
+            "role_id": {
+              "displayName": "role_id",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "status": {
+              "displayName": "status",
+              "valueType": "singleSelect",
+              "providerType": "string",
+              "values": [
+                {
+                  "value": "active",
+                  "displayValue": "active"
+                },
+                {
+                  "value": "inactive",
+                  "displayValue": "inactive"
+                },
+                {
+                  "value": "pending",
+                  "displayValue": "pending"
+                }
+              ]
+            },
+            "timezone": {
+              "displayName": "timezone",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "type": {
+              "displayName": "type",
+              "valueType": "int",
+              "providerType": "integer"
+            },
+            "user_created_at": {
+              "displayName": "user_created_at",
+              "valueType": "string",
+              "providerType": "string"
+            },
+            "verified": {
+              "displayName": "verified",
+              "valueType": "int",
+              "providerType": "integer"
+            }
           }
         }
       }
diff --git a/scripts/openapi/zoom/metadata/main.go b/scripts/openapi/zoom/metadata/main.go
index 70bd8ba6..f5acb1c4 100644
--- a/scripts/openapi/zoom/metadata/main.go
+++ b/scripts/openapi/zoom/metadata/main.go
@@ -9,13 +9,14 @@ import (
 	"github.com/amp-labs/connectors/internal/goutils"
 	"github.com/amp-labs/connectors/internal/staticschema"
 	"github.com/amp-labs/connectors/providers/zoom/metadata"
+	utilsopenapi "github.com/amp-labs/connectors/scripts/openapi/utils"
 	"github.com/amp-labs/connectors/scripts/openapi/zoom/metadata/meeting"
 	"github.com/amp-labs/connectors/scripts/openapi/zoom/metadata/user"
 	"github.com/amp-labs/connectors/tools/scrapper"
 )
 
 func main() {
-	schemas := staticschema.NewMetadata[staticschema.FieldMetadataMapV1]()
+	schemas := staticschema.NewMetadata[staticschema.FieldMetadataMapV2]()
 	registry := datautils.NamedLists[string]{}
 
 	objects := append(
@@ -35,9 +36,7 @@ func main() {
 
 		for _, field := range object.Fields {
 			schemas.Add(common.ModuleRoot, objectName, object.DisplayName, object.URLPath, object.ResponseKey,
-				staticschema.FieldMetadataMapV1{
-					field.Name: field.Name,
-				}, nil, object.Custom)
+				utilsopenapi.ConvertMetadataFieldToFieldMetadataMapV2(field), nil, object.Custom)
 		}
 
 		for _, queryParam := range object.QueryParams {


Test patch:
diff --git a/providers/zoom/metadata_test.go b/providers/zoom/metadata_test.go
index 4124f51e..aab777f8 100644
--- a/providers/zoom/metadata_test.go
+++ b/providers/zoom/metadata_test.go
@@ -69,6 +69,20 @@ func TestListObjectMetadata(t *testing.T) { // nolint:funlen
 				Result: map[string]common.ObjectMetadata{
 					"report/activities": {
 						DisplayName: "Activities",
+						Fields: map[string]common.FieldMetadata{
+							"type": {
+								DisplayName:  "type",
+								ValueType:    "singleSelect",
+								ProviderType: "string",
+								Values: common.FieldValues{{
+									Value:        "Sign in",
+									DisplayValue: "Sign in",
+								}, {
+									Value:        "Sign out",
+									DisplayValue: "Sign out",
+								}},
+							},
+						},
 						FieldsMap: map[string]string{
 							"client_type": "client_type",
 							"type":        "type",
@@ -78,6 +92,13 @@ func TestListObjectMetadata(t *testing.T) { // nolint:funlen
 					},
 					"devices/groups": {
 						DisplayName: "Device Groups",
+						Fields: map[string]common.FieldMetadata{
+							"zdm_group_id": {
+								DisplayName:  "zdm_group_id",
+								ValueType:    "string",
+								ProviderType: "string",
+							},
+						},
 						FieldsMap: map[string]string{
 							"name":        "name",
 							"description": "description",