Reference · Tools

Google Business Profile Trigger

Starts workflow when a new review is added to a Google Business Profile location

Polling trigger Marketing v1

The Google Business Profile Trigger polls your Google Business Profile location for new reviews and starts a workflow the moment the review count rises. Use it to build automations like alerting your team in Slack when a new review appears, routing negative reviews to a support queue, or logging every review to a spreadsheet without manual checking.

Node type
Polling trigger
Parameters
9
Outputs
Output
Credentials
Google Business Profile OAuth2

Google Business Profile Trigger

Polls for new Google Business Profile reviews

Overview

Polls the Google My Business API for new reviews on a specified business location. Uses count-based delta detection — compares the current totalReviewCount against a stored value from the previous poll. When the count increases, returns the newest reviews (the delta). Supports Google OAuth2 authentication with automatic token refresh.

Category: Marketing
Tool Name: google_business_profile_trigger
Version: 1

Appearance: Icon: lucide-Building | Color: #4285f4

Node Type

Trigger — polling (checks for new data on a schedule)

Input / Output

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires Google Business Profile OAuth2 credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
AuthenticationoptionsNooAuth2Authentication method to use.
Options: oAuth2 (recommended), serviceAccount
Google AccountcredentialNoConnect or select your Google account. (shown when Authentication is oAuth2)
Service Account EmailstringYesThe email address of the Google service account. (shown when Authentication is serviceAccount)
Private KeystringYesThe private key from the service account JSON key file. (shown when Authentication is serviceAccount)
EventoptionsYesreviewAddedWhich event to listen for.
Options: reviewAdded
AccountstringYesThe Google Business Profile account resource name (e.g., accounts/0123456789). (shown when Event is reviewAdded)
LocationstringYesThe specific location or business associated with the account (e.g., locations/0123456789). (shown when Event is reviewAdded)
Poll IntervalnumberNo5How often to check for new reviews.
Poll Interval UnitoptionsNominutesUnit for the poll interval.
Options: seconds, minutes, hours

Output Data

Each new review becomes one output item. The review is emitted as Google returns it, plus two trigger markers:

{
  "name": "accounts/1234567890/locations/9876543210/reviews/AbCdEf",
  "reviewId": "AbCdEf",
  "reviewer": {
    "profilePhotoUrl": "https://lh3.googleusercontent.com/...",
    "displayName": "Jane Doe"
  },
  "starRating": "FIVE",
  "comment": "Great service, quick turnaround.",
  "createTime": "2026-08-15T08:55:12.000Z",
  "updateTime": "2026-08-15T08:55:12.000Z",
  "reviewReply": null,
  "_trigger": "google_business_profile_polling",
  "_timestamp": "2026-08-15T09:00:00.000Z"
}
  • starRating — the rating as a word, e.g. ONE through FIVE.
  • reviewReply — the owner’s reply when one exists, otherwise null.
  • _trigger — always google_business_profile_polling.
  • _timestamp — when the poll that produced the item ran.

Reference review data downstream by expression, e.g. {{ $json.reviewer.displayName }}.

Usage Examples

  • Monitor new customer reviews on my Google Business Profile
  • Get notified when a new review is posted to my business listing
  • Track new Google reviews for my store location

Example Configuration

Watch one location for new reviews:

{
  "type": "google_business_profile_trigger",
  "parameters": {
    "event": "reviewAdded",
    "account": "accounts/1234567890",
    "location": "locations/9876543210",
    "pollInterval": 5,
    "pollIntervalUnit": "minutes"
  }
}

Check less often for a low-volume listing:

{
  "type": "google_business_profile_trigger",
  "parameters": {
    "event": "reviewAdded",
    "account": "accounts/1234567890",
    "location": "locations/9876543210",
    "pollInterval": 2,
    "pollIntervalUnit": "hours"
  }
}

Trigger Behavior

  • Activation: Polling starts when the workflow is activated. There is no poll at the moment of activation — the first check runs one full interval later.
  • Schedule: The trigger polls for new data based on the configured polling interval.
  • State: Maintains internal state (the location’s total review count at the last check) so each poll returns only the reviews added since then.
  • First Run: The first poll records the current review count and returns no items, so activating the workflow never replays existing reviews.
  • Testing: Running the node from the editor emits a single sample review so you can build the rest of the workflow; real reviews arrive only while the workflow is activated.

Tips

Connects to the Google My Business API and polls for new reviews on a specified business location. On first poll it stores the current review count as a baseline. On each subsequent poll it compares the current count — if it increased, it returns the newest reviews. Requires Google OAuth2 credentials with the business.manage scope.

Important Notes

  • The account and location values must be valid Google Business Profile resource names.
  • These values can typically be found in your Google Business Profile dashboard or API responses.
  • The account format is always accounts/{account_id}.
  • The location format is always locations/{location_id}.
  • Polling too frequently may hit API rate limits, while polling too infrequently may delay workflow responses.
  • Because detection is based on the review count, a review that is deleted between two polls can offset the count; the trigger takes the newest reviews matching the increase.

Frequently asked questions

What format do the account and location values need to be in?

Both must be Google Business Profile resource name strings, not plain IDs or display names. The account must follow the format `accounts/{account_id}` and the location must follow `locations/{location_id}`. You can find the correct values in your Google Business Profile dashboard or from the API response. Entering a plain numeric ID without the prefix will cause the node to fail.

How does the node know when a new review has arrived?

It uses count-based delta detection. On the first poll, it records the current `totalReviewCount` as a baseline. On every subsequent poll it compares the new count against that stored value. If the count has gone up, it fetches the newest reviews matching the increase and passes them to the workflow. It does not diff individual review content — only the total count determines whether anything fires.

What happens if a review is deleted between two polls?

Because detection is based on the total review count, a deletion can shift the baseline and cause the trigger to miss or miscount new reviews. For example, if two reviews are added and one is deleted before the next poll, the count increases by only one, so only one review is returned even though two were added. This is a known limitation of the count-based approach.

What OAuth2 scope does the Google Business Profile credential need?

The node requires Google OAuth2 credentials configured with the `business.manage` scope. Standard Google OAuth2 credentials without this scope will authenticate successfully but fail when the node tries to read review data from the Google My Business API.

How often should I poll, and is there a risk of hitting API rate limits?

The node does not enforce a fixed polling interval — that is configured in your workflow schedule. Polling too frequently risks hitting Google My Business API rate limits, while polling too infrequently means your workflow will react to reviews with a longer delay. A polling interval in the range of a few minutes to once per hour is a reasonable starting point depending on how quickly you need to respond to new reviews.

Build with the Google Business Profile Trigger node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Google Business Profile OAuth2 credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.