🔓 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 21, 2026

Booking.com + Gmail: hotel rate comparisons by email

Lisa Granqvist Partner Workflow Automation Expert

You open Booking.com, then Expedia, then Agoda. Ten tabs later, you’re copying prices into a doc, hoping you didn’t mix up dates or room types.

Hotel rate comparisons hit travel agents the hardest, honestly. But operations leads who book team travel and consultants who do client itineraries get dragged into the same mess. This workflow turns scattered searches into one clean email you can act on.

You’ll see how the automation pulls rates from multiple platforms, merges them, and emails a simple summary so you can quote faster and with fewer mistakes.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Booking.com + Gmail: hotel rate comparisons by email

The Problem: Hotel rates are scattered, and quoting is fragile

Comparing hotel rates sounds simple until you do it all day. Each site shows pricing differently, taxes and fees pop in late, and one small date mismatch ruins the whole comparison. Then comes the copy-paste marathon: collecting prices, ratings, cancellation terms, and “breakfast included” notes across platforms. By the time you send a quote, prices may have shifted and you’re second-guessing your own spreadsheet. The worst part is the mental load. You’re spending attention on transcription, not on advising the client or planning the trip.

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

  • You bounce between 3+ booking sites per hotel, which turns one request into a mini project.
  • Copying rates by hand invites mistakes, especially when you’re comparing different cancellation policies or room options.
  • There’s no consistent record of what you checked, so a client asking “why this option?” sends you back into the tabs.
  • Existing “schedulers” or basic email tools don’t help because the real work is gathering and normalizing the pricing data.

The Solution: Automated multi-site hotel rate checks emailed to you

This n8n workflow automates the exact part of hotel research that wastes your day: pulling rates from multiple booking platforms, lining them up, and sending you a readable summary in Gmail. It starts when you submit a simple form with your hotel search details (destination, dates, guests, rooms, and optionally a hotel name). n8n cleans up the inputs, calls Scrape.do to fetch results from Booking.com, Agoda, and Expedia, then parses the responses into structured fields like price, rating, reviews, and key amenities. After that, it merges the three “feeds” into one comparison set, calculates the best price and savings, and assembles an email that’s easy to forward to a client or drop into a quote. One request in. One email out.

The workflow begins with a form submission, then runs three parallel lookups through Scrape.do for each platform. Finally, it combines everything and sends a single Gmail summary so you can decide quickly (and keep an audit trail in your inbox).

What You Get: Automation vs. Results

Example: What This Looks Like

Say you need to quote 5 hotels for a 3-night stay, and you check 3 platforms. Manually, you’ll spend maybe 10 minutes per platform per hotel once you factor in loading, filters, and copying details, so that’s about 2.5 hours of tab work. With this workflow, you submit one form (about 2 minutes), then wait for the pulls to finish (often under a minute per hotel, but batching can make it longer). You get one Gmail summary you can forward right away, and you’re back to actual trip planning.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Scrape.do for scraping booking sites reliably
  • Gmail to send the summary email
  • Scrape.do API token (get it from your Scrape.do dashboard)

Skill level: Intermediate. You’ll connect accounts, add an API token, and may tweak selectors if booking pages change.

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

How It Works

Form submission triggers the request. You enter the destination, dates, and guest details once. That single input becomes the “source of truth” for all the comparisons.

The workflow normalizes and prepares the search. n8n cleans up the payload so every platform gets the same formatted parameters, which helps avoid apples-to-oranges results.

Scrape.do pulls results from each platform. Three HTTP requests run to retrieve Booking.com, Agoda, and Expedia data, then code steps interpret each response into structured fields like price, rating, reviews, and key flags (free cancellation, breakfast, and so on).

Everything gets merged and emailed. n8n combines the platform feeds, assembles a readable comparison, and sends it through Gmail so you can forward it or copy it into a quote.

You can easily modify the platforms being checked to add another site based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Form Trigger

Set up the intake form that kicks off the workflow and captures hotel search details.

  1. Add and open Form Submission Trigger.
  2. Set Form Title to Best Hotel Prices.
  3. Configure Form Fields with labels Hotel Name, Check-in Date, Check-out Date, City, and Email, all required.
  4. Click Listen for test event when you’re ready to validate form submissions.

Step 2: Normalize the Incoming Payload

Standardize form data so all downstream nodes receive consistent fields.

  1. Open Normalize Request Payload and keep the provided JavaScript Code as-is to map form fields into hotelName, city, checkIn, checkOut, Email, checkInISO, and checkOutISO.
  2. Confirm the defaults like 2024-12-25 and 2024-12-28 align with your testing needs.
  3. Note the parallel flow: Normalize Request Payload outputs to Retrieve Booking Results, Retrieve Agoda Results, Retrieve Expedia Results, and Combine Price Feeds in parallel.

⚠️ Common Pitfall: All three scrape requests use {{$vars.SCRAPEDO_TOKEN}}. Make sure you set this environment variable in n8n, or the HTTP calls will fail.

Step 3: Configure the Price Retrieval and Parsing Branches

Set up the three scraping calls and their respective parsing logic. These nodes run in parallel after normalization.

  1. In Retrieve Booking Results, set URL to =https://api.scrape.do and ensure Send Query is enabled.
  2. In Retrieve Booking Results, confirm query parameters include token = {{$vars.SCRAPEDO_TOKEN}} and url = =https://www.booking.com/searchresults.html?ss={{encodeURIComponent($json.hotelName + ' ' + $json.city)}}&checkin={{$json.checkInISO}}&checkout={{$json.checkOutISO}}.
  3. In Retrieve Agoda Results and Retrieve Expedia Results, keep URL set to =https://api.scrape.do and verify each url parameter uses the respective expression for city, dates, and hotel name.
  4. Open Interpret Booking Data, Interpret Agoda Data, and Interpret Expedia Data and keep the provided parsing scripts that map platform, price, and preserve hotelName, city, checkIn, checkOut, and Email.

Tip: The parsing nodes are Code nodes (5 total in this workflow). Keep their logic consistent if you later replace mock prices with real scraped values.

Step 4: Merge and Assemble the Email Content

Combine the parallel results and build the final email summary.

  1. Open Combine Price Feeds and set Number of Inputs to 4 to receive the three parsed feeds plus the direct payload.
  2. Verify that Interpret Booking Data, Interpret Agoda Data, and Interpret Expedia Data each connect into Combine Price Feeds.
  3. Open Assemble Email Summary and keep the existing script that builds emailBody, sorts prices, and sets userEmail.

Step 5: Configure the Email Output

Send the final price summary via Gmail.

  1. Open Dispatch Email Notice.
  2. Set Send To to ={{ $json.userEmail }}.
  3. Set Message to ={{ $json.emailBody }}.
  4. Set Subject to =Otel Fiyatları - {{ $json.hotelName }} ({{ $json.city }}).
  5. Credential Required: Connect your Gmail credentials.

Step 6: Test and Activate Your Workflow

Validate the full execution and turn on the workflow for production use.

  1. Use Form Submission Trigger to submit a test entry with a valid email.
  2. Confirm that Normalize Request Payload fans out to all three retrieval nodes and Combine Price Feeds in parallel.
  3. Check Assemble Email Summary output for a populated emailBody and a priceCount greater than 0.
  4. Verify that Dispatch Email Notice sends the email to the submitted address.
  5. Toggle the workflow to Active once the test is successful.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Scrape.do credentials can expire or you may run out of credits. If things break, check your Scrape.do dashboard token and usage 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.
  • Gmail permissions can be the silent killer. If emails stop sending, re-check the connected Google account inside n8n’s credential settings and confirm it still has send access.

Frequently Asked Questions

How long does it take to set up this hotel rate comparisons automation?

About 30 minutes if your Scrape.do and Gmail accounts are ready.

Do I need coding skills to automate hotel rate comparisons?

No. You’ll mostly connect credentials and paste in your Scrape.do token. You might do light tweaking later if a site changes its layout.

Is n8n free to use for this hotel rate comparisons 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 Scrape.do API usage, since each hotel check makes multiple scrape requests.

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 hotel rate comparisons workflow for adding more booking sites?

Yes, and it’s a common upgrade. You can add another platform by duplicating an existing HTTP Request + “Interpret Data” code block (for example, copy the Agoda path), then include it in the Merge step (“Combine Price Feeds”). Popular tweaks include adding Hotels.com or Trivago, filtering by free cancellation, and sending alerts when a price drops below a target.

Why is my Scrape.do connection failing in this workflow?

Most of the time it’s an invalid token or you’ve hit your Scrape.do credit limit. Check the Scrape.do dashboard, regenerate the token if needed, and update it in n8n. If you’re getting empty hotel data, try enabling JavaScript rendering (render=true) because some booking sites load prices dynamically. Also watch for rate limiting when you run larger batches.

How many hotel searches can this hotel rate comparisons automation handle?

It can handle plenty, but it’s gated by your Scrape.do credits and how aggressively you batch requests. The workflow description notes that 10 hotels can take about 10 minutes, and 50+ hotels can take close to an hour depending on batching and API limits. If you self-host n8n, you won’t hit execution caps, but you still need to respect rate limits so the scrapes don’t fail.

Is this hotel rate comparisons automation better than using Zapier or Make?

Often, yes, because this is not a simple “app A to app B” connection. You’re pulling three messy data sources, normalizing them, merging them, and generating a clean output, which is where n8n tends to shine. Self-hosting also means you’re not paying per tiny step the way many teams end up doing in Zapier. That said, if you only want a basic email triggered from a form with no scraping, Zapier or Make may feel quicker. If you’re unsure, Talk to an automation expert and get a recommendation based on your volume and how often you re-quote.

Once this is running, your quoting process gets calmer. The workflow handles the repetitive comparison work, and you keep your attention for the decisions that actually matter.

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