Global AI Network
Agent Template v1.0

Travel Deal Aggregator

Automate travel planning by instantly searching flights and hotels, then email personalized itineraries via Gmail—all triggered by a single request.

19+
Deployments
5m
Setup Time
Free
Pricing

Need custom configuration?

Our solution engineers can help you adapt this agent to your specific infrastructure and requirements.

Enterprise Grade Best Practices Production Optimized

INTEGRATED_MODULES

Gmail
Gmail
Step by Step

Setup Tutorial

mission-briefing.md

Travel Request Automation Agent Setup Guide

What This Agent Does

This powerful workflow automates the entire travel planning process by accepting travel requests through a webhook, searching for flights and hotels simultaneously, and delivering personalized itinerary combinations directly to your inbox. Once triggered, the agent intelligently combines flight and hotel options, generates multiple travel scenarios, formats them into a professional HTML email, and sends everything to your specified recipient—all within seconds.

Key benefits and time savings:

  • Eliminates manual searching across multiple travel platforms, saving 30-45 minutes per request
  • Delivers curated options automatically, allowing travelers to make decisions faster
  • Scales effortlessly to handle multiple simultaneous travel requests without additional effort
  • Ensures consistency with standardized formatting and professional presentation
  • Reduces booking errors through automated data validation and structured workflows

Target use cases:

  • Corporate travel departments managing employee travel requests
  • Travel agencies automating client itinerary generation
  • HR teams processing business travel approvals
  • Event planning teams coordinating attendee travel
  • Consulting firms managing consultant travel logistics

Who Is It For

This workflow is ideal for organizations that process frequent travel requests and want to eliminate repetitive manual work. It's perfect for:

  • Travel coordinators who spend hours searching multiple platforms daily
  • HR and administrative teams managing employee travel programs
  • Travel agencies looking to automate initial itinerary generation
  • Corporate travel managers needing to process high volumes of requests efficiently
  • Event organizers coordinating travel for multiple attendees simultaneously

No coding experience is required—the workflow handles all technical complexity while you focus on strategic travel decisions.


Required Integrations

Gmail

Why it's needed: Gmail serves as your communication hub, delivering formatted travel itineraries directly to travelers' inboxes. This ensures recipients receive professional, branded emails with all flight and hotel options clearly organized and ready for review.

Setup steps:

  1. Access your Gmail account and navigate to myaccount.google.com
  2. Enable 2-Step Verification (required for app passwords):
    • Click "Security" in the left sidebar
    • Scroll to "2-Step Verification" and follow the setup wizard
    • Confirm your recovery phone number and backup email
  3. Generate an App Password:
    • Return to Security settings after 2-Step Verification is enabled
    • Scroll to "App passwords" (appears only after 2-Step Verification is active)
    • Select "Mail" and "Windows Computer" (or your device type)
    • Google generates a 16-character password—copy this immediately
  4. Connect Gmail to TaskAGI:
    • In TaskAGI, navigate to IntegrationsGmail
    • Click "Add New Connection"
    • Enter your Gmail address and the 16-character app password
    • Click "Authenticate" and verify the connection succeeded
  5. Verify permissions by sending a test email through TaskAGI

How to obtain API keys/credentials: Gmail uses OAuth 2.0 authentication. The app password method (above) is the most reliable for automation. Alternatively, you can use full OAuth authentication by:

  • Creating a Google Cloud project at console.cloud.google.com
  • Enabling the Gmail API
  • Creating OAuth 2.0 credentials
  • However, app passwords are simpler and recommended for this workflow

Configuration in TaskAGI: Once authenticated, your Gmail connection appears in the Send Email via Gmail node. The workflow automatically populates:

  • Recipient field: [[nodes.5972.recipient]] (dynamically set from parsed input)
  • Subject line: [[nodes.5972.subject]] (generated from itinerary data)
  • Email body: [[nodes.5972.htmlBody]] (formatted HTML from the email formatting node)

Configuration Steps

Step 1: Workflow Overview Node (5966)

This documentation node requires no configuration. It serves as your workflow reference point and appears in execution logs for clarity.

Step 2: Travel Request Webhook Trigger (5967)

This node receives incoming travel requests and initiates the entire workflow.

Configuration:

  1. Copy your webhook URL from the node details panel
  2. Share this URL with your travel request system or application
  3. Expected payload format (JSON):
{
  "travelerName": "John Smith",
  "email": "john.smith@company.com",
  "departureCity": "New York",
  "destinationCity": "Los Angeles",
  "departureDate": "2024-03-15",
  "returnDate": "2024-03-20",
  "budget": 3000
}

Testing the webhook: Use a tool like Postman or cURL to send test data:

curl -X POST [YOUR_WEBHOOK_URL] \
  -H "Content-Type: application/json" \
  -d '{"travelerName":"Test User","email":"test@example.com","departureCity":"NYC","destinationCity":"LAX","departureDate":"2024-03-15","returnDate":"2024-03-20","budget":3000}'

Step 3: Parse & Validate Inputs (5968)

This node extracts and validates data from the webhook payload.

Configuration:

  1. Map incoming fields to standardized variables:

    • traveler_nametravelerName
    • traveler_emailemail
    • origin_citydepartureCity
    • destination_citydestinationCity
    • start_datedepartureDate
    • end_datereturnDate
    • max_budgetbudget
  2. Add validation rules:

    • Email format validation (must contain @)
    • Date format validation (YYYY-MM-DD)
    • Budget must be positive number
    • Cities must not be empty
  3. Set error handling to reject invalid requests with clear messages

Step 4: Search Flights (Skyscanner) (5969)

This node queries flight data from Skyscanner's API.

Configuration:

  1. Obtain Skyscanner API key:

  2. Configure the HTTP request:

    • Method: GET
    • URL: https://skyscanner-api.p.rapidapi.com/v3/flights/search
    • Headers:
      • x-rapidapi-key: [Your Skyscanner API Key]
      • x-rapidapi-host: skyscanner-api.p.rapidapi.com
    • Query Parameters:
      • originEntityId: [[nodes.5968.origin_city]]
      • destinationEntityId: [[nodes.5968.destination_city]]
      • outboundDate: [[nodes.5968.start_date]]
      • returnDate: [[nodes.5968.end_date]]
      • adults: 1
      • sortBy: price
  3. Response mapping: Extract flight options, prices, airlines, and times

Step 5: Search Hotels (Booking.com) (5970)

This node queries hotel availability and pricing.

Configuration:

  1. Obtain Booking.com API credentials:

  2. Configure the HTTP request:

    • Method: GET
    • URL: https://booking-com.p.rapidapi.com/v1/hotels/search
    • Headers:
      • x-rapidapi-key: [Your Booking.com API Key]
      • x-rapidapi-host: booking-com.p.rapidapi.com
    • Query Parameters:
      • query: [[nodes.5968.destination_city]]
      • checkin_date: [[nodes.5968.start_date]]
      • checkout_date: [[nodes.5968.end_date]]
      • adults_number: 1
      • order_by: price
  3. Response mapping: Extract hotel names, prices, ratings, and amenities

Step 6: Merge Flight & Hotel Data (5971)

This node combines flight and hotel results into a unified dataset.

Configuration:

  1. Set merge strategy: Combine arrays from both API responses
  2. Create unified structure:
{
  "flights": [[nodes.5969.results]],
  "hotels": [[nodes.5970.results]],
  "traveler_info": [[nodes.5968.traveler_data]],
  "budget": [[nodes.5968.max_budget]]
}

Step 7: Generate Itinerary Combinations (5972)

This custom function creates multiple travel scenarios.

Configuration:

  1. Logic: Generate 3-5 combinations pairing different flights with different hotels
  2. Filtering criteria:
    • Total cost (flight + hotel) ≤ budget
    • Reasonable flight times (avoid red-eyes if possible)
    • Hotels with ratings ≥ 4.0 stars
  3. Output format: Array of complete itineraries with total costs

Step 8: Format HTML Email (5973)

This function creates a professional, visually appealing email template.

Configuration:

  1. Include sections:
    • Personalized greeting with traveler name
    • Trip summary (dates, cities, budget)
    • 3-5 itinerary options in table format
    • Price comparison and recommendations
    • Call-to-action buttons for booking
  2. Styling: Use professional colors, clear typography, responsive design
  3. Output: Store formatted HTML in htmlBody variable

Step 9: Send Email via Gmail (5974)

This node delivers the formatted itinerary to the traveler.

Configuration:

  • To: [[nodes.5968.traveler_email]]
  • Subject: Your Personalized Travel Itinerary: [Destination] - [Dates]
  • Body: [[nodes.5973.htmlBody]]
  • From: Your configured Gmail address (auto-populated)

Step 10: Webhook Response (5975)

This node confirms successful execution to the calling system.

Configuration:

  • Response body:
{
  "success": true,
  "message": "Travel itinerary email sent successfully",
  "recipient": "[[nodes.5968.traveler_email]]",
  "timestamp": "[[system.timestamp]]"
}

Testing Your Agent

Test Execution Steps

1. Prepare test data: Create a test JSON payload with realistic travel information:

{
  "travelerName": "Sarah Johnson",
  "email": "sarah.johnson@testcompany.com",
  "departureCity": "San Francisco",
  "destinationCity": "Miami",
  "departureDate": "2024-04-10",
  "returnDate": "2024-04-15",
  "budget": 2500
}

2. Send test request:

  • Use Postman, cURL, or TaskAGI's built-in webhook tester
  • Send the payload to your webhook URL
  • Note the execution ID for tracking

3. Verify at each step:

Node What to Check Expected Result
Parse & Validate Data extraction accuracy All fields correctly mapped, no validation errors
Search Flights API response status 200 OK, flight results returned
Search Hotels API response status 200 OK, hotel results returned
Merge Data Combined structure Single object with flights, hotels, and traveler info
Generate Combinations Itinerary count 3-5 valid combinations generated
Format Email HTML validity Professional formatting, all data visible
Send Email Gmail delivery Email arrives in recipient inbox within 2 minutes
Webhook Response Response status 200 OK with success message

4. Check your email:

  • Verify email arrives at the test recipient address
  • Confirm all itinerary options display correctly
  • Test email links and formatting on mobile devices
  • Validate that prices total correctly

5. Success indicators: ✅ Webhook returns {"success": true} status
✅ Email arrives within 2 minutes
✅ All flight and hotel data displays correctly
✅ HTML formatting renders properly
✅ Total costs are accurate and within budget
✅ No errors appear in execution logs

Troubleshooting common issues:

  • Email not received: Check Gmail authentication and verify recipient email is correct
  • Missing flight/hotel data: Verify API keys are valid and cities are spelled correctly
  • Budget filtering issues: Ensure currency conversion is handled if needed
  • Formatting problems: Test HTML in different email clients (Gmail, Outlook, Apple Mail)

Your travel automation agent is now ready to streamline your travel planning process!