Voiceover request and approval desk for your content team

Your team requests narration, picks a voice, and generates takes in one place, so a reviewer can approve the final audio without a single email thread.

App
CartesiaGoogle DocsGoogle DriveSlackMarketingOperationsContent Generation
PromptCreate

Build me an internal voiceover production desk where my content and enablement team requests narration and a reviewer approves it, instead of passing scripts and mp3 files around over email. Nothing here runs on a schedule. People open this app and work out of it.

The main surface is a queue board grouped by status, with four columns: Requested, Take ready, Needs retake, and Approved. Each card shows the request title, who asked for it, the voice used on the most recent take, and how many takes exist so far. Moving a request across those columns is the entire job of the app, so the board should be the landing view.

Creating a request asks for a title, a due date, and the script. The requester either pastes the script text directly or points at a Google Doc. If they point at a doc, the handler pulls it with the Google Docs Get Document operation and flattens the document body into plain narration text. Either way, store the resulting script on the request record. That stored script is what makes a retake cheap, because nobody should ever have to retype or re-paste a script to generate another take.

Opening a request shows the detail view: the full script, a voice picker, an inline audio player for every take that has been generated, and a reviewer notes field. List takes newest first, and label each one with the voice name, the timestamp, and who generated it, so the take history reads like a record of the review rather than a pile of files.

Populate the voice picker from the Cartesia List Voices operation so the team picks from the voices actually available in our account, including any custom or cloned ones. Pressing Generate calls the Cartesia Text to Speech (Bytes) operation with the stored script and the selected voice, saves the returned mp3 as a new take against the request, and moves the request to Take ready.

Keep every take instead of overwriting. Each Generate appends a new take and never replaces an earlier one. This is the core of the app: a reviewer needs to play two different voices side by side and approve whichever read is better, which is impossible if a regenerate destroys the previous audio.

A reviewer has two actions on a request. They can send it back by leaving a note and marking it Needs retake, which keeps the stored script intact so someone can pick a different voice and generate again without retyping anything. Or they can approve one specific take, since approval applies to a chosen take and not to the request in general.

On approval, upload that take's mp3 to our shared project folder using the Google Drive Upload File (Multipart) operation. Multipart is capped at 5MB, so if the take is larger than that, fall back to the Google Drive Upload File (Resumable) operation instead. Then create a shareable link for the uploaded file with the Google Drive Create Permission operation, and post that link to our content channel using the Slack Send a Message operation. The Slack message should carry the request title, the voice name, and who approved it, not just a bare URL. Save the Drive link and the posted message back onto the request so the Approved column shows what already shipped.

Scope the board by role. A requester sees their own requests only. A reviewer sees the whole approval queue across everyone, and only a reviewer can approve a take or send one back for a retake. Anyone who can see a request can play its takes, since listening is how people discuss the work.

Persist requests, their stored scripts, every take with its voice and audio, reviewer notes, and the final Drive link. The take history is the memory of the app and should survive across sessions.

What does this prompt do?

  • A queue board groups every narration request by status, so you can see at a glance what is waiting on a take, a retake, or a final approval.
  • Requesters paste a script or point at a Google Doc, pick a voice from your voice library, and generate narration in one click.
  • Every take is kept instead of overwritten, so a reviewer can play two voices back to back and pick the better read.
  • Approving a take files the finished mp3 in your shared project folder, creates a share link, and posts it to your content channel automatically.

What do I need to use this?

  • A Cartesia account, which is what actually generates the narration audio
  • A Google account with access to the shared Drive folder where finished voiceovers should live
  • Access to any Google Docs your team writes scripts in, if you would rather link a doc than paste text
  • A Slack workspace and the channel where finished voiceovers get announced
  • A short list of who on your team requests narration and who approves it

How can I customize it?

  • Rename or add board columns so the statuses match how your team actually reviews work
  • Change which shared folder finished audio lands in, and whether the share link is open to your whole company or only specific people
  • Swap the Slack channel that gets the announcement, and choose whether reviewer notes ride along with the link
  • Decide who counts as a reviewer, since only reviewers can approve a take or send one back for a retake

FAQs

Can several people request voiceovers at the same time?
Yes. Everyone works out of the same board, but requesters only see the requests they submitted, while reviewers see the full approval queue across the whole team.
What happens to older takes when we generate a new one?
Nothing. Every take is kept and listed on the request with its own audio player, which is the point. A reviewer can play two different voices back to back and approve whichever read is better.
Do scripts have to be pasted in by hand?
No. A requester can paste the script directly or link a Google Doc, and the app pulls the current text out of that doc. The script is then stored on the request, so asking for a retake never means retyping it.
What if a narration file is too big to upload?
That is handled for you. Shorter takes are uploaded in one pass, and anything over the usual size limit is uploaded in chunks instead, so long-form narration still lands in the folder.
Can we use our own custom or cloned voices?
Yes. The voice picker is filled from the voice library in your own Cartesia account, so any custom or cloned voice you have set up there is available to pick.
Does anything run on a schedule?
No. This is a working surface your team opens. Narration is generated when someone presses Generate, and audio ships when a reviewer presses Approve.

Related templates

Browse and shortlist creators without burning audit credits

Search creators for free, shortlist the best with your team, and spend an audit credit only when you decide someone is worth a closer look.

HypeAuditor
Airtable
Slack
App
Hiring funnel dashboard for every open Hireflix role

One screen showing invited, completed, and shortlisted counts for every open role, plus the stalled invites that have quietly gone nowhere.

Hireflix
Slack
App
Global operations exposure map for your sites and suppliers

Open one board each morning to see which of your facilities, suppliers and shipping lanes are sitting near trouble in the news right now.

GDELT
Airtable
Slack
App
Compare creators on post performance before you pay them

Pick creators from your saved list and see their best and worst Instagram posts side by side, so your brief is built on what actually lands.

HypeAuditor
Google Docs
Slack
App
Review every Hireflix video interview from one daily queue

One screen where your hiring team watches every unscored candidate, reads the transcript alongside each answer, and scores and shortlists on the spot.

Hireflix
Slack
App
Turn Google Drive scripts into narrated audio, line by line

One desk to pull scripts from Drive, give every line its own voice, redo the one take that missed, and share approved audio in Slack.

Hume
Google Drive
Slack Bot
App

Stop passing scripts and mp3 files around over email.

Give your content and enablement team one board where narration gets requested, reviewed, and approved, with every take saved for comparison.