Skip to content
FlowHubFluxonLab
C
Google Sheetsfree

Normalize YouTube video tags using Google Sheets vocabulary rules

by Kevin Yuadapted from n8n official workflow galleryUpdated Aug 2026
RequiresCCodeGoogle SheetsGoogle SheetsYouTubeYouTube
Share Post Share
MaRun Workflow ManuallyRun Workflow Ma…Load Vocabulary from SheetsLoad Vocabulary…List Channel VideosList Channel Vi…Get Video DetailsGet Video Detai…CoNormalize Tags to VocabularyNormalize Tags …IfIf Tags ChangedUpdate Video TagsUpdate Video Ta…123456
1/5
STEPS · 6
Run manually by an operator

Quick Overview This workflow loads a tag vocabulary from Google Sheets, scans your YouTube channel’s recent videos, normalizes each video’s tags to match alias/banned/required rules, and updates only the videos whose tag set changes. How it works Runs manually to start the tag normalization process. Reads controlled-vocabulary rules from Google Sheets, including alias mappings, banned tags, and required baseline tags. Lists up to 50 videos from the specified YouTube channel and fetches each video’s snippet details, including tags, title, and category. Normalizes tags by lowercasing and cleaning them, converting aliases to canonical tags, removing banned tags, deduplicating, adding required tags, and truncating to YouTube’s tag character limit. Compares the normalized tag set to the current tags and keeps only videos where the tags changed. Updates the tags on the changed videos in YouTube while preserving the existing title and category. Setup Add a YouTube (Google) OAuth2 credential for the YouTube nodes and ensure it has permission to update videos on your channel.

Tags

n8nreference-onlygoogle-sheetsyou-tube
Connects
CCodesheetsGoogle SheetsyoutubeYouTube
CategoryGoogle Sheets
Triggermanual
Complexitymedium
Nodes7
AddedJul 13, 2026

Related workflows

See all Google Sheets
Csheets
free

Enrich LinkedIn profiles into full contacts with Tomba and Google Sheets

Quick overview This workflow runs on a schedule to read “Pending” LinkedIn profile URLs from Google Sheets, uses Tomba to find and enrich contact details (email and phone), and writes the results back to the same sheet with updated status and scoring. How it works Runs on a schedule trigger. Reads rows from a Google Sheets worksheet where the Status column is set to “Pending”. Processes each LinkedIn URL in batches and calls Tomba’s LinkedIn Finder to retrieve the person’s email and phone details. Normalizes the returned contact data (including combining multiple phone numbers) and sets an enrichment status based on whether an email is found. Updates the corresponding row in Google Sheets with the enriched fields (Email, Phone, Score) and marks the Status as “Done”. Setup Connect your Google Sheets OAuth2 credentials and set the target spreadsheet and worksheet that contains LinkedIn URL, Status, and output columns. Add your Tomba API credentials and ensure the LinkedIn URL column contains valid LinkedIn profile links. Make sure your sheet includes a row_number field (used for matching updates) and uses “Pending” as the Status value for rows you want to process.

by Zain Khan
Csheets
free

Enrich contact emails and phone numbers with Tomba and Google Sheets

Quick overview This workflow runs on a schedule to read “Pending” contacts from Google Sheets, uses Tomba to find email addresses and (when available) phone numbers, then writes the enriched results back to the same spreadsheet. How it works Runs on a scheduled trigger. Reads rows from a Google Sheets worksheet where the Status column equals “Pending”. Processes the contacts in batches and sends each contact’s name, company, and domain to Tomba to find an email address. If Tomba indicates phone data is available, looks up the phone number in Tomba using the found email address. Normalizes the output (email, phone, score, and enrichment status) and updates the matching row in Google Sheets with the results and Status set to “Done”. Setup Connect your Google Sheets OAuth credentials and set the target spreadsheet and worksheet that contains your contacts. Add a Tomba API credential. Ensure your Google Sheet includes the expected columns (First Name, Last Name, Company, Domain, Status) and output columns (Email, Phone, Score), with Status set to “Pending” for rows you want to enrich.

by Zain Khan
Csheets
free

Extract business card contacts with LDX hub Gemini AnalyzeDoc and Google Sheets

Quick overview This workflow collects a business card photo/scan through an n8n form, uses LDX hub AnalyzeDoc (Gemini) to extract contact details as structured JSON, and appends the resulting fields as a new row in Google Sheets. How it works Receives a business card file upload (PDF/JPG/PNG) through an n8n form submission. Sends the uploaded file to LDX hub AnalyzeDoc using the Gemini model and a fixed schema prompt to extract contact fields as JSON. Parses the extracted JSON into individual fields like name, company, email, phone numbers, and address. Appends the extracted fields as a single new row in the selected Google Sheets worksheet. Setup Install the community node n8n-nodes-ldxhub and add an LDXhub API credential with your API key. Add a Google Sheets OAuth2 credential and select the target spreadsheet and worksheet in the append step. Create (or match) a header row in your sheet for full_name, job_title, company, department, email, phone, mobile, address, website, notes so the auto-mapping writes to the correct columns.

by Hideki Mori