Skip to content

Commit 1db9b3b

Browse files
committed
zoom: map user.email and participant.public_ip fields to ECS
Also add new field definitions from the API docs[1][2]. Note that public_ip is not listed in the documentation but is observed in provided events (added in tests). [1]https://developers.zoom.us/docs/api/meetings/events/#tag/meeting/POSTmeeting.participant_joined [2]https://developers.zoom.us/docs/api/meetings/events/#tag/webinar/POSTwebinar.participant_joined
1 parent f6b7e12 commit 1db9b3b

20 files changed

+355
-10
lines changed

packages/zoom/changelog.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
# newer versions go on top
2+
- version: "1.23.0"
3+
changes:
4+
- description: Map `user.email` and `source.ip` from available fields.
5+
type: enhancement
6+
link: https://github.com/elastic/integrations/pull/14499
27
- version: "1.22.0"
38
changes:
49
- description: Update Kibana constraint to support 9.0.0.

packages/zoom/data_stream/webhook/_dev/test/pipeline/test-account.json-expected.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,4 +148,4 @@
148148
}
149149
}
150150
]
151-
}
151+
}

packages/zoom/data_stream/webhook/_dev/test/pipeline/test-chat-channel.json-expected.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,4 +234,4 @@
234234
}
235235
}
236236
]
237-
}
237+
}

packages/zoom/data_stream/webhook/_dev/test/pipeline/test-chat-message.json-expected.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,4 +126,4 @@
126126
}
127127
}
128128
]
129-
}
129+
}

packages/zoom/data_stream/webhook/_dev/test/pipeline/test-meeting.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,35 @@
416416
}
417417
}
418418
}
419+
},
420+
{
421+
"zoom": {
422+
"event": "meeting.participant_joined",
423+
"event_ts": 1752127174016,
424+
"payload": {
425+
"account_id": "HzozXXXXXXXX",
426+
"object": {
427+
"duration": 60,
428+
"host_id": "dNvWUbXXXXXXXXXXXXXX",
429+
"id": "986XXXXXXXX",
430+
"participant": {
431+
"email": "user@elastic",
432+
"id": "8XjrxbGtXXXXXXXXXX",
433+
"join_time": "2025-07-10T05:59:30Z",
434+
"participant_user_id": "8XjrxbGtXXXXXXXXXX",
435+
"participant_uuid": "0E699901-3B16-3698-3388-XXXXXXXXXX",
436+
"public_ip": "81.2.69.144",
437+
"user_id": "123456789",
438+
"user_name": "Display Name of User"
439+
},
440+
"start_time": "2025-07-10T05:57:47Z",
441+
"timezone": "Asia/Seoul",
442+
"topic": "Team Meeting",
443+
"type": 2,
444+
"uuid": "pU/13Hdsdfsdfsdf7xZZzpUg=="
445+
}
446+
}
447+
}
419448
}
420449
]
421450
}

packages/zoom/data_stream/webhook/_dev/test/pipeline/test-meeting.json-expected.json

Lines changed: 66 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -687,6 +687,71 @@
687687
"user_name": "shree"
688688
}
689689
}
690+
},
691+
{
692+
"ecs": {
693+
"version": "8.11.0"
694+
},
695+
"event": {
696+
"action": "meeting.participant_joined",
697+
"duration": 3600000000000,
698+
"kind": [
699+
"event"
700+
],
701+
"type": [
702+
"info"
703+
]
704+
},
705+
"observer": {
706+
"product": "Webhook",
707+
"vendor": "Zoom"
708+
},
709+
"related": {
710+
"user": [
711+
"8XjrxbGtXXXXXXXXXX",
712+
"dNvWUbXXXXXXXXXXXXXX"
713+
]
714+
},
715+
"source": {
716+
"geo": {
717+
"city_name": "London",
718+
"continent_name": "Europe",
719+
"country_iso_code": "GB",
720+
"country_name": "United Kingdom",
721+
"location": {
722+
"lat": 51.5142,
723+
"lon": -0.0931
724+
},
725+
"region_iso_code": "GB-ENG",
726+
"region_name": "England"
727+
},
728+
"ip": "81.2.69.144"
729+
},
730+
"user": {
731+
"email": "user@elastic",
732+
"full_name": "Display Name of User",
733+
"id": "8XjrxbGtXXXXXXXXXX"
734+
},
735+
"zoom": {
736+
"account_id": "HzozXXXXXXXX",
737+
"meeting": {
738+
"host_id": "dNvWUbXXXXXXXXXXXXXX",
739+
"id": "986XXXXXXXX",
740+
"start_time": "2025-07-10T05:57:47Z",
741+
"timezone": "Asia/Seoul",
742+
"topic": "Team Meeting",
743+
"type": 2,
744+
"uuid": "pU/13Hdsdfsdfsdf7xZZzpUg=="
745+
},
746+
"participant": {
747+
"email": "user@elastic",
748+
"id": "8XjrxbGtXXXXXXXXXX",
749+
"participant_user_id": "8XjrxbGtXXXXXXXXXX",
750+
"participant_uuid": "0E699901-3B16-3698-3388-XXXXXXXXXX",
751+
"user_id": "123456789",
752+
"user_name": "Display Name of User"
753+
}
754+
}
690755
}
691756
]
692-
}
757+
}

packages/zoom/data_stream/webhook/_dev/test/pipeline/test-phone.json-expected.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -476,4 +476,4 @@
476476
}
477477
}
478478
]
479-
}
479+
}

packages/zoom/data_stream/webhook/_dev/test/pipeline/test-recording.json-expected.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,4 +595,4 @@
595595
}
596596
}
597597
]
598-
}
598+
}

packages/zoom/data_stream/webhook/_dev/test/pipeline/test-user.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,23 @@
229229
}
230230
}
231231
}
232+
},
233+
{
234+
"zoom": {
235+
"event": "user.signed_in",
236+
"event_ts": 1752128713153,
237+
"payload": {
238+
"account_id": "HzozXXXXXXXX",
239+
"object": {
240+
"client_type": "iphone",
241+
"date_time": "2025-07-10T06:25:13Z",
242+
"email": "username@elastic",
243+
"id": "WYVlJyXXXXXXXXXXXXX",
244+
"login_type": 101,
245+
"version": "6.5.1.25747"
246+
}
247+
}
248+
}
232249
}
233250
]
234251
}

packages/zoom/data_stream/webhook/_dev/test/pipeline/test-user.json-config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ dynamic_fields:
22
"event.ingested": ".*"
33
numeric_keyword_fields:
44
- "zoom.user.type"
5+
- "zoom.user.login_type"

0 commit comments

Comments
 (0)