geodirectory/manage-location manages the locations a directory covers: create adds a city, update edits one by ID, set_default makes one the site default.
Requires the Location Manager add-on. Without it the locations table does not exist and the ability says so rather than returning an empty list that reads as “no locations configured”.
At a glance
| Ability | geodirectory/manage-location |
| Toolset | GeoDirectory — toolset/geodirectory |
| Group | GeoDirectory › Locations |
| Requires | AcrossAI Pro, plus GeoDirectory active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Not idempotent — each call changes the row set, so re-running is not a no-op |
| Ships in | AcrossAI Pro 0.9.16 and later |
How it works
City, region, country, latitude and longitude are all required on create and update. That is more than it looks: the coordinates are the city centre, and they are what proximity search measures from when a listing has no coordinates of its own.
The country must be one GeoDirectory recognises, or the write is rejected. That check is what stops the typo problem described in the listing read — a country it does not know is an error rather than a new country.
The region carries no such check, so region spelling is worth being consistent about by hand.
The default location matters more than it sounds. Listings created without a city inherit it, and visitors arriving without a location see it — so it is both a data default and a front-end default.
The SEO fields — meta title, meta description, description, image tagline — apply to the location’s own archive page, which on a multi-city directory is a real landing page.
Not idempotent for create.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
action | string | Yes | create, update or set_default. |
location_id | integer | For update and set_default | Location row ID. |
city | string | For create and update | City name. |
region | string | For create and update | Region or state name. |
country | string | For create and update | Country name. Must be one GeoDirectory recognises. |
latitude | number | For create and update | City centre latitude. |
longitude | number | For create and update | City centre longitude. |
meta_title | string | No | SEO title for this location’s pages. |
meta_description | string | No | SEO meta description. |
description | string | No | Description shown on the location archive. |
image_tagline | string | No | Caption for the location header image. |
What comes back
| Name | Type | What it is |
|---|---|---|
location | object | The location after the write. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
Add Bristol to the directory.
It resolves to one call:
{
"ability": "geodirectory/manage-location",
"parameters": {
"action": "create",
"city": "Bristol",
"region": "Somerset",
"country": "United Kingdom",
"latitude": 51.4545,
"longitude": -2.5879
}
}Worth knowing
- The coordinates are the city centre and are what proximity search falls back to.
- An unrecognised country is rejected; a misspelled region is not.
- The default location is inherited by listings and shown to unlocated visitors.
- Requires the Location Manager add-on.
Related abilities
- GeoDirectory List Locations — check whether it exists first
- GeoDirectory Delete Location — remove one
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category