Skip to content
FlowHubFluxonLab
C
Google Sheetsfree

Build hospitality lead lists from Booking.com using Apify and Google Sheets

by Apifyadapted from n8n official workflow galleryUpdated Aug 2026
RequiresCCodeGoogle SheetsGoogle Sheets
Share Post Share
MaManual TriggerSeSet Destination and ParametersSet Destination…ApExecute Booking ActorExecute Booking…ApRetrieve Booking DataRetrieve Bookin…ApExecute Maps ActorExecute Maps Ac…ApRetrieve Maps DataRetrieve Maps D…CoMerge Final DataAppend Leads to Google SheetsAppend Leads to…CoMap Booking to Lead RowsMap Booking to …CoMerge Maps DataApExecute Search ActorExecute Search …ApRetrieve Search DataRetrieve Search…CoAssign Candidate WebsitesAssign Candidat…ApExecute Contact ActorExecute Contact…ApRetrieve Contact DataRetrieve Contac…1234567891011121314
1/5
STEPS · 14
Run manually by an operator

Quick Overview This workflow uses Apify and Google Sheets to find accommodation leads from Booking.com, enrich them with Google Maps contact details, discover official websites via Google Search, scrape additional contacts from those sites, and then append the finalized partner list to a Google Sheets spreadsheet. How it works Manually triggers and sets the destination, maximum number of results, and property type to search. Runs the Apify Booking Scraper actor for the configured destination and retrieves the Booking.com dataset results. Maps each Booking.com result into a normalized lead record, using Booking trader details (when available) for initial email and phone fields. Runs the Apify Google Maps with Contact Details actor for leads missing email and merges any найден emails, phones, websites, and social links into the lead records. For leads still missing both email and website, runs the Apify Google Search Scraper actor to find an “official website” candidate and assigns the best non-OTA domain. Scrapes those candidate websites with the Apify Contact Info Scraper actor to extract emails/phones/socials and merges the results into the final lead rows.

Tags

n8nreference-onlygoogle-sheets
Connects
CCodesheetsGoogle Sheets
CategoryGoogle Sheets
Triggermanual
Complexitycomplex
Nodes15
AddedJun 25, 2026

Related workflows

See all Google Sheets
CsheetsW
free

Generate and vet ad creative with OpenAI, Spendict, Google Sheets, and Slack

Quick overview This workflow collects a product brief via an n8n form, uses OpenAI to generate ad variants, gates each one with Spendict run/fix/kill scoring, auto-rewrites fixable ads, logs approved results to Google Sheets, and posts an approval count to Slack. How it works Receives a product brief from an n8n form submission with product, platform, audience, and desired variant count. Sends the brief to OpenAI Chat Completions to generate multiple ad variants (headline + primary text) in JSON. Splits the OpenAI response into individual variants and submits each one to Spendict’s /assess endpoint for a launch recommendation and score. Routes variants by Spendict verdict: “run” is accepted, “fix_first” is rewritten with the prioritized fixes and re-scored by Spendict, and “kill” is collected as rejected output. Combines accepted and auto-fixed variants and appends them as rows in Google Sheets with status, copy, platform, verdict, and score. Aggregates the logged approved variants and posts a summary message to Slack via an incoming webhook. Setup Add HTTP Header Auth credentials for OpenAI (Authorization: Bearer ) in both OpenAI HTTP Request steps. Add HTTP Header Auth credential

by Spendict
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