🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

YouTube to ElevenLabs, voice IDs logged in Sheets

Lisa Granqvist Partner Workflow Automation Expert

Voice cloning sounds simple until you try to operationalize it. Someone downloads a YouTube clip, someone else converts it, a third person uploads it to ElevenLabs, and then the all-important voice ID gets lost in a Slack thread you’ll never find again.

This ElevenLabs voice automation hits content leads first, but marketing ops and small agency owners feel the same pain. You want a clean “voice library” your team can reuse without second-guessing what’s approved or redoing work.

This workflow takes YouTube URLs from Google Sheets, creates cloned voices in ElevenLabs, then writes each voice ID back to the exact row it came from. You’ll see what it solves, how it runs, and what you need to launch it.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: YouTube to ElevenLabs, voice IDs logged in Sheets

The Problem: Voice IDs Get Lost (and Work Gets Repeated)

When you’re building a repeatable content machine, “we cloned the voice already” is only useful if everyone can find it. In practice, teams create a voice in ElevenLabs, copy the ID somewhere “temporary,” and then move on to the next task. A week later, somebody needs that same voice for a new script, can’t locate the ID, and clones it again from scratch. Now you have duplicates, inconsistent naming, and a growing sense that voice cloning is more hassle than help, honestly.

The friction compounds. Here’s where it breaks down most often:

  • Manual downloading and format conversion takes about 10 minutes per clip, and it’s easy to forget a step.
  • Teams end up using random “voice names” because nobody knows the naming convention.
  • Voice IDs live in chats, Notion pages, or someone’s bookmarks, which means reuse depends on memory.
  • Duplicated voices rack up account clutter and force you to QA which one is “the right” clone.

The Solution: Clone Voices from YouTube and Track Them in Sheets

This workflow turns Google Sheets into your voice intake form and your voice registry at the same time. You add a YouTube URL and a voice name into a row, then the workflow looks for entries that have not been processed yet (specifically, where the “ELEVENLABS VOICE ID” cell is still empty). For each row, it extracts the YouTube video ID, converts that video to an audio file through RapidAPI, downloads the audio, and sends it straight into ElevenLabs to create a new voice. Once ElevenLabs responds with a voice_id, the workflow writes it back into the sheet so the ID is never separated from the source link and the intended name.

The workflow starts with a manual run in n8n, pulls only the rows that need work, then processes them in batches so you can feed it a list without babysitting. At the end, Google Sheets becomes the single place your team checks for “what voices exist” and “which ID do we use.”

What You Get: Automation vs. Results

Example: What This Looks Like

Say your team wants to create 10 new voices for a quarter’s worth of ads. Manually, it’s usually 10 minutes to find the right YouTube section, download it, convert it, upload it, name it, and then store the voice ID somewhere, so you’re at about 2 hours total (and that’s before rework). With this workflow: you paste 10 YouTube links and 10 names into Google Sheets in about 10 minutes, run the workflow, and come back when it’s done. Your sheet now contains 10 voice IDs, ready to reuse, with no scavenger hunt later.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets to store URLs, names, and voice IDs.
  • RapidAPI (YouTube MP3 2025) to convert YouTube video to audio.
  • ElevenLabs API key (generate it in your ElevenLabs account settings).

Skill level: Intermediate. You’ll paste API keys, connect Google, and test a run with a couple of rows.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

You trigger a run. This workflow uses a manual start inside n8n, which is great when you want control (run it after you’ve added a batch of new rows).

Google Sheets is scanned for “missing IDs.” It retrieves rows where your “ELEVENLABS VOICE ID” cell is empty, so it doesn’t waste time reprocessing voices you already created.

YouTube becomes clean audio. For each row, the workflow extracts the YouTube video identifier, sends it to RapidAPI for conversion, then downloads the resulting audio file for the next step.

ElevenLabs creates the voice and your sheet gets updated. n8n uploads the audio to ElevenLabs, captures the returned voice ID, and writes it back into the same row. That ID is now “official” for the team.

You can easily modify the voice naming to use the “VOICE NAME” column instead of a hardcoded name based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Manual Trigger

Set the workflow to start on demand so you can test the full pipeline before activating it.

  1. Add the Manual Start Trigger node as the entry point of the workflow.
  2. Confirm Manual Start Trigger has no parameters to configure.
  3. Connect Manual Start Trigger to Retrieve Video Rows.

Step 2: Connect Google Sheets

Pull YouTube URLs from your sheet and later write back the generated voice ID.

  1. Open Retrieve Video Rows and set Document to 1pZt5RZy6JkcnnxoSG1MFuIrNTLa0P4pVCptuk8uFJdI.
  2. Set Sheet to Foglio1 (gid 0).
  3. Keep the filter on ELEVENLABS VOICE ID so only unprocessed rows are retrieved.
  4. Credential Required: Connect your googleSheetsOAuth2Api credentials to Retrieve Video Rows.
  5. Open Modify Sheet Row and confirm Operation is set to update.
  6. Set row_number to {{ $('Batch Iterate Items').item.json.row_number }} and ELEVENLABS VOICE ID to {{ $json.voice_id }}.
  7. Credential Required: Connect your googleSheetsOAuth2Api credentials to Modify Sheet Row.

Step 3: Set Up Processing and Audio Conversion

Iterate rows, extract video IDs, convert YouTube to audio, and fetch the audio file for voice cloning.

  1. Connect Retrieve Video Rows to Batch Iterate Items to process rows one at a time.
  2. Connect Batch Iterate Items (output 1) to Extract Video Identifier.
  3. In Extract Video Identifier, keep the JavaScript that parses $json['YOUTUBE VIDEO'] into video_id.
  4. In Convert Video to Audio, set URL to https://youtube-mp3-2025.p.rapidapi.com/v1/social/youtube/audio and Method to POST.
  5. In Convert Video to Audio, set body parameter id to {{ $json.video_id }} and set headers x-rapidapi-host to youtube-mp3-2025.p.rapidapi.com and x-rapidapi-key to [CONFIGURE_YOUR_API_KEY].
  6. In Fetch Audio File, set URL to {{ $json.linkDownload }} and keep the response format as file.

⚠️ Common Pitfall: If Fetch Audio File does not return binary data, confirm the response format is set to file and that {{ $json.linkDownload }} is present in the prior response.

Step 4: Configure Voice Generation and Sheet Update

Send the audio to ElevenLabs, then write the returned voice ID back to your sheet.

  1. Connect Fetch Audio File to Generate Voice Profile.
  2. In Generate Voice Profile, set URL to https://api.elevenlabs.io/v1/voices/add and Method to POST.
  3. Keep Content Type as multipart-form-data and set body parameter name to Sample Voice.
  4. Set body parameter files to use formBinaryData with Input Data Field Name as data.
  5. Credential Required: Connect your httpHeaderAuth credentials to Generate Voice Profile.
  6. Connect Generate Voice Profile to Modify Sheet Row, and then to Batch Iterate Items to continue iterating.

Step 5: Test and Activate Your Workflow

Run a manual test to validate every step from Google Sheets to ElevenLabs, then enable the workflow for production use.

  1. Click Execute Workflow from Manual Start Trigger.
  2. Verify that Retrieve Video Rows returns rows where ELEVENLABS VOICE ID is empty.
  3. Confirm Generate Voice Profile returns a voice_id and that Modify Sheet Row updates the correct row_number with the new ID.
  4. When results look correct, toggle the workflow to Active to use it in production.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or need specific permissions. If things break, check the n8n “Credentials” section and confirm the connected Google account still has access to that spreadsheet.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • ElevenLabs voice cloning requires decent source audio. If you feed it a clip with multiple speakers or heavy background music, you’ll get a weak clone and end up redoing it anyway.

Frequently Asked Questions

How long does it take to set up this ElevenLabs voice automation automation?

About 30 minutes if your API keys and Sheet are ready.

Do I need coding skills to automate ElevenLabs voice automation?

No. You’ll connect accounts, paste API keys, and test with a couple of rows first.

Is n8n free to use for this ElevenLabs voice automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in RapidAPI and ElevenLabs usage costs, which depend on how many voices you create.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this ElevenLabs voice automation workflow for using the Sheet’s “VOICE NAME” field automatically?

Yes, and you should. Replace the hardcoded voice name inside the “Generate Voice Profile” HTTP request with the “VOICE NAME” value coming from Google Sheets. People also customize the workflow to skip certain rows (like “do not clone”), enforce naming rules, or write extra columns such as “Status” and “Error message.”

Why is my ElevenLabs connection failing in this workflow?

Most of the time it’s an invalid or expired ElevenLabs API key, so regenerate it and update the xi-api-key header in n8n. It can also fail if your plan doesn’t support voice cloning, or if the audio file download step returns an empty file. If you’re processing a big batch, rate limits can show up too, so slow the batch size down.

How many videos can this ElevenLabs voice automation automation handle?

Dozens per run is typical, and more if you keep batch sizes reasonable and your APIs don’t throttle you. On n8n Cloud, capacity depends on your execution limits; on self-hosting, there’s no execution cap, but your server and API rate limits become the bottleneck. If you’re planning to process hundreds, run it in smaller batches and monitor failures so you don’t burn time retrying bad source clips.

Is this ElevenLabs voice automation automation better than using Zapier or Make?

Often, yes, because this flow depends on binary file handling (downloading audio, uploading audio) and looping through rows, which is where n8n tends to be more flexible and cost-effective. Zapier and Make can do it, but you may run into limits or pay more once you scale beyond a handful of items. If you only need one voice occasionally, those tools can feel simpler. If this is part of a production pipeline, n8n is usually the more comfortable long-term choice. Talk to an automation expert if you want help choosing.

Once your voice IDs are reliably logged, voice cloning stops being a one-off experiment and becomes a reusable asset. Set it up, run it in batches, and let Google Sheets be the source of truth.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal