Automate Your Google Business Profile: The n8n Workflow That Gets You 3 More Leads

Automate Your Google Business Profile: The n8n Workflow That Gets You 3 More LeadsT.M. Gunderson

Stop 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:

  • Responding to every review within 24 hours
  • Posting updates at least weekly
  • Answering every Q&A question
  • Keeping hours and services current

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.

Why GBP Activity Directly Drives Revenue

Google's local ranking algorithm weighs three factors: relevance, distance, and prominence. Activity signals boost all three:

  • Fresh reviews with responses → Google sees an active, trusted business
  • Regular posts → Your profile shows "Updated recently" — users click those 2× more
  • Answered questions → Fewer "Call to confirm" barriers → More direct actions

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.

The Workflow: 4 Automation Blocks

Block 1: Auto-Respond to Every Review

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
Enter fullscreen mode Exit fullscreen mode

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}
Enter fullscreen mode Exit fullscreen mode

Block 2: Schedule Weekly Posts Automatically

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]
Enter fullscreen mode Exit fullscreen mode

Post types that drive the most engagement for local businesses:

  • Seasonal tips ("3 ways to protect your AC before summer hits")
  • Before/after (service businesses: transformations sell)
  • FAQ answers (prevents the same questions in your Q&A)
  • Team spotlights (people trust people, not logos)

Block 3: Q&A Auto-Answer

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]
Enter fullscreen mode Exit fullscreen mode

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.

Block 4: Profile Health Monitor

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]
Enter fullscreen mode Exit fullscreen mode

The n8n Workflow JSON

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
          }
        ]
      ]
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Setup Steps

  1. Enable the Google Business Profile API in Google Cloud Console
  2. Create OAuth credentials with GBP scope (https://www.googleapis.com/auth/business.manage)
  3. Add your credentials in n8n's credentials manager
  4. Import the workflow JSON above
  5. Customize the AI prompts for your specific business type
  6. Set your Slack webhook for review alerts
  7. Activate and test with a manual review response first

Total setup time: 30-45 minutes if you already have n8n running.

The ROI Math

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.

Common Mistakes to Avoid

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.

What This Looks Like in Practice

A landscaping company in Calgary set this up in May. Here's what happened:

  • Week 1: Workflow goes live. Auto-responds to 4 positive reviews within minutes. Owner drafts and approves 1 negative review response in under 5 minutes.
  • Week 3: First scheduled post goes out (spring lawn care tips). Gets 47 views on GBP.
  • Week 6: Q&A auto-answers hit 15 questions. Phone calls from GBP increase from ~10/month to 28/month.
  • Week 8: Profile moves from page 2 to position 4 in local pack for "landscaping near me."

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.