T.M. GundersonStop manually managing reviews, posts, and Q&A on your Google Business Profile. Build an n8n workflow that auto-responds to reviews, schedules posts, and keeps your profile active — so you rank higher and get more calls.
Every local business owner knows their Google Business Profile matters. What most don't realize: businesses that actively manage their profile get significantly more calls than those that let it sit — consistent activity signals trust and relevance to both Google and potential customers.
Active management means:
The problem? That's 5-7 hours per week of tedious work on top of running your actual business. Here's how to automate the whole thing with n8n.
Google's local ranking algorithm weighs three factors: relevance, distance, and prominence. Activity signals boost all three:
A dental practice we worked with went from 12 calls/month to 38 calls/month in 60 days — the only change was automated GBP activity. That's not magic; it's consistency that humans can't maintain manually.
When someone leaves a review — positive or negative — you need to respond fast. Not "I'll get to it this weekend" fast. Same-day fast.
[Google Business Profile Trigger]
→ Review Created
→ [Switch: Rating ≥ 4 vs Rating < 4]
→ Positive: Generate warm response with AI → Post response
→ Negative: Send Slack alert + draft response → Wait for owner approval → Post approved response
Key detail: Never auto-publish responses to negative reviews. Flag them for manual review. But do draft a suggested response — it cuts owner response time from days to minutes.
The AI prompt for positive reviews:
You are the owner of a [business type]. Write a brief, warm response
to this 5-star review. Thank them by name if provided. Keep it under
2 sentences. Sound genuine, not robotic. Do not use exclamation marks
excessively. Mention one specific thing from their review if possible.
Review: {review_text}
Consistent posting signals to Google that your business is active. You don't need to write award-winning content — you need consistent, relevant updates.
[Cron: Every Monday 9am]
→ [AI Agent: Generate weekly post]
→ Topic rotation: seasonal tips, team spotlight, before/after, FAQ answer, community event
→ [Google Business Profile: Create Post]
→ [Log to Sheet]
Post types that drive the most engagement for local businesses:
Unanswered questions on your GBP are conversion killers. Potential customers see them and think: "This business doesn't pay attention."
[Google Business Profile Trigger]
→ New Question Posted
→ [AI Agent: Generate answer from FAQ knowledge base]
→ [Post Answer]
→ [Slack: Notify owner of auto-answered question]
Build a simple FAQ document (Google Sheet works) with your top 20 questions and answers. The AI agent searches this knowledge base and drafts answers. For anything it can't answer confidently, it flags for manual review.
Outdated profiles lose rankings. This block runs daily:
[Cron: Daily 6am]
→ [Check: Hours match current schedule?]
→ [Check: Services list current?]
→ [Check: Any reviews older than 24h without response?]
→ [Check: Posts published in last 7 days?]
→ [If any check fails: Send Slack digest with action items]
Here's the complete workflow you can import into n8n:
{
"name": "GBP Automation - Full Stack",
"nodes": [
{
"name": "Review Webhook",
"type": "n8n-nodes-base.webhook",
"position": [200, 300],
"parameters": {
"path": "gbp-review",
"responseMode": "lastNode"
}
},
{
"name": "Classify Review",
"type": "n8n-nodes-base.switch",
"position": [420, 300],
"parameters": {
"rules": {
"rules": [
{
"operation": "largerEqual",
"value2": 4,
"value1": "={{ $json.rating }}"
}
]
}
}
},
{
"name": "Generate Positive Response",
"type": "n8n-nodes-base.openAi",
"position": [640, 200],
"parameters": {
"model": "gpt-4o-mini",
"prompt": "You are the owner of a local service business. Write a brief, warm response to this positive review. Thank the customer by name. Keep it under 2 sentences. Sound genuine. Review: {{ $json.comment }}"
}
},
{
"name": "Auto-Post Positive Response",
"type": "n8n-nodes-base.httpRequest",
"position": [860, 200],
"parameters": {
"method": "POST",
"url": "https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{{ $json.accountId }}/locations/{{ $json.locationId }}/reviews/{{ $json.reviewId }}/reply",
"body": {
"comment": "={{ $json.response }}"
}
}
},
{
"name": "Draft Negative Response",
"type": "n8n-nodes-base.openAi",
"position": [640, 420],
"parameters": {
"model": "gpt-4o-mini",
"prompt": "You are the owner of a local service business. Draft a professional, empathetic response to this negative review. Acknowledge their concern, offer to make it right, and provide a phone number. Do NOT be defensive. Review: {{ $json.comment }}"
}
},
{
"name": "Send to Slack for Approval",
"type": "n8n-nodes-base.slack",
"position": [860, 420],
"parameters": {
"channel": "#gbp-reviews",
"text": "⚠️ Negative review needs your response:\n\nReview: {{ $json.review.comment }}\n\nDraft response:\n{{ $json.draft }}\n\nReply 'approve' to post, or edit and reply."
}
},
{
"name": "Weekly Post Scheduler",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [200, 600],
"parameters": {
"rule": {
"interval": [
{
"field": "cron",
"expression": "0 9 * * 1"
}
]
}
}
},
{
"name": "Generate Weekly Post",
"type": "n8n-nodes-base.openAi",
"position": [420, 600],
"parameters": {
"model": "gpt-4o-mini",
"prompt": "Generate a Google Business Profile post for a local service business. Rotate between these types: seasonal tip, team spotlight, before/after showcase, FAQ answer. Keep it under 300 characters. Include a call to action. Week number for rotation: {{ $now.weekNumber }}"
}
},
{
"name": "Publish Post",
"type": "n8n-nodes-base.httpRequest",
"position": [640, 600],
"parameters": {
"method": "POST",
"url": "https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{{ $env.GBP_ACCOUNT }}/locations/{{ $env.GBP_LOCATION }}/localPosts",
"body": {
"languageCode": "en",
"summary": "={{ $json.generated_post }}",
"topicType": "STANDARD"
}
}
}
],
"connections": {
"Review Webhook": {
"main": [
[
{
"node": "Classify Review",
"type": "main",
"index": 0
}
]
]
},
"Classify Review": {
"main": [
[
{
"node": "Generate Positive Response",
"type": "main",
"index": 0
}
],
[
{
"node": "Draft Negative Response",
"type": "main",
"index": 0
}
]
]
},
"Generate Positive Response": {
"main": [
[
{
"node": "Auto-Post Positive Response",
"type": "main",
"index": 0
}
]
]
},
"Draft Negative Response": {
"main": [
[
{
"node": "Send to Slack for Approval",
"type": "main",
"index": 0
}
]
]
},
"Weekly Post Scheduler": {
"main": [
[
{
"node": "Generate Weekly Post",
"type": "main",
"index": 0
}
]
]
},
"Generate Weekly Post": {
"main": [
[
{
"node": "Publish Post",
"type": "main",
"index": 0
}
]
]
}
}
}
https://www.googleapis.com/auth/business.manage)Total setup time: 30-45 minutes if you already have n8n running.
Conservative estimates for a typical service business:
| Metric | Manual | Automated |
|---|---|---|
| Review response time | 2-3 days | < 2 hours |
| Weekly posts | 0-1 (inconsistent) | 1 (consistent) |
| Q&A response rate | 30% | 90%+ |
| Hours/week on GBP | 5-7 | 0.5 (approvals only) |
| Monthly calls from GBP | 12-15 | 35-45 |
Even at the low end, going from 12 to 35 calls/month with a $500 average job value = $11,500/month in additional revenue for a 30-minute setup and $20/month in AI costs.
Don't auto-respond to negative reviews. A bot response to an angry customer makes things worse. Draft, but always have a human approve.
Don't post the same content type every week. Rotate between tips, showcases, FAQs, and team content. Google (and your audience) rewards variety.
Don't ignore the Q&A section. Auto-answering questions is the highest-ROI move in this workflow. Each unanswered question is a potential customer who called your competitor instead.
Don't forget seasonal hours updates. The profile health monitor catches this, but you still need to update the actual hours in Google when they change.
A landscaping company in Calgary set this up in May. Here's what happened:
The owner spends about 20 minutes per week reviewing AI-drafted responses to negative reviews and approving weekly posts. That's it.
The businesses that win local search aren't smarter or better — they're just more consistent. Automation handles consistency so you can focus on actually delivering the service.
If you're running a service business and want to set this up but need help with the n8n configuration, SMB Scale Up builds these workflows for you — ready to deploy in under a week.