Google Business Profile Integration for Rain Automation: Scheduled Posts and Review Sync

Rain Automation connects to Google Business Profile through the official Business Profile APIs to publish scheduled local posts off your content calendar, drip photos onto the listing, keep hours and booking links accurate, and sync reviews. One thing to know before you plan around it: Google sends no webhooks for Business Profile, so every trigger here is a poll on a schedule rather than a push, and review replies stay a human decision because Rain reads and alerts on reviews without publishing replies for you.

How to connect Google Business Profile

Google Business Profile is not a one click OAuth app. Google gates the Business Profile APIs behind a project level approval, so the first two steps below take days of calendar time and the rest take minutes. Rain does this setup with you.

Step 1. Confirm the profile qualifies

You need a Business Profile that is verified and has been active for at least 60 days, and you need owner or manager access to it. A brand new or unverified listing cannot be automated yet, no matter which tool you use.

Step 2. Request Business Profile API access

In Google Cloud, create (or pick) a project and submit the Business Profile API access request form. Until Google approves the project, the APIs exist but your quota sits at 0 queries per minute and every call fails. An approved project shows 300 queries per minute in the Cloud console quota page, which is the fastest way to check status without waiting on email.

Step 3. Enable the three APIs Rain uses

Turn on the My Business Account Management API (to list accounts and locations), the My Business Business Information API (hours, attributes, place action links), and the Google My Business API v4 (local posts, media, reviews). Posts and reviews still live on v4, so skipping it breaks most of what follows.

Step 4. Create the OAuth client and authorize

Configure the consent screen, create a Web application OAuth client, and add Rain's redirect URI. The only scope required is https://www.googleapis.com/auth/business.manage. Complete the consent flow once and keep the refresh token that comes back.

Step 5. Hand Rain the credential

Rain stores the client ID, client secret, refresh token, and location resource name in a per site credential file readable only by the service account that runs your automations, then mints a fresh access token on the refresh grant. A scheduled refresher keeps a valid token on hand rather than discovering an expired one mid post.

Step 6. Pin the location and run a dry run

Business Profile has two different names for the same location. Account management and v4 want the prefixed form accounts/{account}/locations/{location}, while the Business Information API wants the bare locations/{location} and returns 404 for the prefixed form. Rain stores the prefixed name and converts as needed. Finish by running your first post in dry run mode, checking the composed text against your content rules, then publishing for real.

Step 7. Put the profile on a calendar

Set the posting cadence (most local businesses land on two or three posts a week), point the calendar at the same topic queue that feeds your blog, and turn on the review poll. From here the integration runs itself and only speaks up when something needs a person.

Example workflows

New blog post becomes a local post

When the content pipeline publishes an article, Rain composes a short location led Business Profile post that teases it and links back. The post runs through a content lint first (no competitor names, no specific prices, no dash characters Google renders oddly), and a catch up sweep re runs anything that failed so a broken publish never costs you a week of local visibility.

Use case: Local SEO consistency

Calendar driven posting with a dry queue watchdog

Posts come off a monthly planned calendar rather than being written the morning they go out. A separate watchdog checks whether the queue still has future entries and raises an alert when it runs low, which catches the quiet failure mode where posting looks healthy right up until the day there is nothing left to post.

Use case: Posting cadence that does not silently stop

Review sync that catches removals, not just new reviews

Rain pulls the full review list on a short interval, pages through it (the API caps a page at 50, so a profile with a few hundred reviews needs several requests), and diffs against the last complete snapshot. New reviews, deleted reviews, and edited star ratings all raise an alert. A pull that returns fewer rows than Google's own review count is treated as incomplete and never diffed, because that fault otherwise fabricates a removal followed by a re addition of the same review.

Use case: Reputation forensics

Photo drip instead of a photo dump

Point Rain at a folder of job photos and it uploads a few per run across several days a week until the library is on the profile. Spreading uploads keeps the listing looking actively maintained and avoids the burst of identical uploads that tends to attract review from Google.

Use case: Profile freshness

Seasonal hours change with a snapshot and one command revert

Hours updates replace the entire weekly block, so sending only the day you changed wipes every other day. Rain always sends the full period list, snapshots the previous state before writing, and can restore that snapshot in a single command if the change was wrong or temporary.

Use case: Holiday and seasonal hours

Booking button audit

Scheduling and field service tools quietly create their own Book Online place action link on any profile they can match to your address, and that button can change which leads reach you and what they cost. Rain lists the place action links on a schedule and alerts when an unexpected one appears. Google refuses a merchant side delete of a link owned by a third party provider, so the alert names the provider and points at the disconnect switch inside that tool.

Use case: Lead routing control

Pricing

Google does not bill for Business Profile API access, so the integration adds no vendor cost. Two limits are worth planning around.

Project quota. An approved Cloud project gets 300 queries per minute. A review poll on a large profile spends several of those per run, so one credential comfortably covers a portfolio of locations, but a very large multi location rollout should be split across projects.

Approval time. The project review in Step 2 is the long pole. Start it before you plan the rest of the work.

On the Rain side, Business Profile posting and review sync are part of a local marketing engagement rather than a separate line item. See what we build and how engagements work, or read how we automate Google review requests for the piece that feeds this integration on the front end.

Talk to Rain about your local presence