New Review

trigger.google_business_profile_review
TriggerAI & modelsconnection requiredruns in-engine

Polls the location's reviews on an interval; one run per new review.

Start a run for every new or edited review on a location (polled).

Connection

Required
Yes — the node will not save without one
Auth type
OAuth 2.0
Providers
Google Business Profile
Secret shape
{"client_id", "client_secret", "refresh_token"}
Config it needs
account_id, token_uri
Resolved by
config.connection_id, else node.connection_id

Configuration

5 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
location_id
Location, as locations/12345, accounts/1/locations/12345 or just 12345.
stringYes——locations/12345678901234567890
account_id
Business Profile account, as accounts/12345 or just 12345. Overrides the account id stored on the connection.
stringNo———
poll_interval_sec
How often to check for new reviews, in seconds.
numberNo6030–86400—
only_unreplied
Start a run only for reviews that have no merchant reply yet.
booleanNofalse——
min_rating
Ignore reviews rated below this many stars; 0 keeps every review.
numberNo00–5—

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "location_id": "locations/12345678901234567890",
  "min_rating": 0,
  "only_unreplied": false,
  "poll_interval_sec": 60
}

Output

One shape.

review

FieldTypeExample
review_id
Google's id for the review.
stringAbCd-EfG
name
Full resource name of the review.
string—
location
The accounts/*/locations/* the review belongs to.
string—
star_rating
Google's enum: ONE, TWO, THREE, FOUR or FIVE.
string—
rating
The same rating as a number from 1 to 5 (0 when unspecified).
number—
comment
The reviewer's text; empty for a rating-only review.
string—
create_time
When the review was written (RFC 3339).
string—
update_time
When the review last changed (RFC 3339).
string—
reviewer_display_name
The reviewer's name, when not anonymous.
string—
reviewer_profile_photo_url
The reviewer's profile photo.
string—
reviewer_is_anonymous
True when Google withheld the reviewer's name.
boolean—
reply_comment
The merchant's existing reply, if any.
string—
reply_update_time
When the existing reply was last changed.
string—
has_reply
True when this review already has a merchant reply.
boolean—
review_reply_url
Link that opens the reply form on Google.
string—
{
  "comment": "",
  "create_time": "",
  "has_reply": false,
  "location": "",
  "name": "",
  "rating": 0,
  "reply_comment": "",
  "reply_update_time": "",
  "review_id": "AbCd-EfG",
  "review_reply_url": "",
  "reviewer_display_name": "",
  "reviewer_is_anonymous": false,
  "reviewer_profile_photo_url": "",
  "star_rating": "",
  "update_time": ""
}

Notes

  • Existing reviews are never replayed: the first poll after publish only sets the cursor.
  • Runs are idempotent per review id, so a re-poll cannot start a second run.
  • An edited review fires again — Google moves its updateTime.

See New Review run in a workflow.

In a technical demo we add the Google Gemini connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.