# Integrate Zoom API with Slack App via Webhook

**URL:** <https://devforum.zoom.us/t/integrate-zoom-api-with-slack-app-via-webhook/137010>\
**Category:** API and Webhooks\
**Tags:** webhooks\
**Created:** [September 1, 2025, 5:57am UTC](https://devforum.zoom.us/t/integrate-zoom-api-with-slack-app-via-webhook/137010 "2025-09-01T05:57:29Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![mrc](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/mrc/32/71023_2.png) [@mrc](https://devforum.zoom.us/u/mrc)\
**Post date:** [September 1, 2025, 5:57am UTC](https://devforum.zoom.us/t/integrate-zoom-api-with-slack-app-via-webhook/137010/1 "2025-09-01T05:57:29Z")

</div>

Hi everybody!

I am trying to integrate Zoom with Slack to get real-time notification of events in our Zoom instance. The initial use cause is around Zoom Room alerts, but I would like to eventually expand this.

What I have done so far is:

**Slack**

1. Created a custom application in Slack
2. Generated a new incoming webhook
3. Installed the application in the Workspace
4. Invited the application/bot to the channel

**Zoom**

1. Created a custom application in Zoom (webhook only)
2. Enabled Event Subscription
3. Created an Event Subscription pointing to the Slack webhook
4. Successfully validate the URL
5. Activated the application on the account

From here on, nothing works.

When I look at the Zoom API Call Logs \> Webhook Logs, I see a bunch of entries with Status 400. At the same time, if I try to cURL a message to the Slack webhook URL, I can pass a simple “Hello World” message.

What am I missing? Could it be an authentication issue between the two apps? To be frank, I haven’t configured anything that would make the two apps trust one another…

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [September 2, 2025, 2:39pm UTC](https://devforum.zoom.us/t/integrate-zoom-api-with-slack-app-via-webhook/137010/2 "2025-09-02T14:39:57Z")

</div>

Hi @mrc  
Thanks for reaching out to us and welcome to the Zoom Developer Forum!  
Have you been able to succesfully validate your endpoint URL in your webhook only app?

---

<div class="post-metadata">

**Author:** ![mrc](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/mrc/32/71023_2.png) [@mrc](https://devforum.zoom.us/u/mrc)\
**Post date:** [September 3, 2025, 12:33am UTC](https://devforum.zoom.us/t/integrate-zoom-api-with-slack-app-via-webhook/137010/3 "2025-09-03T00:33:17Z")

</div>

Hi @elisa.zoom - yes. No problems at all validating the endpoint

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [September 3, 2025, 7:46pm UTC](https://devforum.zoom.us/t/integrate-zoom-api-with-slack-app-via-webhook/137010/4 "2025-09-03T19:46:17Z")

</div>

ok thanks for the clarification @mrc  
Would you be able to share a payload from those entries with the Status 400? So we can take a closer look at this

---

<div class="post-metadata">

**Author:** ![mrc](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/mrc/32/71023_2.png) [@mrc](https://devforum.zoom.us/u/mrc)\
**Post date:** [September 3, 2025, 11:49pm UTC](https://devforum.zoom.us/t/integrate-zoom-api-with-slack-app-via-webhook/137010/5 "2025-09-03T23:49:00Z")

</div>

Hi @elisa.zoom - below is a sample payload. I have removed some details ([…]), but should be clear enough. All Status 400 messages follow exactly the same structure, just different meeting events.

```json
{
  "applicationId": "XTZ0KcZmQp2s6yW8O[...]",
  "monitorTime": 1756352294909,
  "requestId": "52a51e7c_45a6_4755_9a46_[...]",
  "traceId": "EventService_0198EEC1-2B60-7B08-B25E-[...]",
  "accountId": "rez1G_gHRkeqA-wa-[...]",
  "event": "meeting.sharing_started",
  "status": "400",
  "userId": "OkU_XDrQRIe2pz85[...]",
  "url": "https://hooks.slack.com/services/E093NC4KU0M/[...]",
  "subscriptionId": "6u3lgrTkS2mz-[...]",
  "requestHeaders": "N/A",
  "requestBody": "{\"event\":\"meeting.sharing_started\",\"payload\":{\"object\":{\"uuid\":\"FX8CZWeNSCix6BX[...]\",\"participant\":{\"id\":\"OkU_XDrQRIe2pz[...]\",\"user_id\":\"16778[...]\",\"user_name\":\"[...]\",\"sharing_details\":{\"link_source\":\"\",\"date_time\":\"2025-08-28T03:38:12Z\",\"file_link\":\"\",\"source\":\"\",\"content\":\"application\"}},\"id\":\"8711394[...]\",\"type\":8,\"topic\":\"Aquatic | Sprint Retrospective\",\"host_id\":\"OkU_XDrQRIe2pz85[...]\",\"duration\":60,\"start_time\":\"2025-08-28T03:30:45Z\",\"timezone\":\"Asia/Kolkata\"},\"account_id\":\"rez1G_gHRkeqA-wa-[...]\"},\"event_ts\":1756352294299}",
  "responseHeaders": "N/A",
  "responseData": "no_text",
  "runTime": "-545",
  "retryNum": 0,
  "ttl": 1757561894
}

```

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [September 4, 2025, 4:16pm UTC](https://devforum.zoom.us/t/integrate-zoom-api-with-slack-app-via-webhook/137010/6 "2025-09-04T16:16:26Z")

</div>

Hey @mrc  
Thanks for sharing that.  
It looks like you are receiving the payload form us right? in the requestBody field.  
So what is exactly de issue you are having with your integration?

---

<div class="post-metadata">

**Author:** ![mrc](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/mrc/32/71023_2.png) [@mrc](https://devforum.zoom.us/u/mrc)\
**Post date:** [September 10, 2025, 7:52am UTC](https://devforum.zoom.us/t/integrate-zoom-api-with-slack-app-via-webhook/137010/7 "2025-09-10T07:52:23Z")

</div>

Hi @elisa.zoom - it appears that Zoom attempts to send the payload but it is never received by Slack. If it was received, I would expect a Status 200 instead of 400.

Could it be an authentication issue?

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [September 10, 2025, 1:09pm UTC](https://devforum.zoom.us/t/integrate-zoom-api-with-slack-app-via-webhook/137010/8 "2025-09-10T13:09:45Z")

</div>

Hi @mrc  
Thanks for getting back to me.  
It seems like an issue on Slacks side, because Zoom is sending the payload and its slack getting back with a 400.  
Have you reached out to them?

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [September 14, 2026, 4:46am UTC](https://devforum.zoom.us/t/integrate-zoom-api-with-slack-app-via-webhook/137010/9 "2026-09-14T04:46:21Z")

</div>

Closed on September 14, 2026, 4:46am UTC

This topic was automatically closed 368 days after the last reply. New replies are no longer allowed.
