Google Business Profile
Publish local-post updates — standard, offer, and event — to Google Business Profile locations you manage. Posts surface in Google Search and Maps panels for the location.
Requirements
- A Google account with at least one verified Business Profile location.
- The account must have Manager or Owner role on the location.
- The location must be verified — unverified locations cannot receive posts.
Spec
Create your Google Cloud project
Google Business Profile API access is gated — you need to apply for the legacy Google My Business API in addition to enabling the public account-management and information APIs.
- Go to Google Cloud Console → Credentials and create a new project (or reuse the same one you set up for YouTube).
- Apply for access to the Google My Business API via the access-request form. Approval typically takes 3–14 days. The project ID is required on the form.
- Once granted, enable in APIs & Services → Library:
- Google My Business API
- My Business Account Management API
- My Business Business Information API
- In OAuth consent screen, choose External user type. Add the scope
https://www.googleapis.com/auth/business.manageand register yourself (and any teammate’s Google account) as test users. - In Credentials → Create credentials → OAuth client ID, pick Web application. Set the Authorised redirect URI:
https://app.usepostli.com/api/integration/google_my_business/callback
- Copy the generated Client ID and Client Secret.
- In Postli, open Settings → Integrations → Google My Business, paste both values, and save.
OAuth setup
Once credentials are saved, go to Integrations → Google Business → Connect. Postli launches Google’s consent screen. Approve the Business Profile management scope, then pick which location to connect (multiple locations from one account are supported — connect each as a separate destination).
Scopes Postli requests:
Post types in detail
Standard update
General news or announcement. Body up to 1,500 characters, optional image, optional CTA button. The most common post type for ongoing engagement.
Offer
Promotional offer with a defined start and end date. Optional coupon code, terms, and redemption URL. Postli’s short link in the redemption URL field gives you click attribution from Google Search panels into your store.
Event
Event with a title, start and end datetime, and optional CTA. Useful for in-store events, sales windows, or product drops.
Auto-comments
Local posts on Google Business Profile do not support user comments — engagement is limited to clicks on the CTA button and view count. Postli’s auto-comment feature is therefore disabled for this provider.
Rate limits
Google’s Business Profile API uses a per-project quota system (default 10 QPS, 30,000 / day). Postli’s production project quota is provisioned for production traffic; merchant-level limits apply per location.
Gotchas & best practices
- Verified locations only. If a location is in Pending verification, posts will return a 403.
- One location at a time. Each location is a separate destination — if you manage 12 stores, connect 12 destinations.
- No video. The local-post API supports image only; video uploads are rejected.
- Offer dates required. Offer posts must have
startDateandendDate; Postli enforces this in the channel tab. - Refresh token revocation. If the merchant revokes Postli’s access at myaccount.google.com/permissions, the refresh token is invalidated and a re-auth is required.
Webhooks
Postli does not subscribe to Business Profile webhooks (these require Google Cloud Pub/Sub setup per project and are not yet exposed in Postli). Engagement is polled.