Skip to content
FlowHubFluxonLab
C
Google Sheetsfree

Track weekly Google SERP rankings with Bright Data, Google Sheets, and Slack

by ToolMonstersadapted from n8n official workflow galleryUpdated Aug 2026
RequiresCCodeGoogle SheetsGoogle SheetsSlack
Share Post Share
ScWhen Monday at 8amWhen Monday at …Read Keywords from SheetsRead Keywords f…BDFetch SERP Data Using Bright DataFetch SERP Data…CoCalculate Domain Rank PositionCalculate Domai…Update Rank in SheetUpdate Rank in …Post Update to Slack ChannelPost Update to …12345
1/5
STEPS · 5
Runs on a schedule

Quick overview This workflow runs every Monday at 8 AM to check your Google rankings for keywords stored in Google Sheets using Bright Data’s SERP API, then writes the latest and previous positions back to the sheet and posts a per-keyword update to a Slack channel. How it works Runs every Monday at 8 AM on a scheduled trigger. Reads the list of keywords, target domains, and target countries from a Google Sheets spreadsheet. Queries Google for each keyword via the Bright Data SERP API. Parses the organic results to find the ranking position of the target domain (or returns “Not in top 100”) and carries forward the prior saved position. Updates Google Sheets by writing the new “Last Position” and shifting the prior value into “Previous Position” for the same row. Sends a formatted SERP rank update message to a selected Slack channel for each tracked keyword. Setup Add credentials for Google Sheets, Bright Data, and Slack (OAuth2). Replace YOUR_GOOGLE_SHEET_ID in both Google Sheets steps with your spreadsheet ID and ensure the worksheet contains Keyword, Target Domain, Target Country, Last Position, and Previous Position columns.

Tags

n8nreference-onlygoogle-sheetsslack
Connects
CCodesheetsGoogle SheetsSlack
CategoryGoogle Sheets
Triggermanual
Complexitymedium
Nodes6
AddedJul 19, 2026

Related workflows

See all Google Sheets
Csheetsyoutube
free

Audit YouTube video metadata changes with Google Sheets and Slack

Quick Overview This workflow runs daily to fetch all videos from a YouTube channel, compare key metadata fields against a prior snapshot stored in Google Sheets, log any differences, and optionally post a summary to Slack. How it works Runs every day at 08:00 on a schedule. Reads your YouTube channel’s uploads playlist and retrieves each video’s current title, description, tags, privacy status, and category. Loads the previous snapshot from Google Sheets and compares the tracked fields to detect added, removed/hidden, or changed metadata. When changes are found, appends each changed field (old value vs new value) to a Google Sheets change log. Clears and rewrites the snapshot in Google Sheets with the latest metadata so the next run compares against today’s baseline. Posts a summary to a Slack channel when changes are detected (or when alwaysNotify is enabled). Setup Add a YouTube (Google) OAuth2 credential and set your target channel ID in the audit options. Add a Google Sheets credential, set the spreadsheet ID, and ensure your spreadsheet has a Snapshot tab and a Change Log tab mapped in the Google Sheets steps. Add a Slack credential and set the target Slack channel ID for the

by Kevin Yu
Csheetsyoutube
free

Unpublish expired YouTube videos using Google Sheets and Slack

Quick Overview This workflow runs daily and checks a Google Sheets embargo schedule for YouTube videos whose unpublish date has passed, then updates their privacy status on YouTube and logs the result back to the sheet while sending a recap (or “nothing due”) message to Slack. How it works Runs every day at 6am on a schedule trigger. Reads your embargo control spreadsheet from Google Sheets. Selects videos whose “Unpublish Date” is today or earlier (using a configured timezone), skips rows already marked Expired, and defaults the target privacy status to private when missing. For each due video, fetches the current video snippet and status from YouTube. If the video is not already at the target privacy status, updates the video on YouTube to private or unlisted while preserving its existing title and category. Updates the matching row in Google Sheets to Status = Expired and writes an “Unpublished At” timestamp, then posts a Slack recap of the processed videos. If no videos are due, posts a “nothing due” notice to the configured Slack channel. Setup Add a YouTube (Google) OAuth2 credential with permission to read and update videos, and select it in both YouTube steps. Add a Google

by Kevin Yu
CsheetsW
free

Repurpose blog posts into social content with Gemini, Google Sheets, and Slack

Quick Overview This workflow runs daily, reads your blog RSS feed, uses Google Gemini to repurpose the latest posts into Twitter/X and LinkedIn drafts in your brand voice, then appends the drafts to Google Sheets and posts them to a Slack channel for review. How it works Runs every day on a schedule and reads items from your blog’s RSS feed. Keeps only the three most recent posts to process. Builds a prompt that includes your brand voice, hashtags, and each post’s title, URL, and excerpt. Sends the prompt to the Google Gemini API to generate Twitter/X and LinkedIn copy formatted as JSON. Parses the Gemini response into separate twitter and linkedin draft fields. Appends the drafts to a Google Sheets worksheet and posts the formatted drafts to a Slack channel for review. Setup Add credentials for the Google Gemini (PaLM) API, Google Sheets OAuth2, and Slack OAuth2. Paste your blog RSS feed URL in the RSS reader step. Update the brand voice text and default hashtags to match your tone. Select the target Google Sheets spreadsheet and worksheet (for example, a “Social Drafts” tab) where drafts are appended. Choose the Slack channel where draft messages are posted.

by Oka Hironobu