Build Multi-Agent Travel & Celebration Assistants with Google ADK
Tour and test the travel orchestrator
Inspect the sequential travel agent workflow, trigger it inside ADK, and understand its sub-agents.
The Personal Assistant app demonstrates a sequential workflow that tailors recommendations for travellers based in India. Let’s trigger it end-to-end and inspect how the orchestration works.
Trigger a planning session
-
Open the ADK Dev UI (from the previous step).
-
Select Personal Assistant → New Session.
-
Paste a prompt such as:
"I live in Bengaluru and want a monsoon-friendly long weekend in July. Budget around ₹45,000 for two people." -
Submit the request. Watch the session timeline—each sub-agent reports status updates as the orchestrator moves through the workflow.
When the run completes you will see weather insights, safety advisories, itineraries, INR budgets, and visa reminders when relevant.
Understand the sub-agent chain
Open personal_assistant/agent.py for context:
weather_data_agent(Gemini Flash Lite) callsfetch_weather_summaryto gather raw Open-Meteo data.weather_intel_agent(Gemini Flash) translates that feed into actionable packing tips for Indian travellers (Current,Daily Outlook,Implications).local_news_fetch_agentandlocal_news_safety_agentpair up to pull regional headlines and rate the safety level (Safe,Caution,Avoid).safety_watch_agentsynthesises official advisories.trip_planner_agentstitches weather and safety intelligence into before/during/after travel guidance with INR budgeting.
The root orchestrator enforces this order:
root_agent = Agent( model="gemini-2.5-flash", name="travel_orchestrator", instruction=( "... Always confirm whether the user wants ideas in their current location or elsewhere ..." ), sub_agents=[ weather_data_agent, weather_agent, local_news_fetch_agent, local_news_agent, safety_agent, trip_planner_agent, ], )
Tip: the instruction reminds the orchestrator to confirm whether the traveller wants local or getaway ideas, keeping recommendations grounded in Indian logistics.
Inspect tool integrations
Two helper functions live inside personal_assistant/tools.py:
fetch_weather_summaryresolves destinations with Open-Meteo’s geocoding API, then fetches forecasts.fetch_safety_briefqueries Google News RSS for recent incidents.
Each function is wrapped in FunctionTool and passed to the relevant agent. This keeps the model prompts concise while letting you implement logic in Python.
Experiment with variations
- Try planning an outbound trip (e.g., “Fly from Delhi to Kyoto in October”) and verify that the assistant covers visas and compares climates to Indian norms.
- Remove the user’s destination to watch the orchestrator ask clarifying questions about staying local versus travelling elsewhere.
- Adjust budgets to see INR cost breakdowns scale.
Once you’re comfortable with the sequential flow, you’re ready to build a parallel ideation experience.