Zoom Recording to Zoho WorkDrive Integration

17.08.26 03:39 PM

How We Automated Zoom Recording Storage with Zoho WorkDrive (It Was Harder Than It Sounds)

Introduction

At Digital Era Hub we use Zoom for client calls. and absolutely we use Zoho in our daily operations. At first we never thought we need to integrate both tools except what was offered out-of-the-box by Zoho, primarily integrate Zoom into our Calendar and Scheduling app (Zoho Bookings). However shortly after starting using Zoom we figured out there are a lot of manual work related to these two tools. In most of our projects we record our meetings and once the meeting is done and recording is ready we download the recording and upload it to the client's WorkDrive folder. Giving us the ability to easily share all projects meeting recordings with the client. I start to think, why don't we connect these tools together?
What started as a simple idea: automatically move Zoom recordings to WorkDrive and delete them from Zoom cloud storage, turned into a couple weeks engineering project that uncovered real limitations in the tools most businesses already rely on. In this article, I'll walk you through the problem, the architecture I ended up with, and the key lessons any business owner or operations leader should know before attempting something similar.

This isn't a technical tutorial. It's a business story about what happens when you try to build a "simple" automation in the real world. However if you would like to build this integration and get the full code we use in this integration or the markdown .md file to feed it to your AI agent to build this, feel free to request it here.

The Problem: 

In a simple English, recordings pile up and nobody manages them.
If you record your Zoom calls, you've probably run into this. Recordings accumulate in Zoom's cloud storage. Storage limits get hit. Someone has to manually download the recordings, upload them somewhere useful, and then delete the originals. It's repetitive, it's easy to forget, and it creates inconsistency in how your team stores and accesses call recordings.

For us, the recordings include client discovery calls, onboarding sessions, internal team meetings, and sales demos. Each of these has value not just as a video file, but as a source of truth for what was discussed and agreed upon. Losing one or storing it in the wrong place creates real operational problems.

The goal was simple on paper: every time a Zoom call ends, automatically move the recording to the right Zoho WorkDrive folder, grab the transcript while we're at it, and clean up the Zoom cloud storage. No manual steps. No one responsible for remembering to do it.

What I didn't anticipate was how many layers of complexity sit between "that sounds easy" and "that actually works reliably."

Why Not Just Use a Native Integration?

The first thing most people do is look for a native integration or a pre-built automation. And fair enough tools like Zoho Flow, Make, or Zapier exist exactly for this purpose.

The short answer: a native Zoom-to-WorkDrive integration that handles the full workflow doesn't exist out of the box. Zoho Flow has connectors for both Zoom and WorkDrive, but when I tried to wire them together, I hit a hard wall. Zoho Flow's file handling has a 5MB limit on data processed through its custom functions. A typical 30-minute client call recording can be 200–300MB. The integration would run, appear successful, and produce a broken file on the other end.

This is the kind of thing you only discover after you've built the integration and tested it with real data. And it's a good reminder that "integration exists" and "integration works for your use case" are two very different things.


The Architecture

After testing a few approaches, here's the architecture that works reliably even for large recordings.

The High Level Flow

Zoom meeting ends
→ Zoom fires a webhook notification when record is ready
→ Zoho Flow receives it and orchestrates the process
→ Zoho Catalyst (serverless cloud function) handles the heavy file work
→ Recording is streamed directly from Zoom to Zoho WorkDrive
→ Transcript is fetched and uploaded separately
→ Both files confirmed in WorkDrive
→ Recording deleted from Zoom cloud

The Detailed Flow

Zoom Webhook: Zoom sends an automatic notification the moment a recording is ready. This triggers the entire chain without anyone having to press a button.

Zoho Flow: Acts as the orchestrator. It receives the webhook, manages the token exchange, controls the timing, and decides what happens based on success or failure at each step.

Zoho Catalyst: This is the piece most people wouldn't think to add. Catalyst is Zoho's serverless cloud computing platform. Because Zoho Flow can't handle large binary files, I offloaded the actual file work to a Node.js function running in Catalyst. The key advantage: it streams the video directly from Zoom's servers to WorkDrive's servers the file never needs to be fully loaded into memory. A 300MB recording and a 5MB recording go through the same process with the same reliability.

30-Minute Delay: Zoom generates the video recording and the transcript separately, and on different timelines. Moreover, the transcript file information is not included in the original webhook that trigger this process. The recording is usually ready within minutes of the call ending. The transcript takes a bit longer. If you try to grab the transcript immediately, it won't be there yet. The 30-minute delay is intentional after that window, the transcript is consistently available via Zoom's API regardless of call length.

Safety Gate Before Delete: Before anything is deleted from Zoom cloud, the system confirms that both the video file and the transcript were successfully stored in WorkDrive. If either upload fails, the recording stays in Zoom and an alert is sent. This is non-negotiable deleting before confirming means data loss with no recovery path.


The Lesson Learned

Without diving into too much technical details, here are some of the approaches we tested before we get our final bullet proof working architecture

Issue 1: File Size Limits in No-Code Tools

As I mentioned, Zoho Flow's built-in file handling has a 5MB ceiling. This isn't a bug, it's an architectural decision. Flow is designed for data orchestration, not file processing. For most automation use cases, this is fine. For video files, it's a dealbreaker.

Business lesson: When evaluating automation tools for media-heavy workflows, always test with real file sizes before committing to an architecture. A tool that works perfectly in testing with a short recording may fail completely in production with a full-length client call.

Issue 2: Transcripts Are Not Part of the Recording Webhook

Zoom's recording.completed webhook; the notification that fires when a recording is ready, does not reliably include the transcript file. Zoom treats the transcript as a separate output that gets processed on its own timeline.

This caught me off guard. I assumed that when Zoom said "recording completed," everything was done. In practice, "recording completed" means the video is ready. The transcript comes later, through a separate API call.

Issue 3: Tokens Expire

Zoom's download tokens — the credentials used to actually download a recording file — expire within 24 hours of the recording being created. By the time the transcript upload step runs (30+ minutes after the video upload), that original token is still valid. But if you tried to use it days later, it would fail silently.

This is why the system generates a fresh Zoom OAuth token specifically for the transcript download step, rather than reusing the one from the original webhook.

Issue 4: Serverless Functions Have Time Limits

Even after moving to Zoho Catalyst, I discovered that serverless functions have a 30-second maximum execution time. For short recordings, this isn't an issue. For a 45-minute client call that produces a 300MB file, the streaming process can exceed that limit on a slow connection. That's why you need to allocate at least 512 MB memory for the serverless function.

If you have longer than 2 hours meeting, the serverless function with its max memory allocation might fail. The solution is to migrate to Zoho Catalyst's AppSail environment; a container-based hosting option within the same Zoho ecosystem that has no timeout restriction. However AppSail cost is significantly higher. I've already set this up as a standby, ready to activate if the 30-second limit becomes a recurring problem at higher volumes.

Business lesson: Serverless functions are excellent for lightweight, fast operations. For anything involving large data or longer processing times, a persistent hosting environment is more appropriate. Both exist within Zoho's own platform, so this doesn't require switching tools; just using the right tool within the ecosystem.

What the End Result Looks Like

Once a Zoom call ends, the process runs completely automatically:

  • The MP4 recording lands in the Zoom Recordings folder in WorkDrive, named with the meeting topic and timestamp
  • The transcript lands in the Transcripts folder, same naming convention, as a readable text file
  • The Zoom cloud recording is deleted once both files are confirmed
  • If anything goes wrong at any step, I receive an email with the meeting details so I can handle it manually

The entire process takes about 30–35 minutes from call end to completion, with the majority of that time being the deliberate wait for the transcript to be ready.


Who Should Build Something Like This?

This automation makes the most sense for:

  • Consulting firms and agencies that record client calls and need organized, searchable archives
  • Sales teams that record discovery and demo calls and want recordings automatically tied to client records
  • Customer success teams that review recorded sessions for QA or training
  • Anyone on Zoho One who wants to maximize the value of tools they're already paying for

If you're paying for Zoom cloud storage and manually managing recordings, you're spending money and time on something that can be fully automated.


Our Next Step

This is not the final step in this project, The next step in this project is to feed the transcript into an AI agent that will read the transcript, generate the call summary and any action points from the call, and finally associate it with the respective meeting record in Zoho CRM. this is a WIP project. 

Conclusion

This automation started as a 30-minute idea and became a several-week engineering project. That's not a complaint but a realistic picture of what business automation actually looks like when you care about reliability.

The final result works. Recordings are organized, transcripts are stored, Zoom storage stays clean, and nobody has to think about it. That's what good automation feels like when it's done right.

If you're running on Zoho and want to build something similar whether it's this exact workflow or a different automation that keeps hitting unexpected walls I'd be happy to take a look.

Schedule a free discovery call and let's see what's possible.


I'm Mo Alhabal, Solution Architect and CEO of Digital Era Hub. a proud Zoho Partner helping businesses implement and optimize the Zoho ecosystem.

Mo Alhabal

Mo Alhabal

Solution Architecture - CEO Digital Era Hub