How to organize HeyGen videos for multiple agency clients
The expensive failure is not an untidy folder. It is the wrong client asset in a review link, a final delivery with an obsolete version, or an archive nobody can reconcile.
Separate clients at the highest workspace level available, assign one immutable output ID per deliverable, include that ID in HeyGen titles and local filenames, keep approval state outside the filename alone, and export only an explicit approved set with a manifest.
Separate clients before organizing campaigns
Use the strongest isolation your HeyGen plan and agency policy provide: separate workspace or sub-workspace when required, otherwise a top-level client folder with tightly controlled membership. Never rely only on a naming prefix to protect confidential material.
HeyGen’s current workspace guidance covers folders, subfolders, filters, search, and collections. Enterprise settings can also control workspace access and video-download permissions. Design the structure around the permissions actually available in your account.
Use one output ID across every system
A good project title remains unique even when campaigns reuse headlines:
CLIENT-CAMPAIGN-MARKET-CHANNEL-SEQ
ACME-Q4-DE-LINKEDIN-014
Use that identifier in the brief, HeyGen project title, feedback thread, approval sheet, downloaded filename, and delivery manifest. Human-readable text can follow it: ACME-Q4-DE-LINKEDIN-014_Product overview.
Do not encode the entire workflow in folders
| Status | Meaning | Exit condition |
|---|---|---|
| Draft | Inputs can change | Owner marks ready |
| Ready | Approved for generation | Render created |
| Review | Awaiting playback/feedback | Approved or changes requested |
| Changes | New version required | Replacement reaches review |
| Approved | Exact version cleared | Included in delivery |
| Delivered | Client received named package | Receipt recorded |
Track state and approved version in a sheet or production system. A folder called “Final” inevitably acquires files named final-v2-revised.
Create a download allowlist
Before a bulk download, create an allowlist of approved output IDs and required asset types. Downloading every completed video in the workspace risks mixing tests, superseded versions, and other clients.
- Filter or reconcile by client/campaign folder.
- Match video ID and output ID to the approval sheet.
- Select master, captioned, SRT, or alternate language explicitly.
- Write the local filename and download result to a manifest.
- Review the destination folder for unexpected client prefixes.
Deliver a self-explanatory package
ACME-Q4-delivery-2026-08-27/
approved-masters/
captioned/
subtitles/
manifest.csv
delivery-notes.txt
The manifest should include output ID, HeyGen video ID, approved version, filename, language, duration, and asset type. Delivery notes explain omissions, platform-specific variants, and who approved the set. Do not include API keys, internal comments, rejected drafts, or unrelated client assets.
Archive with retention and access rules
After delivery, create a read-only snapshot, copy it to approved secondary storage, and test a sample. Define how long drafts, source data, avatars, and client files should remain. Remove access when staff or contractors leave the project.
For a detailed manifest, see the HeyGen metadata CSV guide. For snapshot integrity, use the library backup workflow.