Gemini API now supports using Google Maps and Google Search tools in the same call with Gemini 3.5 Flash and 3.6 Flash, and lets developers add custom functions or MCP servers via Tool Combination. This lets Gemini search the web for a venue, verify details through Maps, and hand structured parameters to a function call or MCP server (like an OpenTable MCP server) to complete actions such as booking a table, all within one interaction without manual roundtrips. A JavaScript example using the Interactions API and @google/genai demonstrates the flow, including multi-turn state handling via previous_interaction_id.

2m read timeFrom philschmid.de
Post cover image
Table of contents
How the tools fit togetherThe JavaScript snippetRunning it in an appUsing OpenTable via MCPWhy this is fun

Questions this post answers

Can I use Google Maps and Google Search tools together in the same Gemini API call?

Yes, Gemini 3.5 Flash and 3.6 Flash support using the Google Maps and Google Search tools within the exact same call. Search finds live web information like events or venues, while Maps supplies physical details such as coordinates, opening hours, ratings, and place IDs, all handled in one interaction instead of separate chained API calls. Developers combining live web and location data can track new Gemini tool capabilities on daily.dev.

How do I let Gemini complete an action like booking a restaurant table after finding it via search and maps?

Add custom functions or an MCP server through Tool Combination in the Gemini API. Gemini searches the web for a venue, verifies it on Google Maps, then hands structured parameters directly to your function call or an existing MCP server, such as an OpenTable MCP server, so the reservation can be made without manual roundtrips between your app and the model. Anyone wiring MCP servers into AI agents follows practical tool-combination patterns like this on daily.dev.

How does the Gemini Interactions API keep conversation and grounding context alive across multiple turns?

The Interactions API preserves the full grounding context and conversation state server-side using a previous_interaction_id, so you don't need to resend token histories. After a user confirms an action, your app calls the real service, gets a reference ID, and passes that result back to Gemini in the next turn using this identifier. Developers building multi-turn AI agent flows can keep up with API changes like this via daily.dev.

141 Impressions