Google Business Profile
Connect Google Business locations, reply to reviews, update profile details, publish posts and manage public patient testimonials.
Who can do this: Existing route guard allows SUPER_ADMIN and ADMIN; navigation uses branding.manage. Feedback management uses feedback.read.
Where: Google Business (/app/google-business) and Reviews (/app/feedback).

Before you start
- You need manager or owner access to the Google Business Profile.
- OAuth settings must include client ID, client secret, redirect URI and token encryption key.
- AI reply suggestions need AI provider settings.
Connect Google Business
- Open Google Business Profile. Result: Connect Google Business appears.
- Click Connect with Google. Result: Google OAuth opens.
- Sign in and grant access. Result: Accounts and locations are synced.
- If already linked, the app says Google already connected. Using existing linked account. Result: Existing account data loads.
- Click Connect Another Account to add another listing. Result: OAuth starts in reconnect mode.
Manage reviews
- Select a card under Linked Accounts. Result: Reviews, profile and posts load for that location.
- Use Needs Reply and Replied tabs. Result: Reviews are separated by reply state.
- Type in Write your reply? or Edit your reply?. Result: Reply draft is ready.
- Click Send Reply or Update Reply. Result: The reply is posted and the list reloads.
- Click Smart AI Reply when available. Result: Suggestions appear with language and sentiment labels.
- Click an Option suggestion. Result: The reply box is filled for review before sending.
Update profile details
- Scroll to Business Profile Update. Result: Phone, website, address and description fields appear.
- Fill Phone, Website, address lines, City, State, PIN Code and Business Description. Result: The profile payload is ready. Country is fixed to India.
- Click Update Profile. Result: Business profile updated appears.
Publish posts
- Select a linked location and click New Post under Posts & Updates. Result: The post form opens.
- Choose Update, Event or Offer. Result: Type-specific fields appear.
- Enter Summary, optional Photo URL and a Call-to-Action Button. Result: Post data is ready.
- Add event dates or offer coupon fields when relevant. Result: Google receives type-specific post details.
- Click Publish Post. Result: Post published appears.
- Use edit or delete icons on a post. Result: The post is updated or removed.
Manage website testimonials
- Open Reviews at
/app/feedback. Result: Patient Reviews & Testimonials opens. - Filter by All, Pending, Approved or Rejected. Result: Matching feedback appears.
- Click Approve & Show. Result: Review is approved and public.
- Click Reject. Result: Review is hidden.
- Use Hide from public or Show on public. Result: Website visibility changes.
Troubleshooting
| Problem / message | What it means | What to do |
|---|---|---|
| ?Google OAuth Not Configured? | OAuth config missing. | Configure client ID, secret, redirect URI and key. |
| ?Google Business OAuth is not configured. Missing: ?? | Backend found missing config. | Add listed settings or env vars. |
| ?GOOGLE_BUSINESS_TOKEN_ENCRYPTION_KEY must be at least 16 characters? | Encryption key too short. | Set a longer key. |
| ?OAuth response is missing state. Please connect with Google again.? | Callback state missing. | Start connection again. |
| ?Google quota reached. Please wait ?s, then connect again.? | Google rate limit. | Wait and retry. |
| ?Failed to load reviews? | Review API failed. | Reselect location or retry later. |
| ?Reply cannot be empty? | No reply text. | Type a reply. |
| ?No AI suggestions available? | AI returned nothing. | Write manually. |
| ?Post summary is required? | Missing post summary. | Enter summary. |
| ?Unable to load feedback right now.? | Feedback failed. | Click Retry. |