Skip to main content

Automate hotel booking requests from Gmail to Google Sheets with GPT-5-mini

Workflow preview

Workflow preview
100%
Automate hotel booking requests from Gmail to Google Sheets with GPT-5-mini preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Who’s it for This workflow is for hotel managers, travel agencies, and hospitality teams who receive booking requests via email. It eliminates the need for manual data entry by automatically parsin...

Best for

  • Document Extraction automation workflows
  • AI Summarization automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.if, n8n-nodes-base.set, n8n-nodes-base.googlesheets, n8n-nodes-base.gmail, @n8n/n8n-nodes-langchain.agent, @n8n/n8n-nodes-langchain.guardrails, n8n-nodes-base.filter, n8n-nodes-base.extractfromfile

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Gtaras.

Original n8n.io source

1.1 Workflow description

Title
Automate hotel booking requests from Gmail to Google Sheets with GPT-5-mini
Workflow name
Automate hotel booking requests from Gmail to Google Sheets with GPT-5-mini

Who’s it for

This workflow is for hotel managers, travel agencies, and hospitality teams who receive booking requests via email. It eliminates the need for manual data entry by automatically parsing emails and attachments, assigning booking cases to the right teams, and tracking performance metrics.

What it does

This workflow goes beyond simple automation by including enterprise-grade logic and security:

  • 🛡️ Gatekeeper: Watches your Gmail and filters irrelevant emails before spending money on AI tokens.
  • 🧠 AI Brain: Uses OpenAI (GPT-5-mini) to extract structured data from unstructured email bodies and PDF attachments.
  • ⚖️ Business Logic: Automatically routes tasks to different teams based on urgency, room count, and VIP status.
  • 🔒 Security: Catches PII (like credit card numbers) and scrubs them before they hit your database.
  • 🚨 Safety Net: If anything breaks, a dedicated error handling path logs the issue immediately so no booking is lost.
  • 📈 ROI Tracking: Calculates the time saved per booking to prove the value of automation.

How to set up

  1. Create your Google Sheet: Create a new sheet and rename the tabs to: Cases, Team Assignments, Error Logs, Success Metrics.
  2. Add Credentials: Go to n8n Settings → Credentials and add your Gmail (OAuth2), Google Sheets, and OpenAI API keys.
  3. Configure User Settings: Open the "Configuration: User Settings" node at the start of the workflow. Paste your specific Google Sheet ID and Admin Email there.
  4. Adjust Business Rules: Open the "Apply Business Rules" node (Code node) to adjust the logic for team assignment (e.g., defining what counts as a "VIP" booking).
  5. Customize Templates: Modify the email templates in the Gmail nodes to match your hotel's branding.
  6. Test: Send a sample booking email to yourself to verify the filters and data extraction.

Setup requirements

  • Gmail account (OAuth2 connected)
  • Google Sheets (with the 4 tabs listed below)
  • OpenAI API key (GPT-5-mini recommended)
  • n8n Cloud or self-hosted instance

How to customize

  • Filter Booking Emails: Update the trigger node keywords to match your specific email subjects (e.g., "Reservation", "Booking Request").
  • Apply Business Rules: Edit the Javascript in the Code node to fit your company’s internal logic (e.g., changing priority thresholds).
  • New Metrics: Add new columns in the Google Sheet (e.g., “Revenue Metrics”) and map them in the "Update Sheet" node.
  • AI Model: Switch to GPT-5 if you need higher reasoning capabilities for complex PDF layouts.

Google Sheets Structure Description

This workflow uses a Google Sheets document with four main tabs to track and manage hotel booking requests.

1. Cases

This is the main data log for all incoming booking requests.

  • case_id: Unique identifier generated by the workflow.
  • processed_date: Timestamp when the workflow processed the booking.
  • travel_agency / contact_details: Extracted from the email.
  • number_of_rooms / check_in_date: Booking details parsed by the AI.
  • special_requests: Optional notes (e.g., airport transfer).
  • assigned_team / priority: Automatically set based on business rules.
  • days_until_checkin: Dynamic field showing urgency.

2. Team Assignments

Stores internal routing and assignment details.

  • timestamp: When the case was routed.
  • case_id: Link to the corresponding record in the Cases tab.
  • assigned_team / team_email: Which department handles this request.
  • priority: Auto-set based on room count or urgency.

3. Error Log

A critical audit trail that captures details about any failed processing steps.

  • error_type: Categorization of the failure (e.g., MISSING_REQUIRED_FIELDS).
  • error_message: Detailed technical explanation for debugging.
  • original_sender / snippet: Context to help you manually process the request if needed.

4. Success Metrics

Tracks the results of your automation to prove its value.

  • processing_time_seconds: The time savings achieved by the automation (run time vs. human time).
  • record_updated: Confirmation that the database was updated.

🙋 Support

If you encounter any issues during setup or have questions about customization, please reach out to our dedicated support email: [email protected]

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - IF (Guardrail Check)

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 2 - Merge Sanitized Data

Type / Role
n8n-nodes-base.set - set
Config choices
Version 1

Block 3 - Set Invalid Email Error

Type / Role
n8n-nodes-base.set - set
Config choices
Version 1

Block 4 - Log Invalid Email Error

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 5 - Send Invalid Email Notification

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 6 - OpenAI Model for Email Text2

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.9

Block 7 - Guardrails

Type / Role
@n8n/n8n-nodes-langchain.guardrails - guardrails
Config choices
Version 1

Block 8 - OpenAI Model for PDF

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.9

Block 9 - Filter Booking Emails

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.2

Block 10 - Check for Attachment

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 11 - Extract Attachment Data

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 12 - Configuration: User Settings

Type / Role
n8n-nodes-base.set - set
Config choices
Version 1

Block 13 - Get many messages (1)

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 14 - Look for incoming emails

Type / Role
n8n-nodes-base.gmailTrigger - gmailTrigger
Config choices
Version 1.2

Block 15 - Validate Extraction

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 16 - Apply Business Rules

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 17 - Log Error to Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 18 - Send Error Notification

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 19 - Guardrails1

Type / Role
@n8n/n8n-nodes-langchain.guardrails - guardrails
Config choices
Version 1

Block 20 - Log Team Assignment

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 21 - Append to Cases Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 22 - Send Confirmation Email

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 23 - Log Success Metrics

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 24 - Check for Errors

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Showing the first 24 of 37 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Automate hotel booking requests from Gmail to Google Sheets with GPT-5-mini
Complexity advanced
Nodes 37
Categories Document Extraction, AI Summarization
Author Gtaras
Published 06 Nov 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/10578/10578.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Automate hotel booking requests from Gmail to Google Sheets with GPT-5-mini do?

Who’s it for This workflow is for hotel managers, travel agencies, and hospitality teams who receive booking requests via email. It eliminates the need for manual data entry by automatically parsin...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Document Extraction, AI Summarization use case.