---
canonical_url: "https://docs.composio.dev/toolkits/google_business_profile"
markdown_url: "https://docs.composio.dev/toolkits/google_business_profile.md"
product: "platform"
version: null
last_updated: null
---

# Google Business Profile

Manage Google Business Profile accounts, locations, reviews, media, posts, performance, and verification workflows.

- **Category:** marketing
- **Auth:** OAUTH2
- **Composio-managed OAuth available?** No
- **Tools:** 56
- **Triggers:** 0
- **Slug:** `GOOGLE_BUSINESS_PROFILE`
- **Version:** 00000000_00

## Tools

### Accept Invitation

**Slug:** `GOOGLE_BUSINESS_PROFILE_ACCEPT_INVITATION`

Accept a pending Google Business Profile account invitation and grant the connected user its offered access. Warning: this changes account access; confirm the invitation, target account, and offered role before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invitation_name` | string | Yes | Full invitation resource name to accept, in accounts/{account_id}/invitations/{invitation_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Batch Get Locations

**Slug:** `GOOGLE_BUSINESS_PROFILE_BATCH_GET_LOCATIONS`

Return multiple legacy Google Business Profile Location resources belonging to one account in a single request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_name` | string | Yes | Full parent account resource name in accounts/{account_id} form. |
| `location_names` | array | Yes | Nonempty list of full location resource names. Every item must use accounts/{account_id}/locations/{location_id} and belong to account_name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Complete Verification

**Slug:** `GOOGLE_BUSINESS_PROFILE_COMPLETE_VERIFICATION`

Submit a PIN to complete a pending non-automatic Google Business Profile verification. Warning: this is consequential and attempt-limited; an incorrect PIN may consume an attempt, so confirm the verification resource and PIN before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `pin` | string | Yes | Verification PIN delivered by Google. Preserve leading zeros. Warning: an incorrect PIN may consume a limited verification attempt, so confirm both the verification resource and PIN before calling. |
| `verification_name` | string | Yes | Full pending verification resource name in locations/{location_id}/verifications/{verification_id} form. Confirm this is the intended verification attempt before submitting its PIN. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Account

**Slug:** `GOOGLE_BUSINESS_PROFILE_CREATE_ACCOUNT`

Create a location-group or user-group account; this cannot create a personal account or organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_name` | string | Yes | Human-readable name for the new account. |
| `account_type` | string ("LOCATION_GROUP" | "USER_GROUP") | Yes | Type of group account to create. |
| `primary_owner` | string | Yes | Required resource name of the account that will be the primary owner, in accounts/{account_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Local Post

**Slug:** `GOOGLE_BUSINESS_PROFILE_CREATE_LOCAL_POST`

Publish a customer-facing standard post, event, offer, or alert for a Google Business Profile location. Warning: this submits content for public display; confirm the text, destination links, event dates, offer terms, and photos before calling. Google may reject content under its policies, and ALERT authoring may not be available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event` | object | No | Event title and complete schedule. Required for EVENT and OFFER posts; invalid for other variants. |
| `media` | array | No | URL-backed photos attached to the post. ALERT posts support only summary and call_to_action. |
| `offer` | object | No | Offer code, redemption URL, and terms. Required only for an OFFER post. |
| `summary` | string | No | Customer-facing post description or body text. |
| `alert_type` | string | No | Alert subtype. Required only for ALERT; Google currently documents only COVID_19 and may disable new alert authoring. |
| `topic_type` | string ("STANDARD" | "EVENT" | "OFFER" | "ALERT") | Yes | Post variant. EVENT requires event; OFFER requires event and offer; ALERT requires alert_type. |
| `language_code` | string | Yes | BCP 47 language code for the post. |
| `location_name` | string | Yes | Full parent resource name in accounts/{account_id}/locations/{location_id} form. |
| `call_to_action` | object | No | Optional customer action. Google ignores this on OFFER posts, so this tool rejects that combination. |
| `scheduled_time` | string | No | Optional RFC 3339 timestamp at which Google should publish the post. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Location

**Slug:** `GOOGLE_BUSINESS_PROFILE_CREATE_LOCATION`

Create a merchant-owned Business Profile location. Google requires profile for non-lodging locations; omit it only for a lodging location. Category classification is enforced by Google. Search for an existing Google location first to avoid duplicates; use validate_only to check the payload without creating it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Public real-world business name. |
| `labels` | array | No | Private merchant labels, each between 1 and 255 characters. |
| `latlng` | object | No | Location coordinates. Google ignores them when the storefront address geocodes successfully, and only approved clients can update them. |
| `profile` | object | No | Merchant-authored business profile fields. Google requires profile for non-lodging locations; omission is valid only for lodging locations. This tool leaves category classification and enforcement to Google. |
| `open_info` | object | No | Operating status and optional partial opening date for the location. |
| `more_hours` | array | No | Optional additional opening-hours groups for departments or customer groups. |
| `request_id` | string | No | Unique idempotency ID for duplicate detection; a UUID is recommended and must not be reused for another location. |
| `store_code` | string | No | Merchant-defined identifier that must be unique among the account's locations. |
| `website_uri` | string | No | Public website URL for this location. |
| `account_name` | string | Yes | Full parent account resource name, such as accounts/123. |
| `service_area` | object | No | Coverage for a business that serves customers at their locations. |
| `language_code` | string | Yes | BCP 47 language code for the listing; this cannot be changed after creation. |
| `phone_numbers` | object | No | Primary and optional additional customer-facing phone numbers. |
| `regular_hours` | object | No | Normal weekly opening periods. |
| `service_items` | array | No | Optional standardized or custom services offered by the business. |
| `special_hours` | object | No | Date-specific opening-hour exceptions; regular_hours must also be supplied. |
| `validate_only` | boolean | No | Validate the payload without creating the location when true. |
| `primary_category` | string | Yes | Primary category resource name, such as categories/gcid:restaurant. |
| `relationship_data` | object | No | Optional parent, child, and chain relationships for this location. |
| `storefront_address` | object | No | Storefront postal address; omit for a customer-location-only service-area business. |
| `additional_categories` | array | No | Additional category resource names; use as few specific categories as necessary. |
| `ad_words_location_extensions` | object | No | Google Ads location-extension settings for the location. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Media

**Slug:** `GOOGLE_BUSINESS_PROFILE_CREATE_MEDIA`

Create and publish a customer-facing media item for a Google Business Profile location from a publicly reachable URL or an existing Google upload data reference. Warning: this publishes media on Search and Maps; confirm the exact location, source, and association before calling. This tool never uploads or pretends to upload local bytes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data_ref` | string | No | Existing Google MediaItemDataRef resourceName obtained after a real upload outside this toolkit. Mutually exclusive with source_url; this tool does not upload bytes. |
| `source_url` | string | No | Publicly reachable HTTP(S) URL from which Google can retrieve the media. Mutually exclusive with data_ref. |
| `description` | string | No | Optional description set when this media item is created. Google does not allow descriptions on COVER photos and does not allow changing a description after creation. |
| `media_format` | string | Yes | Media format. This API version supports only PHOTO creation. |
| `location_name` | string | Yes | Full parent resource name in accounts/{account_id}/locations/{location_id} form. |
| `location_association` | object | Yes | How the media is attached to the location. Set exactly one of category or price_list_item_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Place Action Link

**Slug:** `GOOGLE_BUSINESS_PROFILE_CREATE_PLACE_ACTION_LINK`

Create a public action link, such as an appointment or ordering URL, for a Google Business Profile location. Warning: the URL may become public, and making it preferred can replace the link shown to customers for that action type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uri` | string | Yes | Public destination URL customers should open for this action. |
| `is_preferred` | boolean | No | Whether this should be the location's preferred link for the action type. Only one link can be preferred per action type. |
| `location_name` | string | Yes | Full parent location resource name in locations/{location_id} form. |
| `place_action_type` | string ("APPOINTMENT" | "ONLINE_APPOINTMENT" | "DINING_RESERVATION" | "FOOD_ORDERING" | "FOOD_DELIVERY" | "FOOD_TAKEOUT" | "SHOP_ONLINE" | "SOLOPRENEUR_APPOINTMENT") | Yes | Action customers can perform through the link; it must be supported for this location. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Decline Invitation

**Slug:** `GOOGLE_BUSINESS_PROFILE_DECLINE_INVITATION`

Permanently decline a pending Google Business Profile account invitation. Warning: the offered access is rejected and accepting later requires a new invitation; confirm the invitation and target account before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invitation_name` | string | Yes | Full invitation resource name to decline, in accounts/{account_id}/invitations/{invitation_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Admin

**Slug:** `GOOGLE_BUSINESS_PROFILE_DELETE_ADMIN`

Permanently remove an administrator's access from a Google Business Profile account or location. Destructive access revocation: confirm the exact administrator resource before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `admin_name` | string | Yes | Full administrator resource name to permanently remove, in accounts/{account_id}/admins/{admin_id} or locations/{location_id}/admins/{admin_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Local Post

**Slug:** `GOOGLE_BUSINESS_PROFILE_DELETE_LOCAL_POST`

Permanently delete a local post from a Google Business Profile location. Warning: Destructive: the customer-facing post is permanently removed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `post_name` | string | Yes | Full local-post resource name to delete, in accounts/{account_id}/locations/{location_id}/localPosts/{post_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Location

**Slug:** `GOOGLE_BUSINESS_PROFILE_DELETE_LOCATION`

Permanently delete an API-deletable Business Profile location. Destructive and potentially business-impacting: this removes the listing when Google permits API deletion; confirm the exact location.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_name` | string | Yes | Full location resource name to permanently delete, in locations/{location_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Media

**Slug:** `GOOGLE_BUSINESS_PROFILE_DELETE_MEDIA`

Permanently delete merchant-owned media from a Google Business Profile location. Warning: Destructive: the media item is permanently removed from the profile; confirm the exact media resource before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `media_name` | string | Yes | Full merchant-owned media resource name to permanently delete, in accounts/{account_id}/locations/{location_id}/media/{media_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Place Action Link

**Slug:** `GOOGLE_BUSINESS_PROFILE_DELETE_PLACE_ACTION_LINK`

Permanently delete a public Google Business Profile place-action link. Warning: Destructive: customers may lose the linked action immediately.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `link_name` | string | Yes | Full place-action-link resource name to delete, in locations/{location_id}/placeActionLinks/{link_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Review Reply

**Slug:** `GOOGLE_BUSINESS_PROFILE_DELETE_REVIEW_REPLY`

Permanently remove the merchant's public reply from a Google Business Profile review. Warning: Destructive and public-facing: the existing merchant reply is permanently removed; confirm the exact review before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `review_name` | string | Yes | Full review resource name whose merchant reply will be permanently deleted, in accounts/{account_id}/locations/{location_id}/reviews/{review_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Chains

**Slug:** `GOOGLE_BUSINESS_PROFILE_FIND_CHAINS`

Search Google Business Profile chains by display name, or return one chain by its exact chain resource name. Provide exactly one of chain_resource_name or chain_name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_size` | integer | No | Maximum matching chains to return from a name search (1-500). |
| `chain_name` | string | No | Provide exactly one of chain_resource_name or chain_name. This display name uses Google's exact, partial, fuzzy, and related chain search. |
| `chain_resource_name` | string | No | Provide exactly one of chain_resource_name or chain_name. This is the exact chain resource name in chains/{chain_place_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Verification Token

**Slug:** `GOOGLE_BUSINESS_PROFILE_GENERATE_VERIFICATION_TOKEN`

Generate a Google Business Profile instant verification token for an unverified listing identified by its final location ID. The connected caller must own or manage the listing. A returned token is sensitive: use it only for the intended location and never log, disclose, or reuse it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | Final location identifier from the Google Business Profile location resource name, without the locations/ prefix. The connected caller must be an owner or manager of this unverified listing. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Accounts

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_ACCOUNTS`

List one page of Business Profile accounts accessible to the connected Google user, or return one exact account when account_name is supplied.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor from a previous account-list response. Omit for the first page; not used when account_name is supplied. |
| `filter` | string | No | Google account-list filter expression used only when listing accounts. |
| `page_size` | integer | No | Maximum accounts to return in this page (1-20). |
| `account_name` | string | No | Full account resource name, such as accounts/123. When supplied, returns that account instead of listing accounts. |
| `parent_account` | string | No | Optional parent account resource name used only when listing accounts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Categories

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_CATEGORIES`

Search one page of localized Google Business Profile categories, or fetch up to 100 exact stable category resource names in one batch.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `view` | string ("BASIC" | "FULL") | No | BASIC returns stable names and display names; FULL also requests service and additional-hours metadata. |
| `cursor` | string | No | Continuation cursor from a previous category-search response. Omit for the first page; ignored when category_names is supplied. |
| `filter` | string | No | Optional list-mode prefix filter in displayName=value form, such as displayName=food. Ignored when category_names is supplied. |
| `page_size` | integer | No | Maximum categories to return in this search page (1-100). |
| `region_code` | string | No | ISO 3166-1 alpha-2 region code, such as US or GB. Required for category search; optional for exact batch lookup with category_names. |
| `language_code` | string | Yes | BCP 47 language code used to localize category names. |
| `category_names` | array | No | One to 100 exact category resource names, such as categories/gcid:restaurant. When supplied, uses batch lookup instead of category search; results are not guaranteed to preserve input order. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Daily Metrics

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_DAILY_METRICS`

Return one or more daily Google Business Profile performance metrics over an inclusive date range, normalized into one list of metric time series. This Performance v1 action replaces the discontinued v4 location insights report for metrics that Google migrated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end_date` | string | Yes | Inclusive last date in YYYY-MM-DD form. |
| `start_date` | string | Yes | Inclusive first date in YYYY-MM-DD form. |
| `daily_metrics` | array | Yes | One or more documented DailyMetric enum values. Multiple values use Google's multi-metric route and are sent as repeated dailyMetrics keys. |
| `location_name` | string | Yes | Full location resource name in locations/{location_id} form. |
| `daily_sub_entity_type` | object | No | Optional day-of-week or time-of-day selector. Google accepts this only for a single requested metric; current metrics may not support breakdowns. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Follower Metadata

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_FOLLOWER_METADATA`

Return the total follower count for a verified Google Business Profile location connected to Google Maps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `metadata_name` | string | Yes | Full follower-metadata resource name in accounts/{account_id}/locations/{location_id}/followers/metadata form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Food Menus

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_FOOD_MENUS`

Return food menus for an eligible Google Business Profile location, optionally restricted to top-level fields by a read mask.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `read_mask` | string | No | Comma-separated top-level FoodMenus fields to return. Valid fields are name and menus; nested repeated fields such as menus.sections are not valid. Omit to return the full resource. |
| `food_menus_name` | string | Yes | Full food-menu resource name in accounts/{account_id}/locations/{location_id}/foodMenus form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Google-Updated Location

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_GOOGLE_UPDATED_LOCATION`

Return Google's consumer-facing version of a Business Profile location and field masks describing differences and pending merchant changes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `read_mask` | string | Yes | Comma-separated Location fields to compare, such as name,title,storeCode,websiteUri. |
| `location_name` | string | Yes | Full location resource name in locations/{location_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Local Posts

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_LOCAL_POSTS`

List one page of local posts for a Google Business Profile location, or return one exact post when post_name is supplied.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor from a previous local-post list response. Omit for the first page and for exact lookup. |
| `page_size` | integer | No | Maximum local posts to return in this list page. |
| `post_name` | string | No | Full local-post resource name. When supplied, returns that exact post instead of listing posts. |
| `location_name` | string | No | Full parent location resource name used to list posts, in accounts/{account_id}/locations/{location_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Location

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_LOCATION`

Return selected merchant-managed fields for one Business Profile location. Use read_mask=serviceItems to read services through the supported Business Information v1 replacement for the deprecated v4 service-list read.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `read_mask` | string | Yes | Comma-separated Location fields to return, such as name,title,storeCode,websiteUri. |
| `location_name` | string | Yes | Full location resource name in locations/{location_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Location Attributes

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_LOCATION_ATTRIBUTES`

Return either merchant-set or Google-displayed attributes for one Google Business Profile location, preserving attribute identifiers and typed values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `source` | string ("MERCHANT" | "GOOGLE") | No | Attribute view to return. MERCHANT returns values set by the merchant; GOOGLE returns values displayed on Google Maps and Search. |
| `location_name` | string | Yes | Full location resource name in locations/{location_id} form. The tool derives the location's attributes resource name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Lodging

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_LODGING`

Return merchant-set hotel lodging data or Google's displayed lodging data and the fields Google changed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `source` | string ("MERCHANT" | "GOOGLE") | No | Lodging view to return. MERCHANT returns merchant-set hotel data; GOOGLE returns Google's displayed data and a difference mask. |
| `read_mask` | string | Yes | Comma-separated Lodging fields to return, such as name,accessibility,parking,policies. |
| `location_name` | string | Yes | Full hotel location resource name in locations/{location_id} form. The tool derives its locations/{location_id}/lodging resource name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Media

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_MEDIA`

List one page of merchant or customer-contributed media for a Google Business Profile location, or return one exact media item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor from a previous media list response. Use it with the same location_name and source; omit it for the first page and for exact lookup. |
| `source` | string ("MERCHANT" | "CUSTOMER") | No | Media ownership source. Use MERCHANT for profile-owner media or CUSTOMER for customer-contributed media; it must match media_name. |
| `page_size` | integer | No | Maximum items in a list page. MERCHANT supports 1-2500; CUSTOMER supports 1-200. Ignored for exact lookup. |
| `media_name` | string | No | Full merchant or customer media resource name. When supplied, returns that exact item instead of listing media. |
| `location_name` | string | No | Full location resource name in accounts/{account_id}/locations/{location_id} form. Required when listing media. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Notification Setting

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_NOTIFICATION_SETTING`

Return an account's Google Pub/Sub topic and enabled Business Profile notification types.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_name` | string | Yes | Full account resource name in accounts/{account_id} form. The tool derives the account's notificationSetting resource name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Place Action Links

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_PLACE_ACTION_LINKS`

List one page of a Google Business Profile location's place-action links, or return one exact link when link_name is supplied.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor from a previous place-action-link list response. Omit for the first page and for exact lookup. |
| `filter` | string | No | Google place-action-link filter expression used only in list mode. |
| `link_name` | string | No | Exact place-action-link resource name. When supplied, returns that link instead of listing links. |
| `page_size` | integer | No | Maximum place-action links to return in this list page. |
| `location_name` | string | No | Parent location resource name in locations/{location_id} form. Required for list mode and not allowed with link_name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Reviews

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_REVIEWS`

Return one exact Google Business Profile review, one page for a verified location, or one account-batch page across up to 50 verified locations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor from a previous location-list or account-batch response. Omit for the first page and for exact lookup. |
| `order_by` | string | No | List or batch ordering: rating, rating desc, or updateTime desc. Google defaults to updateTime desc. |
| `page_size` | integer | No | Maximum reviews to return in this list or batch page (1-50). |
| `review_name` | string | No | Exact review resource name. Use alone to return one review, in accounts/{account_id}/locations/{location_id}/reviews/{review_id} form. |
| `account_name` | string | No | Account whose verified locations are queried in batch. Required with location_names and not allowed with review_name or location_name. |
| `location_name` | string | No | One verified location whose reviews to list. Use without review_name, account_name, or location_names. |
| `location_names` | array | No | One to 50 full verified-location resource names to query in one batch. Requires account_name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Voice of Merchant State

**Slug:** `GOOGLE_BUSINESS_PROFILE_GET_VOICE_OF_MERCHANT_STATE`

Return whether a Google Business Profile location has merchant control and the next required verification, ownership, review, or policy action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_name` | string | Yes | Full location resource name in locations/{location_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Invite Admin

**Slug:** `GOOGLE_BUSINESS_PROFILE_INVITE_ADMIN`

Invite a user or location group to administer a Google Business Profile account or location. Location groups can be invited only to locations. This changes who can manage the business and may send an invitation; confirm the parent resource, recipient, and role before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("OWNER" | "MANAGER" | "SITE_MANAGER") | Yes | Access role to grant. Allowed roles depend on the parent resource; Google does not allow SITE_MANAGER for every account. |
| `admin` | string | No | Email address of the user to invite. Provide exactly one of admin or account. |
| `account` | string | No | Location-group resource in accounts/{account_id} form. Allowed only when parent_name is a location. Provide exactly one of account or admin. |
| `parent_name` | string | Yes | Full parent resource name in accounts/{account_id} or locations/{location_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Admins

**Slug:** `GOOGLE_BUSINESS_PROFILE_LIST_ADMINS`

Return administrators and their roles for a Google Business Profile account or location.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `parent_name` | string | Yes | Full parent resource name in accounts/{account_id} or locations/{location_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Attribute Metadata

**Slug:** `GOOGLE_BUSINESS_PROFILE_LIST_ATTRIBUTE_METADATA`

Return one page of valid Google Business Profile attribute definitions for a location or a category and region, including value constraints.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor from a previous attribute-metadata response. Omit for the first page. |
| `show_all` | boolean | No | Return all available attribute metadata regardless of location or category. Requires language_code and region_code when true. |
| `page_size` | integer | No | Maximum attribute metadata records to return in this page. |
| `region_code` | string | No | ISO 3166-1 alpha-2 country code, such as US. |
| `category_name` | string | No | Primary category resource name used with region_code to resolve applicable attributes. Ignored when show_all is true. |
| `language_code` | string | No | BCP 47 language code for localized attribute display names. |
| `location_name` | string | No | Location resource name used to resolve applicable attributes. When set, omit category_name, region_code, language_code, and show_all. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Invitations

**Slug:** `GOOGLE_BUSINESS_PROFILE_LIST_INVITATIONS`

Return pending account invitations, optionally filtered by target type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target_type` | string ("ACCOUNTS_ONLY" | "LOCATIONS_ONLY") | No | Optional invitation target type to return: accounts or locations only. |
| `account_name` | string | Yes | Full parent account resource name in accounts/{account_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Locations

**Slug:** `GOOGLE_BUSINESS_PROFILE_LIST_LOCATIONS`

Return one page of Google Business Profile locations in an account, with the fields selected by read_mask and a cursor for the next page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor from a previous list-locations response. Omit for the first page. |
| `filter` | string | No | Google location filter expression used to constrain the results. |
| `order_by` | string | No | Comma-separated ordering expression using Google's exact field names title or storeCode; append ' desc' for descending order. |
| `page_size` | integer | No | Maximum locations to return in this page (1-100). |
| `read_mask` | string | Yes | Comma-separated Location fields to return, such as name,title,storeCode. |
| `account_name` | string | Yes | Full parent account resource name, such as accounts/123456789. Use accounts/- to include locations directly and indirectly owned by the connected user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Place Action Type Metadata

**Slug:** `GOOGLE_BUSINESS_PROFILE_LIST_PLACE_ACTION_TYPE_METADATA`

Return one page of place-action types, such as appointment or food-ordering links, available for a Google Business Profile location or region.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor from a previous place-action type metadata response. Omit for the first page. |
| `filter` | string | No | Optional Google filter: location=locations/{location_id} or region_code={CLDR_region_code}. Omit to return all action types. |
| `page_size` | integer | No | Maximum place-action type metadata records to return in this page. |
| `language_code` | string | No | IETF BCP 47 language code for localized display names. Google falls back to English when the requested language is unavailable. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Search Keyword Impressions

**Slug:** `GOOGLE_BUSINESS_PROFILE_LIST_SEARCH_KEYWORD_IMPRESSIONS`

Return one page of monthly search keyword impression counts for a Google Business Profile location and a cursor for the next page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor from a previous search-keyword-impressions response. Omit for the first page. |
| `end_month` | string | Yes | Inclusive last month in YYYY-MM format. |
| `page_size` | integer | No | Maximum search keyword rows to return in this page (1-100). |
| `start_month` | string | Yes | Inclusive first month in YYYY-MM format. |
| `location_name` | string | Yes | Full parent location resource name in locations/{location_id} format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Verification Options

**Slug:** `GOOGLE_BUSINESS_PROFILE_LIST_VERIFICATION_OPTIONS`

List the verification methods currently eligible for one Google Business Profile location in a requested language. This is a non-mutating discovery step to run before starting verification.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `context` | object | No | Optional address context only for a CUSTOMER_LOCATION_ONLY service business. Google rejects this context for other business types. |
| `language_code` | string | Yes | BCP 47 language code for the verification process. Eligible options can vary by language. |
| `location_name` | string | Yes | Full location resource name in locations/{location_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Verifications

**Slug:** `GOOGLE_BUSINESS_PROFILE_LIST_VERIFICATIONS`

Return one page of verification attempts and states for a Google Business Profile location, plus a cursor for the next page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation cursor from a previous list-verifications response. Omit for the first page. |
| `page_size` | integer | No | Maximum verification attempts to return in this page (1-100). |
| `location_name` | string | Yes | Full parent location resource name in locations/{location_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Google Locations

**Slug:** `GOOGLE_BUSINESS_PROFILE_SEARCH_GOOGLE_LOCATIONS`

Find an existing Google Maps location by free-form query or structured location data before creating or claiming a Business Profile. Provide exactly one of query or location. Google policy restricts this search to merchants with an existing business relationship with the caller and solely to creating or claiming their locations; never use it for lead generation. This is the supported Business Information v1 successor to the deprecated v4 findMatches operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | No | Provide exactly one of query or location. This is a free-form business name and address and is less accurate than a structured location. |
| `location` | object | No | Provide exactly one of query or location. This structured Google Location candidate uses documented JSON field names, must contain a nonblank title, and may include storefrontAddress, phoneNumbers, categories, websiteUri, or other Location fields. |
| `page_size` | integer | No | Number of matches to return (1-10). Defaults to 3; larger values may increase latency. This endpoint is not paginated. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Start Verification

**Slug:** `GOOGLE_BUSINESS_PROFILE_START_VERIFICATION`

Start Google Business Profile verification with a method currently eligible for the location. Warning: this is a consequential, policy-gated external side effect that may send mail, email, an SMS, or a phone call. Call it only on the business owner's direct request, using an option Google returned from List Verification Options.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `method` | string ("ADDRESS" | "EMAIL" | "PHONE_CALL" | "SMS" | "AUTO" | "TRUSTED_PARTNER" | "VETTED_PARTNER") | Yes | Eligible verification method returned by List Verification Options. Do not select a method Google did not return for this location. |
| `context` | object | No | Service-business context. Supply it only for a CUSTOMER_LOCATION_ONLY location; for non-ADDRESS methods, reuse the context supplied when fetching verification options. |
| `phone_number` | string | No | PHONE_CALL- or SMS-only destination. It must exactly match a phone number in the fetched eligible option. |
| `email_address` | string | No | EMAIL-only destination. It must be eligible in the fetched option; change only the local part when that option says it is editable. |
| `language_code` | string | No | Optional BCP 47 language code to use for verification instructions. |
| `location_name` | string | Yes | Full Google location resource name in locations/{location_id} form. |
| `mailer_contact` | string | No | ADDRESS-only contact name to print on the verification mail. |
| `trusted_partner_token` | string | No | TRUSTED_PARTNER-only legacy token associated with this location. Mutually exclusive with instant_verification_token. |
| `instant_verification_token` | string | No | VETTED_PARTNER-only token returned by Generate Verification Token. The tool sends it as token.tokenString. Mutually exclusive with trusted_partner_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Transfer Location

**Slug:** `GOOGLE_BUSINESS_PROFILE_TRANSFER_LOCATION`

Transfer a Google Business Profile location to another account administered by the connected user. High-consequence ownership move: confirm both resource names before calling; this can disrupt management access and is not automatically reversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_name` | string | Yes | Full location resource name in locations/{location_id} form. |
| `destination_account` | string | Yes | Full destination account resource name in accounts/{account_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Account

**Slug:** `GOOGLE_BUSINESS_PROFILE_UPDATE_ACCOUNT`

Rename a non-personal Business Profile account; validate_only checks the request without applying it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_name` | string | Yes | Full account resource name to update, such as accounts/123. |
| `validate_only` | boolean | No | Validate the update without changing the account when true. |
| `new_display_name` | string | Yes | New human-readable account name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Admin

**Slug:** `GOOGLE_BUSINESS_PROFILE_UPDATE_ADMIN`

Change a Google Business Profile account or location administrator's role. This alters their access to the business; confirm the administrator and replacement role before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("OWNER" | "MANAGER" | "SITE_MANAGER") | Yes | Replacement role allowed for this resource and administrator. Google does not allow SITE_MANAGER for every account. |
| `admin_name` | string | Yes | Full administrator resource name in accounts/{account_id}/admins/{admin_id} or locations/{location_id}/admins/{admin_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Food Menus

**Slug:** `GOOGLE_BUSINESS_PROFILE_UPDATE_FOOD_MENUS`

Replace or update food-menu data for an eligible Google Business Profile location. Warning: menu content is customer-facing; omitting update_mask performs a full update that may clear omitted fields, and repeated menu elements cannot be updated individually.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `menus` | array | Yes | Complete documented food menus to write, including localized labels, sections, items, options, prices, and optional dietary details; use an empty list only when intentionally clearing all menus selected by the mask. |
| `update_mask` | string | No | Comma-separated FoodMenus fields to update. Repeated menu elements cannot be updated individually. Omitting this mask performs a full update and may clear fields absent from the payload. |
| `food_menus_name` | string | Yes | Full food-menu resource name in accounts/{account_id}/locations/{location_id}/foodMenus form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Local Post

**Slug:** `GOOGLE_BUSINESS_PROFILE_UPDATE_LOCAL_POST`

Update selected fields on an existing Google Business Profile local post. Warning: changes affect already-published customer-facing content; verify the post, text, links, dates, and offer terms before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `changes` | object | Yes | Writable LocalPost fields and replacement values, using Google JSON field names: languageCode, summary, callToAction, scheduledTime, event, offer, media, topicType, or alertType. Null explicitly clears a nullable field. Nested objects replace that complete top-level field. Do not include name; post_name supplies it. |
| `post_name` | string | Yes | Full local-post resource name in accounts/{account_id}/locations/{location_id}/localPosts/{post_id} form. |
| `update_mask` | string | No | Optional comma-separated field mask. Dotted paths such as callToAction.url are supported. Every path must be present in changes, and every changed top-level field must be covered. When omitted, the tool derives the mask from the top-level keys in changes. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Location

**Slug:** `GOOGLE_BUSINESS_PROFILE_UPDATE_LOCATION`

Update selected merchant-managed fields on a Google Business Profile location. Public listing changes can immediately affect Search and Maps; use validate_only before consequential edits. Use update_mask=serviceItems to replace services through the supported Business Information v1 replacement for the deprecated v4 service-list update.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location` | object | Yes | Documented Google Location fields and values to update, using JSON field names such as title, storefrontAddress, phoneNumbers, or regularHours. Do not include name; location_name supplies it. |
| `update_mask` | string | Yes | Comma-separated Location field paths to update, using Google JSON field names such as title,storefrontAddress. Only these fields are changed. |
| `location_name` | string | Yes | Full Google location resource name in locations/{location_id} form. |
| `validate_only` | boolean | No | Validate the requested changes without applying them. A successful validation can return an empty response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Location Attributes

**Slug:** `GOOGLE_BUSINESS_PROFILE_UPDATE_LOCATION_ATTRIBUTES`

Set or clear selected merchant-managed attributes on a Google Business Profile location. Warning: every ID in attribute_mask that is omitted from attributes is deleted; inspect attribute metadata and current values first.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `attributes` | array | Yes | Attribute values to set. This may be empty when clearing every attribute named by attribute_mask. |
| `location_name` | string | Yes | Full location resource name in locations/{location_id} form. The action derives the locations/{location_id}/attributes resource. |
| `attribute_mask` | string | Yes | Comma-separated attribute IDs to update or clear. IDs may be bare or in attributes/{attribute_id} form. Every supplied attribute must be included; masked IDs omitted from attributes are deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Lodging

**Slug:** `GOOGLE_BUSINESS_PROFILE_UPDATE_LODGING`

Update selected lodging, amenity, policy, accessibility, service, or sustainability fields for a Google Business Profile hotel location. Warning: these values can become public hotel details; verify the field mask and payload.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lodging` | object | Yes | Partial documented Lodging resource. metadata.update_time is required. Supply every field selected by update_mask; set a selected field to null only when intentionally clearing it. Do not include name. |
| `update_mask` | string | Yes | Comma-separated Lodging field paths to change, using Google JSON field names. Each selected path must be explicitly present in lodging. The '*' mask is allowed only when every mutable top-level field is explicitly supplied (a value or null); nested wildcards are rejected. Repeated-field items cannot be individually selected. |
| `location_name` | string | Yes | Full hotel location resource name in locations/{location_id} form. The action derives the locations/{location_id}/lodging resource name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Media

**Slug:** `GOOGLE_BUSINESS_PROFILE_UPDATE_MEDIA`

Update the category association of merchant-owned Google Business Profile media. Warning: changing this metadata can immediately alter how public media is categorized or displayed; COVER and PROFILE cannot be assigned.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `category` | string ("CATEGORY_UNSPECIFIED" | "EXTERIOR" | "INTERIOR" | "PRODUCT" | "AT_WORK" | "FOOD_AND_DRINK" | "MENU" | "COMMON_AREA" | "ROOMS" | "TEAMS" | "ADDITIONAL") | Yes | New Google category for the merchant-owned media item. COVER, PROFILE, and deprecated LOGO cannot be assigned when updating media. |
| `media_name` | string | Yes | Full merchant media resource name in accounts/{account_id}/locations/{location_id}/media/{media_key} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Notification Setting

**Slug:** `GOOGLE_BUSINESS_PROFILE_UPDATE_NOTIFICATION_SETTING`

Set or clear an account's Pub/Sub topic and replace its enabled Google Business Profile notification types. Warning: notification_types is a complete replacement, and clearing either setting can stop event delivery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_name` | string | Yes | Full account resource name in accounts/{account_id} form. The action derives its accounts/{account_id}/notificationSetting resource. |
| `pubsub_topic` | string | No | Replacement Pub/Sub topic in projects/{project}/topics/{topic} form. Pass null explicitly to clear it. Supply pubsub_topic, notification_types, or both. |
| `notification_types` | array | No | Complete replacement set of notification types. Pass an empty list to stop all notifications and delete the setting; this is not an append. Supply notification_types, pubsub_topic, or both. LOSS_OF_VOICE_OF_MERCHANT is deprecated; prefer VOICE_OF_MERCHANT_UPDATED. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Place Action Link

**Slug:** `GOOGLE_BUSINESS_PROFILE_UPDATE_PLACE_ACTION_LINK`

Update a Google Business Profile place-action link's URL, action type, or preferred status. Warning: changes may immediately alter the customer-facing action links shown for the location.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uri` | string | No | Replacement public destination URL. Supply uri, place_action_type, is_preferred, or any combination of them. |
| `link_name` | string | Yes | Full place-action-link resource name in locations/{location_id}/placeActionLinks/{link_id} form. |
| `is_preferred` | boolean | No | Whether this should be the preferred link for its action type. Supply at least one editable field; false is an explicit update. |
| `place_action_type` | string ("APPOINTMENT" | "ONLINE_APPOINTMENT" | "DINING_RESERVATION" | "FOOD_ORDERING" | "FOOD_DELIVERY" | "FOOD_TAKEOUT" | "SHOP_ONLINE" | "SOLOPRENEUR_APPOINTMENT") | No | Replacement customer action type. It must be supported for the location. Supply at least one editable field. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Review Reply

**Slug:** `GOOGLE_BUSINESS_PROFILE_UPDATE_REVIEW_REPLY`

Create or replace a merchant reply to a Google Business Profile review. Only call this after obtaining explicit end-client authorization from the represented business. Google moderates the reply; inspect review_reply_state to determine whether it is pending, rejected, or approved for public display.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | Yes | Merchant reply text, up to 4096 UTF-8 bytes. This replaces any existing reply and is subject to Google's moderation before public display. |
| `review_name` | string | Yes | Full review resource name in accounts/{account_id}/locations/{location_id}/reviews/{review_id} form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload Location Media

**Slug:** `GOOGLE_BUSINESS_PROFILE_UPLOAD_LOCATION_MEDIA`

Upload a photo file and publish it on a Google Business Profile location in one operation. This creates customer-facing media on Search and Maps; confirm the exact location, image, and association before calling. Final publish errors or malformed responses can be ambiguous: publication may have succeeded, so list the location's media before retrying to avoid duplicates. If byte upload succeeds but publishing fails, temporary uploaded bytes can remain until Google expires them because Google provides no cleanup API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `image` | object | Yes | Photo file whose raw bytes Google should upload and publish. |
| `description` | string | No | Optional description set when the photo is published. Google does not allow descriptions on COVER photos. |
| `location_name` | string | Yes | Full parent resource name in accounts/{account_id}/locations/{location_id} form. |
| `location_association` | object | Yes | How the photo is attached to the location. Set exactly one of category or price_list_item_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
