Oct 24, 2025

n8n YouTube Description Updater

n8n YouTube Description Updater — Automate and Standardize Your Video Descriptions Keeping a consistent, up-to-date YouTube description across dozens (or hundreds) of videos is tedious. This n8n template — YouTube Description Updater — automates that process: read existing descriptions, append or replace content using a delimiter, update videos only when the description changed, and notify […]

n8n YouTube Description Updater

n8n YouTube Description Updater — Automate and Standardize Your Video Descriptions

Keeping a consistent, up-to-date YouTube description across dozens (or hundreds) of videos is tedious. This n8n template — YouTube Description Updater — automates that process: read existing descriptions, append or replace content using a delimiter, update videos only when the description changed, and notify your team via Slack.

Why automate YouTube descriptions?

Descriptions are essential for search optimization, brand consistency, and distributing links or calls-to-action. Manually editing each video is error-prone and time-consuming. Automating description updates lets you:

  • Maintain brand copy, links and CTAs across all videos
  • Quickly add promotions, affiliate links, or policy updates
  • Reduce human error and inconsistencies
  • Notify collaborators automatically after changes

How the template works (overview)

This workflow is linear and easy to follow. The main nodes are:

  • Manual Trigger — start the run when you’re ready
  • Config — set your delimiter (splitter) and the text you want appended to every description
  • List Videos — fetch videos from your channel via the YouTube API
  • Generate Description — build the new description by merging the existing text (before the delimiter) with your standardized footer
  • Description Changed (If) — compare new vs existing description and continue only if they differ
  • Update Video Description — call the YouTube API to save the updated description
  • Notify Slack — post a notification that a video description was updated

Key expression used to generate the new description

The template uses an n8n expression to split the current description at your configured delimiter and reassemble it with your standardized footer. Example logic (expressed in the workflow):

= {{ $json.snippet.description.split($('Config').item.json.splitter)[0] }}{{ $('Config').item.json.splitter }}

{{ $('Config').item.json["description"] }}

What this does:

  • Takes the existing description and splits it at the configured splitter (for example: --- n8ninja ---).
  • Keeps the content that appears before the splitter (so your original video-specific copy remains intact).
  • Re-adds the splitter, followed by the standardized footer defined in the Config node.

Step-by-step setup

1) Add credentials

Configure a YouTube OAuth2 credential in n8n. The workflow uses the YouTube OAuth2 credential to call the videos.get / videos.update endpoints. Follow n8n’s docs to create and add the Google OAuth credential: n8n Google credential docs.

2) Configure the Config node

Open the Config node in the workflow and set two fields:

  • splitter — the unique delimiter used to separate your per-video content from the shared footer. Choose something unlikely to appear in normal descriptions, e.g. --- n8ninja ---.
  • description — the standardized footer you want appended to all videos. This is where you include CTAs, links, socials, and template credits (for example: Try n8n for free link, your social handle, website, and templates link).

3) Test with Manual Trigger

Run the workflow manually the first few times so you can verify behavior on a handful of videos. Check the generated description and confirm it’s what you expect before updating many videos.

4) Schedule or run on demand

After validation, replace the Manual Trigger with a Cron node (or schedule the manual trigger runs) to run this workflow periodically, for example after a policy change or a campaign update.

Important nodes explained

List Videos

This node retrieves videos from your channel using the YouTube API. You can customize the filters to limit the results (e.g., by date range, playlist, or search query) so you only process the videos you intend to update.

Generate Description

The Generate Description node contains the expression that rebuilds the description. By keeping the content before the splitter, your unique, per-video copy stays unchanged, while the footer is consistent across all videos.

Description Changed (If)

To avoid unnecessary updates and API calls, the workflow compares the newly generated description with the existing one. Only if they differ does the workflow proceed to call the YouTube update endpoint. This saves quota and keeps content version history cleaner.

Update Video Description

This node updates the video via the YouTube API. It uses the videoId from the List Videos node and writes the new description. The node included a categoryId and regionCode in the template — adjust these if required for your videos.

Notify Slack

Each time a description is updated, the workflow posts a message to a configured Slack channel so your team knows which video was changed. You can modify the message to include links or tags for your team members.

Best practices & tips

  • Use a unique splitter string to avoid unintentionally truncating legitimate description content.
  • Test on a small sample set (or even a single unlisted video) first.
  • Respect YouTube API quotas — process videos in batches and schedule runs outside of peak hours.
  • Keep a backup of original descriptions if you want a rollback plan (you can write the original text to Google Sheets or a database before updating).
  • Limit the List Videos node with search parameters to focus changes on a subset of content (e.g., only videos older than X days or in a specific playlist).
  • Log every update — notifications plus a central log (Sheets, DB, or a file) make audit and rollbacks easier.
  • Use secure credential management in n8n and limit who has access to the workflow — the OAuth scope allows modifying published content.

Use cases

  • Append seasonal promotions or affiliate links across all videos
  • Add legal or disclosure language required by a campaign
  • Update or standardize CTAs and social links
  • Fix a broken link across all video descriptions with a single run

Extending the template

Want to make it smarter? A few extension ideas:

  • Only update videos that haven’t been modified in the last X days.
  • Add an approval step: send a Slack message with buttons for a reviewer to approve or reject a batch update.
  • Store previous description versions in Google Sheets or a Git repository for rollback.
  • Make the footer conditional per video by reading tags or custom metadata.

Security & permissions

Because this workflow modifies published content, assign the smallest set of permissions required to the Google OAuth2 credential and control access to your n8n instance. Review the OAuth scopes and ensure team members who can edit the workflow are trusted.

Wrap-up and call-to-action

The n8n YouTube Description Updater is a simple yet powerful template to standardize and automate description updates across your video library. With the splitter pattern and the conditional update check, you keep unique video content intact while maintaining a consistent footer for CTAs and links.

Try the template now: import it into your n8n instance, add your YouTube OAuth credential, configure the splitter and the footer text in the Config node, and run it manually to test. If you want help customizing it for playlists, scheduled runs, or approval flows, reach out or check n8n’s docs for additional examples.

Want more n8n templates and automation tips? Subscribe to updates, explore prebuilt workflows, or request a custom automation to save time and reduce manual work.

Note: Always test on a small set of videos first and keep backups of original descriptions for rollback.

Leave a Reply

Your email address will not be published. Required fields are marked *