🔓 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

Booking.com + Telegram: instant hotel shortlists

Lisa Granqvist Partner Workflow Automation Expert

Hotel research gets messy fast. You open Booking.com, tweak filters, copy prices into notes, lose the “good” tab, then start over when someone changes the city.

Telegram hotel shortlist automation hits event planners hardest, because decisions depend on clear options. But travel agents and busy operators booking team trips feel the same drag. You send one city message and get a clean, shareable shortlist back.

This workflow pulls listings from Booking.com, cleans the data, and formats it into a human-friendly report. You’ll see what it fixes, what you need, and how the flow works end to end.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Booking.com + Telegram: instant hotel shortlists

The Problem: Hotel Research Turns Into Tab Chaos

Finding “a few good hotels” sounds simple until it’s not. You search a city, scroll forever, open 10 listings, then try to explain the options to someone else without sounding vague. Prices are in different currencies, some listings hide fees until late, and the details you care about (location, cancellation, breakfast, star rating) get scattered across tabs and screenshots. And when the destination changes or dates shift, you repeat the whole routine. Honestly, it’s not hard work. It’s exhausting work.

It adds up fast. Here’s where it breaks down in real teams.

  • You spend about 30–45 minutes per city just collecting options you can confidently share.
  • Copy-paste research creates small errors, like mismatched prices or the wrong link, which then causes back-and-forth.
  • Stakeholders don’t want raw search results, so you end up rewriting the same summary over and over.
  • When you need “one more shortlist for another city,” you’re starting from zero instead of reusing a repeatable process.

The Solution: Telegram Message In, Curated Hotel List Out

This workflow turns hotel research into a quick chat interaction. You send a city name into an n8n chat trigger (which can be connected to Telegram), and the automation kicks off a Booking.com data pull using Bright Data’s web scraper. While the scrape runs, the workflow waits and checks status in a loop until the snapshot is ready. Once results come back, n8n downloads the data, normalizes the fields (so “price,” “rating,” and “link” don’t show up as inconsistent columns), and aggregates listings into a single batch. Then an AI agent powered by OpenRouter formats everything into a concise, human-friendly shortlist, including clean links and readable pricing.

The flow starts with a simple city input. Bright Data handles the extraction, and the workflow keeps monitoring until the snapshot is available. Finally, the AI agent summarizes and formats the shortlist so it’s ready to paste, forward, or share with a client.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you’re sourcing hotels for a two-day offsite and you need shortlists for 3 cities. Manually, it’s usually about 40 minutes per city to find, open, compare, and rewrite options, so roughly 2 hours total. With this workflow, you send 3 quick Telegram messages (maybe 1 minute each), then wait for the scrape and summary to come back. You still review the shortlist, but your “research time” drops from hours to a few minutes of oversight.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Telegram to send the city and receive results
  • Bright Data for Booking.com web scraping snapshots
  • OpenRouter API key (get it from your OpenRouter dashboard)

Skill level: Intermediate. You’ll connect credentials, adjust one or two nodes, and test the chat trigger end-to-end.

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

How It Works

A city message triggers everything. A chat message is received, and the workflow maps that input into a clean “city” value it can use downstream.

The workflow starts the Booking.com extraction. Bright Data launches a batch extraction from a URL built from your city input, then the workflow splits checks into batches so it can monitor status without hammering the API.

Status checks and waiting prevent empty results. If the snapshot isn’t ready, the workflow waits, loops, and checks again. When it is ready, it retrieves the snapshot data and moves on.

AI turns raw listings into a shortlist you can send. Results are normalized, aggregated, and passed into an AI agent (via OpenRouter). A calculator tool supports price conversions or quick math, then the final text is returned in a readable format for chat.

You can easily modify search parameters to include dates or group size based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Chat Trigger

This workflow starts from a chat input, so configure the trigger to accept a city name and return the final summary.

  1. Add and open Chat Intake Trigger.
  2. Set Response Mode to lastNode so the chat returns the AI summary.
  3. Connect Chat Intake Trigger to Map City Input.

Step 2: Connect Bright Data and Start Extraction

These nodes trigger the Booking.com scrape based on the city input and start the extraction workflow.

  1. Open Map City Input and add the assignment city with value ={{ $json.chatInput }}.
  2. Open Start URL Extraction and set Resource to webScrapper and Operation to triggerCollectionByUrl.
  3. Set URLs to =[{"url":"https://www.booking.com","location":"{{ $json.city }}","check_in":"2025-11-01T00:00:00.000Z","check_out":"2025-11-08T00:00:00.000Z","adults":2,"children":1,"rooms":1,"property_type":"Hostels","currency":"","country":""}].
  4. Credential Required: Connect your brightdataApi credentials in Start URL Extraction.

⚠️ Common Pitfall: The date range in Start URL Extraction is hardcoded. Update check_in and check_out before production use to avoid stale results.

Step 3: Configure Status Monitoring and Recheck Loop

These nodes loop until the snapshot is ready, then download the data.

  1. Open Monitor Extraction Status and set Operation to monitorProgressSnapshot with snapshot_id set to ={{ $('Start URL Extraction').item.json.snapshot_id }}.
  2. Credential Required: Connect your brightdataApi credentials in Monitor Extraction Status.
  3. Configure Result Ready Check to evaluate Left Value ={{ $json.status }} equals ready.
  4. Ensure the "false" output of Result Ready Check goes to Delay Execution, then to Recheck Snapshot Loop and Hotel Batch Splitter as shown in the connections.
  5. Open Retrieve Snapshot Data and set Operation to downloadSnapshot with snapshot_id ={{ $('Monitor Extraction Status').item.json.snapshot_id }}.
  6. Credential Required: Connect your brightdataApi credentials in Retrieve Snapshot Data.

If your dataset is large, keep Hotel Batch Splitter configured with Reset enabled to avoid reprocessing stale items during the loop.

Step 4: Normalize and Aggregate Listings

This step standardizes the extracted data and aggregates it into a single list.

  1. Open Normalize Listing Fields and map fields using expressions: title ={{ $json.title }}, address ={{ $json.address }}, original_price ={{ $json.original_price }}, and final_price ={{ $json.final_price }}.
  2. Open Combine Listings and set Aggregate to aggregateAllItemData.
  3. Confirm the flow is Normalize Listing FieldsCombine ListingsReadable Hotel Summary.

Step 5: Set Up the AI Summary

These nodes generate a readable hotel summary and calculate prices in euros.

  1. Open Readable Hotel Summary and set Text to ={{ $json }}.
  2. Set the system prompt in Readable Hotel Summary to =Convert this list of hotels into a well-presented list for human display. Use the CALC tool to show prices in euros. Start the response with 'Here is the list of hotels available on Booking in the city of' followed by the name of the city.
  3. Connect OpenRouter Chat Engine to Readable Hotel Summary as the language model.
  4. Credential Required: Connect your openRouterApi credentials in OpenRouter Chat Engine.
  5. Connect Pricing Calculator Tool as an AI tool to Readable Hotel Summary to enable the calculator in the prompt.
  6. Note: The Pricing Calculator Tool is a sub-node tool; add credentials only to the parent LLM node (OpenRouter Chat Engine), not the tool itself.

Step 6: Test and Activate Your Workflow

Run a full test to confirm data extraction, looping, aggregation, and AI output.

  1. Click Execute Workflow and enter a sample city in the chat input (for example, Lisbon).
  2. Verify that Start URL Extraction returns a snapshot ID and Monitor Extraction Status cycles until Result Ready Check is ready.
  3. Confirm Retrieve Snapshot Data outputs hotel rows and Combine Listings aggregates them into a single list.
  4. Check that Readable Hotel Summary returns a human-friendly list in the chat response.
  5. When satisfied, switch the workflow to Active to enable production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Bright Data credentials can expire or need specific permissions. If things break, check your Bright Data API key and dataset access in the Bright Data dashboard first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

How long does it take to set up this Telegram hotel shortlist automation?

About 30 minutes once your Bright Data and OpenRouter accounts are ready.

Do I need coding skills to automate Telegram hotel shortlist delivery?

No. You’ll mainly connect credentials and adjust a couple of fields for your search preferences.

Is n8n free to use for this Telegram hotel shortlist 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 Bright Data and OpenRouter usage costs.

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 Telegram hotel shortlist workflow for check-in dates and guest count?

Yes, and it’s the kind of change that pays off quickly. Update the “Start URL Extraction” (Initiate batch extraction from URL) node to include your check-in/check-out dates, adults, children, or property type. If you want a different style of response, edit the agent prompt used for the final “Readable Hotel Summary” so it outputs JSON, CSV, or a stricter template. Many teams also tweak the calculator prompt to standardize currency in the final shortlist.

Why is my Bright Data connection failing in this workflow?

Usually it’s an invalid or expired API key, so regenerate it in Bright Data and update the credential in n8n. It can also be a dataset permission issue (wrong scraper/dataset selected) or the extraction endpoint returning a temporary error while the job is still starting. If failures happen only on larger pulls, rate limiting is a likely culprit, so slow the polling loop and increase the Wait time.

How many hotel listings can this Telegram hotel shortlist automation handle?

A typical run can handle dozens of listings per city, and the practical limit depends on your Bright Data dataset settings and your n8n execution limits.

Is this Telegram hotel shortlist automation better than using Zapier or Make?

Often, yes, because this flow relies on scraping, looping until data is ready, and then doing structured formatting with an AI agent. n8n handles branching and “wait then retry” patterns cleanly, and you can self-host for more control. Zapier or Make can work, but multi-step loops and heavy data shaping tend to get awkward or expensive. If you already live in Zapier for simple tasks, it might still be fine for a lightweight version that doesn’t scrape. Talk to an automation expert if you want the fastest path to a reliable setup.

Once this is in place, hotel research stops being a mini project. You ask for a city, get a shortlist back, and move on with your day.

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