> ## Documentation Index
> Fetch the complete documentation index at: https://kavenio.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Use Google Business

This guide shows the normal Google Business workflow in Kavenio: connect a
Google account, select a location, publish content, manage the listing, read
reviews, and fetch analytics.

## 1. Connect Google Business

Start the hosted OAuth flow with the same connect endpoint used by other
platforms.

```bash theme={null}
kavenio connect begin \
  --profile-id customer_user_123 \
  --platform googlebusiness \
  --return-to https://app.example.com/accounts
```

The API returns an `authorizationUrl`. Open it for the user. After Google
redirects back, Kavenio stores the encrypted OAuth credential and exposes only
safe account and location metadata.

## 2. Select a location

List available locations:

```bash theme={null}
kavenio connect googlebusiness-locations --account-id acc_123 --page-size 25
```

Select the location to manage:

```bash theme={null}
kavenio connect googlebusiness-select-location \
  --account-id acc_123 \
  --profile-id customer_user_123 \
  --location-id 9281089117903930794
```

Account health reports reconnect, missing scope, missing permission, unverified
listing, and missing selected-location issues.

## 3. Publish or schedule a post

Use `POST /v1/posts` or the CLI `posts create` command. Google Business-specific
fields stay inside the target object.

```json theme={null}
{
  "profileId": "customer_user_123",
  "content": "New seasonal menu is live.",
  "platforms": [
    {
      "platform": "googlebusiness",
      "accountId": "acc_123",
      "platformSpecificData": {
        "topicType": "STANDARD",
        "callToAction": "ORDER",
        "ctaUrl": "https://example.com/order"
      }
    }
  ],
  "scheduledFor": "2026-06-20T15:00:00.000Z"
}
```

```bash theme={null}
kavenio posts create \
  --profile-id customer_user_123 \
  --content "New seasonal menu is live." \
  --scheduled-for 2026-06-20T15:00:00.000Z \
  --platform googlebusiness:acc_123 \
  --topic-type STANDARD \
  --call-to-action ORDER \
  --cta-url https://example.com/order
```

## 4. Upload media

Use shared media endpoints, then attach the public URL to a post or create a
Google Business photo.

```bash theme={null}
kavenio media presign --file-name menu.jpg --content-type image/jpeg
```

```bash theme={null}
kavenio accounts gmb-media-create \
  --account-id acc_123 \
  --source-url https://cdn.example.com/menu.jpg \
  --category MENU
```

## 5. Manage listing data

Use account-scoped commands for live listing data:

```bash theme={null}
kavenio accounts gmb-location-details --account-id acc_123
kavenio accounts gmb-attributes --account-id acc_123
kavenio accounts gmb-services --account-id acc_123
kavenio accounts gmb-food-menus --account-id acc_123
kavenio accounts gmb-place-actions --account-id acc_123
```

Update commands take JSON payload files, for example:

```bash theme={null}
kavenio accounts gmb-food-menus-update --account-id acc_123 --file menus.json
```

## 6. Manage reviews

Read one account's Google Business reviews:

```bash theme={null}
kavenio accounts gmb-reviews --account-id acc_123 --page-size 25
```

Read the shared inbox:

```bash theme={null}
kavenio accounts inbox-reviews --platform googlebusiness --limit 25
```

Reply or delete a reply:

```bash theme={null}
kavenio accounts gmb-review-reply \
  --account-id acc_123 \
  --review-id review_123 \
  --comment "Thanks for the review."
```

```bash theme={null}
kavenio accounts gmb-review-reply-delete \
  --account-id acc_123 \
  --review-id review_123
```

## 7. Check verification

```bash theme={null}
kavenio accounts gmb-verifications --account-id acc_123
kavenio accounts gmb-verification-options --account-id acc_123 --language-code en-US
```

Starting and completing verification calls Google live:

```bash theme={null}
kavenio accounts gmb-verification-start --account-id acc_123 --method SMS --phone-number +15551234567
kavenio accounts gmb-verification-complete --account-id acc_123 --verification-id verification_123 --pin 12345
```

## 8. Fetch analytics

Performance metrics are daily:

```bash theme={null}
kavenio analytics googlebusiness-performance \
  --account-id acc_123 \
  --metrics WEBSITE_CLICKS,CALL_CLICKS,BUSINESS_DIRECTION_REQUESTS \
  --start-date 2026-06-01 \
  --end-date 2026-06-07
```

Search keywords are monthly:

```bash theme={null}
kavenio analytics googlebusiness-search-keywords \
  --account-id acc_123 \
  --start-month 2026-05 \
  --end-month 2026-06
```

Google Business analytics can lag provider-side availability, and keyword rows
may use threshold values instead of exact impression counts. Exact rows include
`valueType: "exact"` and `impressions`; threshold rows include
`valueType: "threshold"` and `threshold`.

## Live smoke checklist

Before running live smoke tests, confirm:

* Business Profile API access is approved.
* OAuth callback URLs match the API environment.
* The account has a verified Google Business location.
* The test user can manage posts, photos, reviews, menus, services, attributes,
  verification, place actions, and analytics for that location.
* `GOOGLE_BUSINESS_CLIENT_ID` and `GOOGLE_BUSINESS_CLIENT_SECRET` are set.
