OpenClaw normalizes shared locations from chat channels into:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- terse coordinate text appended to the inbound body, and
- structured fields in the auto-reply context payload. Channel-provided labels, addresses, and captions/comments are rendered into the prompt by the shared untrusted metadata JSON block, not inline in the user body.
- Telegram (location pins + venues + live locations)
- WhatsApp (locationMessage + liveLocationMessage)
- Matrix (
m.locationwithgeo_uri)
Text formatting
Locations are rendered as friendly lines without brackets:- Pin:
📍 48.858844, 2.294351 ±12m
- Named place:
📍 48.858844, 2.294351 ±12m
- Live share:
🛰 Live location: 48.858844, 2.294351 ±12m
Context fields
When a location is present, these fields are added toctx:
LocationLat(number)LocationLon(number)LocationAccuracy(number, meters; optional)LocationName(string; optional)LocationAddress(string; optional)LocationSource(pin | place | live)LocationIsLive(boolean)LocationCaption(string; optional)
LocationName, LocationAddress, and LocationCaption as untrusted metadata and serializes them through the same bounded JSON path used for other channel context.
Channel notes
- Telegram: venues map to
LocationName/LocationAddress; live locations uselive_period. - WhatsApp:
locationMessage.commentandliveLocationMessage.captionpopulateLocationCaption. - Matrix:
geo_uriis parsed as a pin location; altitude is ignored andLocationIsLiveis always false.