Description
Chat Message webhooks only fire when an in-org user sends a Zoom Chat message.
This means that applications leveraging Chat Message webhooks only receive one side of the chat conversation.
Capturing both sides requires polling the /chat/users/{userId}/messages API endpoint, which is a discouraged design pattern for Zoom Marketplace apps.
One-sided Chat Messages (using Chat Message Webhooks)
[
{
"event": "chat_message.sent",
"payload": {
"account_id": "foo",
"operator": "john.smith@gmail.com",
"operator_id": "8ixdgGR5RcmeIBd8XzRHIg",
"object": {
"date_time": "2020-09-30T16:13:38Z",
"parent_msg_id": "67360091-581D-401E-BF11-B560495FE2E5",
"session_id": "8ixdggr5rcmeibd8xzrhig:n8jsohe2trqzachvcat1qa",
"id": "67360091-581D-401E-BF11-B560495FE2E5",
"type": "to_contact",
"contact_id": "n8JsOHE2TrqZacHVCat1qA",
"message": "Just shared the above screenshot. ",
"contact_email": "jane.smith@gmail.com",
"timestamp": 1601482418156
}
}
},
{
"event": "chat_message.sent",
"payload": {
"account_id": "foo",
"operator": "john.smith@gmail.com",
"operator_id": "8ixdgGR5RcmeIBd8XzRHIg",
"object": {
"date_time": "2020-09-30T16:10:27Z",
"parent_msg_id": "C22C35BD-1681-4DCF-960E-05EEDE9AD2F4",
"session_id": "8ixdggr5rcmeibd8xzrhig:n8jsohe2trqzachvcat1qa",
"id": "C22C35BD-1681-4DCF-960E-05EEDE9AD2F4",
"type": "to_contact",
"contact_id": "n8JsOHE2TrqZacHVCat1qA",
"message": "Just shared the above code snippet",
"contact_email": "jane.smith@gmail.com",
"timestamp": 1601482227874
}
}
},
{
"event": "chat_message.sent",
"payload": {
"account_id": "foo",
"operator": "john.smith@gmail.com",
"operator_id": "8ixdgGR5RcmeIBd8XzRHIg",
"object": {
"date_time": "2020-09-30T16:08:21Z",
"parent_msg_id": "B61A5290-2A09-4DD7-AFED-460BACF96D56",
"session_id": "8ixdggr5rcmeibd8xzrhig:n8jsohe2trqzachvcat1qa",
"id": "B61A5290-2A09-4DD7-AFED-460BACF96D56",
"type": "to_contact",
"contact_id": "n8JsOHE2TrqZacHVCat1qA",
"message": "Reply received!",
"contact_email": "jane.smith@gmail.com",
"timestamp": 1601482101912
}
}
},
{
"event": "chat_message.sent",
"payload": {
"account_id": "foo",
"operator": "john.smith@gmail.com",
"operator_id": "8ixdgGR5RcmeIBd8XzRHIg",
"object": {
"date_time": "2020-09-30T16:06:44Z",
"parent_msg_id": "0E0F67E1-2A68-468B-9EDE-3E8057BCCC1E",
"session_id": "8ixdggr5rcmeibd8xzrhig:n8jsohe2trqzachvcat1qa",
"id": "0E0F67E1-2A68-468B-9EDE-3E8057BCCC1E",
"type": "to_contact",
"contact_id": "n8JsOHE2TrqZacHVCat1qA",
"message": "Zoom Chat test. Sent by user inside Zoom org. \ud83d\udc4b",
"contact_email": "jane.smith@gmail.com",
"timestamp": 1601482004918
}
}
}
]
All Chat Messages (using GET /chat/users/{userId}/messages endpoint)
{
"date": "2020-09-30",
"page_size": 10,
"next_page_token": "",
"messages": [
{
"id": "67360091-581D-401E-BF11-B560495FE2E5",
"message": "Just shared the above screenshot. ",
"sender": "john.smith@gmail.com",
"date_time": "2020-09-30T16:13:38Z",
"timestamp": 1601482418156
},
{
"id": "E658BAA2-2CE5-45BD-AD2F-0152B182EE06",
"message": "John Smith has sent you an image",
"sender": "john.smith@gmail.com",
"date_time": "2020-09-30T16:12:54Z",
"timestamp": 1601482374754
},
{
"id": "C22C35BD-1681-4DCF-960E-05EEDE9AD2F4",
"message": "Just shared the above code snippet",
"sender": "john.smith@gmail.com",
"date_time": "2020-09-30T16:10:27Z",
"timestamp": 1601482227874
},
{
"id": "2FD473BD-70AE-4D5C-BCE8-BB599BEB3CB3",
"message": "John Smith has sent you a code snippet",
"sender": "john.smith@gmail.com",
"date_time": "2020-09-30T16:10:15Z",
"timestamp": 1601482215726
},
{
"id": "B61A5290-2A09-4DD7-AFED-460BACF96D56",
"message": "Reply received!",
"sender": "john.smith@gmail.com",
"date_time": "2020-09-30T16:08:21Z",
"timestamp": 1601482101912
},
{
"id": "0CD63C0A-07C6-4CB0-943C-E96343BD1A07",
"message": "Hello! This is a reply from a user outside the Zoom org.",
"sender": "jane.smith@gmail.com",
"date_time": "2020-09-30T16:08:08Z",
"timestamp": 1601482088937
},
{
"id": "0E0F67E1-2A68-468B-9EDE-3E8057BCCC1E",
"message": "Zoom Chat test. Sent by user inside Zoom org. \ud83d\udc4b",
"sender": "john.smith@gmail.com",
"date_time": "2020-09-30T16:06:44Z",
"timestamp": 1601482004918
}
]
}
Which App Type (OAuth / Chatbot / JWT / Webhook)?
Account-level OAuth 2.0
Which Endpoint/s?
API: GET /chat/users/{userId}/messages
Webhook: chat_message.sent