This workflow automates flight price comparison across multiple booking platforms (Kayak, Skyscanner, Expedia, Google Flights). It accepts natural language queries, extracts flight details using NLP, scrapes prices in parallel, identifies the best deals, and sends professional email reports with comprehensive price breakdowns and booking links. π¦ What You'll Get A fully functional, production-ready n8n workflow that: β Compares flight prices across 4 major platforms (Kayak, Skyscanner, Expedia,

This workflow automates flight price comparison across multiple booking platforms (Kayak, Skyscanner, Expedia, Google Flights). It accepts natural language queries, extracts flight details using NLP, scrapes prices in parallel, identifies the best deals, and sends professional email reports with comprehensive price breakdowns and booking links. π¦ What You'll Get A fully functional, production-ready n8n workflow that: β Compares flight prices across 4 major platforms (Kayak, Skyscanner, Expedia, Google Flights) β Accepts natural language requests ("Flight from NYC to London on March 25") β Sends beautiful email reports with best deals β Returns real-time JSON responses for web apps β Handles errors gracefully with helpful messages β Includes detailed documentation with sticky notes --- π Quick Setup (3 Steps) Step 1: Import Workflow to n8n 1. Copy the JSON from the first artifact (workflow file) 2. Open n8n β Go to Workflows 3. Click "Import from File" β Paste JSON β Click Import 4. β Workflow imported successfully! Step 2: Setup Python Scraper On your server (where n8n SSH nodes will connect): Expected Output: Step 3: Configure n8n Credentials A. Setup SMTP (for sending emails): 1. In n8n: Credentials β Add Credential β SMTP 2. Fill in details: For Gmail Users: - Enable 2FA: - Create App Password: - Use the 16-character password in n8n B. Setup SSH (already configured if you used existing credentials): 1. In workflow, SSH nodes use: ilPh8oO4GfSlc0Qy 2. Verify credential exists and points to correct server 3. Update path if needed: /home/oneclick-server2/ C. Activate Workflow: 1. Click the workflow toggle β Active β 2. Webhook is now live! --- π― How to Use Method 1: Direct Webhook Call Response: Method 2: Natural Language Queries The workflow understands various formats: β All these work: - "Flight from New York to London on 25th March, one-way" - "NYC to LHR March 25 round-trip return March 30" - "I need a flight from Mumbai to Dubai departing 15th March" - "JFK LHR 2025-03-25 2025-03-30 round-trip" Supported cities (auto-converts to airport codes): - New York β JFK - London β LHR - Mumbai β BOM - Dubai β DXB - Singapore β SIN - And 20+ more cities Method 3: Structured JSON --- π§ Email Report Example Users receive an email like this: --- π§ Customization Options Change Scraping Platforms Add more platforms: 1. Duplicate an SSH scraping node 2. Change platform parameter: kayak β new-platform 3. Add scraping logic in flightscraper.py 4. Connect to "Aggregate & Analyze Prices" node Remove platforms: 1. Delete unwanted SSH node 2. Workflow continues with remaining platforms Modify Email Format Edit the "Format Email Report" node: Then update "Send Email Report" node: - Change emailFormat to html - Use {{$json.html}} instead of {{$json.text}} Add More Cities/Airports Edit "Parse & Validate Flight Request" node: Change Timeout Settings In each SSH node, add: --- π Troubleshooting Issue: "No flights found" Possible causes: 1. Scraper script not working 2. Website structure changed 3. Dates in past 4. Invalid airport codes Solutions: Issue: "Connection refused" (SSH) Solutions: 1. Verify SSH credentials in n8n 2. Check server is accessible: ssh user@your-server 3. Verify path exists: /home/oneclick-server2/ 4. Check Python installed: which python3 Issue: "Email not sending" Solutions: 1. Verify SMTP credentials 2. Check email in spam folder 3. For Gmail: Confirm App Password is used (not regular password) 4. Test SMTP connection: Issue: "Webhook not responding" Solutions: 1. Ensure workflow is Active (toggle on) 2. Check webhook path: /webhook/flight-price-compare 3. Test with curl command (see "How to Use" section) 4. Check n8n logs: Settings β Log Streaming Issue: "Scraper timing out" Solutions: --- π Understanding the Workflow Node-by-Node Explanation 1. Webhook - Receive Flight Request - Entry point for all requests - Accepts POST requests - Path: /webhook/flight-price-compare 2. Parse & Validate Flight Request - Extracts flight details from natural language - Converts city names to airport codes - Validates required fields - Returns helpful errors if data missing 3. Check If Request Valid - Routes to scraping if valid - Routes to error response if invalid 4-7. Scrape [Platform] (4 nodes) - Run in parallel for speed - Each calls Python script with platform parameter - Continue on failure (don't break workflow) - Return pipe-delimited flight data 8. Aggregate & Analyze Prices - Collects all scraper results - Parses flight data - Finds best overall deal - Finds best non-stop flight - Calculates statistics - Sorts by price 9. Format Email Report - Creates readable text report - Includes route details - Highlights best deal - Lists top 10 results - Shows statistics 10. Send Email Report - Sends formatted email to user - Uses SMTP credentials 11. Webhook Response (Success) - Returns JSON response immediately - Includes best price summary - Confirms email sent 12. Webhook Response (Error) - Returns helpful error message - Guides user on what's missing --- π¨ Workflow Features β Included Features - Natural Language Processing: Understands flexible input formats - Multi-Platform Comparison: 4 major booking sites - Parallel Scraping: All platforms scraped simultaneously - Error Handling: Graceful failures, helpful messages - Email Reports: Professional format with all details - Real-Time Responses: Instant webhook feedback - Sticky Notes: Detailed documentation in workflow - Airport Code Mapping: Auto-converts 20+ cities π§ Not Included (Easy to Add) - Price Alerts: Monitor price drops (add Google Sheets) - Analytics Dashboard: Track searches (add Google Sheets) - SMS Notifications: Send via Twilio - Slack Integration: Post to channels - Database Logging: Store searches in PostgreSQL - Multi-Currency: Show prices in the user's currency --- π‘ Pro Tips Tip 1: Speed Up Scraping Use faster scraping service (like ScraperAPI): Tip 2: Cache Results Add caching to avoid duplicate scraping: Tip 3: Add More Platforms Easy to add Momondo, CheapOair, etc.: 1. Add function in flightscraper.py 2. Add SSH node in workflow 3. Connect to aggregator Tip 4: Improve Date Parsing Handle more formats:
Download the workflow JSON file after purchase.
Open n8n β click the menu β Import from File.
Select the downloaded JSON and import.
Set up credentials for each node that requires them.
Click Execute Workflow to test, then activate.
Setup guide included
Purchase to unlock the full step-by-step guide
No reviews yet
Be the first to buy and share your experience.
Leave a review
Sign in to share your experience with this workflow.
Create a free account to purchase workflows.
Need help setting this up?
Book a 3-hour live setup session with an Agility consultant.