ClawLink

How to connect Google Maps to OpenClaw

Connect Google Maps to OpenClaw with ClawLink in one click — 19 tools your AI agent can call from chat via hosted OAuth. No API keys, no manual setup.

Get started for free
OpenClaw
OpenClaw
ClawLink
ClawLink
Google Maps
Google Maps
Google MapsOAUTH2MCP

Geocode addresses and query place details. Once connected, OpenClaw can read and act on Google Maps from chat — pairing, token refresh, and tool wiring handled for you.

19 tools

The usual route to Google Maps access for OpenClaw is an MCP server you configure and keep running, plus your own OAuth app or API keys. ClawLink gives OpenClaw a more practical Google Maps setup: install one ClawHub skill, connect Google Maps in the browser, and OpenClaw can call real Google Maps actions from any chat surface with no auth, token refresh, or tool wiring to build yourself.

Copy this prompt into OpenClaw, or open the Google Maps skill on ClawHub.

Prompt for OpenClaw
Before installing anything, inspect the ClawHub skill metadata and setup requirements.
If the skill asks you to install a third-party package or CLI, verify its source, maintainer, and package contents before running the install command.
Install the skill "Google Maps" (hith3sh/google-maps-places) from ClawHub only after those checks pass.
Skill page: https://clawhub.ai/hith3sh/google-maps-places
Keep the work scoped to this skill only.
After install, help me finish setup from verified skill metadata.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Setup

It takes three steps to connect OpenClaw to Google Maps.

  1. 1

    Install the plugin

    Paste the setup prompt into OpenClaw, or install from the terminal and ask OpenClaw to pair:

    openclaw plugins install clawhub:clawlink-plugin
  2. 2

    Connect Google Maps

    One-click OAuth in the dashboard.

  3. 3

    Use it from chat

    Ask OpenClaw: "What can you do with Google Maps?"

Install by command

The setup prompt above does all of this in one paste. By hand, it is one install command plus a browser approval:

openclaw plugins install clawhub:clawlink-plugin

Then ask OpenClaw to set up ClawLink. It starts browser pairing and prints an approval link — open it, approve the device, return to the chat, and say done. Finally, connect Google Maps in the ClawLink dashboard — a one-click OAuth approval, no API keys.

Verify the connection by asking OpenClaw:

Find "<place name>" in <city> using google_maps_text_search, show me the top candidates with their place ids, and once I confirm which one, pull the full details with google_maps_get_place_details.

Using a different agent?

The OpenClaw plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:

npx -y @useclawlink/cli login

login opens the same browser approval and stores a credential locally. Once Google Maps is connected in the dashboard, that agent calls the same 19 Google Maps tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.

Google Maps MCP for OpenClaw

Looking for a Google Maps MCP server for OpenClaw? ClawLink connects Google Maps to OpenClaw and exposes 19 Google Maps tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using Hermes instead? The Hermes Google Maps integration works the same way.

The usual Google Maps setup is a Cloud project with billing enabled and an API key restricted to the right APIs, and that is genuinely the shape of Maps Platform — which is why almost every answer about agents and Maps starts there. This connection is different: it authorizes through OAuth rather than a key you hold, so there is no project of yours to configure, no billing account to attach, and no key to restrict or rotate. OpenClaw can call the 19 Maps tools below — geocoding, place details, nearby and text search, routes and route matrices, autocomplete, tiles and aerial imagery — from the next message.

What the OpenClaw Google Maps integration can do

19 Google Maps tools are ready for OpenClaw once the account is connected.

All 19 Google Maps tools for OpenClaw

ToolWhat it does
Autocomplete google_maps_autocompleteReturns place and query predictions for text input. Use when implementing as-you-type autocomplete functionality for place searches. Returns up to five predictions ordered by relevance.
Compute route matrix google_maps_compute_route_matrixCalculates travel distance and duration matrix between multiple origins and destinations using the modern Routes API; supports OAuth2 authentication and various travel modes.
Geocode address with query google_maps_geocode_address_with_queryTool to map addresses to geographic coordinates with query parameter. Use when you need to convert a textual address into latitude/longitude coordinates using the modern v4beta API.
Geocode destinations google_maps_geocode_destinationsTool to perform destination lookup and return detailed destination information including primary place, containing places, sub-destinations, landmarks, entrances, and navigation points.
Geocode location google_maps_geocode_locationTool to convert geographic coordinates (latitude and longitude) to human-readable addresses using reverse geocoding. Use when you need to find the address or place name for a given set of coordinates.
Geocode place google_maps_geocode_placeTool to perform geocode lookup using a place identifier to retrieve address and coordinates. Use when you need to get detailed geographic information for a specific Google Place ID.
Geocoding API google_maps_geocoding_apiConvert addresses into geographic coordinates (latitude and longitude) and vice versa (reverse geocoding), or get an address for a Place ID.
Geolocate google_maps_geolocateTool to determine location based on cell towers and WiFi access points. Use when you need to find the geographic location of a device using network infrastructure data.
Get place details google_maps_get_place_detailsRetrieves comprehensive details for a place using its resource name (places/{place_id} format). Use when you need detailed information about a specific place.
Get route google_maps_get_routeCalculates one or more routes between two specified locations. Uses various travel modes and preferences; addresses must be resolvable by Google Maps.
Get2d tile google_maps_get2d_tileTool to retrieve a 2D map tile image at specified coordinates for building custom map visualizations. Use when you need to download individual map tile images for roadmap, satellite, or terrain views.
Get3d tiles root google_maps_get3d_tiles_rootTool to retrieve the 3D Tiles tileset root configuration for photorealistic 3D map rendering.
Lookup aerial video google_maps_lookup_aerial_videoLook up an aerial view video by address or video ID
Maps embed API google_maps_maps_embed_apiGenerate an embeddable Google Map URL and HTML iframe code
Nearby search google_maps_nearby_searchSearches for places (e.g., restaurants, parks) within a specified circular area, with options
Place photo google_maps_place_photoRetrieves high quality photographic content from the Google Maps Places database
Text search google_maps_text_searchSearches for places on Google Maps using a textual query (e.g., "restaurants in London"
Render aerial video google_maps_render_aerial_videoStarts rendering an aerial view video for a US postal address
Tiles create session google_maps_tiles_create_sessionCreate a session token required for accessing 2D Tiles and Street View imagery

Try it: find the Google Maps tool you need

Browse the 19 Google Maps tools

Click any tool to see exactly what OpenClaw can do and copy a ready-to-use prompt.

Example prompts

Find "<place name>" in <city> using google_maps_text_search, show me the top candidates with their place ids, and once I confirm which one, pull the full details with google_maps_get_place_details.

Use google_maps_get_route to work out driving time from <origin> to <destination>, and tell me what time I need to leave to arrive by <time>.

Use google_maps_compute_route_matrix for these 5 origins and 8 destinations. Map results using originIndex and destinationIndex, ignore any pair with no route, and give me a table of drive times.

Geocode each of the addresses above with google_maps_geocode_address_with_query, tell me which ones resolved unambiguously, and flag any that returned a different city than the one written.

How the Google Maps tools behave

Limits and response quirks taken from the tools' own schemas — the ones that decide whether an answer is right rather than merely returned.

  • Route matrices are capped at 625 elements. That is 25 origins by 25 destinations. Larger sets have to be chunked, or the call fails with a resource-exhausted error.
  • Matrix results can arrive out of order. Map them back with originIndex and destinationIndex rather than by position, or durations get attributed to the wrong pairs.
  • Not every matrix pair has a route. Only elements whose condition says a route exists are usable; the rest are placeholders and must be filtered out.
  • Autocomplete returns at most five predictions. They are ordered by relevance, so a generic query may not surface the place you meant. Adding a city is the fix.
  • Place ids are the stable handle. Resolve a name to a place id with search or autocomplete, then use google_maps_get_place_details against that id. Re-searching by name each time is how an agent silently changes which place it is talking about.
  • Geocoding has several entry points. There are separate tools for addresses, locations, places, and destinations; picking the one that matches your input shape gives better results than forcing everything through one.

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for OpenClaw. That is fine if you want to build and maintain the integration yourself. Most teams just want Google Maps working from chat.

ManualClawLink
Connection flowRegister a Google Maps app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift.Users connect Google Maps through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code.
Ongoing maintenanceYou own refresh logic, permission debugging, environment config, and every provider-specific edge case for Google Maps.ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure.
Agent usabilityYou still need to expose the right Google Maps actions to the runtime in a format your agent can reliably use.19 tools for Google Maps are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes Google Maps to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for OpenClaw users instead. You install the plugin once, connect Google Maps in the browser, and the 19 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full Composio alternatives comparison.

Troubleshooting

OpenClaw installed the Google Maps skill but can't call the tools

The ClawHub skill teaches OpenClaw about Google Maps, but the calls run through the ClawLink plugin and your connected account. Make sure Google Maps is connected in the dashboard, then start a fresh chat so OpenClaw reloads the tool catalog. If OpenClaw runs as a persistent gateway, restart it so the new tools register.

Connection succeeds but no tools appear

Reconnect Google Maps from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

"Tool schema not loaded yet" error when calling Google Maps tools

Google Maps tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Google Maps call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

Google Maps returns 403 or "permission denied" on one action while others work

Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

Google Maps returns a permission or quota error although the account is connected

First, the thing most search results get wrong for this setup: you are not being asked to fix a Google Cloud project, enable an API, or attach billing, because there is no project of yours in this path. Advice to check your key restrictions or enable the Places API is written for the key-based route. What does cause errors here is usually the request rather than the authorization. Route matrix calls are capped at 625 elements, so a large origin-by-destination grid fails with a resource-exhausted error until it is chunked into smaller batches. Requests for places that do not resolve, or coordinates outside coverage, return empty rather than erroring. If every Maps call fails rather than one shape of call, the connection itself is the thing to reconnect from the dashboard.

Ask the agent to diagnose it:

Tell me exactly which Maps tool you called and with what arguments, including how many origins and destinations if it was a route matrix. Quote the exact error. Do not retry yet.
The route matrix comes back incomplete or in the wrong order

Both are documented behaviours rather than faults, and an agent that does not know them will misreport results. The response elements are not guaranteed to arrive in the order you supplied, so results must be mapped back using the origin and destination indexes rather than by position — an agent that zips the arrays naively will attribute the wrong duration to the wrong pair. Separately, the matrix may be incomplete: only elements whose condition indicates a route exists are usable, and pairs with no viable route are present but meaningless. Ask the agent to filter on that condition and to map by index explicitly.

Ask the agent to diagnose it:

Show me the raw route matrix response. Confirm you mapped results using originIndex and destinationIndex, and tell me which pairs had no route.
Place lookups return the wrong location or nothing at all

Almost always ambiguity in the query rather than a failure. A place name without a city or region matches whichever candidate ranks highest globally, which is how an agent ends up reporting a restaurant on another continent. The reliable pattern is two-stage: resolve first with autocomplete or text search to get a place id, confirm the candidate is the right one, and then fetch details against that id. Note that autocomplete returns at most five predictions ordered by relevance, so a very generic query may simply not include the place you meant among them — adding a city usually fixes it immediately.

OAuth finished in the browser but the account is still missing

Try reconnecting Google Maps and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.

FAQ

Is there a OpenClaw Google Maps integration?

Yes. ClawLink is the fastest way to connect OpenClaw to Google Maps: link your Google Maps account once in the browser and OpenClaw can call the Google Maps API through 19 ready-made tools — no custom code or token handling.

How do I add Google Maps to OpenClaw with ClawLink?

Paste the setup prompt from this page into OpenClaw. It installs the ClawLink Google Maps skill from ClawHub, then you click Connect in the dashboard to authorize Google Maps. OpenClaw calls the tools from the next message — no config files or API keys to manage.

How long does it take to connect Google Maps to OpenClaw?

About two minutes. Sign in, click Connect next to Google Maps in the dashboard, authenticate, and OpenClaw can use it from the next chat message.

Why use ClawLink instead of wiring Google Maps up myself?

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for OpenClaw. That is fine if you want to build and maintain the integration yourself. Most teams just want Google Maps working from chat.

Do I need a Google Cloud project, an API key, and billing enabled?

No, and this is worth stating plainly because the most common answer to this question says otherwise. Maps Platform normally works through an API key tied to a project with a billing account, which is why guides tell you to enable the Places and Routes APIs, create a key, and restrict it. This integration authorizes over OAuth instead, so you approve access in the browser and there is no key on your side to create, restrict, or leak, and no billing account of yours attached to the calls. If you have read that a connected agent still needs its own configured project and quotas, that is accurate for the key-based route and not for this one.

How is this different from Google's own Maps MCP options?

Google offers its own managed paths for giving a model access to Maps data, and if Maps is the only thing your agent needs, using Google's own route is a perfectly sensible choice. The structural difference here is that these tools sit alongside every other integration you have connected, under one pairing step and one place to revoke access. That matters for the workflows that are not really about Maps — enriching a CRM record with a verified address, checking travel time before scheduling a calendar event, adding location context to a support ticket — because the agent already holds those other connections.

What can it actually do — is it just addresses?

Geocoding is the smallest part of it. Beyond converting addresses to coordinates and back, the toolset covers place details and photos, nearby search and text search, autocomplete predictions, single routes and multi-origin route matrices, geolocation, and map imagery including 2D tiles, 3D tiles, and aerial video lookups. In practice the two most useful families for agents are place resolution — turning a vague name into a real place id with real details — and the routing tools, which answer distance and duration questions properly rather than by estimating.

Is it safe to connect Google Maps to an AI agent?

The risk profile here is unusually mild compared with most integrations, because Maps is a read-oriented data service rather than something holding your private records — these tools look up places and compute routes, they do not read your mail or write to your accounts. There is no API key of yours that could leak, which removes the most common Maps-specific failure, where a key ends up in a repository and gets abused against someone's billing account. The ordinary care still applies: the connection can be revoked from the ClawLink dashboard whenever you want.

OpenClaw installed the Google Maps skill but can't call the tools

The ClawHub skill teaches OpenClaw about Google Maps, but the calls run through the ClawLink plugin and your connected account. Make sure Google Maps is connected in the dashboard, then start a fresh chat so OpenClaw reloads the tool catalog. If OpenClaw runs as a persistent gateway, restart it so the new tools register.