Agency operations

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.

Quick answer

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

StatusMeaningExit condition
DraftInputs can changeOwner marks ready
ReadyApproved for generationRender created
ReviewAwaiting playback/feedbackApproved or changes requested
ChangesNew version requiredReplacement reaches review
ApprovedExact version clearedIncluded in delivery
DeliveredClient received named packageReceipt 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.

Sources