I am trying to build a system that detects when a user is on a Zoom Phone call and updates their status in a Google Sheet via Zapier.
I have been trying to set this up using a “Webhook Only” app in the Zoom App Marketplace. However, I am having trouble finding the specific events for call start and end in the Event Subscriptions list.
Could you please clarify the following?
[Goal] Detect Zoom Phone “In-Call” status and send the data to a Zapier Webhook URL.
[Required Data]
Call Started (To mark as “In-Call”)
Call Ended (To mark as “Available”)
The user’s email address (To identify the person in our Google Sheet)
[Specific Questions]
Is it possible to achieve this goal using a “Webhook Only” app?
To get real-time call status, which specific Event Subscriptions should I select? For example, should I look into “Call Log”, “User Activity”, or another category?
If those events are not appearing in my list, what are the exact steps or requirements (e.g., specific admin settings or licenses) to make them visible?
I would appreciate any detailed instructions on the necessary settings. Thank you!
What a great question.
it is possible to create an app that just uses webhooks, but your context will be an issue.
Are you going to trap this on a per user basis, as each user will need to connect the app
Will you do this globally for all calls?
You probably will need more than a webhook, because I can not see you having the full context to be able to then send the right data to Zapier - What are you expecting Zapier to do with this.
From your description, I would not bother doing it this way, is there a big reason why you need this immediately? I would use the API call to pick up the calls data. and then pass that into zapier?
To answer your question, the reason we need this is to build an automated inquiry distribution system for our Inside Sales team. We want the system to check if a member is currently on a Zoom Phone call and, if they are, automatically route the incoming inquiry to the next available person.
Regarding your point about context, our goal is to manage this globally for the entire team rather than on a per-user basis. We need a way to identify which user is on a call (via email or ID) so that Zapier can update the correct row in our Google Sheet.
Based on your advice, I will look into using the Server-to-Server OAuth app type to access the Zoom Phone API and Webhooks.
Could you please clarify if “Server-to-Server OAuth” will allow me to subscribe to real-time events like “Call Started” and “Call Ended” for all users in the account? Also, will these events include the user’s email or a unique ID that I can map in Zapier?
Glad to help and sorry not to give more detail, although I have looked at the contact centre and phone API’s, I can not yet show a useful app to demonstrate.
Server-to-server has access to the same API’s as anything else.
It will be limited to work on the tenant account it is installed with, but you are using this for yourself, so that should be fine.
I would be more certain of running a Zoom App within each user’s Zoom Account and catch the hook there and then send some sort of webhook call to your central system. But the docs suggest you can do this at the admin level.