Connect Google Business Profile to ChatGPT

Connect your Google Business Profile data to ChatGPT using the Windsor.ai plugin.

Analyze your local search performance, then act on it. Reply to reviews, publish posts, and keep your listing details current without leaving the chat.

Connect data in about a minute. No code required.

Free forever plan No credit card needed
logo connect
Windsor.ai is your proven Google My Business to ChatGPT connector
google cloud
meta partner
google partner
snowflake
users love us
medal
soc2
google cloud
meta partner
google partner
snowflake
users love us
medal
soc2

Simplify analytics with Google Business Profile to ChatGPT integration

Windsor.ai brings Google Business Profile metrics into ChatGPT for conversational AI analysis. Here are the key benefits and use cases:

Get answers

No need to spend time interpreting metrics; ChatGPT analyzes your Google Business Profile data. Get answers and make smarter decisions without dashboards or SQL queries.

Query data in natural language

Ask ChatGPT questions in plain language, like “Which locations drove the most calls or clicks?” or “Where can we increase direction requests?” and get clear answers and next steps recommendations to boost local search visibility and drive more customer interactions.

Detect trends in customer reviews

Use ChatGPT to analyze customer reviews and detect whether satisfaction is improving or declining over time. It helps businesses to identify emerging service issues early and address them before they negatively impact ratings.

Evaluate local post engagement

Compare the post types you publish, such as offers, events, or announcements, with the customer actions in the weeks each one went live, to see which updates come before more calls, website clicks and direction requests. Ask ChatGPT to suggest content formats and ideas that drive the strongest engagement.

Example: Google Posts and results on our four locations

Supported fields: 22 metrics120 dimensions

We asked ChatGPT, through the Windsor.ai plugin on ChatGPT’s Free plan: “For my Google Business Profile locations in Windsor.ai, list the Google Posts created from 3 October to 1 November 2026 by location, with the date, topic type and state of each post. Label each location by its city and location ID. Next to that, show each location’s impressions, direction requests and website clicks for the same period. Did the location that posted get more impressions or actions than the ones that did not?”

  • Posts: only Baar posted in the period, 4 “What’s New” posts (7 October, two on 8 October, 19 October), all live.
  • Results: Baar had 96 impressions, 35 direction requests and 1 website click. The Singapore location (its city field is empty in the data) posted nothing and had 100 impressions; Melbourne had 78 impressions and the most direction requests, 58.
  • Reading: in this period, posting did not go with more impressions or actions. Four small listings over 30 days are too few to say more, and Windsor.ai does not report views or clicks per post.

The screenshot shows the posts table; the results and the reading come from the rest of ChatGPT’s answer. We checked every figure against the same period pulled from Windsor.ai directly on 3 November. All four locations count as 1 account on Windsor.ai’s plans. Our Windsor.ai account is on a paid plan. The free forever plan includes the last 30 days, so on that plan ask for the last 30 days instead of these dates.

The setup steps, a second example comparing the four locations by surface, and fixes for common problems are in how to connect Google Business Profile to ChatGPT.

ChatGPT listing Google Posts by Business Profile location with Windsor.ai

Available actions


Create Local Post Publish a standard "What's New" post on the connected Google Business Profile location. Provide the post text, an optional publicly accessible photo URL (JPG or PNG, at least 250x250 px and 10 KB) and an optional call-to-action button. Call-to-action types: BOOK, ORDER, SHOP, LEARN_MORE, SIGN_UP (each needs cta_url) or CALL (uses the listing's phone number, no cta_url). The post can be edited afterwards via update_local_post.

Publish a standard "What's New" post on the connected Google Business Profile location. Provide the post text, an optional publicly accessible photo URL (JPG or PNG, at least 250x250 px and 10 KB) and an optional call-to-action button. Call-to-action types: BOOK, ORDER, SHOP, LEARN_MORE, SIGN_UP (each needs cta_url) or CALL (uses the listing's phone number, no cta_url). The post can be edited afterwards via update_local_post.

Parameters
summarystringRequiredphoto_urlstringcta_typestringcta_urlstringlanguage_codestring
Update Local Post Update the text, photo or call-to-action of an existing post on the connected Google Business Profile location. post_id is the trailing id from the post's resource name (the post_id field of the Local Posts table); full resource names are also accepted. Only the provided fields are changed. Call-to-action types: BOOK, ORDER, SHOP, LEARN_MORE, SIGN_UP (each needs cta_url) or CALL (uses the listing's phone number, no cta_url).

Update the text, photo or call-to-action of an existing post on the connected Google Business Profile location. post_id is the trailing id from the post's resource name (the post_id field of the Local Posts table); full resource names are also accepted. Only the provided fields are changed. Call-to-action types: BOOK, ORDER, SHOP, LEARN_MORE, SIGN_UP (each needs cta_url) or CALL (uses the listing's phone number, no cta_url).

Parameters
post_idstringRequiredsummarystringphoto_urlstringcta_typestringcta_urlstring
Reply to Review Publish the owner's reply to a customer review on the connected Google Business Profile location, or replace the existing reply. review_id comes from the review_id field of the Reviews table; full resource names are also accepted. The reply is public; replying again replaces the existing reply.

Publish the owner's reply to a customer review on the connected Google Business Profile location, or replace the existing reply. review_id comes from the review_id field of the Reviews table; full resource names are also accepted. The reply is public; replying again replaces the existing reply.

Parameters
review_idstringRequiredcommentstringRequired
Upload Photo Add a photo to the connected Google Business Profile location's gallery. Provide a publicly accessible photo URL (JPG or PNG, at least 250x250 px and 10 KB) and the gallery category it belongs to (default ADDITIONAL; COVER and PROFILE replace the current cover or profile photo).

Add a photo to the connected Google Business Profile location's gallery. Provide a publicly accessible photo URL (JPG or PNG, at least 250x250 px and 10 KB) and the gallery category it belongs to (default ADDITIONAL; COVER and PROFILE replace the current cover or profile photo).

Parameters
photo_urlstringRequiredcategorystring
Update Location Info Update the business description, website URL and/or phone numbers of the connected Google Business Profile location. Only the provided fields are changed. Phone numbers are replaced as a set: the listing's current additional numbers are kept unless additional_phones is provided (pass [] to remove them). Google prefers the international format, e.g. '+1 415 555 0132', and rejects numbers that are not valid for the listing's country. Use validate_only=true to check an update without changing the listing. Edits may be reviewed by Google before they appear on the listing.

Update the business description, website URL and/or phone numbers of the connected Google Business Profile location. Only the provided fields are changed. Phone numbers are replaced as a set: the listing's current additional numbers are kept unless additional_phones is provided (pass [] to remove them). Google prefers the international format, e.g. '+1 415 555 0132', and rejects numbers that are not valid for the listing's country. Use validate_only=true to check an update without changing the listing. Edits may be reviewed by Google before they appear on the listing.

Parameters
descriptionstringwebsite_urlstringprimary_phonestringadditional_phonesstringvalidate_onlyboolean
Update Service Items Replace the full list of service items (services offered) on the connected Google Business Profile location. Each item is either structured — a Google-predefined service_type_id valid for one of the location's categories — or free-form — a category_id plus a custom display_name; both take an optional description and price. This replaces all existing service items: to keep current ones, read the location_service_items field first and resend them together with the changes. Google removes duplicate items automatically.

Replace the full list of service items (services offered) on the connected Google Business Profile location. Each item is either structured — a Google-predefined service_type_id valid for one of the location's categories — or free-form — a category_id plus a custom display_name; both take an optional description and price. This replaces all existing service items: to keep current ones, read the location_service_items field first and resend them together with the changes. Google removes duplicate items automatically.

Parameters
service_itemsarrayRequired
Update Categories Set the primary category and the full list of additional categories of the connected Google Business Profile location. Category ids are stable Google ids like 'gcid:plumber' (accepted with or without the 'categories/' prefix); current values appear in the location_primary_category_id and location_additional_categories fields. Replaces all existing categories — omitting additional_category_ids removes every additional category. Category changes may be reviewed by Google and can in some cases trigger re-verification of the listing.

Set the primary category and the full list of additional categories of the connected Google Business Profile location. Category ids are stable Google ids like 'gcid:plumber' (accepted with or without the 'categories/' prefix); current values appear in the location_primary_category_id and location_additional_categories fields. Replaces all existing categories — omitting additional_category_ids removes every additional category. Category changes may be reviewed by Google and can in some cases trigger re-verification of the listing.

Parameters
primary_category_idstringRequiredadditional_category_idsarray
Update Service Area Replace the service area (the list of places the business serves) of the connected Google Business Profile location, and whether the business serves customers only at their locations or also at its own address. Replaces all existing places: to keep current ones, read the location_service_area field first and resend them together with the changes. Google caps the service area at 20 places. Switching a location that currently shows its street address to CUSTOMER_LOCATION_ONLY additionally requires hide_business_address=true. WARNING: hiding the address clears it from the listing and can put the listing back into Google's re-verification flow, which may unpublish it until the business verifies again. With hide_business_address=true the action refuses to run unless acknowledge_reverification_risk is set to true, which requires the end user's explicit approval. Use validate_only=true to check the request without changing the listing.

Replace the service area (the list of places the business serves) of the connected Google Business Profile location, and whether the business serves customers only at their locations or also at its own address. Replaces all existing places: to keep current ones, read the location_service_area field first and resend them together with the changes. Google caps the service area at 20 places. Switching a location that currently shows its street address to CUSTOMER_LOCATION_ONLY additionally requires hide_business_address=true. WARNING: hiding the address clears it from the listing and can put the listing back into Google's re-verification flow, which may unpublish it until the business verifies again. With hide_business_address=true the action refuses to run unless acknowledge_reverification_risk is set to true, which requires the end user's explicit approval. Use validate_only=true to check the request without changing the listing.

Parameters
business_typestringRequiredplacesarrayRequiredhide_business_addressbooleanacknowledge_reverification_riskbooleanvalidate_onlyboolean
Update Attributes Update and/or remove individual attributes (e.g. amenities, payment options, appointment links) of the connected Google Business Profile location. Only the attributes named in the request are touched — unlike the other update actions, the rest of the set is left as is. Currently set attributes can be audited via the location_attributes field; Google rejects attributes that are not available for the location's categories.

Update and/or remove individual attributes (e.g. amenities, payment options, appointment links) of the connected Google Business Profile location. Only the attributes named in the request are touched — unlike the other update actions, the rest of the set is left as is. Currently set attributes can be audited via the location_attributes field; Google rejects attributes that are not available for the location's categories.

Parameters
attributesarrayunset_attribute_idsarray
Update Address Replace the storefront address of the connected Google Business Profile location. WARNING: changing the address can put the listing back into Google's re-verification flow, which may unpublish it until the business verifies again — the action refuses to run unless acknowledge_reverification_risk is set to true, which requires the end user's explicit approval. The whole address is replaced: provide every part the listing should keep (current values are in the location_address_* fields). Google locates the new address on the map itself and rejects one it cannot geocode (PIN_DROP_REQUIRED), e.g. landmark-style lines such as 'Near X'; when the business has not moved, keep_map_pin=true keeps the listing's current map pin instead. The API cannot place a new pin. Google may normalise the stored address (line order, casing). Use validate_only=true to check an address without changing it.

Replace the storefront address of the connected Google Business Profile location. WARNING: changing the address can put the listing back into Google's re-verification flow, which may unpublish it until the business verifies again — the action refuses to run unless acknowledge_reverification_risk is set to true, which requires the end user's explicit approval. The whole address is replaced: provide every part the listing should keep (current values are in the location_address_* fields). Google locates the new address on the map itself and rejects one it cannot geocode (PIN_DROP_REQUIRED), e.g. landmark-style lines such as 'Near X'; when the business has not moved, keep_map_pin=true keeps the listing's current map pin instead. The API cannot place a new pin. Google may normalise the stored address (line order, casing). Use validate_only=true to check an address without changing it.

Parameters
region_codestringRequiredaddress_linesarrayRequiredlocalitystringpostal_codestringadministrative_areastringkeep_map_pinbooleanvalidate_onlybooleanacknowledge_reverification_riskboolean
Set Regular Hours Set the weekly opening hours of the connected Google Business Profile location. Provide one period per continuous open span (a day may have several, e.g. before and after a lunch break; days with no period are shown as closed). For 24-hour opening use 00:00 to 24:00. Replaces all existing regular hours.

Set the weekly opening hours of the connected Google Business Profile location. Provide one period per continuous open span (a day may have several, e.g. before and after a lunch break; days with no period are shown as closed). For 24-hour opening use 00:00 to 24:00. Replaces all existing regular hours.

Parameters
periodsarrayRequired
Set Special Hours Set exceptional opening hours of the connected Google Business Profile location for specific dates (holidays, events). Each period is a date that is either fully closed or open for the given time span. Replaces all existing special hours, so include every upcoming exceptional date in one call; regular hours are not affected.

Set exceptional opening hours of the connected Google Business Profile location for specific dates (holidays, events). Each period is a date that is either fully closed or open for the given time span. Replaces all existing special hours, so include every upcoming exceptional date in one call; regular hours are not affected.

Parameters
periodsarrayRequired
Set Open Status Mark the connected Google Business Profile location as OPEN or CLOSED_TEMPORARILY (e.g. for renovations). A temporarily closed location stays on Google with a "Temporarily closed" label. Reversible by calling this action with the other status.

Mark the connected Google Business Profile location as OPEN or CLOSED_TEMPORARILY (e.g. for renovations). A temporarily closed location stays on Google with a "Temporarily closed" label. Reversible by calling this action with the other status.

Parameters
statusstringRequired
Join over 25,000+ businesses that trust Windsor.ai to streamline ChatGPT to Destination integration
audi logo
colgate
asics
roche
novo nordisk logo
UBS
unicef
verisure
wpp
club med
skoda
heineken
puma
audi logo
colgate
asics
roche
novo nordisk logo
UBS
unicef
verisure
wpp
club med
skoda
heineken
puma

How to connect Google Business Profile to ChatGPT data with Windsor.ai

Explore our video tutorial and a step-by-step guide to integrate your data from any source into ChatGPT with the Windsor.ai plugin. The full steps for Business Profile, with a test prompt and fixes for common problems, are in how to connect Google Business Profile to ChatGPT.

1

Select your data source

Choose Google Business Profile as your data source at onboard.windsor.ai/app/google_my_business, sign in with the Google account that manages your listings, grant access to Windsor.ai and select the locations you want ChatGPT to read.

Google Business Profile data source
Google Business Profile data source
Windsor.ai plugin page in ChatGPT with the Install plugin button
ChatGPT listing the Google Business Profile locations connected in Windsor.ai

FAQs

Can ChatGPT connect to Google Business Profile?

Yes, through a plugin such as Windsor.ai. ChatGPT cannot sign in to Google Business Profile on its own. After you connect your locations in Windsor.ai and add the plugin, ChatGPT can read impressions, customer actions, search keywords, reviews and posts, and make listing changes you confirm.

Tired of manual Google Business Profile data exports? Try Windsor.ai today to automate your reporting

Access your data from various sources in one place. Get started for free.
g logo
fb logo
big query data
youtube logo
power logo
looker logo