Skip to main content
Kavenio supports Google Business Profile as a first-class connected account for location posts, media, reviews, menu and service management, place actions, verification, and performance analytics. Google Business uses the same composable Kavenio API shape as other platforms: connect the account once, select a location, then use shared posts, media, accounts, inbox, and analytics endpoints.

Capabilities

Connection

Start with the hosted OAuth flow:
Google Business requires a Google Cloud OAuth client, approved Business Profile API access, and the https://www.googleapis.com/auth/business.manage scope. Kavenio requests offline access so credentials can be refreshed by the shared credential refresh worker. After OAuth, list and select the location that Kavenio should manage:
If there is exactly one manageable location, Kavenio may select it automatically. Otherwise the account remains connected but needs setup until a location is selected.

Posts

Use the normal posts API. Google Business-specific fields live in the target platformSpecificData object.
Scheduled posts use the existing Kavenio scheduling worker. Provider publish failures mark the target failed without retrying blindly after a provider success.

Media

Upload or presign media with the shared media endpoints, then use the public URL in a post or photo-management request. Google Business image posts accept one JPEG or PNG image and no videos.
Kavenio validates public media URLs with SSRF-safe checks before provider calls.

Management

Use account-scoped routes for location management. The routes use Kavenio account IDs and optional Google location IDs, not raw credential data.
Writes require JSON payload files:

Reviews

For one Google Business account:
Reply to a review:
For a shared inbox across accounts:
The initial inbox implementation reads live with bounded fan-out and reports partial account failures where supported.

Verification

Check status, fetch options, start verification, and complete pending verification through account routes:
Verification start is a live provider action and is not idempotent.

Analytics

Performance metrics are daily. Search keywords are monthly and Google may return thresholds instead of exact impression counts for privacy. Keyword rows use valueType: "exact" with impressions, or valueType: "threshold" with threshold.
The first implementation reads Google live. Add caching only when dashboards or agents need frequent repeated reads.

Live verification checklist

Live testing requires:
  • Google Cloud OAuth client configured for the Kavenio callback URL.
  • Approved Google Business Profile API access.
  • Enabled Business Profile APIs, including Performance.
  • A verified test business location.
  • Permissions for posts, media, reviews, location management, menus, services, attributes, verification, place actions, and analytics.
  • GOOGLE_BUSINESS_CLIENT_ID and GOOGLE_BUSINESS_CLIENT_SECRET configured in the API environment.
Local tests use injectable Google API base URLs and do not call live Google Business APIs.